Class NMRNoeMatrix


  • public class NMRNoeMatrix
    extends 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.

    Since:
    28 February 2007
    Author:
    YE91009
    • Field Detail

      • id

        static int id
      • 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

        private int[] atomMap
      • baseIndex

        private int baseIndex
        first index for this frame
    • Constructor Detail

      • NMRNoeMatrix

        private NMRNoeMatrix()
    • Method Detail

      • createNOEMatrix

        private static NMRNoeMatrix createNOEMatrix​(javajs.util.Lst<Object> hAtoms,
                                                    Map<Atom,​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 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:
        Exception - Description of the Exception
        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()
      • toStringNormRow

        public String toStringNormRow()
      • createHAtomList

        private static javajs.util.Lst<Object> createHAtomList​(Viewer viewer,
                                                               javajs.util.BS bsMol,
                                                               javajs.util.BS bsH,
                                                               Map<Atom,​String> labels,
                                                               Map<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)