CYANA: Difference between revisions

From NESG Wiki
Jump to navigation Jump to search
(Created page with '== '''Introduction''' == CYANA is a macromolecular structure calculation algorithm based on simulated annealing molecular dynamics calculations in torsional angle space, in cont…')
 
No edit summary
Line 1: Line 1:
== '''Introduction''' ==
== '''Introduction''' ==


CYANA is a macromolecular structure calculation algorithm based on simulated annealing molecular dynamics calculations in torsional angle space, in contrast to Cartesian space (Ref. 1,2).  Here the only degrees of freedom are torsion angles with covalent structure parameters kept fixed, thereby significantly decreasing the number of degrees of freedom in the calculation.
CYANA is a macromolecular structure calculation algorithm based on simulated annealing molecular dynamics calculations in torsional angle space, in contrast to Cartesian space (Ref. 1,2).  Here the only degrees of freedom are torsion angles with covalent structure parameters kept fixed, thereby significantly decreasing the number of degrees of freedom in the calculation.  


The current version of CYANA is 3.0, and it is capable of handling orientational (i.e., RDC) constraints.  There is now a nice [http://www.cyana.org/wiki/index.php/CYANA_3.0_Reference_Manual CYANA 3.0 wiki] with file explanations, tutorials and theory.
The current version of CYANA is 3.0, and it is capable of handling orientational (i.e., RDC) constraints.  There is now a nice [http://www.cyana.org/wiki/index.php/CYANA_3.0_Reference_Manual CYANA 3.0 wiki] with file explanations, tutorials and theory.  


In the sections below we describe input files and protocols used in the NESG for both CYANA 2.1 and 3.0.
In the sections below we describe input files and protocols used in the NESG for both CYANA 2.1 and 3.0.  


<br>


 
== '''CYANA 2.1''' ==
== '''CYANA 2.1''' ==


=== Residue Library  ===
=== Residue Library  ===


CYANA 2.1 uses a new library ~/lib/cyana.lib. It is loaded by the <code>cyanalib</code> command. For back-compatibility there is also the old DYANA library dyana.lib (loaded with <code>dyanalib</code>, of course).  
CYANA 2.1 uses a new library ~/lib/cyana.lib. It is loaded by the <tt>cyanalib</tt> command. For back-compatibility there is also the old DYANA library dyana.lib (loaded with <tt>dyanalib</tt>, of course).  


The main difference is larger van der Waals radii. This will give you a larger target function than DYANA, but also better clash scores.  
The main difference is larger van der Waals radii. This will give you a larger target function than DYANA, but also better clash scores.  
Line 19: Line 19:
Residue nomenclature is also different - there are no charged species, like ARG+ or GLU-.  
Residue nomenclature is also different - there are no charged species, like ARG+ or GLU-.  


 
<br>


=== Atom Nomenclature  ===
=== Atom Nomenclature  ===
Line 25: Line 25:
Atom nomenclature was made compatible with BMRB standard. The deviations from XEASY/DYANA conventions are: HN &lt;-&gt; H, HA1 &lt;-&gt; HA2 and HA2 &lt;-&gt; HA3 for GLY.  
Atom nomenclature was made compatible with BMRB standard. The deviations from XEASY/DYANA conventions are: HN &lt;-&gt; H, HA1 &lt;-&gt; HA2 and HA2 &lt;-&gt; HA3 for GLY.  


There a is macro '''translate.cya''', which is used to convert input to different formats. For example, to read files with DYANA nomenclature, enter <code>translate dyana</code>. To switch back to CYANA 2.1 convention type <code>translate off</code>  
There a is macro '''translate.cya''', which is used to convert input to different formats. For example, to read files with DYANA nomenclature, enter <tt>translate dyana</tt>. To switch back to CYANA 2.1 convention type <tt>translate off</tt>.
 


<br>


=== Pseudoatom Treatment  ===
=== Pseudoatom Treatment  ===
Line 41: Line 41:
Setting '''pseudo=3''' allows X-Plor/CNS pseudoatom names, like HX* instead of QX. For some reason using '''translate xplor''' is not enough to do the conversion for all the atoms.  
Setting '''pseudo=3''' allows X-Plor/CNS pseudoatom names, like HX* instead of QX. For some reason using '''translate xplor''' is not enough to do the conversion for all the atoms.  


<br>
=== The Initialization File:&nbsp; init.cya  ===


The init.cya is a local initialization file, which is read when cyana starts. It should be located in the directory where CYANA is run. In a given project the same file can be used for nearly all calculations.


=== CALC.cya and Structure Calculation  ===
Create your own init.cya file with the following lines in a text editor or download this template [[Media:CYANA_init.cya|init.cya]] file:<br>
<pre>name:=XXXX            # Replace XXXX with NESG ID
nproc=2              # Number of processors on a workstation
rmsdrange:=20..72    # RMSD reported for these residues after structure calculation
# Read the standard and special libraries
cyanalib
read lib $cyanadir/lib/special.lib append
pseudo=2              # Allows HB, HD, etc. pseudoatom names, use with CARA
read seq $name        # Initialize
</pre>
Replace XXXX with your NESG target ID. It is convenient to have the sequence and atomlist files named as <tt>XXXX.seq</tt> and <tt>XXXX.prot</tt>.


There are calculation demos for automatic assignment (~/demo/auto) and simple structure calculation (~/demo/manual) runs.  
*<tt>nproc</tt> defines the number of processors on a workstation.
*<tt>rmsdrange</tt> is only used in structure calculation. Set the range to a valid residue range. From NOE patterns you can exclude flexible N- and C-terminal parts. If you have a flexible loop in the middle you can specify the range as <tt>10..30,40..70</tt>.
*<tt>cyanalib</tt> reads the default <tt>cyana.lib</tt> residue library. The <tt>special.lib</tt> library is appended to use non-standard residues, (i.e., His tautomers).
*<tt>pseudo=2</tt> is only necessary to read atom lists created with CARA, because they have H* for pseudoatom labels. Comment it out, or use <tt>pseudo=0</tt> if you take atom lists from XEASY.
 
=== <br>  ===


CALC.cya script for automatic NOE assignment:
=== The Structure Calculation File:&nbsp; CALC.cya ===


There are calculation demos for automatic assignment (~/demo/auto) and simple structure calculation (~/demo/manual) runs.


<pre>peaks       := c13.peaks,n15.peaks,aro.peaks  # names of NOESY peak lists
Here is a CALC.cya script for automatic NOE assignment:<br>
prot       := demo                    # names of chemical shift lists
<pre>peaks     &nbsp;:= c13.peaks,n15.peaks,aro.peaks  # names of NOESY peak lists
constraints := demo.aco                # additional (non-NOE) constraints
prot       &nbsp;:= demo                    # names of chemical shift lists
tolerance   := 0.040,0.030,0.45        # chemical shift tolerances
constraints&nbsp;:= demo.aco                # additional (non-NOE) constraints
calibration :=                          # NOE calibration parameters
tolerance &nbsp;:= 0.040,0.030,0.45        # chemical shift tolerances
structures := 100,20                  # number of initial, final structures
calibration&nbsp;:=                          # NOE calibration parameters
steps       := 10000                    # number of torsion angle dynamics steps
structures &nbsp;:= 100,20                  # number of initial, final structures
rmsdrange   := 10..100                  # residue range for RMSD calculation
steps     &nbsp;:= 10000                    # number of torsion angle dynamics steps
randomseed := 434726                  # random number generator seed
rmsdrange &nbsp;:= 10..100                  # residue range for RMSD calculation
randomseed &nbsp;:= 434726                  # random number generator seed


noeassign peaks=$peaks prot=$prot autoaco
noeassign peaks=$peaks prot=$prot autoaco
</pre>  
</pre>  
To prevent CYANA from changing existing peak assignments you need to define a subroutine to select the peaks to keep:  
To prevent CYANA from changing existing peak assignments you need to define a subroutine to select the peaks to keep:<br>
 
<pre>peaks     &nbsp;:= c13.peaks,n15.peaks,aro.peaks  # names of NOESY peak lists
 
prot       &nbsp;:= demo                    # names of chemical shift lists
<pre>peaks       := c13.peaks,n15.peaks,aro.peaks  # names of NOESY peak lists
constraints&nbsp;:= demo.aco                # additional (non-NOE) constraints
prot       := demo                    # names of chemical shift lists
tolerance &nbsp;:= 0.040,0.030,0.45        # chemical shift tolerances
constraints := demo.aco                # additional (non-NOE) constraints
calibration&nbsp;:=                          # NOE calibration parameters
tolerance   := 0.040,0.030,0.45        # chemical shift tolerances
structures &nbsp;:= 100,20                  # number of initial, final structures
calibration :=                          # NOE calibration parameters
steps     &nbsp;:= 10000                    # number of torsion angle dynamics steps
structures := 100,20                  # number of initial, final structures
rmsdrange &nbsp;:= 10..100                  # residue range for RMSD calculation
steps       := 10000                    # number of torsion angle dynamics steps
randomseed &nbsp;:= 434726                  # random number generator seed
rmsdrange   := 10..100                  # residue range for RMSD calculation
randomseed := 434726                  # random number generator seed


subroutine KEEP
subroutine KEEP
Line 81: Line 100:
noeassign peaks=$peaks prot=$prot autoaco keep=KEEP
noeassign peaks=$peaks prot=$prot autoaco keep=KEEP
</pre>  
</pre>  
Here, subroutine <code>KEEP</code> is used to keep the assignments for peaks with peak numbers from 2 to 7999.  
Here, subroutine <tt>KEEP</tt> is used to keep the assignments for peaks with peak numbers from 2 to 7999.  


CALC.cya script for manual structure calculation:




<pre>peaks     := c13,n15,aro            # names of peak lists  
Here is a CALC.cya script for manual structure calculation:<br>
prot       := demo                  # names of proton lists
<pre>peaks     &nbsp;:= c13,n15,aro            # names of peak lists  
tolerance := 0.040,0.030,0.45      # chemical shift tolerances
prot     &nbsp;:= demo                  # names of proton lists
tolerance &nbsp;:= 0.040,0.030,0.45      # chemical shift tolerances
                                     # order: 1H(a), 1H(b), 13C/15N(b), 13C/15N(a)
                                     # order: 1H(a), 1H(b), 13C/15N(b), 13C/15N(a)
calibration:= 6.7E5,8.2E5,8.0E4      # calibration constants (will be determined
calibration:= 6.7E5,8.2E5,8.0E4      # calibration constants (will be determined
                                     #  automatically, if commented out)
                                     #  automatically, if commented out)
dref       := 4.2                    # average upper distance limit for  
dref     &nbsp;:= 4.2                    # average upper distance limit for  
                                     #  automatic calibration
                                     #  automatic calibration


Line 131: Line 150:
'''peakcheck''' checks the peaklist assignments against the atom list. Always check CYANA output for '''peakcheck''' results - those huge upl violations may be caused by mis-assigned peaks.  
'''peakcheck''' checks the peaklist assignments against the atom list. Always check CYANA output for '''peakcheck''' results - those huge upl violations may be caused by mis-assigned peaks.  


 
<br>


=== NOE Calibration  ===
=== NOE Calibration  ===


Here arguably lies the most confusing change since [http://www.nsm.buffalo.edu/Chem/HTP_twiki43/bin/view/NESG/DYANA DYANA] / CYANA 1.0. The current CYANA 2.1 by default does not use explicit pseudoatom corrections in distance constraints. Instead, these corrections are applied implicitly on-the-fly. This behavior is turned on by setting '''expand=1'''.  
CYANA 2.1 by default does not use explicit pseudoatom corrections in distance constraints. Instead, these corrections are applied implicitly on-the-fly. This behavior is turned on by setting '''expand=1'''.  


Calibration is thus performed with the undocumented statement '''peaks calibrate "**" simple'''. Trivial calculations show, however, that this command uses a simple r^-6 calibration without adding pseudoatom corrections.  
Calibration is thus performed with the undocumented statement '''peaks calibrate "**" simple'''. Trivial calculations show, however, that this command uses a simple r^-6 calibration without adding pseudoatom corrections.  
Line 145: Line 164:
To modify upper and lower distance cutoffs for NOE calibration, use '''set upl_values:=2.4,6.0'''. The defaults are 2.4 and 5.5.  
To modify upper and lower distance cutoffs for NOE calibration, use '''set upl_values:=2.4,6.0'''. The defaults are 2.4 and 5.5.  


<br>


 
=== Stereospecific Assignments ===
=== Stereospecific assignments ===


Constraints for diastereotopic atoms (such as HB2, HB3) are treated as ambiguous by CYANA. This is switched on with '''swap=1'''.  
Constraints for diastereotopic atoms (such as HB2, HB3) are treated as ambiguous by CYANA. This is switched on with '''swap=1'''.  
Line 155: Line 174:
Distance modification does not affect Phe and Tyr ring atoms HD1/2 and HE1/2. Therefore, if you have degenerate ring chemical shift (as is almost always the case) make sure you have them labeled QD and QE  
Distance modification does not affect Phe and Tyr ring atoms HD1/2 and HE1/2. Therefore, if you have degenerate ring chemical shift (as is almost always the case) make sure you have them labeled QD and QE  


External stereospecific assignments determined with '''glomsa''' or with the help of a 5% <sup>13</sup>C-labeled sample ([http://pubs.acs.org/cgi-bin/archive.cgi/bichaw/1989/28/i19/pdf/bi00445a003.pdf Biochemistry '''1989''' 28(19) p7510]) can be defined with a custom macro like this:  
External stereospecific assignments determined with '''glomsa''' or with the help of a 5% <sup>13</sup>C-labeled sample (Ref. 3) can be defined with a custom macro like this:<br>
 
 
<pre> # VAL
<pre> # VAL
atom stereo "QG1 25 36 38 87"
atom stereo "QG1 25 36 38 87"
Line 169: Line 186:
Here the syntax of CYANA 2.1 requires double quotes. For some strange reason, methyl groups should be written with the letter "Q" even if '''pseudo=2''' is used.  
Here the syntax of CYANA 2.1 requires double quotes. For some strange reason, methyl groups should be written with the letter "Q" even if '''pseudo=2''' is used.  


<br>


=== NOESY&nbsp;Peak Lists  ===


=== Peaklists  ===
CYANA 2.1 can produce multiple assignments for a peak. Below is a part of an aliphatic NOESY peaklist with peak #6 having two assignments. #VC tags specify the weights given to individual assignments. Calibration of this peak yields two constraints splitting the peak integral according to these weights.<br>
 
CYANA 2.1 can produce multiple assignments for a peak. Below is a part of an aliphatic NOESY peaklist with peak #6 having two assignments. #VC tags specify the weights given to individual assignments. Calibration of this peak yields two constraints splitting the peak integral according to these weights.  
 
 
<pre># Number of dimensions 3
<pre># Number of dimensions 3
#FORMAT xeasy3D
#FORMAT xeasy3D
Line 192: Line 207:
     8  1.474  22.186  4.147 3 U  1.448E+04  0.000E+00 - 0  2238  2237  2234 #QU 1.000 #SUP  1.00
     8  1.474  22.186  4.147 3 U  1.448E+04  0.000E+00 - 0  2238  2237  2234 #QU 1.000 #SUP  1.00
</pre>  
</pre>  
The peaklists produced by CYANA 2.1 are not backwards-compatible with [http://www.nsm.buffalo.edu/Chem/HTP_twiki43/bin/view/NESG/XEASY XEASY], but there are Lua scripts, which can read them into [http://www.nsm.buffalo.edu/Chem/HTP_twiki43/bin/view/NESG/CARA CARA] including the information on ambiguous assignments. [http://www.nsm.buffalo.edu/Chem/HTP_twiki43/bin/view/NESG/UBNMR UBNMR] should also be able to handle them in the future.  
The peaklists produced by CYANA 2.1 are not backwards-compatible with XEASY, but there are Lua scripts, which can read them into CARA including the information on ambiguous assignments. UBNMR should also be able to handle them in the future.  


When supplying completely unassigned peaks for automatic NOE assignment it is necessary to include a line like '''#CYANAFORMAT HCh''' in the header.  
When supplying completely unassigned peaks for automatic NOE assignment it is necessary to include a line like '''#CYANAFORMAT HCh''' in the header.  


<br>


<br>


<br>


== '''References'''<br>  ==


1.


2.


3.


 
<br>
 
 
 


''05 Jul 2007 - 21:55 by [http://www.nsm.buffalo.edu/Chem/HTP_twiki43/bin/view/Main/AlexEletski AlexEletski]''
''05 Jul 2007 - 21:55 by [http://www.nsm.buffalo.edu/Chem/HTP_twiki43/bin/view/Main/AlexEletski AlexEletski]''

Revision as of 22:23, 12 November 2009

Introduction

CYANA is a macromolecular structure calculation algorithm based on simulated annealing molecular dynamics calculations in torsional angle space, in contrast to Cartesian space (Ref. 1,2).  Here the only degrees of freedom are torsion angles with covalent structure parameters kept fixed, thereby significantly decreasing the number of degrees of freedom in the calculation.

The current version of CYANA is 3.0, and it is capable of handling orientational (i.e., RDC) constraints.  There is now a nice CYANA 3.0 wiki with file explanations, tutorials and theory.

In the sections below we describe input files and protocols used in the NESG for both CYANA 2.1 and 3.0.


CYANA 2.1

Residue Library

CYANA 2.1 uses a new library ~/lib/cyana.lib. It is loaded by the cyanalib command. For back-compatibility there is also the old DYANA library dyana.lib (loaded with dyanalib, of course).

The main difference is larger van der Waals radii. This will give you a larger target function than DYANA, but also better clash scores.

Residue nomenclature is also different - there are no charged species, like ARG+ or GLU-.


Atom Nomenclature

Atom nomenclature was made compatible with BMRB standard. The deviations from XEASY/DYANA conventions are: HN <-> H, HA1 <-> HA2 and HA2 <-> HA3 for GLY.

There a is macro translate.cya, which is used to convert input to different formats. For example, to read files with DYANA nomenclature, enter translate dyana. To switch back to CYANA 2.1 convention type translate off.


Pseudoatom Treatment

Pseudoatom handling is switched by setting pseudo=x, where x is 0, 1, 2, or 3.

With pseudo=0, the default setting, coordinate files *.cor and *.pdb do not contain pseudoatoms. They are calculated implicitly on the run.

Setting pseudo=1 restores the old DYANA behavior with explicit pseudoatoms.

Setting pseudo=2 switches to simplified pseudoatom names, such as HB instead of QB, HD1 instead of QD1, and HD instead of QQD of Leu. This is the setting to be used when reading chemical shifts from CARA. Coordinate files will contain explicit pseudoatoms, as with pseudo=1

Setting pseudo=3 allows X-Plor/CNS pseudoatom names, like HX* instead of QX. For some reason using translate xplor is not enough to do the conversion for all the atoms.


The Initialization File:  init.cya

The init.cya is a local initialization file, which is read when cyana starts. It should be located in the directory where CYANA is run. In a given project the same file can be used for nearly all calculations.

Create your own init.cya file with the following lines in a text editor or download this template init.cya file:

name:=XXXX            # Replace XXXX with NESG ID
nproc=2               # Number of processors on a workstation
rmsdrange:=20..72     # RMSD reported for these residues after structure calculation
# Read the standard and special libraries
cyanalib
read lib $cyanadir/lib/special.lib append
pseudo=2              # Allows HB, HD, etc. pseudoatom names, use with CARA
read seq $name        # Initialize

Replace XXXX with your NESG target ID. It is convenient to have the sequence and atomlist files named as XXXX.seq and XXXX.prot.

  • nproc defines the number of processors on a workstation.
  • rmsdrange is only used in structure calculation. Set the range to a valid residue range. From NOE patterns you can exclude flexible N- and C-terminal parts. If you have a flexible loop in the middle you can specify the range as 10..30,40..70.
  • cyanalib reads the default cyana.lib residue library. The special.lib library is appended to use non-standard residues, (i.e., His tautomers).
  • pseudo=2 is only necessary to read atom lists created with CARA, because they have H* for pseudoatom labels. Comment it out, or use pseudo=0 if you take atom lists from XEASY.


The Structure Calculation File:  CALC.cya

There are calculation demos for automatic assignment (~/demo/auto) and simple structure calculation (~/demo/manual) runs.

Here is a CALC.cya script for automatic NOE assignment:

peaks       := c13.peaks,n15.peaks,aro.peaks  # names of NOESY peak lists
prot        := demo                     # names of chemical shift lists
constraints := demo.aco                 # additional (non-NOE) constraints
tolerance   := 0.040,0.030,0.45         # chemical shift tolerances
calibration :=                          # NOE calibration parameters
structures  := 100,20                   # number of initial, final structures
steps       := 10000                    # number of torsion angle dynamics steps
rmsdrange   := 10..100                  # residue range for RMSD calculation
randomseed  := 434726                   # random number generator seed

noeassign peaks=$peaks prot=$prot autoaco

To prevent CYANA from changing existing peak assignments you need to define a subroutine to select the peaks to keep:

peaks       := c13.peaks,n15.peaks,aro.peaks  # names of NOESY peak lists
prot        := demo                     # names of chemical shift lists
constraints := demo.aco                 # additional (non-NOE) constraints
tolerance   := 0.040,0.030,0.45         # chemical shift tolerances
calibration :=                          # NOE calibration parameters
structures  := 100,20                   # number of initial, final structures
steps       := 10000                    # number of torsion angle dynamics steps
rmsdrange   := 10..100                  # residue range for RMSD calculation
randomseed  := 434726                   # random number generator seed

subroutine KEEP
   peaks select "*, * number=2..7999"
end

noeassign peaks=$peaks prot=$prot autoaco keep=KEEP

Here, subroutine KEEP is used to keep the assignments for peaks with peak numbers from 2 to 7999.


Here is a CALC.cya script for manual structure calculation:

peaks      := c13,n15,aro            # names of peak lists 
prot       := demo                   # names of proton lists
tolerance  := 0.040,0.030,0.45       # chemical shift tolerances
                                     # order: 1H(a), 1H(b), 13C/15N(b), 13C/15N(a)
calibration:= 6.7E5,8.2E5,8.0E4      # calibration constants (will be determined
                                     #   automatically, if commented out)
dref       := 4.2                    # average upper distance limit for 
                                     #   automatic calibration

if (master) then

  # ---- check consistency of peak and chemical shift lists----

  peakcheck peaks=$peaks prot=$prot

  # ---- calibration ----

  calibration prot=$prot peaks=$peaks constant=$calibration dref=$dref
  peaks calibrate "**" simple
  write upl $name-in.upl
  distance modify
  write upl $name.upl

end if
synchronize

# ---- structure calculation ----

read seq $name.seq                             # re-read sequence to initialize
read upl $name.upl                             # read upper distance limits
read aco $name.aco                             # read angle constraints
seed=5671                                      # random number generator seed
calc_all structures=100 command=anneal steps=10000    # calculate 100 conformers
overview $name.ovw structures=20 pdb           # write overview file and coordinates

Note the order in which tolerances are given.

The calibration field can be left empty, in this case dref will be used to derive calibration constants. If dref is not specified noeassign.cya will use a default value of 4.0. During calculation noeassign.cya will also relax the calibration if needed (that is in "elastic" mode, which is the default).

constraints need not be non-NOE despite what the comment says. You can add *.aco, *.upl, *.lol, and even *.cya macros for stereospecific assignments (haven't tested it yet, but that's the way CYANA adds stereospecific assignments in the final round).

master and synchronize keywords are needed for running on a cluster.

peakcheck checks the peaklist assignments against the atom list. Always check CYANA output for peakcheck results - those huge upl violations may be caused by mis-assigned peaks.


NOE Calibration

CYANA 2.1 by default does not use explicit pseudoatom corrections in distance constraints. Instead, these corrections are applied implicitly on-the-fly. This behavior is turned on by setting expand=1.

Calibration is thus performed with the undocumented statement peaks calibrate "**" simple. Trivial calculations show, however, that this command uses a simple r^-6 calibration without adding pseudoatom corrections.

Old calibration macros, such as calibrate.cya and caliba.cya are still allowed, but they do add explicit pseudoatom corrections. So if want to use them, don't forget to set expand=0. Omitting it will result in applying corrections twice, making the corresponding constraints very loose.

This is, of course, a matter of huge confusion since both methods produce otherwise identical *.upl files. Be sure you know HOW you calibrate you NOEs.

To modify upper and lower distance cutoffs for NOE calibration, use set upl_values:=2.4,6.0. The defaults are 2.4 and 5.5.


Stereospecific Assignments

Constraints for diastereotopic atoms (such as HB2, HB3) are treated as ambiguous by CYANA. This is switched on with swap=1.

For the manual run you may want to have swap=0 to be compatible with DYANA behavior. This option is apparently not necessary when distance modification is applied.

Distance modification does not affect Phe and Tyr ring atoms HD1/2 and HE1/2. Therefore, if you have degenerate ring chemical shift (as is almost always the case) make sure you have them labeled QD and QE

External stereospecific assignments determined with glomsa or with the help of a 5% 13C-labeled sample (Ref. 3) can be defined with a custom macro like this:

	# VAL
	atom stereo "QG1 25 36 38 87"
	atom stereo "QG1 43 90"
	atom swap   "QG1 43 90"
	# LEU
	atom stereo "QD1 60 63 97"
	atom stereo "QD1 35 56"
	atom swap   "QD1 35 56"

Here the syntax of CYANA 2.1 requires double quotes. For some strange reason, methyl groups should be written with the letter "Q" even if pseudo=2 is used.


NOESY Peak Lists

CYANA 2.1 can produce multiple assignments for a peak. Below is a part of an aliphatic NOESY peaklist with peak #6 having two assignments. #VC tags specify the weights given to individual assignments. Calibration of this peak yields two constraints splitting the peak integral according to these weights.

# Number of dimensions 3
#FORMAT xeasy3D
#INAME 1 H
#INAME 2 C
#INAME 3 h
#CYANAFORMAT HCh
     1   4.147  51.731   1.474 3 U   7.953E+03  0.000E+00 - 0  2234  2233  2238 #QU 1.000 #SUP  1.00
     2   4.147  51.731   4.251 4 U   4.181E+03  0.000E+00 - 0     0     0     0 
     3   4.147  51.731   7.791 3 U   6.017E+03  0.000E+00 - 0  2234  2233   232 #QU 1.000 #SUP  1.00
     4   1.474  22.186   0.515 3 U   1.481E+03  0.000E+00 - 0  2390  2389  1417 #QU 0.981 #SUP  0.98
     5   1.474  22.186   1.249 3 U   2.610E+04  0.000E+00 - 0  2390  2389  1706 #QU 0.987 #SUP  0.99
     6   1.474  22.186   2.635 3 U   1.396E+03  0.000E+00 - 0  2390  2389  1715 #VC 0.47897 #QU 0.774 #SUP  0.96
                                                               2390  2389  1815 #VC 0.52103 #QU 0.813 #SUP  0.96
     7   1.474  22.186   3.863 3 U   1.418E+04  0.000E+00 - 0  2390  2389  1657 #QU 0.885 #SUP  0.88
     8   1.474  22.186   4.147 3 U   1.448E+04  0.000E+00 - 0  2238  2237  2234 #QU 1.000 #SUP  1.00

The peaklists produced by CYANA 2.1 are not backwards-compatible with XEASY, but there are Lua scripts, which can read them into CARA including the information on ambiguous assignments. UBNMR should also be able to handle them in the future.

When supplying completely unassigned peaks for automatic NOE assignment it is necessary to include a line like #CYANAFORMAT HCh in the header.




References

1.

2.

3.


05 Jul 2007 - 21:55 by AlexEletski