药物发现量子计算AI平台

提供量子计算与AI结合的药物发现服务,包括分子对接、蛋白质结构预测等功能,适用于研究人员和开发者。

  • by QureGenAI-Biotech
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 quregenai-biotech/quantum-aidd-api-mcp-server

使用说明

QureGenAI和TyxonQ平台API文档

英语 | 中文

引言

欢迎来到QureGenAI医图生科 TyxonQ太玄量子 平台。我们的使命是通过功能强大、开发人员友好的HTTP API和模型上下文协议(MCP),为药物发现(Quantum AIDD)提供一套全面的量子计算+人工智能服务。

我们的平台使研究人员、开发人员和大型模型能够以编程方式访问最先进的计算模型,用于分子模拟、蛋白质结构预测等。

单击以使用 QureGenAI

平台特性

✅ 当前可用的型号

  • ✅ AutoDock GPU分子对接 -一种传统的快速分子对接算法,具有可靠的准确性,是高通量筛选的理想选择。 GitHub
  • ✅ DiffDock分子对接 -基于扩散的人工智能对接模型,能够发现绑定口袋并在没有预定义位置的情况下进行对接。 GitHub
  • ✅ Protenix蛋白质结构预测 -仅从序列信息预测蛋白质结构和复杂模型。AlphaFold 3的可训练开源PyTorch复制品。 GitHub

🚧 即将推出的型号

  • 🔄 螺栓-2 -蛋白质、核酸和小分子的下一代生物分子结构预测模型。 GitHub

  • 🔄 蛋白质MPNN -使用消息传递神经网络进行蛋白质序列设计的深度学习方法。 GitHub

  • 🔄 RoseTTAFold 的 -使用基于注意力的神经网络进行精确的蛋白质结构预测。 GitHub

  • 🔄 SurfDock -表面引导分子对接用于改进结合位姿预测。 GitHub

  • 🔄 OpenFE -用于药物发现的开源炼金术自由能计算。 GitHub

  • 🔄 DiffLinker -药物发现中分子接头设计的等变扩散模型。 GitHub

  • 🔄 模具地图 -通过2D分子图进行分子表征学习。 GitHub

  • 🔄 AI2BMD -人工智能驱动的生物分子动力学模拟和分析平台。 GitHub

  • 🔄 BioEmu AI -使用高级生物系统仿真 人工智能。 GitHub

我们正在不断扩展我们的模型集合,以提供全面的人工智能药物发现解决方案。请继续关注更多尖端型号!

入门指南

基本URL

所有API端点都与以下基本URL相关:

https://api.quregenai.com

认证

所有API调用都需要使用API密钥进行身份验证。在中包含您的API密钥 Authorization 标头作为Bearer令牌。

令牌访问: 获取钥匙 注册并获取您的API密钥

标头

所有请求都应包含以下标头:

Content-Type: application/json
Authorization: Bearer your_api_key_here

api参考

1.用于高通量屏幕的AutoDock GPU分子对接

使用AutoDock算法执行分子对接。

  • 端点: POST /api/autodock_api/autodock_docking
  • 描述:提交分子对接作业。您必须提供受体和三种配体输入类型之一。

请求正文

参数 类型 必填 说明
job_name string 否 作业的名称。
receptor string Yes 接收器文件的URL或服务器可访问路径(例如PDB格式)。
center_x, center_y, center_z number/string Yes 对接盒中心的坐标。
size_x, size_y, size_z number No 扩展坞的尺寸。每个轴默认为15。
ligand string 是(三个中的一个) 单个配体文件(SDF、PDB)的路径。
ligands 字符串数组 是(三个中的一个) 多个配体文件的路径列表。
smiles string Yes(三个中的一个) SMILES字符串(使用 \n 对于多个),或通往 .txt 带有SMILES字符串的文件(每行一个)。
thread integer 否 线程数。默认值为1200,最小值为1000。

备注:您必须提供以下之一 ligand, ligands,或 smiles.

示例:单配体文件

卷曲

curl -X POST "https://api.quregenai.com/api/autodock_api/autodock_docking" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <your_api_key_here>" \
  -d '{
    "job_name": "AutoDock_Single_Ligand_Test",
    "receptor": "https://files.rcsb.org/download/7RT3.pdb",
    "ligand": "/path/to/your/ligand.sdf",
    "center_x": -3.52,
    "center_y": 5.57,
    "center_z": -26.55,
    "size_x": 15,
    "size_y": 15,
    "size_z": 15
  }'

