AppendAssemblyMover is a derived AssemblyMover that builds a SEWING assembly from a predetermined starting structure.
AppendAssemblyMover is used to incorporate a functional element of a native structure into a larger backbone. It is most commonly used to design binding partners for a protein using a binding peptide as a starting structure. It has also been used to design protein backbones around a native ligand binding site.
NOTE: This is currently out of date but will be automatically updated when the new version of SEWING is merged.
Autogenerated Tag Syntax Documentation:
Builds an assembly around the segment provided in the input PDB file
<AppendAssemblyMover 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;)" >
<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>
</AppendAssemblyMover>
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:
AppendAssemblyMover allows users to specify an additional PDB as a binding partner for their starting structure using the partner_pdb attribute of the AppendAssemblyMover tag. The structure provided in this PDB file must already have the correct coordinates relative to the starting structure provided to AppendAssemblyMover (no docking or minimization occurs before or during the protocol). The ClashRequirement will automatically check for clashes between the assembly and the binding partner.
In most cases, users will also want to include the PartnerMotifScorer in their set of AssemblyScorers. This scorer evaluates possible packing between the assembly and the binding partner. In addition to the standard recommended scorers and requirements, other potentially useful scorers and requirements for dealing with partner PDBs include:
The output_partner attribute of AppendAssemblyMover (default true) toggles whether the binding partner will be included in PDB files output from AppendAssemblyMover. Note that the binding partner is not modified or moved during assembly.
The Ligands subtag is a new feature of AppendAssemblyMover which allows users to designate non-protein residues in their starting structure as ligand molecules. AppendAssemblyMover stores and tracks which residues in the starting node are in contact with the ligand and automatically designates them as required residues.
If ligands are included in an assembly, it is highly recommended that users include the LigandClashRequirement as the ClashRequirement does not detect clashes with ligands. Users may also want to include the LigandScorer in their AssemblyScorers section; this scorer evaluates hydrophobic packing between the assembly and the ligand.
The syntax for defining a ligand is as follows:
<Ligands>
<Ligand ligand_resnum="(&core::Size;)" ligand_selector="(&string;)" auto_detect_contacts="(true &bool;) pdb_conformers="(&string;) alignment_atoms="(&string;)>
<Contact contact_resnum="(&core::Size;)" contact_atom_name="(&string;)" ligand_atom_name="(&string;)" />
. . . (additional Contact subtags)
</Ligand>
. . . (additional Ligand subtags)
</Ligands>
Each AppendAssemblyMover may have a Ligands subtag which can contain one or more Ligand subtags. Each ligand can be specified either using a residue number or using a residue selector.
The auto_detect_contacts option (default true) indicates that AppendAssemblyMover should automatically detect contacts between the ligand and the starting structure. Currently, only covalent bonds and protein-metal contacts (including contacts to metal atoms in larger ligands) can be detected automatically. We intend to add support for hydrogen bond detection in the future. If auto_detect_contacts is false or if no detectable contacts exist, the user MUST manually specify at least one contact between the ligand and the starting structure.
Ligand contacts may also be manually specified using Contact subtags. Each Contact tag must specify the names of the two atoms involved in the contact as well as the residue number within the starting structure (Rosetta or PDB numbering) of the contact residue.
AppendAssemblyMover also includes support for ligand conformer sampling. In order to enable conformer sampling, three steps must be followed:
1) The user must set the conformer_switch_probability attribute of the AppendAssemblyMover tag to a nonzero value (conformer sampling is turned off by default). 2) The user must provide a text file containing a list of PDB conformers using the pdb_conformers attribute of the Ligand tag. Each PDB file should contain one ligand conformation with no additional structure/residues. 3) The user must specify three ligand atom names using the alignment_atoms attribute of the Ligand tag. These atoms will be used to superimpose conformers onto one another during conformer switching. It is highly recommended that the user select atoms that will retain the geometry of any atoms involved in contacts.
If conformer sampling is enabled, it is highly recommended that the user include the KeepLigandContactsRequirement in the set of requirements. This requirement ensures that conformer sampling does not increase the distance between two contact atoms beyond a certain user-defined threshold.
The following is an example RosettaScript using AppendAssemblyMover:
<ROSETTASCRIPTS>
<SCOREFXNS>
</SCOREFXNS>
<RESIDUE_SELECTORS>
<ResidueName name="select_zn" residue_name3=" ZN" />
</RESIDUE_SELECTORS>
<FILTERS>
</FILTERS>
<MOVERS>
<AppendAssemblyMover name="assemble" model_file_name="/nas02/home/g/u/guffy/smotifs_H_5_40_L_1_6_H_5_40.segments" add_probability="0.05" hashed="false" minimum_cycles="10000" maximum_cycles="20000" start_temperature="1.5" end_temperature="0.1">
<Ligands>
<Ligand ligand_selector="select_zn" auto_detect_contacts="true" />
</Ligands>
<AssemblyRequirements>
<DsspSpecificLengthRequirement dssp_code="L" maximum_length="6" /> Prevents super-long loops, should be unnecessary with this segment file
<DsspSpecificLengthRequirement dssp_code="H" maximum_length="25" minimum_length="10" /> Prevents super-short helices
<ClashRequirement />
<LigandClashRequirement />
<SizeInSegmentsRequirement maximum_size="9" minimum_size="5" />
</AssemblyRequirements>
</AppendAssemblyMover>
</MOVERS>
<APPLY_TO_POSE>
</APPLY_TO_POSE>
<PROTOCOLS>
<Add mover_name="assemble" />
</PROTOCOLS>
</ROSETTASCRIPTS>