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 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 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);
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.
Header information | |
Syntax | Purpose |
{+ 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 | |
Syntax | Purpose |
{======== ..... ========} | 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 |
The table markup syntax allows tables of input parameters to be generated in the HTML interface:
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.
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:
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.