phenix_logo
Python-based Hierarchical ENvironment for Integrated Xtallography
Documentation Home
 

Rapid helix fitting to a map with find_helices_strands

Author(s)
Purpose
Usage
How find_helices_strands finds helices and strands in maps:
How find_helices_strands finds RNA and DNA helices in maps:
Output files from find_helices_strands
Examples
Standard run of find_helices_strands:
Using find_helices_strands to bootstrap phenix.autobuild:
Possible Problems
Specific limitations and problems:
Literature
Additional information
List of all find_helices_strands keywords

Author(s)

  • find_helices_strands: Tom Terwilliger

Purpose

find_helices_strands is a command line tool for finding helices and strands in a map and building an model of the parts of a structure that have regular secondary structure. It can be used for protein, RNA, and DNA.

Usage

How find_helices_strands finds helices and strands in maps:

find_helices_strands first identifies helical segments as rods of density at 5-8 A. Then it identifies helices at higher resolution keeping the overall locations of the helices fixed. Then it identifies the directions and CA positions of helices by noting the helical pattern of high-density points offset slightly along the helix axis from the main helical density (as used in "O" to identify helix direction). Finally model helices are fit to the density using the positions and orientations identified in the earlier steps. A similar procedure is used to identify strands. Then the helices and strands are combined into a single model.

How find_helices_strands finds RNA and DNA helices in maps:

find_helices_strands finds RNA and DNA helices differently than it finds helices in proteins. It uses a convolution search to find places in the asymmetric unit where an A-form RNA or B-form DNA helix can be placed. These are assembled into contiguous helical segments if possible. The resolution of this search is 4.5 A if you have resolution beyond 4.5 A, and the resolution of your data otherwise.

Output files from find_helices_strands

If you run find_helices_strands with my_map.mtz then you will get: my_map.mtz_helices_strands.pdb which is a PDB file containing helices from your structure.

Examples

Standard run of find_helices_strands:

Running the find_helices_strands is easy. From the command-line you can type:

phenix.find_helices_strands map_coeffs.mtz quick=True

If you want a more thorough run, then skip the "quick=True" flag.

If you want (or need) to specify the column names from your mtz file, you will need to tell find_helices_strands what FP and PHIB are, in this format:

phenix.find_helices_strands map_coeffs.mtz \
labin="LABIN FP=2FOFCWT PHIB=PH2FOFCWT"

If you want to specify a sequence file, then in the last step find_helices_strands will try to align your sequence with the map and model:

phenix.find_helices_strands map_coeffs.mtz seq_file=seq.dat

Using find_helices_strands to bootstrap phenix.autobuild:

If you run phenix.autobuild at low resolution (3.5 A or lower) then your model may have strands built instead of helices. You can use find_helices_strands to help bootstrap autobuild model-building by providing the helical model from find_helices_strands to phenix.autobuild.

Just run phenix.find_helices_strands with your best map map_coeffs.mtz. Then take the helical model map_coeffs.mtz_helices.pdb and pass it to phenix.autobuild with the keyword (in addition to your usual keywords for autobuild):

consider_main_chain_list=map_coeffs.mtz_helices.pdb
Then the AutoBuild wizard will treat your helical model just like one of the models that it builds, and merge it into the model as it is being assembled.

Possible Problems

Specific limitations and problems:

Literature

Additional information

List of all find_helices_strands keywords

------------------------------------------------------------------------------- 
Legend: black bold - scope names
        black - parameter names
        red - parameter values
        blue - parameter help
        blue bold - scope help
        Parameter values:
          * means selected parameter (where multiple choices are available)
          False is No
          True is Yes
          None means not provided, not predefined, or left up to the program
          "%3d" is a Python style formatting descriptor
------------------------------------------------------------------------------- 
find_helices_strands
   mtz_in= None MTZ file with coefficients for a map
   output_model= None Output PDB file
   output_log= None Output log file name. If you want to specify a directory
               to put this file in then please use "output_dir=myoutput_dir"
   output_dir= None Output directory
   seq_file= None Sequence file for sequence alignment
   compare_file= None PDB file for comparison only
   labin= "" Labin line for MTZ file with map coefficients. This is optional
          if find_helices_strands can guess the correct coefficients for FP
          PHI and FOM. Otherwise specify: LABIN FP=myFP PHIB=myPHI FOM=myFOM
          where myFP is your column label for FP
   resolution= 0. high-resolution limit for map calculation
   res_convolution= 4.5 high-resolution limit for convolution calculation.
                    (Applies to nucleic acids only)
   chain_type= *PROTEIN DNA RNA Chain type (for identifying main-chain and
               side-chain atoms)
   temp_dir= "temp_dir" Optional temporary work directory (must exist if you
             specify it). Otherwise 'temp_dir' will be created
   helices_only= False Find only helices
   strands_only= False Find only strands
   use_any_side= False Use any side chain that fits density in assembly
   quick= False Try to find helices quickly