← API reference
Structure prediction · Cheminformatics

PLACER API

Generate an ensemble of protein-ligand poses and side-chain conformations.

Runs PLACER (Protein-Ligand Atomistic Conformational Ensemble Resolver), a graph network that denoises corrupted atomic coordinates back to plausible ones. Given a structure and approximate knowledge of the binding site, it samples an ensemble of ligand poses and side-chain conformations rather than a single answer, with a predicted uncertainty (prmsd) per sample.

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 placer-demo Job name
structure_file string file yes HEADER PASTE A PROTEIN-LIGAND STRUCTURE HERE Structure (PDB or mmCIF) Only mmCIF files from RCSB are correctly parsed; PDB is the safer choice otherwise. file types .pdb,.ent,.cif.
num_samples number number no 10 Samples 50-100 is a good number for docking; fewer is fine for side-chain conformations alone. minimum 1, maximum 500.
predict_ligand string text no Ligands to predict (optional) Comma-separated ligand IDs, as name3, name3-resno, or chain-name3-resno. Empty predicts every ligand present.
fixed_ligand string text no Ligands to hold fixed (optional) Comma-separated ligand IDs kept at their input coordinates instead of being predicted.
target_res string text no Crop-center residue (optional) A protein residue, as chain-resno. Required when the input has no ligand at all. up to 40 characters.
exclude_common_ligands boolean checkbox no false Exclude common crystallography additives Drops solvents and crystallography additives (AlphaFold 3's exclusion list) before predicting.
predict_multi boolean checkbox no false Predict every allowed ligand Scores every eligible ligand rather than only the ones named in predict_ligand.
rerank string select no prmsd Rank output by One of: prmsd, plddt, plddt_pde, none.
use_small_molecule boolean checkbox no true Include the small molecule Off predicts side chains only (apo), ignoring any ligand in the input.
Example

A request that runs

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

curl -X POST https://www.athanortools.com/api/placer/ \
  -H 'Content-Type: application/json' \
  -d '{
  "job_name": "placer-demo",
  "structure_file": "HEADER    PASTE A PROTEIN-LIGAND STRUCTURE HERE",
  "num_samples": 10,
  "predict_ligand": "",
  "fixed_ligand": "",
  "target_res": "",
  "exclude_common_ligands": false,
  "predict_multi": false,
  "rerank": "prmsd",
  "use_small_molecule": true
}'

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.

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 process 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.