python

import requests
import os

BASE_URL = "https://api.quregenai.com"
API_KEY = os.environ.get("QUREGENAI_API_KEY", "<your_api_key_here>")

HEADERS = {
    'Content-Type': 'application/json',
    'Authorization': f'Bearer {API_KEY}'
}

def submit_autodock_single_ligand():
    url = f"{BASE_URL}/api/autodock_api/autodock_docking"
    data = {
        "job_name": "AutoDock_Single_Ligand_Test",
        "receptor": "https://files.rcsb.org/download/7RT3.pdb",
        "ligand": "/path/to/your/ligand.sdf",
        "center_x": -3.52,
        "center_y": 5.57,
        "center_z": -26.55
    }
    
    response = requests.post(url, headers=HEADERS, json=data)
    
    if response.status_code == 200:
        print("Job submitted successfully:", response.json())
        return response.json()
    else:
        print(f"Error: {response.status_code}", response.text)
        return None

# submit_autodock_single_ligand()

2.DiffDock分子对接

使用基于AI的DiffDock算法进行分子对接。

  • 端点: POST /api/diffdock_api/diffdock_docking
  • 描述:提交DiffDock作业。当装订袋未知时,这很有用。

请求正文

参数 类型 必填 说明
job_name string 否 作业的名称。
protein string 是 蛋白质文件路径(如PDB)或序列字符串
ligand_file string 是(两个中的一个) 配体文件的路径。
smiles string 是(两个中的一个) 配体的SMILES字符串。
diffusion_steps integer 否 扩散步骤数(1-100)。默认值:20。
sample_count integer 否 要生成的样本数(1-100)。默认值:10。

备注:您必须提供 ligand_file 或 smiles.

示例:蛋白质序列和SMILES

卷曲

curl -X POST "https://api.quregenai.com/api/diffdock_api/diffdock_docking" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <your_api_key_here>" \
  -d '{
    "job_name": "DiffDock_Sequence_Test",
    "protein": "MKTAYIAKQRQISFVKSHFSRQLEERLGLIEVQAPILSRVGDGTQDNLSGAEKAVQVKVKALPDAQFEVVHSLAKWKREQTGQGWVPSNYITPVN",
    "smiles": "CCO"
  }'

python

import requests
import os

BASE_URL = "https://api.quregenai.com"
API_KEY = os.environ.get("QUREGENAI_API_KEY", "<your_api_key_here>")

HEADERS = {
    'Content-Type': 'application/json',
    'Authorization': f'Bearer {API_KEY}'
}

def submit_diffdock_sequence_to_smiles():
    url = f"{BASE_URL}/api/diffdock_api/diffdock_docking"
    protein_sequence = "MKTAYIAKQRQISFVKSHFSRQLEERLGLIEVQAPILSRVGDGTQDNLSGAEKAVQVKVKALPDAQFEVVHSLAKWKREQTGQGWVPSNYITPVN"
    
    data = {
        "job_name": "DiffDock_Sequence_Test",
        "protein": protein_sequence,
        "smiles": "CCO",  # Ethanol
    }
    
    response = requests.post(url, headers=HEADERS, json=data)
    
    if response.status_code == 200:
        print("Job submitted successfully:", response.json())
        return response.json()
    else:
        print(f"Error: {response.status_code}", response.text)
        return None

# submit_diffdock_sequence_to_smiles()

3.Protenix蛋白质结构预测

使用Protenix算法预测蛋白质结构和复杂模型。

  • 端点: POST /api/protenix_api/protenix_predict
  • 描述:提交蛋白质结构预测工作,包括多链复合物和与DNA/RNA/配体的复合物。

请求正文

参数 类型 必填 说明
name string Yes 预测作业的名称。
sequences 对象数组 是 序列对象数组。详见下文。
seeds integer 否 随机种子。默认值:42。
n_sample integer 否 样本数。默认值:5。
n_step integer 否 步数。默认值:150。
n_cycle integer 否 循环数。默认值:5。

这 sequences 对象具有以下结构:

密钥 类型 必填 描述
moduleType string 是 序列类型:“蛋白链”、“dnaSequence”、“rnaSequence”、“配体”。
sequence string 是 序列内容(蛋白质序列、DNA/RNA序列或配体SMILES)。
copy integer 是 此序列的副本数(1-5)。

