Skip to main content
Docs

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

    Tools · Computational Biology

    ESMFold2

    Predict protein, DNA, RNA, and ligand complex structures with evolutionary scale modeling
    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.

    ESMFold2 esmfold2

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

    Payload

    Payload fields
    FieldTypeDescription
    chains[]requiredobject[]

    Limits: min items 1

    chains.idrequiredstring

    Limits: min length 1

    chains.typerequiredstring

    One of: "protein", "rna", "dna", "ligand"

    chains.sequencestring

    Limits: min length 1

    chains.smilesstring

    Limits: min length 1

    chains.ccdstring | string[]
    chains.modifications[]object[]
    chains.modifications.positionrequiredinteger

    Limits: ≥ 0

    chains.modifications.ccdrequiredstring

    Limits: min length 1

    chains.msaobject
    chains.msa.a3mrequiredfile_object
    chains.msa.a3m.namestring

    Limits: min length 1

    chains.msa.a3m.filenamestring

    Limits: min length 1

    chains.msa.a3m.content_b64string

    Limits: min length 1

    chains.msa.a3m.contentany
    chains.msa.a3m.bytesany
    esm_argsobject
    esm_args.model_idstring

    Limits: min length 1

    esm_args.num_diffusion_samplesinteger

    Limits: ≥ 1

    esm_args.num_loopsinteger

    Limits: ≥ 1

    esm_args.num_sampling_stepsinteger

    Limits: ≥ 1

    esm_args.output_formatstring

    Default: "mmcif"One of: "pdb", "mmcif", "cif"

    esm_args.seedinteger
    record_idstring

    Limits: pattern ^[A-Za-z0-9][A-Za-z0-9._:|+-]{0,99}$

    File fields take {"name": "x.pdb", "content_b64": "…"} or a stored artifact, {"$artifact": {"id": "art-…", "port": "…"}}. Files are up to 25 MiB each.

    Example

    from cognichem_client import CogniChem
    
    client = CogniChem.from_env()  # reads COGNICHEM_API_KEY
    payload = {"chains": [{"id": "A", "type": "protein", "sequence": "MKFL"}]}
    
    estimate = client.jobs.estimate(job_type="esmfold2", payload=payload, resource="a10")
    print(f"Reserves ${estimate.cost:.2f}")
    
    job = client.jobs.submit(
        job_name="my-esmfold2-run",
        job_type="esmfold2",
        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 sequences · optionalFASTA, RAW

    Workflow outputs

    • ArchiveZIP
    • Protein structureCIF