Class NMRNoeMatrix


  • public class NMRNoeMatrix
    extends java.lang.Object
    Class for calculating NOE intensities by full matrix relaxation approach.

    create an instance of the class:

    NoeMatrix n = new NoeMatrix();

    Create the atom list:

    n.makeAtomList(x);

    where x is the number of atoms (methyls count as 1). add the atoms in turn with:

    n.addAtom(x,y,z);

    where x y and z are the atom coordinates, or:

    n.addMethyl(x,y,z,x1,y1,z1,x2,y2,z2);

    which does the same for a methyl. T

    hen just call calcNOEs:

    double[][] results = n.calcNOEs();

    This will need to be in a try statement as this routine throws an exception if the atoms have not been set up properly.

    Author:
    YE91009
    • Field Detail

      • staticid

        static int staticid
      • eigenValues

        double[][] eigenValues
      • eigenVectors

        double[][] eigenVectors
      • relaxMatrix

        double[][] relaxMatrix
      • noeM

        double[][] noeM
      • distanceMatrix

        double[][] distanceMatrix
      • nHAtoms

        int nHAtoms
      • atomCounter

        int atomCounter
      • i

        int i
      • j

        int j
      • k

        int k
      • m

        int m
      • n

        int n
      • p

        int p
      • q

        int q
      • atomMap

        int[] atomMap
      • baseIndex

        int baseIndex
        first index for this frame
      • nf

        static java.text.NumberFormat nf
    • Constructor Detail

      • NMRNoeMatrix

        private NMRNoeMatrix()
    • Method Detail

      • createNOEMatrix

        private static NMRNoeMatrix createNOEMatrix​(javajs.util.Lst<java.lang.Object> hAtoms,
                                                    java.util.Map<Atom,​java.lang.Integer> indexAtomInMol,
                                                    int atomCount,
                                                    int baseIndex,
                                                    NMRNoeMatrix.NOEParams params)
        Create noeMatix and indexAtomInNoeMatrix from hAtoms and indexAtomInMol.
        Parameters:
        hAtoms -
        indexAtomInMol -
        atomCount -
        baseIndex -
        params -
        Returns:
        NoeMatrix object
      • calcNOEs

        public void calcNOEs()
                      throws java.lang.Exception
        calculate the NOESY spectrum at a particular mixing time. Onc eyou have created and built the atom list, this is the only function you need to call.
        Throws:
        java.lang.Exception - Description of the Exception
        java.lang.Exception - Throws an exception when the atom list has not been created or is not properly filled with atoms
      • initArrays

        public void initArrays​(int n)
        create an empty atom list for subsequent population with atoms
        Parameters:
        n - the number of atoms to be added
      • addAtom

        public void addAtom​(double x,
                            double y,
                            double z)
        add a proton to the atom list
        Parameters:
        x - the x position of the atom (in Angstroms)
        y - the x position of the atom (in Angstroms)
        z - the z position of the atom (in Angstroms)
      • addMethyl

        public void addMethyl​(double x,
                              double y,
                              double z,
                              double x1,
                              double y1,
                              double z1,
                              double x2,
                              double y2,
                              double z2)
        Add a methyl group to the atom list
        Parameters:
        x - the x position of atom 1 (in Angstroms)
        y - the y position of atom 1 (in Angstroms)
        z - the z position of atom 1 (in Angstroms)
        x1 - the x position of atom 2 (in Angstroms)
        y1 - the y position of atom 2 (in Angstroms)
        z1 - the z position of atom 2 (in Angstroms)
        x2 - the x position of atom 3 (in Angstroms)
        y2 - the y position of atom 3 (in Angstroms)
        z2 - the z position of atom 3 (in Angstroms)
      • addEquiv

        public void addEquiv​(double[] xa,
                             double[] ya,
                             double[] za)
      • calcRelaxMatrix

        private void calcRelaxMatrix()
      • J

        private static double J​(double w,
                                double tau)
      • sign

        private int sign​(double x)
      • calcNoeMatrix

        private void calcNoeMatrix()
      • Diagonalise

        private int Diagonalise()
      • maxOffDiag

        private double maxOffDiag()
      • rotate

        private void rotate()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • toStringNormRow

        public java.lang.String toStringNormRow()
      • doItAll

        private void doItAll​(java.io.File file)
      • readAtomsFromFile

        private void readAtomsFromFile​(java.io.File file)
      • main

        public static void main​(java.lang.String[] args)
      • createLabelMapAndIndex

        private static java.util.Map<java.lang.String,​javajs.util.Lst<Atom>> createLabelMapAndIndex​(Viewer viewer,
                                                                                                          javajs.util.BS bsMol,
                                                                                                          java.lang.String[] labelArray,
                                                                                                          javajs.util.BS bsH,
                                                                                                          java.util.Map<Atom,​java.lang.String> labels,
                                                                                                          java.util.Map<Atom,​java.lang.Integer> indexAtomInMol)
      • createHAtomList

        private static javajs.util.Lst<java.lang.Object> createHAtomList​(Viewer viewer,
                                                                         javajs.util.BS bsMol,
                                                                         javajs.util.BS bsH,
                                                                         java.util.Map<Atom,​java.lang.String> labels,
                                                                         java.util.Map<java.lang.String,​javajs.util.Lst<Atom>> labelMap)
      • getJmolDistance

        public double getJmolDistance​(int a,
                                      int b)
      • getDistance

        private double getDistance​(int i,
                                   int j)
      • getJmolNoe

        public double getJmolNoe​(int a,
                                 int b)
      • getNoe

        private double getNoe​(int i,
                              int j)