how to use the PyRosetta to obtain protein docking results with contact map constraint? #216
Replies: 4 comments 4 replies
-
Contacts are usually input into PyRosetta as Rosetta constraints. That is, you modify the energy potential such that you add a penalty when a potential docked structure violates the contact map you have. In particular, for most contacts, you're looking for AtomPair constraints. You probably want to use the FlatHarmonic function type, which allows you to specify a range (e.g. 0-8 Ang) over which there is no penalty, and then a quadraticly-increasing penalty outside that range. For protocols like protein-protein docking, which go through both a full atom and low-resolution ("centroid") stage, you'll want to base your constraints off of backbone heavyatoms (typically Calpha), as the centroid stage doesn't represent sidechains atomistically. Using constraints in (Py)Rosetta is a two-step process. The first is to add the constraint definitions to the Pose itself. The second is to make sure you're using a scorefunction with the appropriate constraint scoreterms turned on. The easiest way to add constraints to a pose is to write a Rosetta constraint file with your contact map information. A constraint file is nothing more than a text file with one line per constraint you want. For example,
defines a constraint which looks at the distance between the Calpha atoms on residues 34A and 123B and applies a scoring penalty if they're greater than 8.0 Ang apart. (The 1.5 changes how steeply the penalty rises. The units are in Angstrom, and smaller values are a stiffer penalty.) You can then apply that constraint file to the pose with Alternatively, you can set up the constraints programmatically:
where atomno & resi are the (integer) residue id and atom number of the atoms you want to constrain. |
Beta Was this translation helpful? Give feedback.
-
Thanks!! I will have a try!! |
Beta Was this translation helpful? Give feedback.
-
It seems that if there is no contact in the protein, i.e., the contact map is zero, using the command like how to solve this situation? |
Beta Was this translation helpful? Give feedback.
-
and now I am using the PyRosetta to adjust the protein complex structure based on the ground-truth contact map, however, the adjusted structures are worse than the original one, I do not know why, the following is my demo:
could you give me some advice? |
Beta Was this translation helpful? Give feedback.
-
Hi, PyRosetta Team. Thanks for releasing this awesome tool for the community. I am a newcomer to the protein computing field. Now, I am working on protein docking. I have an initial protein pose with a slightly accurate contact map. I want to use the contact map as a constraint on the initial protein pose to obtain a more accurate protein structure. How can I use PyRosetta to achieve this goal? Could you give me some advice? Thanks!!!
Beta Was this translation helpful? Give feedback.
All reactions