LigandBindingAssemblyMover is a derived AppendAssemblyMover that is intended to build new contacts to a partially coordinated ligand while simultaneously building new protein backbone using SEWING.
LigandBindingAssemblyMover takes a partial ligand binding site and its ligand and, given user-provided information on how the ligand should be coordinated, adds new structural elements that will be able to complete the ligand's coordination with the correct geometry. It also makes any necessary mutations for this coordination and outputs PDBInfoRemarks indicating all coordinating residues.
NOTE: This is currently unavailable but will be automatically updated when the new version of SEWING is merged.
Autogenerated Tag Syntax Documentation:
AssemblyMover designed to add contacts to specified ligand atoms and then build an assembly around the ligand.
<LigandBindingAssemblyMover name="(&string;)" start_temperature="(0.6 ℜ)"
end_temperature="(0.6 ℜ)" add_probability="(0.05 ℜ)"
delete_probability="(0.005 ℜ)"
conformer_switch_probability="(0 ℜ)"
window_width="(4 &positive_integer;)"
minimum_cycles="(10000 &non_negative_integer;)"
maximum_cycles="(100000 &non_negative_integer;)"
model_file_name="(&string;)" hashed="(false &bool;)"
edge_file_name="(&string;)" max_segments="(100 &non_negative_integer;)"
max_segment_length="(100 &non_negative_integer;)"
output_pose_per_move="(false &bool;)"
recover_lowest_assembly="(true &bool;)"
recursive_depth="(1 &non_negative_integer;)"
pose_segment_starts="(&int_cslist;)" pose_segment_ends="(&int_cslist;)"
pose_segment_dssp="(&string;)" strict_dssp_changes="(false &bool;)"
set_segments_from_dssp="(false &bool;)" match_segments="(&int_cslist;)"
partner_pdb="(&string;)"
required_resnums="(&refpose_enabled_residue_number_cslist;)"
max_recursion="(1 &non_negative_integer;)"
modifiable_terminus="(B &string;)" output_partner="(true &bool;)"
extend_mode="(false &bool;)" start_node_vital_segments="(all &string;)"
required_selector="(&string;)" distance_cutoff="(10.0 ℜ)"
segment_distance_cutoff="(1 &non_negative_integer;)"
binding_cycles="(1000 &non_negative_integer;)"
build_site_only="(false &bool;)" >
<AssemblyScorers >
<InterModelMotifScorer name="(&string;)" weight="(1.0 ℜ)" />
<IntraDesignTerminusMotifScorer name="(&string;)" weight="(1.0 ℜ)"
optimum_distance="(ℜ)" maximum_unpenalized_variance="(ℜ)" />
<LigandScorer name="(&string;)" weight="(1.0 ℜ)"
ligand_interaction_cutoff_distance="(5.0 ℜ)" />
<MotifScorer name="(&string;)" weight="(1.0 ℜ)" />
<PartnerMotifScorer name="(&string;)" weight="(1.0 ℜ)" />
<SegmentContactOrderScorer name="(&string;)" weight="(1.0 ℜ)" />
<StartingNodeMotifScorer name="(&string;)" weight="(1.0 ℜ)" />
<SubsetPartnerMotifScorer name="(&string;)" weight="(1.0 ℜ)"
region_start="(1 &non_negative_integer;)"
region_end="(2 &non_negative_integer;)" />
<TerminusMotifScorer name="(&string;)" weight="(1.0 ℜ)"
partner_residue="(&non_negative_integer;)" optimum_distance="(ℜ)"
maximum_unpenalized_variance="(ℜ)" terminus="(&string;)" />
<TopNMotifScorer name="(&string;)" weight="(1.0 ℜ)"
scores_to_keep="(1 &non_negative_integer;)" />
</AssemblyScorers>
<AssemblyRequirements >
<ClashRequirement name="(&string;)"
maximum_clashes_allowed="(0 &non_negative_integer;)"
clash_radius="(4.0 ℜ)" />
<DsspSpecificLengthRequirement name="(&string;)" dssp_code="(X &dssp_enum;)"
maximum_length="(100 &non_negative_integer;)"
minimum_length="(0 &non_negative_integer;)" />
<KeepLigandContactsRequirement name="(&string;)"
contact_distance_cutoff="(2.5 ℜ)" />
<LengthInResiduesRequirement name="(&string;)"
maximum_length="(10000 &non_negative_integer;)"
minimum_length="(0 &non_negative_integer;)" />
<LigandClashRequirement name="(&string;)"
maximum_clashes_allowed="(0 &non_negative_integer;)"
clash_radius="(4.0 ℜ)" />
<NonTerminalStartingSegmentRequirement />
<SizeInSegmentsRequirement name="(&string;)"
maximum_size="(10000 &non_negative_integer;)"
minimum_size="(0 &non_negative_integer;)" />
</AssemblyRequirements>
<Ligands >
<Ligand partner_ligand="(false &bool;)" pdb_conformers="(&string;)"
alignment_atoms="(&string;)" auto_detect_contacts="(true &bool;)"
ligand_resnum="(&refpose_enabled_residue_number;)"
ligand_selector="(&string;)" >
<Contact partner_contact="(false &bool;)"
contact_resnum="(&refpose_enabled_residue_number;)"
ligand_atom_name="(&string;)" contact_atom_name="(&string;)" />
<Coordination coordination_files="(&string;)"
geometry_score_threshold="(1 ℜ)" >
<IdealContacts distance="(ℜ)" angle="(109.5 ℜ)"
dihedral_1="(30 ℜ)" dihedral_2="(30 ℜ)"
max_coordinating_atoms="(&non_negative_integer;)"
ligand_atom_name="(&string;)" />
</Coordination>
</Ligand>
</Ligands>
</LigandBindingAssemblyMover>
Subtag AssemblyScorers: The subtags of this tag define the AssemblyScoreFunction that will be used to evaluate assemblies
Subtag InterModelMotifScorer: Basic Motif score among non-adjacent helices
Subtag IntraDesignTerminusMotifScorer: Motif score to measure packing of assembly against partner PDB
Subtag LigandScorer: Scores how well ligand is buried based on orientation of nearby Ca's
Subtag MotifScorer: Basic Motif score among all helices
Subtag PartnerMotifScorer: Motif score to measure packing of assembly against partner PDB
Subtag SegmentContactOrderScorer: Favors assemblies whose segments form contacts with segments distant in the assembly
Subtag StartingNodeMotifScorer: Specifically scores packing against the starting node
Subtag SubsetPartnerMotifScorer: Motif score to measure packing of assembly against partner PDB
Subtag TerminusMotifScorer: Motif score to measure packing of assembly against partner PDB
Subtag TopNMotifScorer: Basic Motif score among all helices
Subtag AssemblyRequirements: Subtags of this tag define the set of requirements that will be used when evaluating SEWING assemblies
Subtag ClashRequirement: Checks for clashes between segments in the assembly
Subtag DsspSpecificLengthRequirement: Restricts the number of residues in segments with the specified DSSP
Subtag KeepLigandContactsRequirement: Fails if an assembly's ligands lose more than a set number of contacts
Subtag LengthInResiduesRequirement: Checks the number of segments in the assembly
Subtag LigandClashRequirement: Checks for clashes between the assembly and its ligands
Subtag SizeInSegmentsRequirement: Checks the number of segments in the assembly
Subtag Ligands: Subtags of this tag specify the ligands present in the input pose and their respective protein contacts.
Subtag Ligand: Specifies the position of a ligand and the contacts that it forms with the input pose
Subtag Contact:
Subtag Coordination: Contains subtags defining ideal coordination environments for atoms in the ligand
Subtag IdealContacts:
The Coordination subtag of the Ligand tag (which is documented here), contains two types of ligand coordination information. First, it contains the "coordination_files" attribute, which provides a comma-separated list of all ligand coordination files (described below) that will be used to identify ligand contacts. Second, it provides information on each atom's preferred geometry in the form of IdealContacts subtags. Each ligand atom that will form new contacts will have its own IdealContacts subtag.
Each atom's IdealContacts tag defines the atom name for which it should be applied, its preferred bond lengths ("distance"); bond angles about the atom ("angle"); and the ideal dihedral angles about the atom as defined in the XML schema above. Note that angles and dihedral angles will be accepted if they are any multiple of the entered value; for example, if the user requests a 90 degree angle, then bond angles of 180 degrees will also be accepted. The subtag also indicates the maximum number of contacts/bonds that the ligand should form, including existing contacts.
The final attribute of the IdealContacts tag, the geometry score threshold, indicates the tolerance that LigandBindingAssemblyMover should apply when scoring the geometry of newly added ligand contacts. This score is calculated as follows:
geometry_score = (delta_distance)^2 + 10*(mod(angle, ideal_angle))^2 + 5*(mod(dihedral_1, ideal_dihedral_1))^2 + 5*(mod(dihedral_2, ideal_dihedral_2))^2
Note that all angles are converted to radians for this calculation.
The recommended geometry score threshold will vary depending on the coordination environment of each ligand atom. For example, for a zinc ion with two initial contacts, a threshold of 5 provides the best balance of good geometry and high success rate for the addition of a third contact whereas a threshold of 20 provides the best results for a fourth contact.
Please see the zinc_statistic_generator application documentation for more information on ligand coordination file generation.
The format for ligand coordination files can be found here.
In many cases, users will want to add additional structural elements using AppendAssemblyMover after their ligands are fully coordinated. This can either be performed using a separate mover to allow for additional filtering/inspection beforehand or can be performed automatically within LigandBindingAssemblyMover by setting the "build_site_only" option to false. In this case, the min_cycles and max_cycles options would indicate the length of the AppendAssemblyMover run (whereas "binding_cycles" is used to determine the length of the LigandBindingAssemblyMover run), and the start_temperature and end_temperature options would control temperature ramping. This option is not recommended in most cases because AppendAssemblyMover will generally perform better with different add/delete probabilities and temperatures than LigandBindingAssemblyMover. For refinement after SEWING, please see the refinement of SEWING assemblies page.
The following is an example RosettaScript using LigandBindingAssemblyMover:
<ROSETTASCRIPTS>
<SCOREFXNS>
</SCOREFXNS>
<RESIDUE_SELECTORS>
<ResidueName name="select_zn" residue_name3=" ZN" />
</RESIDUE_SELECTORS>
<FILTERS>
</FILTERS>
<MOVERS>
<LigandBindingAssemblyMover name="assemble" binding_cycles="20000" model_file_name="/nas02/home/g/u/guffy/netscr/sewing_with_zinc/input_files/smotifs_H_5_40_L_1_6_H_5_40.segment\
s" add_probability="0.05" delete_probability="0.05" hashed="false" segment_distance_cutoff="2" distance_cutoff="8.0" start_temperature="2.0" build_site_only="true" window_width="4" \
>
<Ligands>
<Ligand ligand_selector="select_zn" auto_detect_contacts="true" >
<Coordination coordination_files="/nas02/home/g/u/guffy/netscr/sewing_with_zinc/input_files/H_NEW_stats.txt" geometry_score_threshold="5" >
<IdealContacts ligand_atom_name="ZN" max_coordinating_atoms="3" angle="109.5" distance="2.2" dihedral_1="30" dihedral_2="120" />
</Coordination>
</Ligand>
</Ligands>
<AssemblyRequirements>
<DsspSpecificLengthRequirement dssp_code="L" maximum_length="6" /> Prevents super-long loops
<DsspSpecificLengthRequirement dssp_code="H" minimum_length="10" /> Prevents super-short helices
<ClashRequirement />
<SizeInSegmentsRequirement maximum_size="9" minimum_size="5" />
<LigandClashRequirement />
</AssemblyRequirements>
</LigandBindingAssemblyMover>
</MOVERS>
<APPLY_TO_POSE>
</APPLY_TO_POSE>
<PROTOCOLS>
<Add mover_name="assemble" />
</PROTOCOLS>
</ROSETTASCRIPTS>
Since the sampling space of LigandBindingAssemblyMover is highly restricted, users are recommended to use relatively high temperature values (between 2.0 and 3.0) to ensure diverse sampling. Note that this mover does not perform temperature ramping; instead, the user-specified max_temperature sets the value for the entire protocol. LigandBindingAssemblyMover also ignores the min_cycles and max_cycles options; instead, the number of cycles is determined by the ligand_binding_cycles option. A value of 20000 cycles is recommended for adding a single ligand contact to ensure a high rate of success.
To prevent wasted sampling, users are recommended to use a segment distance cutoff of no more than two. Note that this cutoff counts the number of additions rather than the number of segments added, so segment files containing larger substructures may have different requirements. A max_distance of 8.0 Å is also recommended to prevent unnecessary calculations in segments that are not close enough to form contacts with the ligand. Recommended values for the user-specified geometry score threshold can vary significantly depending on the coordination environment of the specified atom. Lower scores generally indicate more ideal geometry (and therefore a stricter cutoff). Since these scores include angles and dihedrals between all pairs of contacts to the atom in question, the score scales nonlinearly with the number of contacts; for example, a value of 5.0 is appropriate for a tetrahedrally coordinated atom forming a third contact whereas a value of 20.0 will give similarly ideal geometries when forming a fourth contact. Deviations from ideal coordination geometry in the starting site can also lead to increased scores. Therefore, users are recommended to perform some benchmarking for their specific use case before performing full-scale simulations.