The DDG API runs the Rosetta cartesian-ddg protocol. It takes as input a pre-relaxed PDB and a TSV-formatted mutations file, and outputs a TSV-formatted file containing a new column for scores.
Inputs
pdb-file
must be a PDB which has been run through the ddg-relax endpoint
Optional - mutations-file
TSV-formatted file containing mutations. To create an empty mutations file from an input PDB, run:
cyrus prepare mutations <pdb-file> --output-dir <output-dir>
Optional - all-mutations mode
you can omit an input mutations-file and instead run in all-mutations mode, where all mutations at each position will be selected
Optional - dump-pdb mode
run with this flag to output the PDB for each mutation as well as the score
Command Line Examples
Prepare an input PDB file for use with DDG
cyrus submit ddg-relax <pdb-file>
Prepare an input mutations file for use with DDG
cyrus prepare mutations <pdb-file> --output-dir <output-dir>
Run DDG on an input structure with mutations that are included in the input mutations file
cyrus submit ddg <pdb-file> --mutations-file <mutations-file>
Run DDG on an input structure with all mutations selected
cyrus submit ddg <pdb-file> --all-mutations
Run DDG on an input structure with all mutations selected and output the PDBs as well as scores
cyrus submit ddg <pdb-file> --all-mutations --dump-pdb
Python Examples
Prepare an input pdb file for use with DDG
from engine.ddg-relax.client import DdgRelaxClient client = DdgRelaxClient() job_id = client.submit(pdb_path="input.pdb")
Run DDG on an input structure with mutations that are included in the input mutations file
from engine.ddg.client import DdgClient client = DdgClient() job_id = client.submit(pdb_path="input.pdb", mutations_path="input.tsv")
Run DDG on an input structure and dump the output PDB files
from engine.ddg.client import DdgClient client = DdgClient() job_id = client.submit(pdb_path="input.pdb", mutations_path="input.tsv", dump_pdb=True)
Outputs
results.tsv
file with one mutation and score per-line
mutation-input.tsv
input mutations file
pdbresults.tar.gz
output PDB files, will be empty if
--dump-pdb
omitted