Notes on solving crystal structure by molecular replacement (MR) using CNS:

1) Make sure your .cshrc file (in your home directory) is set up so you can run CNS.
An example of David Hoffman's .cshrc file on hermione is as follows:

#
#####################################################
# Dave Hoffman's .cshrc file on hermione
#
set history=400
alias h 'history'
alias rm 'rm -i'
alias ls 'ls -FC'
alias xdisp345   'xdisp mar345 345mm 100 marpck'
#
alias cns_solve '/usr/local/bin/cns'
#
setenv CNS_TOPPAR /usr/local/cns_solve_1.1/libraries/toppar/
setenv CNS_NMRMODULE /usr/local/cns_solve_1.1/modules/nmr/
setenv CNS_XTALLIB /usr/local/cns_solve_1.1/libraries/xtal/
setenv CNS_XTALMODULE /usr/local/cns_solve_1.1/modules/xtal/
setenv CNS_XRAYLIB /usr/local/cns_solve_1.1/libraries/xray/
#
setenv CCP4_SCR /tmp/dave/
source /usr/local/ccp4/ccp4-4.2.2/include/ccp4.setup
########################################################
#
 

2) Run "generate.inp".  Required input is the PDB coordinate file for your MR search model.
Output is a CNS parameter file (extension ".mtf") and a coordinate file (extension ".pdb") in CNS format.

A working example of using generate.inp can be found on hermione in /home/dave/cns_examples/generate_mr.

To run generate, type:   cns_solve < generate.inp > generate.log &

The starting input PDB file is "start.pdb", which is the search model for the molecular replacement.
The file "start.pdb" in the example is ribosomal protein L9, with the structure distorted so that
is differs from the correct structure by about 1 Å rmsd, and is missing the first 74 and last one
amino acids.

The program produces output files "generate.log" (a log file),
"L9_mr_gen.mtf"  (a CNS parameter file), and   "L9_mr_gen.pdb" (a CNS format coordinate file).

generate.inp takes only a few seconds to run.

If something does not work, a good place to look for a hint is the last 100 lines of the log file.
To see this, type:  tail -100 generate.log
 

3) Perform rotation search using "cross_rotation.inp".

To do the rotation search type:   cns_solve < cross_rotation.inp > cross_rotation.log &

A working example of a rotation search can be found on hermione in  /home/dave/cns_examples/rotation_search.

cross_rotation.inp  may take about 20 minutes to run.

Input files are a coordate file for the search model  "L9_mr_gen.pdb",
a CNS parameter file  "L9_mr_gen.mtf",
and xray diffraction data in CNS format  "L9.hkl".

Some of the things you may want to edit in "cross_rotation.inp" are:

space group, unit cell dimensions, low resolution and high resolution cutoff for the rotation search,
sigma cutoff (if you want to exclude your weak data), among others.  If you are unsure of the effect
of varying a particular parameter, try changing it and see what happens in your results.  It is a good
idea to experiment.

Output files from "cross_rotation.inp" are  cross_rotation.log (a log file),
cross_rotation.list (a list of possible solutions to the rotation search, with Eularian angles, and a score).
The correct solution to the rotation search may be the first one in the list, or may be farther down the
list, depending on how good the search model is.
 

4) Perform a translation search using "translation.inp".

To do the translation search, type  "cns_solve < translation.inp > trans.log &"

Required input:   CNS parameter file:  "L9_mr_gen.mtf",
xray data in CNS format  "L9.hkl",
the coordinate file used in the rotation search  "L9_mr_gen.pdb",
the peak list from the rotation search  "cross_rotation.list".

Make sure the unit cell and space group are appropriate for your crystal.

Output files are:

tranlation.pdb  (the one best solution to the rotation search),
tranlation_1.pdb through translation_10.pdb  (the 10 best solutions to the rotation search),
and translation.list  (contains scoring information for the best solutions)

A working example of "translation.inp" can be found on hermione in  /home/dave/cns_examples/translation/

translation.inp  takes about 5 minutes to run.
 

5) Modify your xray data file so that some percentage of the reflections are flagged for
a free-R calculation (or cross-validation) using  "make_cv.inp".

You will need the output from make_cv.inp for subsequent steps.

Requried input:  xray data in CNS format  "L9.hkl"
Make sure the unit cell and space group are appropriate for your crystal.

To run make_cv.inp type:    cns_solve < make_cv.inp > make_cv.log &

Output is a file called L9.cv, where 10 percent of the reflections are flagged for free-R calculation.

A working example of "make_cv.inp" can be found on hermione in  /home/dave/cns_examples/make_cv_example/

make_cv.inp  takes only a few seconds to run.
 

6)  You may want to calcuate an electron density map at this point, using "model_map.inp".

Or, you could do rigid body refinement of your search model (using rigid.inp) and/or
simulated annealing (anneal.inp) before calculating the map.

Required input for "model_map.inp" is:
An x-ray data file with reflections flagged for free-R (such as L9.cv),
a CNS-format coordinate file, such as "translation.pdb",
and a CNS parameter file such as "L9_mr_gen.mtf".

As usual, make sure the unit cell and space group are appropriate for your crystal.

To run model_map.inp, type:  cns_solve < model_map.inp > model_map.log &

A working example of "model_map.inp" can be found on hermione in  /home/dave/cns_examples/mr_map/

model_map.inp just takes a few seconds to run.

The output electron density map is called "model_map.map".

To view the map using "O": Move the map file (model_map.map) and the coordinate file
(which is in this case called translation.pdb) to your "O" directory.  On a Mac, use "osx_mapman"
to convert from CNS to "O" format.  On an SGI, use "mappage" to convert from CNS to "O" format.
 

7)  Refine your structure using "rigid.inp" rigid body refinement.

To run rigid.inp, type:  cns_solve < rigid.inp > rigid.log &

A working example of "rigid.inp" can be found on hermione in  /home/dave/cns_examples/rigid/

Required input is:

An x-ray data file with reflections flagged for free-R (such as L9.cv),
a CNS-format coordinate file, such as "translation.pdb",
and a CNS parameter file such as "L9_mr_gen.mtf".

Output file is rigid.pdb.

Refinement statistic can be found in the header of the rigid.pdb file.

In the L9 example:  Before rigid:   R= 0.3806 ; Free-R = 0.4147
                               After rigid:      R= 0.3779 ; Free-R = 0.4134.
 

8)  Refine your structure using "anneal.inp" simulated annealing refinement.

To run anneal.inp, type:  cns_solve < anneal.inp > anneal.log &

A working example of "rigid.inp" can be found on hermione in  /home/dave/cns_examples/mr_anneal/

Required input is:

An x-ray data file with reflections flagged for free-R (such as L9.cv),
a CNS-format coordinate file, such as "rigid.pdb",
and a CNS parameter file such as "L9_mr_gen.mtf".

Output file is anneal_1.pdb.

Refinement statistic can be found in the header of the anneal_1.pdb file.

In the L9 example:  Before anneal:   R= 0.377 ; Free-R = 0.413
                               After anneal:      R= 0.363 ; Free-R = 0.418.

You will probably want to calculate a new map using your anneal_1.pdb coordinate file.
If the MR solution is correct, the map will probably look better than the map calculated
using the translation.pdb coordinate file.