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>
Each row can contain one or many mutations, in the format
D
orDMG
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
...
Cartesian DDG protocol. The cartesian DDG protocol is described in Prediction of Protein Mutational Free Energy: Benchmark and Sampling Improvements Increase Classification Accuracy.
The purpose of the Cartesian DDG protocol is to predict the impact of a single point mutation on the free energy of a protein.
Note |
---|
The Cartesian DDG protocol only supports canonical amino acids and does not support structures containing any kind of small molecule (waters, drug-like ligands, metal ions, etc). The Clean PDB endpoint should be used to prepare any PDB files produced by non-Cyrus tools. |
The DDG process consists of two steps. The first step is to relax the PDB using the ddg-relax
API. This step must be performed only once for each structure prior to running mutagenesis experiments with the ddg
API. If multiple rounds of mutagenesis experiments are to be performed on a single protein, the same relaxed model should be used as the input for each relaxed protein. In the second step of the DDG process the TSV mutation file (described below) is parsed to generate a list of all specified single point mutations. Each one of these mutations is simulated via the Cartesian DDG protocol and DDG scores are reported for each mutation.
Table of Contents |
---|
Quickstart
DDG Relax
Command Line Example
Prepare an input PDB file for use with DDG.
Note |
---|
Note that the |
Code Block |
---|
cyrus engine submit ddg-relax <pdb-file> |
Python Examples
Prepare an input pdb file for use with DDG
Code Block |
---|
from engine.ddg-relax.client import DdgRelaxClient
client = DdgRelaxClient()
job_id = client.submit(pdb_path="input.pdb") |
DDG
Command Line Examples
Prepare an input mutations file for use with DDG
Code Block |
---|
cyrus engine prepare mutations <pdb-file> --output-dir <output-dir> |
Run DDG on an input structure with mutations that are included in the input mutations file
Code Block |
---|
cyrus engine submit ddg <pdb-file> --mutations-file <mutations-file> |
Run DDG on an input structure with all mutations selected
Code Block |
---|
cyrus engine submit ddg <pdb-file> --all-mutations |
Run DDG on an input structure with all mutations selected and output the PDBs as well as scores
Code Block |
---|
cyrus engine submit ddg <pdb-file> --all-mutations --dump-pdb |
Python Examples
Prepare an input pdb file for use with DDGRun DDG on an input structure with single mutations from mutations file and multi-mutations from multi-mutations file
Code Block |
---|
fromcyrus engine.ddg-relax.client import DdgRelaxClient client = DdgRelaxClient() job_id = client.submit(pdb_path="input.pdb") submit ddg <pdb-file> --mutations-file <mutations-file> --multi-mutations-file <multi-mutations-file> |
Python Examples
Run DDG on an input structure with mutations that are included in the input mutations file
...
Code Block |
---|
from engine.ddg.client import DdgClient
client = DdgClient()
job_id = client.submit(pdb_path="input.pdb", mutations_path="input.tsv", dump_pdb=True) |
Inputs
pdb-file
(DDG Relax)PDB file to relax for use in DDG protocol
pdb-file
(DDG)must be a PDB which has been run through the ddg-relax endpoint described above
Options
--mutations-file
Tab Separated Value (TSV)-formatted file containing mutations. To create an empty mutations file from an input PDB, run:
Code Block cyrus engine prepare mutations <pdb-file> --output-dir <output-dir>
Each row can contain one or many mutations, in the format
D
orDMG
. For example, The TSV file below would run DDG on M1D, M1G and Q2T and would report scores for all 3 of those mutations. The mutations are performed separate from each-other (ie the M1D and M1G mutations are not performed at the same time.)Do not supply the native residue as a mutation, that doesn’t make sense.
Code Block position original_residue mutation 1 M DG 2 Q T
--mult-mutations-file
TSV file containing mutations to run simultaneously. Similar format to the mutations file, but with each run’s mutations separated with
---
Code Block --- position original_residue mutation 5 K S 42 T I --- position original_residue mutation 5 K S 42 T K ---
--all-mutations
you can omit an input mutations-file and instead run in all-mutations mode, where all mutations at each position will be selected
--dump-pdb
run with this flag to output the PDB for each mutation as well as the score
Outputs
results.tsv
file with one mutation and score per-line
multi-results.tsv
file with one score per multi-mutation run
mutation-input.tsv
input mutations file
multi-mutation-input.tsv
input multi-mutations file
pdbresults.tar.gz
output PDB files, will be empty if
--dump-pdb
omitted