Applying NCS to a molecule to generate all NCS copies with apply_ncs
Author(s)
- apply_ncs: Tom Terwilliger
Purpose
If you have a single copy of your molecule placed in the crystal and you
have a set of NCS operators defined in an ncs_info.ncs_spec file (such
as that written by phenix.find_ncs), you can apply the operators to
your molecule to generate all the NCS copies. This can be useful if you
want to work on one molecule in your asymmetric unit and propagate it to
the other copies. You can generate your ncs_info.ncs_spec file using
phenix.find_ncs and your original model containing all the NCS copies,
then apply it to any one of the individual molecules to regenerate the
others.
Usage
How apply_ncs works:
apply_ncs assumes that you are supplying it with one copy of your
molecule, placed in your unit cell, and that you are also supplying a
ncs_info.ncs_spec file that contains all the NCS operators for your
structure along with the approximate molecular centers where each
operator applies. apply_ncs assumes that the NCS operator with a center
closest to the center of the molecule you supply (including space-group
symmetry) is the operator corresponding to your input molecule.
apply_ncs then calculates the transformation for your molecule to
molecule 1, and then uses all the NCS operators to transform molecule 1
to each NCS copy.
Output files from apply_ncs
apply_ncs.pdb: A PDB file with your input molecule placed at all
the NCS-related positions in your structure
Examples
Standard run of apply_ncs:
Running apply_ncs is easy. From the command-line you can type:
phenix.apply_ncs mol1.pdb my_ncs.ncs_spec
If apply_ncs chooses the wrong NCS copy to match up to your input
molecule, you can tell it which one your input molecule is with
match_copy:
phenix.apply_ncs mol1.pdb my_ncs.ncs_spec match_copy=2
apply_ncs will then assume that you are inputting ncs copy 2.
Possible Problems
Specific limitations and problems:
Literature
Additional information
List of all available keywords
- apply_ncs
- job_title = None Job title in PHENIX GUI, not used on command line
- input_files
- pdb_in = None Input PDB file
- ncs_in = None File with NCS operators to be applied to pdb_in This can be a .ncs_spec file from find_ncs, simple_ncs_from_pdb or find_ncs_from_density It can also be NCS formatted for resolve, including rotations, translations, and centers NOTE: NCS operators only apply to a limited region within the unit cell. The center of this region for molecule 1 (the one you enter with pdb_in) is specified by the NCS center for molecule 1. If your molecule in pdb_in is not near this, then it will be brought as close as possible using space-group symmetry (as defined in the CRYST1 record of pdb_in) before application of NCS. If your molecule is closer to the center for operator k, then it will instead be brought to that center and then transformed to all other locations
- output_files
- pdb_out = apply_ncs.pdb Output PDB file
- log = apply_ncs.log Output log file
- params_out = apply_ncs_params.eff Parameters file to rerun apply_ncs
- directories
- temp_dir = "temp_dir" Optional temporary work directory
- output_dir = "" Output directory where files are to be written
- gui_output_dir = None
- ncs
- match_copy = None Force input model to be associated with NCS copy match_copy This can be useful if your molecule center is close to an NCS center other than the one it is associated with
- no_match_copy = None Do not allow input model to be associated with NCS copy no_match_copy. This can be useful if your molecule center is close to an NCS center other than the one it is associated with
- max_copies = None You can limit the number of NCS copies to fewer than the actual number
- start_copy = None You can start the NCS copies with any available copy
- chain_names = None You can specify the chain names to generate
- control
- verbose = True Verbose output
- raise_sorry = False Raise sorry if problems
- debug = False Debugging output
- 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' "