phenix_logo
Python-based Hierarchical ENvironment for Integrated Xtallography
Documentation Home
 

Fitting loops to fill in gaps in models with fit_loops

Author(s)
Purpose
Usage
How fit_loops works:
Output files from fit_loops
Examples
Standard run of fit_loops:
Possible Problems
Specific limitations and problems:
Literature
Additional information
List of all fit_loops keywords

Author(s)

  • fit_loops: Tom Terwilliger

Purpose

fit_loops is a tool for building a loop into density to connect existing chain ends. You supply a model with a gap and a sequence file and coefficients for an electron density map, and you specify the first and last residues to be built. Then fit_loops will attempt to build the loop that you specify. One loop can be done at a time with fit_loops (but if you have multiple identical chains, you can fit them all at once). If you want a more complete model-building process, then you will want to use phenix.autobuild . fit_loops can be run from the command line or from the PHENIX GUI.

Usage

How fit_loops works:

fit_loops calculates a map based on the supplied map coefficients, then tries to extend the ends of the supplied model into the gap region, following the electron density in the map.

Output files from fit_loops

offset.pdb: The output from fit_loops is a new PDB file containing your input model with the newly-built loop inserted into it (if a loop could be found). The new PDB file is by default called:

model_with_loops_1.pdb

Examples

Standard run of fit_loops:

A typical command-line input would be:

phenix.fit_loops pdb_in=nsf_gap.pdb mtz_in=resolve_0.mtz \
 seq_file=nsf.seq start=37 end=43 chain_id=None
This will fit a loop starting with residue 37 and ending with residue 43 in nsf_gap.pdb. phenix.fit_loops will expect that your existing nsf_gap.pdb model has a chain ending at residue 36 and another starting at residue 44. As chain_id=None in this example, if there are multiple chains A,B,C in nsf_gap.pdb then all 3 will be filled in. If you want (or need) to specify the column names from your mtz file, you will need to tell fit_loops what FP and PHIB (and optionally FOM) are, in this format:
phenix.fit_loops pdb_in=nsf_gap.pdb mtz_in=resolve_0.mtz \
 seq_file=nsf.seq start=37 end=43 chain_id=None \
labin="FP=2FOFCWT PHIB=PH2FOFCWT"
If you want to try and fit a loop with poor density, you might want to lower the threshold for the correlation of density in the loop (default minimum correlation is 0.2):
phenix.fit_loops pdb_in=nsf_gap.pdb mtz_in=resolve_0.mtz \
 seq_file=nsf.seq start=37 end=43 chain_id=None \
loop_cc_min=0.1

Possible Problems

Specific limitations and problems:

Literature

Additional information

List of all fit_loops 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
------------------------------------------------------------------------------- 
fit_loops
   pdb_in= None PDB file with gap to fill.
   mtz_in= None MTZ file with coefficients for a map
   labin= "" Labin line for MTZ file with map coefficients. This is optional
          if fit_loops 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
   seq_file= None sequence file (1-letter code, one copy of each chain)
   chain_id= None Chain ID for chain containing missing loops. If None any
             chain ID is allowed. All missing segments matching chain_id,
             start and end will be fit
   start= None Starting residue number of loop(s) to be fit. if None any start
          is allowed. All missing segments matching chain_id, start and end
          will be fit
   end= None Ending residue number of loop(s) to be fit. If None any end is
        allowed. All missing segments matching chain_id, start and end will be
        fit
   resolution= 0. high-resolution limit for map calculation
   loop_cc_min= 0.2 Minimum loop map-model correlation
   chain_type= *PROTEIN DNA RNA Chain type (for identifying main-chain and
               side-chain atoms)
   temp_dir= "temp_dir" Optional temporary work directory
   output_dir= "" Output directory where files are to be written
   verbose= True Verbose output
   quick= False Try to run quickly
   debug= False Debugging output
   dry_run= False Just read in and check parameter names
   gui
      result_file= None