|
Rosetta 3.5
|
This document was edited by Colin Smith on 12/4/2008. Yi Liu created the initial page. Thanks Oliver and Firas for providing information.
Constraints can be specified using two different file formats, line-based and section-based. The line-based format is:
Constraint_Type1 Constraint_Def1 Constraint_Type2 Constraint_Def2 ...
Generally speaking, the Constraint_Type will contain a type, defining what sort of value to be constrained (distance, angle, dihedral, etc), and a series of atom and/or residue labels defining a specific quality to be constrained. Residue numbers are assumed to be in Rosetta numbering (from 1, no gaps), not PDB numbering. If you want PDB numbering, pass the chain letter immediately after the residue number (no spaces), residue 30 of chain A would be "30A", even if it is the first residue in the PDB (Rosetta numbering "1").
The Constraint_Def will define function by which the constraint is constrained, to answer the question: what should the score of the constraint be when the constrained value has a deviation of X units?
Constraints are listed as "Constraint_Type: Constraint_Def". Function types and definitions are defined in the next section. Any text after the function definition is ignored, execpt in the case of Multi and Ambiguous constraints, which accept an arbitrary number of subconstraints.
Atom1_Name Atom1_ResNum Atom2_Name Atom2_ResNum Func_Type Func_DefAtom1_Name Atom1_ResNum Atom2_Name Atom2_ResNum Func_Type Func_DefAtom1_Name Atom1_ResNum Atom2_Name Atom2_ResNum Atom3_Name Atom3_ResNum Func_Type Func_DefAtom1_Name Atom1_ResNum Atom2_Name Atom2_ResNum Atom3_Name Atom3_ResNum Atom4_Name Atom4_ResNum Func_Type Func_DefAtom1_Name Atom1_ResNum Opposing_chain Func_Type Func_DefCoordinateConstraint Atom1_Name Atom1_ResNum Atom2_Name Atom2_ResNum Atom1_target_X_coordinate Atom1_target_Y_coordinate Atom1_target_Z_coordinate Func_Type Func_Def"LocalCoordinateConstraint Atom1_Name Atom1_ResNum Atom2_Name Atom3_Name Atom4_Name Atom234_ResNum Atom1_target_X_coordinate Atom1_target_Y_coordinate Atom1_target_Z_coordinate Func_Type Func_DefResNum BinConstraint_Type1 Constraint_Def1 [Constraint_Type2 Constraint_Def2 [...]]Constraint_Type1 Constraint_Def1 [Constraint_Type2 Constraint_Def2 [...]]Constraint types are all implemented as subclasses of the core::scoring::constraints::Constraint class.
Functions are listed as "Func_Type: Func_Def".
x0 sd
x0 sd
lb ub sd rswitch tagrswitch to anything other than 0.5 will create a discontinuity in the derivative. rswitch and tag should not be treated as optional.
mean sd tag Note: tag is NOT optional, as for BoundFunc/BOUNDED. If tag = NOLOG, it triggers some undocumented behavior involving a logarithm of some sort.
n_funcs [mean1 sdev1 weight1 [mean2 sdev2 weight2 [...]]]
anchor gaussian_param exp_param mixture_param bg_mean bg_sdreturn_val
weight Func_Type Func_Def
n_funcs Func_Type1 Func_Def1 [Func_Type2 Func_Def2 [...]]
histogram_file_path experimental_value weight bin_size Note: This function reads in any histogram and creates a cubic spline over it using the Rosetta SplineGenerator. The full path to the file must be speified. The function assumes that all bin sizes are the same, even though you must specify it for each line in the cst file. If using RosettaEPR knowledge-based potential, replace <filename> with EPR_DISTANCE, and it will read in the EPR distance histogram from the minirosetta database. See example below for using with EPR knowledge-based potential.lb ub d wd [ wo ] wd between the boundaries lb and ub. An optional offset wo (default 0) can be added to the whole function; this is useful if you want to make the function be zero in the 'golden range' and then give a penalty elsewhere (e.g., specify wd of -20 and wo of +20). To make sure the function and its derivative are continuous, the function is connected by cubic splines in the boundary regions in slivers of width d, between lb to lb+d and between ub-d to ub:
x0 m Two arguments; x0 is the center of the sigmoid func and m is its slope. It has hardcoded min/max of 0.5. The functional form is (1/(1+exp(-m*( x-x0 ))) - 0.5.Function types are all implemented as subclasses of the core::scoring::constraints::Func class.
AtomPair CZ 20 CA 6 GAUSSIANFUNC 5.54 2.0 AtomPair CZ 20 CA 54 GAUSSIANFUNC 5.27 2.0 AtomPair CZ 20 CA 50 GAUSSIANFUNC 5.26 2.0 AtomPair CZ 20 CA 10 GAUSSIANFUNC 4.81 2.0 AtomPair CZ 20 CA 41 GAUSSIANFUNC 9.90 2.0
AtomPair SG 5 V1 32 HARMONIC 0.0 0.2 Angle CB 5 SG 5 ZN 32 HARMONIC 1.95 0.35 AtomPair SG 8 V2 32 HARMONIC 0.0 0.2 Angle CB 8 SG 8 ZN 32 HARMONIC 1.95 0.35 AtomPair NE2 13 V3 32 HARMONIC 0.0 0.2 Angle CD2 13 NE2 13 ZN 32 HARMONIC 2.09 0.35 Dihedral CG 13 CD2 13 NE2 13 ZN 32 CIRCULARHARMONIC 3.14 0.35 AtomPair SG 18 V4 32 HARMONIC 0.0 0.2 Angle CB 18 SG 18 ZN 32 HARMONIC 1.95 0.35
#discourages residue 16, chain B, from interacting with chain A; encourages residue 47 SiteConstraint CA 16B A SIGMOID 5.0 -2.0 SiteConstraint CA 47B A SIGMOID 5.0 2.0
AtomPair H 6 HA 134 BOUNDED 1.80 5.25 0.50 NOE ;dist 5.000 1.800 AtomPair HA 7 HA 132 HARMONIC 1.2 0.2
AtomPair CB 31 CB 43 SPLINE EPR_DISTANCE 6.0 4.0 0.5 AtomPair CB 29 CB 62 SPLINE EPR_DISTANCE 15.0 4.0 0.5
There are different sets of functions for reading full-atom and non-full-atom constraints, as indicated by the respective functions listed below. The only current difference between the functions are which command line arguments are read. The values of the arguments are processed identically.
To use constraints, both the scoring function and pose objects should be updated. The functions for adding constraints to the scoring function are:
Currently these functions only set the weights of the atom_pair_constraint, angle_constraint, and dihedral_constraint score function terms to the value of either the -constraints:cst_fa_weight or -constraints:cst_weight command line argument.
The functions for adding constraints to the pose object are:
These functons read a random constraint file from the list defined by either the -constraints:cst_fa_file or -constraints:cst_file argument.
There are also convenience functions for doing both at once:
These constraint types cannot currently be specified in a file. They need to have read_def methods implemented and be added to the ConstraintFactory constructor.
These function types cannot currently be specified in a file. They need to have read_data methods implemented and be added to the FuncFactory constructor.
1.8.4