Tools · Computational Biology
ESMFold2
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
| Field | Type | Description |
|---|---|---|
chains[]required | object[] | Limits: |
chains.idrequired | string | Limits: |
chains.typerequired | string | One of: |
chains.sequence | string | Limits: |
chains.smiles | string | Limits: |
chains.ccd | string | string[] | |
chains.modifications[] | object[] | |
chains.modifications.positionrequired | integer | Limits: |
chains.modifications.ccdrequired | string | Limits: |
chains.msa | object | |
chains.msa.a3mrequired | file_object | |
chains.msa.a3m.name | string | Limits: |
chains.msa.a3m.filename | string | Limits: |
chains.msa.a3m.content_b64 | string | Limits: |
chains.msa.a3m.content | any | |
chains.msa.a3m.bytes | any | |
esm_args | object | |
esm_args.model_id | string | Limits: |
esm_args.num_diffusion_samples | integer | Limits: |
esm_args.num_loops | integer | Limits: |
esm_args.num_sampling_steps | integer | Limits: |
esm_args.output_format | string | Default: |
esm_args.seed | integer | |
record_id | string | Id for the folded structure's manifest record (default 'structure'); a workflow binds it from the upstream sequence's id. Limits: |
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=".")curl -X POST "https://api.cognichem.com/api/v1/jobs/submit" \
-H "X-Api-Key: $COGNICHEM_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"job_name": "my-esmfold2-run",
"job_type": "esmfold2",
"payload": {
"chains": [
{
"id": "A",
"type": "protein",
"sequence": "MKFL"
}
]
},
"resource": "a10"
}'{
"chains": [
{
"id": "A",
"type": "protein",
"sequence": "MKFL"
}
]
}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