示例:蛋白质配体复合物预测

卷曲

curl -X POST "https://api.quregenai.com/api/protenix_api/protenix_predict" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <your_api_key_here>" \
  -d '{
    "name": "Protein_Ligand_Complex",
    "sequences": [
      {
        "moduleType": "proteinChain",
        "sequence": "MKTAYIAKQRQISFVKSHFSRQLEERLGLIEVQAPILSRVGDGTQDNLSGAEKAVQVKVKALPDAQFEVVHSLAKWKREQTGQGWVPSNYITPVN",
        "copy": 1
      },
      {
        "moduleType": "ligand",
        "sequence": "CCO",
        "copy": 1
      }
    ]
  }'

python

import requests
import os

BASE_URL = "https://api.quregenai.com"
API_KEY = os.environ.get("QUREGENAI_API_KEY", "<your_api_key_here>")

HEADERS = {
    'Content-Type': 'application/json',
    'Authorization': f'Bearer {API_KEY}'
}

def submit_protenix_protein_ligand():
    url = f"{BASE_URL}/api/protenix_api/protenix_predict"
    protein_sequence = "MKTAYIAKQRQISFVKSHFSRQLEERLGLIEVQAPILSRVGDGTQDNLSGAEKAVQVKVKALPDAQFEVVHSLAKWKREQTGQGWVPSNYITPVN"
    
    data = {
        "name": "Protein_Ligand_Complex",
        "sequences": [
            {
                "moduleType": "proteinChain",
                "sequence": protein_sequence,
                "copy": 1
            },
            {
                "moduleType": "ligand",
                "sequence": "CCO",  # Ligand SMILES
                "copy": 1
            }
        ]
    }
    
    response = requests.post(url, headers=HEADERS, json=data)
    
    if response.status_code == 200:
        print("Job submitted successfully:", response.json())
        return response.json()
    else:
        print(f"Error: {response.status_code}", response.text)
        return None

# submit_protenix_protein_ligand()

异步任务和MCP服务

由于这些模型的计算时间很长,所有API调用都是 异步.

  1. 提交作业:当您向API端点发送请求时,平台会验证您的请求并将作业排入队列以供执行。

  2. 接收任务ID:如果提交成功,API将返回 200 OK 包含唯一 task_id.

    {
        "success": true,
        "message": "Task submitted to remote service, processing asynchronously...",
        "task_id": "1-68775320-15633f89-dc4744aa5c31",
        "job_name": "AutoDock_FAA2F6144C4611F0A525DBA75ABC6F26_1752650526"
    }
    
  3. 监控任务状态:您可以使用 task_id 通过平台的web界面。登录门户网站,导航到相应的模型部分(例如AutoDock),并在历史记录列表中找到您的任务,以查看其状态并检索结果。

备注:计划在将来的版本中使用专门的API端点以编程方式检查任务状态。

错误处理

API使用标准HTTP状态代码来指示请求的成功或失败。

状态代码 含义 错误消息示例
400 Bad Request 请求格式错误、缺少参数或参数冲突。 {"success": false, "message": "Missing required parameter: center_y"}
401 Unauthorized API密钥丢失、无效或帐户资金不足。 {"message":"Invalid or missing Authorization header","success":false}
500 Internal Server Error 服务器上发生意外错误。 各不相同。

最佳实践

  • 序列长度:
    • 蛋白质:10-1000个氨基酸
    • DNA/RNA:10-1000个碱基
  • 文件格式:
    • 蛋白质:PDB
    • 配体:SDF、MOL2、MOL
    • SMILES:标准SMILES字符串
  • 演出:
    • 为AutoDock使用适当的螺纹数(建议1000-2000)。
    • 对大型输入文件使用URL,以避免大型请求正文。
  • 任务管理:
    • 存储 task_id 对于每一份提交的工作。它对于跟踪和检索结果至关重要。

支持

如果您遇到任何问题或有疑问,请联系我们的技术支持团队code@quregenai.com或者查阅web界面中提供的详细错误日志。

微信公众号 | Official WeChat

开发者交流群 | Developer Community

扫码关注公众号获取最新资讯 | Scan to follow for latest updates
扫码加入开发者群进行技术交流 | Scan to join developer community