Class NMRNoeMatrix

java.lang.Object
org.jmol.quantum.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.

Author:
YE91009
  • Field Details

    • staticid

      static int staticid
    • eigenValues

      double[][] eigenValues
    • eigenVectors

      double[][] eigenVectors
    • relaxMatrix

      double[][] relaxMatrix
    • noeM

      double[][] noeM
    • distanceMatrix

      double[][] distanceMatrix
    • atoms

    • 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
    • params

      final NMRNoeMatrix.NOEParams params
    • nf

      static NumberFormat nf
  • Constructor Details

  • Method Details

    • createMatrix

      public static NMRNoeMatrix createMatrix(Viewer viewer, javajs.util.BS bsMol, String[] labelArray, NMRNoeMatrix.NOEParams params)
    • getParams

      public NMRNoeMatrix.NOEParams getParams()
    • 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()
    • toString

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

      public String toStringNormRow()
    • distanceSqrd

      private double distanceSqrd(NMRNoeMatrix.NOEAtom a, NMRNoeMatrix.NOEAtom b)
    • doItAll

      private void doItAll(File file)
    • readAtomsFromFile

      private void readAtomsFromFile(File file)
    • main

      public static void main(String[] args)
    • createLabelMapAndIndex

      private static Map<String,javajs.util.Lst<Atom>> createLabelMapAndIndex(Viewer viewer, javajs.util.BS bsMol, String[] labelArray, javajs.util.BS bsH, Map<Atom,String> labels, Map<Atom,Integer> indexAtomInMol)
    • 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)