Model superposition with optional morphing and trimming
Author(s)
- superpose_models: Peter Zwart, Pavel Afonine, Ralf W. Grosse-Kunstleve,
- Tom Terwilliger
Purpose
Superpose moving model on fixed model. Optionally morph the moving
model to be similar to the fixed model and trim it back to the parts that
match.
Usage
How superpose_models works:
The superpose_models tool can use either sequence-based alignment with
least-squares fitting or SSM-based (secondary-structure-matching)
superposition.
LSQ fitting (sequence-based alignment and least-squares fitting)
The LSQ fitting method consists of least-squares superposition of two selected
parts from two pdb files. If no selections is provided for fixed and
moving models the whole content of both input PDB files is used for
superposition. If the number of atoms in fixed and moving models is
different and the models contain amino-acid residues then the sequence
alignment is performed and the matching residues (CA atoms by default,
can be changed by the user) are used for superposition. Note that
selected (and/or matching) atoms are the atoms used to find the
superposition operators while these operators are applied to the whole
moving structure.
SSM matching
SSM matching in phenix.superpose_models consists
of identifying secondary structure in the two models, indexing all pairs of
secondary structure elements, and finding sets of matching pairs in the
two structures. Normally the basic unit of a match is a set of three pairs
of secondary structure elements (they can be overlapping) with the same
spatial arrangement in the two structures. Such a match is called a triple
in superpose_models.
A matching triples yields a unique orientation of the moving model. Matching
triples are grouped into sets in which all the triples yield nearly the same
orientation. Then the transformations suggested by the largest groups are
each tested by using them to superimpose the moving model on the fixed model
and noting the number of residues that superimpose.
Options
LSQ fitting. This is the default superposition method.
SSM matching. This is an alternative to LSQ fitting. It can be useful if
your models do not have similar sequences
Morphing. The best-fitting superimposed moving models can be morphed by
calculation of a real-space distortion field that changes over a typical
distance of about 10 A (set by the parameter distortion_field_length).
This is a way to superpose one model on another and then make them as
similar as possible by applying a smooth distortion to the moving model
Trimming. The superposed (and optionally morphed) moving model can
be trimmed to remove segments that are very different from the fixed model.
SSM match to map. You can supply a map and specify ssm_match_to_map=True.
The tool will search for helices and strands in the map and generate a
target helices_strands model. Then a brute force SSM matching of your
moving model to the helices_strands model is carried out and matches are
scored with map-model correlation. This option can also be carried out
with the dock_in_map tool.
Note this option does not support trimming or morphing.
Brute force SSM. You can supply a target model that has helices and strands.
Helices and strands in your moving model will be matched to those in the
target model to superpose it. You can also supply a map_file and specify
score_superpose_brute_force_with_cc if you wish.
Note this option does not support trimming or morphing.
Examples
Standard run of superpose_models:
Running superpose_models is easy. From the command-line you can type:
phenix.superpose_models fixed_model=fixed_model.pdb \
moving_model=moving_model.pdb morph=true trim=true
This will superimpose moving_model.pdb on fixed_model.pdb, morph it (gradual
adjustment of atomic positions with location along the chain and in space),
and trim moving_model back to the region where they are similar.
To superpose a model on a map you can say:
phenix.superpose_models map_file=map.ccp4 moving_model=moving_model.pdb
This will find helices and strands in map.ccp4 and superpose moving_model.pdb
on those secondary structure elements.
Possible Problems
Specific limitations and problems:
- When using LSQ fitting a different number of atoms in selection_fixed
and selection_moving can lead to failure if sequence alignment is not
successful.
- More than one model in one PDB file (separated with MODEL-ENDMDL) is not
supported.
Literature
Additional information
List of all available keywords
- job_title = None Job title in PHENIX GUI, not used on command line
- input_files
- fixed_model = None Input fixed PDB file
- fixed_selection = None If specified, only include selected part of fixed model
- moving_model = None Input moving PDB file. Model to superpose on fixed_model
- moving_selection = None If specified, only include selected part of moving model
- other_model_to_move = None If specified, transform this model with the same parameters as the moving_model
- map_file = None File with CCP4-style map for brute_force superposition only
- only_include_first_chain = False Only use first chain in each input model
- output_files
- helices_strands_model = 'helices_strands.pdb' Helices-strands model
- superposed_model = None Output file with superposed moving model
- transformed_other_model = None Output file with moved other_model
- crystal_info
- resolution = None Resolution. Will be truncated to minimum_working_resolution if finer than that
- minimum_working_resolution = 3 Working High-resolution limit. Resolution will be truncated to this value
- wrapping = False Map_file is a crystal
- superpose_models
- superpose = True Superpose moving model on fixed model
- morph = True Morph moving model after superposition
- trim = True Trim moving model after morphing
- ssm_match_to_map = False SSM match to helices/strands from map
- superpose_brute_force = False Use brute force method to superpose
- score_superpose_brute_force_with_cc = None Use cc scoring in brute force method (requires map file)
- ok_brute_force_cc = 0.25 OK value for brute force cc (stop looking if achieved)
- shift_field_distance = None Shift field distance. Distance over which morphing leaves model mostly the same. Over longer distances morphing changes model. Default is 10 A.
- good_enough_fraction = 0.9 Good enough fraction. If this much of model is found with sequence-based search skip ssm
- starting_distance_cutoff = 2.5 Starting distance cutoff. Try to keep atoms within this distance, but increase if too few are found.
- include_ssm = True Include SSM matching (superpose based on secondary structure)
- include_lsq = True Include least-squares matching (minimizing RMSD)
- try_lsq_first = True Try lsq matching first if lsq and ssm are both included
- try_with_fragments_if_poor_fit = True Try lsq matching with fragments if no fit obtained
- include_swapped_match = None Try matching fixed to moving if initial match fails
- allow_reverse_connectivity = None Allow match to reversed model
- direct_morph = False Directly morph moving model onto fixed model. Requires chain ID and residue numbering to be identical, but fixed_model can have missing residues. Does not allow trimming.
- direct_morph_method = along_chain Choice of method for direct morph: along_chain or in_space
- direct_morph_smoothing_window = 11 Smoothing window for direct morph
- identify_register_shifts = False Identify positions in chains where the register between fixed and moving models changes
- alignmentSet of parameters for sequence alignment. Defaults are good for most of cases
- alignment_style = local *global
- gap_opening_penalty = 1
- gap_extension_penalty = 1
- similarity_matrix = blosum50 dayhoff *identity
- control
- nproc = 1 Number of processors to use. If None, uses all available
- guiGUI-specific parameter required for output directory