← API reference
Antibody design · Protein Design · Binder design

Germinal API

Efficient generation of epitope-targeted de novo antibodies

Germinal is a pipeline for designing de novo antibodies against specified epitopes on target proteins. The pipeline follows a 3-step process: hallucination based on ColabDesign, selective sequence redesign with AbMPNN, and cofolding with a structure prediction model. Germinal is capable of designing both nanobodies and scFvs against user-specified residues on target proteins.

Request body

Fields

The same names the web form posts. See the field type table for what each kind means over HTTP.

Name Type Required Default Description
job_name string text no germinal-demo Job name
target_pdb string file yes HEADER PASTE A TARGET ANTIGEN PDB HERE Target antigen PDB file types .pdb,.ent,.cif.
target_chain string text yes A Target chain up to 4 characters.
target_hotspots string text yes A56,A57,A58 Epitope hotspots Comma-separated target residues that define the epitope, for example A56,A57,A58.
binder_format string select no vhh Binder format One of: vhh, scfv.
max_trajectories number number no 10 Trajectories to run Hallucination trajectories attempted; most are discarded by the filters. minimum 1, maximum 10000.
max_passing_designs number number no 2 Designs to keep The run stops once this many designs have passed every filter. minimum 1, maximum 1000.
Example

A request that runs

These are the defaults, exactly as the web form would post them.

curl -X POST https://athanortools.com/api/germinal/ \
  -H 'Content-Type: application/json' \
  -d '{
  "job_name": "germinal-demo",
  "target_pdb": "HEADER    PASTE A TARGET ANTIGEN PDB HERE",
  "target_chain": "A",
  "target_hotspots": "A56,A57,A58",
  "binder_format": "vhh",
  "max_trajectories": 10,
  "max_passing_designs": 2
}'

The reply is 202 with a queued job; poll its status_url until status is succeeded or failed. See the quick start for the whole exchange.

Responses

What comes back

statusMeaning
queued Accepted, waiting for the jobs ahead of it. `position` counts how many those are.
running The tool is executing now.
succeeded Finished; `result` holds the tool's output and `license` the terms it came under.
failed Finished; `error` holds a code and a message.
cancelled Abandoned at the submitter's request; there is no result. A job cancelled before its turn never ran at all.

Errors

codeMeaning
invalid_input The client supplied invalid or incomplete input.
tool_unavailable The requested third-party dependency is not available on this host.
execution_failed A configured third-party tool exited unsuccessfully.
internal_error An adapter failed in a way it does not describe. The detail is in the server log, not the response.
not_found No job has that id. Finished jobs are dropped eventually.