Skip to main content
Docs

Search guides and API endpoints, for example “Idempotency-Key” or “submit job”.

    Tools · Computational Biology

    RFAntibody

    Antibody and TCR design with RFdiffusion, ProteinMPNN, and RF2 (stages or full pipeline)
    On this page

    Prices, workflows, and method papersOpen in the app

    Run it from the API

    Submit with Submit a job and the job_type below. Price it first with Estimate job reservation cost: submitting reserves that amount from your wallet, and the charge settles at the actual runtime.

    RFAntibody Fine-tuning rfantibody-finetune

    Job type
    rfantibody-finetune
    Hardware
    t4l4a10l40sa100-40gb (default)a100-80gbh100h200b200
    Typical runtime
    2.3 h on Nvidia A100, 40 GB

    Payload

    Payload fields
    FieldTypeDescription
    model_targetrequiredstring

    One of: "rfdiffusion", "proteinmpnn", "rf2"

    training_datarequiredstring

    Limits: min length 1

    Example

    from cognichem_client import CogniChem
    
    client = CogniChem.from_env()  # reads COGNICHEM_API_KEY
    payload = {
        "model_target": "rfdiffusion",
        "training_data": "ATOM fake training row\n",
    }
    
    estimate = client.jobs.estimate(job_type="rfantibody-finetune", payload=payload, resource="a100-40gb")
    print(f"Reserves ${estimate.cost:.2f}")
    
    job = client.jobs.submit(
        job_name="my-rfantibody-finetune-run",
        job_type="rfantibody-finetune",
        payload=payload,
        resource="a100-40gb",
    )
    status = client.jobs.wait(job.process_id)
    if status.status == "completed":
        client.jobs.result(job.process_id, save_path=".")

    Sample data from the job catalog; long values are shortened here. Each job_name must be unique among your jobs.

    Workflow inputs

    None

    Workflow outputs

    • ArchiveZIP

    RFAntibody rfantibody-pipeline

    Job type
    rfantibody-pipeline
    Hardware
    t4l4a10l40sa100-40gb (default)a100-80gbh100h200b200
    Typical runtime
    2 h on Nvidia A100, 40 GB

    Payload

    Payload fields
    FieldTypeDescription
    target_pdbrequiredstring

    Limits: min length 1

    hotspot_residues[]requiredstring[]

    Limits: min items 1

    frameworkstring

    Default: "vhh"One of: "vhh", "scfv"

    num_designsinteger

    Default: 10Limits: ≥ 1

    diffuser_Tinteger

    Default: 50Limits: ≥ 15

    final_stepinteger

    Default: 1Limits: ≥ 1

    mpnn_temperaturenumber

    Default: 0.1Limits: > 0

    mpnn_seqs_per_structinteger

    Default: 1Limits: ≥ 1

    rf2_pae_thresholdnumber

    Default: 10Limits: > 0

    rf2_rmsd_thresholdnumber

    Default: 2Limits: > 0

    tcr_modeboolean

    Example

    from cognichem_client import CogniChem
    
    client = CogniChem.from_env()  # reads COGNICHEM_API_KEY
    payload = {
        "target_pdb": "REMARK  Minimal alanine tripeptide for unit testing.\nREMARK … (2,166 characters)",
        "hotspot_residues": ["A:1", "A:2"],
        "num_designs": 1,
    }
    
    estimate = client.jobs.estimate(job_type="rfantibody-pipeline", payload=payload, resource="a100-40gb")
    print(f"Reserves ${estimate.cost:.2f}")
    
    job = client.jobs.submit(
        job_name="my-rfantibody-pipeline-run",
        job_type="rfantibody-pipeline",
        payload=payload,
        resource="a100-40gb",
    )
    status = client.jobs.wait(job.process_id)
    if status.status == "completed":
        client.jobs.result(job.process_id, save_path=".")

    Sample data from the job catalog; long values are shortened here. Each job_name must be unique among your jobs.

    Workflow inputs

    • Protein structurePDB

    Workflow outputs

    • ArchiveZIP
    • StructuresPDB

    RFAntibody ProteinMPNN rfantibody-proteinmpnn

    Job type
    rfantibody-proteinmpnn
    Hardware
    t4l4a10 (default)l40sa100-40gba100-80gbh100h200b200
    Typical runtime
    30 min on Nvidia A10

    Payload

    Payload fields
    FieldTypeDescription
    target_pdbrequiredstring

    Limits: min length 1

    hotspot_residues[]requiredstring[]

    Limits: min items 1

    frameworkstring

    Default: "vhh"One of: "vhh", "scfv"

    num_designsinteger

    Default: 10Limits: ≥ 1

    diffuser_Tinteger

    Default: 50Limits: ≥ 15

    final_stepinteger

    Default: 1Limits: ≥ 1

    mpnn_temperaturenumber

    Default: 0.1Limits: > 0

    mpnn_seqs_per_structinteger

    Default: 1Limits: ≥ 1

    rf2_pae_thresholdnumber

    Default: 10Limits: > 0

    rf2_rmsd_thresholdnumber

    Default: 2Limits: > 0

    tcr_modeboolean

    Example

    from cognichem_client import CogniChem
    
    client = CogniChem.from_env()  # reads COGNICHEM_API_KEY
    payload = {
        "target_pdb": "ATOM      1  N   GLU H   1      23.793  -8.718 -21.757  1.00… (36,398 characters)",
        "hotspot_residues": ["T:129", "T:130"],
        "num_designs": 1,
    }
    
    estimate = client.jobs.estimate(job_type="rfantibody-proteinmpnn", payload=payload, resource="a10")
    print(f"Reserves ${estimate.cost:.2f}")
    
    job = client.jobs.submit(
        job_name="my-rfantibody-proteinmpnn-run",
        job_type="rfantibody-proteinmpnn",
        payload=payload,
        resource="a10",
    )
    status = client.jobs.wait(job.process_id)
    if status.status == "completed":
        client.jobs.result(job.process_id, save_path=".")

    Sample data from the job catalog; long values are shortened here. Each job_name must be unique among your jobs.

    Workflow inputs

    • Protein structurePDB

    Workflow outputs

    • ArchiveZIP
    • StructuresPDB

    RFAntibody RFdiffusion rfantibody-rfdiffusion

    Job type
    rfantibody-rfdiffusion
    Hardware
    t4l4a10l40sa100-40gb (default)a100-80gbh100h200b200
    Typical runtime
    1.5 h on Nvidia A100, 40 GB

    Payload

    Payload fields
    FieldTypeDescription
    target_pdbrequiredstring

    Limits: min length 1

    hotspot_residues[]requiredstring[]

    Limits: min items 1

    frameworkstring

    Default: "vhh"One of: "vhh", "scfv"

    num_designsinteger

    Default: 10Limits: ≥ 1

    diffuser_Tinteger

    Default: 50Limits: ≥ 15

    final_stepinteger

    Default: 1Limits: ≥ 1

    mpnn_temperaturenumber

    Default: 0.1Limits: > 0

    mpnn_seqs_per_structinteger

    Default: 1Limits: ≥ 1

    rf2_pae_thresholdnumber

    Default: 10Limits: > 0

    rf2_rmsd_thresholdnumber

    Default: 2Limits: > 0

    tcr_modeboolean

    Example

    from cognichem_client import CogniChem
    
    client = CogniChem.from_env()  # reads COGNICHEM_API_KEY
    payload = {
        "target_pdb": "REMARK  Minimal alanine tripeptide for unit testing.\nREMARK … (2,166 characters)",
        "hotspot_residues": ["A:1", "A:2"],
        "num_designs": 1,
    }
    
    estimate = client.jobs.estimate(job_type="rfantibody-rfdiffusion", payload=payload, resource="a100-40gb")
    print(f"Reserves ${estimate.cost:.2f}")
    
    job = client.jobs.submit(
        job_name="my-rfantibody-rfdiffusion-run",
        job_type="rfantibody-rfdiffusion",
        payload=payload,
        resource="a100-40gb",
    )
    status = client.jobs.wait(job.process_id)
    if status.status == "completed":
        client.jobs.result(job.process_id, save_path=".")

    Sample data from the job catalog; long values are shortened here. Each job_name must be unique among your jobs.

    Workflow inputs

    • Protein structurePDB

    Workflow outputs

    • ArchiveZIP
    • StructuresPDB

    RFAntibody TCR Predictor rfantibody-tcr-predict

    Job type
    rfantibody-tcr-predict
    Hardware
    t4l4a10l40sa100-40gb (default)a100-80gbh100h200b200
    Typical runtime
    1 h on Nvidia A100, 40 GB

    Payload

    Payload fields
    FieldTypeDescription
    target_pdbrequiredstring

    Limits: min length 1

    hotspot_residues[]requiredstring[]

    Limits: min items 1

    frameworkstring

    Default: "vhh"One of: "vhh", "scfv"

    num_designsinteger

    Default: 10Limits: ≥ 1

    diffuser_Tinteger

    Default: 50Limits: ≥ 15

    final_stepinteger

    Default: 1Limits: ≥ 1

    mpnn_temperaturenumber

    Default: 0.1Limits: > 0

    mpnn_seqs_per_structinteger

    Default: 1Limits: ≥ 1

    rf2_pae_thresholdnumber

    Default: 10Limits: > 0

    rf2_rmsd_thresholdnumber

    Default: 2Limits: > 0

    tcr_modeboolean

    Example

    from cognichem_client import CogniChem
    
    client = CogniChem.from_env()  # reads COGNICHEM_API_KEY
    payload = {
        "target_pdb": "REMARK  Minimal alanine tripeptide for unit testing.\nREMARK … (2,166 characters)",
        "hotspot_residues": ["A:1", "A:2"],
        "num_designs": 1,
        "tcr_mode": True,
    }
    
    estimate = client.jobs.estimate(job_type="rfantibody-tcr-predict", payload=payload, resource="a100-40gb")
    print(f"Reserves ${estimate.cost:.2f}")
    
    job = client.jobs.submit(
        job_name="my-rfantibody-tcr-predict-run",
        job_type="rfantibody-tcr-predict",
        payload=payload,
        resource="a100-40gb",
    )
    status = client.jobs.wait(job.process_id)
    if status.status == "completed":
        client.jobs.result(job.process_id, save_path=".")

    Sample data from the job catalog; long values are shortened here. Each job_name must be unique among your jobs.

    Workflow inputs

    • Protein structurePDB

    Workflow outputs

    • ArchiveZIP
    • StructuresPDB