Finding NCS from density in a map with find_ncs_from_density
Author(s)
- find_ncs_from_density: Tom Terwilliger
Purpose
find_ncs_from_density is a tool to identify NCS relationships
directly from an electron density map specified with a map coefficients
file. It writes out the NCS operators in a format that can be read by
find_ncs and by the PHENIX wizards. Usually find_ncs_from_density is
used through find_ncs (phenix.find_ncs contains
find_ncs_from_density).
Usage
How find_ncs_from_density works:
- The find_ncs_from_density algorithm first identifies potential
locations of centers of macromolecules in the density map by finding
maxima of the local RMS density using
phenix.guess_molecular_centers.
- Then it cuts out a sphere of density centered at a trial center and
carries out an FFT-based rotation-translation search to find all
occurrences of similar density in the asymmetric unit of your map.
- The region over which NCS-related correlation is high is identified
and the operators are written out as a "find_ncs.ncs_spec" file
that can be read by the phenix wizards and a
"find_ncs.phenix_refine" file that can be read by phenix.refine.
- You can run the algorithm as a whole or you can run each part
separately with phenix.guess_molecular_centers and
phenix.find_ncs_from_density.
Output files from find_ncs_from_density
find_ncs_from_density.ncs_spec: A formatted file that can be
read by phenix.find_ncs and the PHENIX wizards that specifies the NCS
operators. temp_dir/ncs_avg_map_coeffs.mtz: This is an mtz file
with just one averaged NCS region written out in space group P1.
Examples
Standard run of find_ncs_from_density:
Running find_ncs_from_density is easy. From the command-line you can
type:
phenix.find_ncs_from_density map_coeffs.mtz
Possible Problems
If your molecule is large, you may wish to increase the radius used for
NCS identification (density_radius) and the peak separation
(peak_separation). If your molecule has pseudo-symmetry you may also
want to increase these parameters.
If you know how many NCS copies are present, you may wish to specifying
that with ncs_copies_max.
If you want to have the program look much harder for NCS, try the keyword
n_center_use=20 (or some other number larger than 1). It will then take
the top 20 positions found with guess_molecular_centers and try each one
as a center for a molecule (instead of trying just the top 1 position).
List of all available keywords
- find_ncs_from_density
- input_files
- mtz_in = None MTZ file with coefficients for a map
- labin = "" Labin line for MTZ file with map coefficients.
This is optional if find_ncs_from_density
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
- center_pdb_in = None Optional PDB file with list of centers of density to be used as search model
- density_mtz_in = None MTZ file with coefficients for density around center defined by first atom in center_pdb_in (required) NOTE: Must be in space group p1 with identical cell to mtz_in
- density_labin = "" Labin line for MTZ file density_mtz_in.
This is optional if find_ncs_from_density
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
- output_files
- centers_pdb_out = guess_molecular_centers.pdb Output PDB file with coords of centers
- log = find_ncs_from_density.log Output log file
- ncs_spec_file = 'find_ncs_from_density.ncs_spec' NCS specification file with all NCS information
- params_out = find_ncs_from_density_params.eff Parameters file to rerun find_ncs_from_density
- ncs_mask_file = None If defined, map coefficients will be written to this file that show the asymmetric unit of NCS.
- directories
- temp_dir = "temp_dir" Temporary work directory
- output_dir = "" Output directory where files are to be written
- density_search
- density_radius = 10. Radius for density to be cut out and compared
- peak_separation = 15 Minimum distance between centers. Use about 1.5*density_radius
- density_peaks = 20 Number of NCS-related peaks of density to output
- delta_phi = 20 Angular spacing of search
- ncs_copies_max = None Maximum number of NCS copies to look for
- min_ratio_to_top_cc = 0.75 Peaks will be kept up to ncs_copies_max, or min_ratio_to_top_cc * best cc, whichever comes first
- minimum_ncs_cc_from_density = 0.30 Overall NCS CC at full resolution must be at least this high
- fraction_ncs_min_from_density = 0.05 Minimum fraction of the asymmetric unit covered by NCS. NCS ignored if less than this.
- dump_ncs_density = False You can dump 1 mtz file for each possible NCS copy so that you can see if the NCS is real Each file has the local map transformed to the orientation and position of copy 1 so they should all superimpose The files are written to the temp_dir (e.g., temp_dir/ncs_1_map_coeffs_001.mtz )
- map_operators_inside_unit_cell = False If set then put the operators inside the unit cell. This removes the use of space-group symmetry for SG P1 and is used normally for non-crystal data.
- find_centers
- smoothing_radius = None Radius for smoothing squared density to find centers Choose a smaller value to get more center guesses. Default is same value as density_radius.
- n_center_find = None Target number of centers to find Smoothing radius will be varied from 2 to 2*smoothing_radius and the value giving the number of peaks closest to n_center_find will be used. Normally leave this set to None
- n_center_use = 20 Number of locations to consider as molecular centers in density search. Try increasing this number to look harder for NCS.
- try_all_centers = False If set, try all n_center_use centers. Normally stop if a good solution is found.
- ok_ncs_cc = 0.6 NCS correlation good enough to terminate search
- crystal_info
- resolution = 4. High-resolution limit for map calculation It is useful to cut the resolution at 3-5 A If you use higher resolution, use a finer delta_phi
- solvent_fraction = 0.5 solvent fraction
- control
- verbose = True Verbose output
- debug = False Debugging output
- raise_sorry = False Raise sorry if problems
- dry_run = False Just read in and check parameter names
- resolve_command_list = None You can supply any resolve command here NOTE: for command-line usage you need to enclose the whole set of commands in double quotes (") and each individual command in single quotes (') like this: resolve_command_list="'no_build' 'b_overall 23' "