Python-based Hierarchical ENvironment for Integrated Xtallography
Documentation Home

Applying NCS to a molecule to generate all NCS copies with apply_ncs

How apply_ncs works:
Output files from apply_ncs
Standard run of apply_ncs:
Possible Problems
Specific limitations and problems:
Additional information
List of all apply_ncs keywords


  • apply_ncs: Tom Terwilliger


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.


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


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:


Additional information

List of all apply_ncs 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
      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
      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
      temp_dir= "temp_dir" Optional temporary work directory
      output_dir= "" Output directory where files are to be written
      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
      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
      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' "