Netiquette · Download · News · Gallery · Homepage · DSSR Manual · G-quadruplexes · DSSR-Jmol · DSSR-PyMOL · DSSR Licensing · Video Overview· RNA Covers

Author Topic: A/B Index  (Read 5250 times)

Kogucior

  • Guest
A/B Index
« on: October 05, 2016, 08:50:07 am »
Dear Xiang-Ju,

I wonder how A/B Index (ABI) is calculated? After the analysis, for classical N base pair B-DNA, we get 2xN chi dihedral angles (2 strands) and N-1 Zp parameters. According to the publication "Transitions of Double-Stranded DNA Between the A- and B‑Forms" ABI is calculated for a given base pair step and it is not clear for me.

Best regards,
Mateusz.

Offline xiangjun

  • Administrator
  • with-posts
  • *****
  • Posts: 1640
    • View Profile
    • 3DNA homepage
Re: A/B Index
« Reply #1 on: October 05, 2016, 11:07:00 am »
Hi Mateusz,

Thanks for using 3DNA. Your specific question on how the ABI (A/B index) is calculated is of general interest: it echoes my personal experience that concrete examples are informative and often required for a full understanding of even simple mathematical formulae. So let's work out the details.

Since 3DNA v2.3 is now open source, the full details can be examined at the source code level. Here it is the function get_ABI in file ana_fncs.c, with the following content:

Code: [Select]
/* Following Stephen Harvey:
 *          1  |  Zp - ZpA     chi - chiA |
 *   ABI = --- | ---------- + ----------- |
 *          2  | ZpB - ZpA    chiB - chiA |
 *   where: ZpA = 2.2, ZpB = -0.4
 *          chiA = -157 (203); chiB = -108 (252)
 *   ref: Table 1 of the A-DNA motif paper, JMB2000
*/
static double get_ABI(long idx, double Zp, double **chi_angle)
{
    double ZpA = 2.2, ZpB = -0.4, chiA = 203, chiB = 252;
    double x11, x12, x21, x22, xave, ABI = EMPTY_NUMBER;
    double ZpAB, chiAB, tZp, tchi;

    x11 = chi_angle[1][idx];
    x12 = chi_angle[1][idx + 1];
    x21 = chi_angle[2][idx];
    x22 = chi_angle[2][idx + 1];

    if (x11 > EMPTY_CRITERION && x12 > EMPTY_CRITERION && x21 > EMPTY_CRITERION &&
        x22 > EMPTY_CRITERION) {
        x11 = get_chi360(x11);
        x12 = get_chi360(x12);
        x21 = get_chi360(x21);
        x22 = get_chi360(x22);
        if (in_trans(x11) && in_trans(x12) && in_trans(x21) && in_trans(x22)) {
            xave = (x11 + x12 + x21 + x22) / 4.0;
            ZpAB = ZpB - ZpA;
            chiAB = chiB - chiA;
            tZp = (Zp - ZpA) / ZpAB;
            tchi = (xave - chiA) / chiAB;
            ABI = 0.5 * (tZp + tchi);
        }
    }

    return ABI;
}

Using the classic Dickerson B-DNA dodecamer, 355d, as an example. Running the following command,

Code: [Select]
find_pair 355d.pdb | analyze -abi
You will get an output file named 355d.out, with the following content:

Code: [Select]
****************************************************************************
Classification of each dinucleotide step in a right-handed nucleic acid
structure: A-like; B-like; TA-like; intermediate of A and B, or other cases.

For definition of the A-B index (ABI), see Waters et al. (2016).
``Transitions of Double-Stranded DNA Between the A- and B-Forms.''
J. Phys. Chem. B, 120(33), pp8449–8456.

    step       Xp      Yp      Zp     XpH     YpH     ZpH    Form   ABI
   1 CG/CG   -2.24    8.78    0.37   -3.51    8.41    2.60     B   0.72
   2 GC/GC   -2.27    8.89    0.20   -0.59    8.76   -1.53     B   0.83
   3 CG/CG   -3.22    9.14   -0.51   -4.60    8.57    3.24     B   1.01
   4 GA/TC   -3.17    8.84   -0.33   -3.50    8.85   -0.03     B   0.95
   5 AA/TT   -3.43    8.95   -0.40   -3.97    8.95   -0.30     B   0.95
   6 AT/AT   -3.45    9.06   -0.20   -4.03    9.01   -0.92     B   0.90
   7 TT/AA   -3.53    9.07   -0.65   -4.04    9.05   -0.91     B   0.98
   8 TC/GA   -2.74    8.65    0.14   -2.85    8.65   -0.19     B   0.87
   9 CG/CG   -2.88    8.85   -0.43   -2.37    8.81    1.05     B   1.00
  10 GC/GC   -2.59    9.03   -0.04   -1.21    8.82   -1.93     B   0.90
  11 CG/CG   -2.96    8.99   -0.97   -3.62    9.01    0.77     B   1.17

As you can see, the first CG/CG step has Zp=0.37, and ABI=0.72. In the ABI formula, as shown in the comment to the get_ABI function, we already have:

Code: [Select]
ZpA = 2.2, ZpB = -0.4, chiA = 203, chiB = 252
So now all we need is the chi value of the step. Again, as is clear in the source code, the requires chi value is the average of the 4 chi torsion angles associated with each of the four nucleotides. See below:

Code: [Select]
     nt              chi
  C A.DC1   -105.9   254.1
  G A.DG2    -85.4   274.6
  C B.DC23  -150.3   209.7
  G B.DG24  -141.3   218.7
   ------------------------
                sum: 957.1  ---> 957.1/4 = 239.28

So the ABI for this first step is:

Code: [Select]
0.5 * ((0.37 - 2.2) / (-0.4 - 2.2) + (239.28 - 203) / (252 - 203)) = 0.72
It helps for your own understanding, and for the benefit of other viewers of this thread, that you work out the second step (GC/GC, ABI=0.83) and post the details on the Forum as a follow-up.

HTH,

Xiang-Jun
« Last Edit: October 05, 2016, 11:09:27 am by xiangjun »

Kogucior

  • Guest
Re: A/B Index
« Reply #2 on: October 05, 2016, 04:57:08 pm »
Thanks a lot for the quick reply. Now everythings is clear!

Second step GC/GC has Zp=0.20

And 4 chi torsion angles:

Code: [Select]
  nt              chi
  G A.DG2      -85.4  274.6
  C A.DC3     -132.4  227.6
  G B.DG22     -86.2  273.8
  C B.DC23    -150.3  209.7

Average:

Code: [Select]
sum: 985.7  ---> 985.7/4 = 246.425
So the ABI for the second step is:

Code: [Select]
0.5 * ((0.2 - 2.2) / (-0.4 - 2.2) + (246.425 - 203) / (252 - 203)) = 0.83
« Last Edit: October 06, 2016, 07:24:42 am by Kogucior »

Offline sharvey7

  • with-posts
  • *
  • Posts: 3
    • View Profile
Re: A/B Index
« Reply #3 on: October 14, 2016, 01:52:04 pm »
The ABI Index is described in the following paper, which explains why it was developed:  Waters, Lu, et al. (2016) J Phys Chem B 120:8449-8456.

 

Created and maintained by Dr. Xiang-Jun Lu [律祥俊] (xiangjun@x3dna.org)
The Bussemaker Laboratory at the Department of Biological Sciences, Columbia University.