quantum-aidd-api-mcp-server

QureGenAI-Biotech/quantum-aidd-api-mcp-server

3.2

If you are the rightful owner of quantum-aidd-api-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

A quantum AI drug design platform providing API and MCP server, powered by QureGenAI.

QureGenAI & TyxonQ Platform API Documentation

|

Introduction

Welcome to the QureGenAI 医图生科 and TyxonQ 太玄量子 platforms. Our mission is to provide a comprehensive suite of Quantum Computing + AI for Drug Discovery (Quantum AIDD) services through a powerful, developer-friendly HTTP API and Model Context Protocol (MCP).

Our platform enables researchers, developers, and large models to programmatically access state-of-the-art computational models for molecular simulation, protein structure prediction, and more.

Click To Use QureGenAI

Platform Features

✅ Currently Available Models
  • ✅ AutoDock GPU Molecular Docking - A traditional and fast molecular docking algorithm with reliable accuracy, ideal for high-throughput screening. GitHub
  • ✅ DiffDock Molecular Docking - An AI-powered docking model based on diffusion, capable of discovering binding pockets and performing docking without a predefined location. GitHub
  • ✅ Protenix Protein Structure Prediction - Predicts protein structures and complex models from sequence information alone. A trainable, open-source PyTorch reproduction of AlphaFold 3. GitHub
🚧 Coming Soon Models
  • 🔄 Boltz-2 - Next-generation biomolecular structure prediction model for proteins, nucleic acids, and small molecules. GitHub

  • 🔄 ProteinMPNN - Deep learning method for protein sequence design using message passing neural networks. GitHub

  • 🔄 RoseTTAFold - Accurate protein structure prediction using attention-based neural networks. GitHub

  • 🔄 SurfDock - Surface-guided molecular docking for improved binding pose prediction. GitHub

  • 🔄 OpenFE - Open-source alchemical free energy calculations for drug discovery. GitHub

  • 🔄 DiffLinker - Equivariant diffusion model for molecular linker design in drug discovery. GitHub

  • 🔄 MolMap - Molecular representation learning through 2D molecular maps. GitHub

  • 🔄 AI2BMD - AI-powered biomolecular dynamics simulation and analysis platform. GitHub

  • 🔄 BioEmu AI - Advanced biological system emulation using artificial intelligence. GitHub

We are continuously expanding our model collection to provide comprehensive AI-powered drug discovery solutions. Stay tuned for more cutting-edge models!

Getting Started

Base URL

All API endpoints are relative to the following base URL:

https://api.quregenai.com

Authentication

All API calls require authentication using an API Key. Include your API key in the Authorization header as a Bearer token.

Token Access: Getting a Key to register and obtain your API key

Headers

All requests should include the following headers:

Content-Type: application/json
Authorization: Bearer your_api_key_here

API Reference

1. AutoDock GPU Molecular Docking for High Throughput Screen

Performs molecular docking using the AutoDock algorithm.

  • Endpoint: POST /api/autodock_api/autodock_docking
  • Description: Submits a job for molecular docking. You must provide a receptor and one of the three ligand input types.
Request Body
ParameterTypeRequiredDescription
job_namestringNoA name for your job.
receptorstringYesURL or server-accessible path to the receptor file (e.g., PDB format).
center_x, center_y, center_znumber/stringYesCoordinates for the center of the docking box.
size_x, size_y, size_znumberNoDimensions of the docking box. Defaults to 15 for each axis.
ligandstringYes (one of three)Path to a single ligand file (SDF, PDB).
ligandsarray of stringsYes (one of three)A list of paths to multiple ligand files.
smilesstringYes (one of three)A SMILES string (use \n for multiple), or a path to a .txt file with SMILES strings (one per line).
threadintegerNoNumber of threads. Default is 1200, min is 1000.

Note: You must provide exactly one of ligand, ligands, or smiles.

Example: Single Ligand File

cURL

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 Molecular Docking

