CNS task file syntax


Task file overview

All CNS task files have a well defined syntax. This enables them to be converted to HTML forms format for editing. The overall layout of each file is as follows:

Header information
Input parameters
Body of the file

The header

The header section provides some information about the identity of the file, it uses and the authors. The format is as follows:

{+ file: minimize.inp +}
{+ directory: xtal_refine +}
{+ description: Crystallographic conjugate gradient minimization refinement +}
{+ comment: Multiple cycles of refinement can be performed +}
{+ authors: Axel T. Brunger, and Paul D. Adams +}
{+ copyright: Yale University +}

{+ reference: A.T. Brunger, The Free R Value: a Novel Statistical
              Quantity for Assessing the Accuracy of Crystal Structures,
              Nature 355, 472-474 (1992) +}
{+ reference: N.S. Pannu and R.J. Read, Improved structure refinement
              through maximum likelihood, Acta Cryst. A52, 659-668 (1996) +}
{+ reference: P.D. Adams, N.S. Pannu, R.J. Read and A.T. Brunger,
              Cross-validated Maximum Likelihood Enhances Crystallographic
              Simulated Annealing Refinement, Proc. Natl. Acad. Sci. USA
              94, 5018-5023 (1997) +}

The input parameters

The input parameter section is the section that should be modified by the user for his/her particular problem. The format is as follows:

{============ initial B-factor and bulk solvent corrections ==========}

{* initial B-factor correction *}
{+ choice: "no" "isotropic" "anisotropic" "anisotropic_fixed_isotropic" +}
{===>} bscale="anisotropic";

{* lower resolution limit for B-factor correction *}
{* the correction can only be calculated using data truncated at a
   lower resolution limit of between 8 and 6 A. The correction will be
   applied to all reflections *}
{===>} low_res_bscale=6.0;

{* bulk solvent correction *}
{* a mask is required around the molecule(s). The region
   outside this mask is the solvent region *}
{+ choice: true false +}
{===>} bulk_sol=true;

{* bulk solvent mask file *}
{* mask will be read from O type mask file if a name is given
   otherwise calculated from coordinates of selected atoms *}
{===>} bulk_mask_infile="";

{* solvent density level *}
{* if negative, determined automatically
   if positive, fixed at value given *}
{===>} sol_k=-1;

{* solvent B-factor *}
{* if negative, determined automatically
   if positive, fixed at value given *}
{===>} sol_b=-1;

{========================== atom selection ===========================}

{* select atoms to be included in refinement *}
{* this should include all conformations if multiple conformations are used *}
{===>} atom_select=(known and not hydrogen);

Body of the file

The body of the file is in the CNS language and performs the appropriate commands needed. Although it does not usually require modification by the user it can be.

CNS markup syntax

Header information
SyntaxPurpose
{+ file: file.inp +}Name of file
{+ directory: directory +}Location of file in CNS distribution
{+ description: .... +}Text describing task file
{+ comment: .... +}Comments about the task file
{+ authors: John Smith, and Joe Bloggs +}Authors of task file
{+ copyright: Yale University +}Copyright statement
{+ reference: .... +}Reference to relevant publication
Input parameters
SyntaxPurpose
{======== ..... ========}Section title
{* .... *}Text comment (can be broken over several lines)
{===>} infile="file";Input parameter
{+ table: rows=1 "resolution" cols=2 "lowest" "highest" +}Table
{+ choice: true false +}Choice for following parameter
{+ list: mlf: ....
         mli: .... +}
Formatted list

Table syntax

The table markup syntax allows tables of input parameters to be generated in the HTML interface:

 amplitude arraysigma array
1
2
3
4
5

The table syntax requires that the number of rows and columns is defined:

{+ table: rows=1 cols=2 +}

In addition the rows and columns can be given labels:

{+ table: rows=1 "label" cols=2 "label" "label" +}

If the number of rows or columns is large numerical labels can automatically be generated by the numbered keyword:

{+ table: rows=1 numbered cols=2 "label" "label" +}

It is important that the correct number of rows and columns is given for the following variables, otherwise the format of the HTML form page in the interface will be incorrect.

Input parameter choices

The choices available for input parameters are denoted by:

{+ choice: "choice1" "choice2" "choice3" +}

If an empty input is required as a choice this is denoted by:

{+ choice: "choice1" "" +}

If a user defined input file is required as a choice this is denoted by:

{+ choice: "choice1" user_file +}

This will generate a compound input field:

anomalous f' f'' library file
If a file is not specified, no anomalous contribution will be included

Other:

Input parameter naming

Input parameters which are used to identify input or output files should use names of the form [text]_infile or [text]_infile_[number]. This enables the CNS HTML interface to recognize the parameter as a file and generate a large enough input field.


Back to tutorials