Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note

The force disulfide protocol will aggressively attempt to close disulfide bonds in the structure and is perfectly willing to substantially disrupt the tertiary structure of the protein in order to do so.  Results should be carefully inspected to ensure that they are biologically reasonable.

Table of Contents

Inputs

...

Quickstart

Command Line Examples

Create a PDB model with disulfides between residue positions 2 and 5, and between residue positions 10 and 20:

Code Block
cyrus engine submit force-disulfide input.pdb --disulfide-list '2:5,10:20'

Python Examples

Create a PDB model with disulfides between residue positions 2 and 5, and between residue positions 10 and 20:

Code Block
languagepy
from engine.force_disulfide.client import ForceDisulfideClient

client = ForceDisulfideClient()
job_id = client.submit(pdb_path="input.pdb", disulfide_list=[(2, 5), (10, 20)])

Inputs

  • --pdb-file (str)

    • Input PDB file – a cleaned and/or relaxed PDB file

    • Prepare a clean PDB using the Clean PDB API

    • CLI argument: --pdb-file input.pdb

    • Python submit() argument: pdb-file=”input.pdb”

    • Do not include nonprotein residues.Do not include multimodel (NMR-sourced) PDBs.  

    • Cyrus strongly recommends using the Prepare or Relax tool in Cyrus Bench to preprocess models before uploading to this API.  This will number your models as expected and provide a more stable scoring baseline and will make interpreting results easier.

    Disulfide List —
  • --disulfide-list

    • A list of residue number pairs which should form disulfide bonds

      • pairs annotated using “:”, multiple pairs are comma delimited

    • CLI argument: --disulfide-list “1:10,3:5”

    • Python submit() argument: disulfide_list=[(1,10), (3,5)]

    • Each residue should only be referenced in one disulfide pair

    • Residues in the disulfide list should not already be in disulfides (this will result in an error)

Note

Residues should be in a location such that they can reasonably participate in a disulfide bond without major movement of the protein backbone.  This code will not warn you if distant locations are chosen; it will put in a disulfide bond and destroy your protein fold trying to enforce it.

Command Line Examples

Create a PDB model with disulfides between residue positions 2 and 5, and between residue positions 10 and 20:

Code Block
cyrus submit force-disulfide input.pdb --disulfide-list '2:5,10:20'

Python Examples

Create a PDB model with disulfides between residue positions 2 and 5, and between residue positions 10 and 20:

Code Block
languagepy
from engine.force_disulfide.client import ForceDisulfideClient

client = ForceDisulfideClient()
job_id = client.submit(pdb_path="input.pdb", disulfide_list=[(2, 5), (10, 20)])

Outputs

Info

A job that fails due to some issue with the input PDB or other Rosetta problem will be marked FAILED and have no output.

A job that successfully completed will be marked DONE and have the below files available when downloaded with cyrus get.  Note that the completion of the job is not a marker that Rosetta thinks the disulfide formed is physically plausible.

...

Outputs

  • force_disulfide.pdb

    • A PDB file containing the input protein with disulfide bonds added and a constrained relax run afterwards. 

  • score.sc

    • A Rosetta score file containing the scores of the returned PDB with disulfide bonds.  

  • delta_score.sc

    • A Rosetta score file containing the difference between the scores of the pdb file with disulfides added and the relaxed input pdb without disulfides.  Negative values mean the score improved when disulfides were added.  This is the file you should interpret to understand model quality.

Notes

Output File interpretation

Info

A job that fails due to some issue with the input PDB or other Rosetta problem will be marked FAILED and have no output.

A job that successfully completed will be marked DONE and have the below files available when downloaded with cyrus get.  Note that the completion of the job is not a marker that Rosetta thinks the disulfide formed is physically plausible.

The resulting PDB, force_disulfide.pdb, can be interpreted in all the usual ways: its Rosetta scores, your biophysical intuition, or by submitting its md5sum as lottery numbers to see if they win.  However, the model should not be interpreted in isolation.  This module forces disulfide bonds whether they are good or not, and an input crystal structure that already has good scores may still have many locally good regions after a bad forced disulfide; these locally good regions will give the overall model apparently-good Rosetta scores even if the model is pretty bad.

...