Performs molecular docking using the AI-based DiffDock algorithm.

  • Endpoint: POST /api/diffdock_api/diffdock_docking
  • Description: Submits a DiffDock job. This is useful when the binding pocket is unknown.
Request Body
ParameterTypeRequiredDescription
job_namestringNoA name for your job.
proteinstringYesProtein file path (e.g. PDB) or sequence string.
ligand_filestringYes (one of two)Path to a ligand file.
smilesstringYes (one of two)A SMILES string for the ligand.
diffusion_stepsintegerNoNumber of diffusion steps (1-100). Default: 20.
sample_countintegerNoNumber of samples to generate (1-100). Default: 10.

Note: You must provide either ligand_file or smiles.

Example: Protein Sequence and SMILES

cURL

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 Protein Structure Prediction

Predicts protein structure and complex models using the Protenix algorithm.

  • Endpoint: POST /api/protenix_api/protenix_predict
  • Description: Submits a job for protein structure prediction, including multi-chain complexes and complexes with DNA/RNA/ligands.
Request Body
ParameterTypeRequiredDescription
namestringYesA name for the prediction job.
sequencesarray of objectsYesAn array of sequence objects. See details below.
seedsintegerNoRandom seed. Default: 42.
n_sampleintegerNoNumber of samples. Default: 5.
n_stepintegerNoNumber of steps. Default: 150.
n_cycleintegerNoNumber of cycles. Default: 5.

The sequences object has the following structure:

KeyTypeRequiredDescription
moduleTypestringYesType of sequence: 'proteinChain', 'dnaSequence', 'rnaSequence', 'ligand'.
sequencestringYesThe sequence content (protein sequence, DNA/RNA sequence, or SMILES for ligand).
copyintegerYesNumber of copies of this sequence (1-5).
Example: Protein-Ligand Complex Prediction

cURL

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()

Asynchronous Tasks and MCP Service

Due to the long computation times for these models, all API calls are asynchronous.

  1. Submit a Job: When you send a request to an API endpoint, the platform validates your request and queues a job for execution.

  2. Receive a Task ID: If the submission is successful, the API returns a 200 OK response containing a unique task_id.

    {
        "success": true,
        "message": "Task submitted to remote service, processing asynchronously...",
        "task_id": "1-68775320-15633f89-dc4744aa5c31",
        "job_name": "AutoDock_FAA2F6144C4611F0A525DBA75ABC6F26_1752650526"
    }
    
  3. Monitor Task Status: You can monitor the status of your job using the task_id through the platform's web interface. Log in to the web portal, navigate to the appropriate model section (e.g., AutoDock), and find your task in the history list to view its status and retrieve results.

Note: A dedicated API endpoint for programmatically checking task status is planned for a future release.

Error Handling

The API uses standard HTTP status codes to indicate the success or failure of a request.

Status CodeMeaningExample Error Message
400 Bad RequestThe request was malformed, missing parameters, or had conflicting parameters.{"success": false, "message": "Missing required parameter: center_y"}
401 UnauthorizedThe API key is missing, invalid, or the account has insufficient funds.{"message":"Invalid or missing Authorization header","success":false}
500 Internal Server ErrorAn unexpected error occurred on the server.Varies.

Best Practices

  • Sequence Lengths:
    • Protein: 10-1000 amino acids
    • DNA/RNA: 10-1000 bases
  • File Formats:
    • Protein: PDB
    • Ligand: SDF, MOL2, MOL
    • SMILES: Standard SMILES strings
  • Performance:
    • Use appropriate thread counts for AutoDock (1000-2000 recommended).
    • Use URLs for large input files to avoid large request bodies.
  • Task Management:
    • Store the task_id for every submitted job. It is essential for tracking and retrieving results.

Support

If you encounter any issues or have questions, please contact our technical support team code@quregenai.com or consult the detailed error logs available in the web interface.

微信公众号 | Official WeChat
开发者交流群 | Developer Community

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