Package org.jmol.util

Class JmolMolecule

java.lang.Object
org.jmol.util.JmolMolecule
Direct Known Subclasses:
SmilesSearch, SmilesSearch.SmilesTarget

public class JmolMolecule extends Object
an independent class utilizing only org.jmol.api.JmolNode, not org.jmol.modelset.Atom for use in finding molecules in models and SMILES strings
  • Field Details

    • nodes

      public Node[] nodes
    • moleculeIndex

      public int moleculeIndex
    • modelIndex

      public int modelIndex
    • indexInModel

      public int indexInModel
    • firstAtomIndex

      public int firstAtomIndex
    • ac

      public int ac
    • nElements

      public int nElements
    • elementCounts

      public int[] elementCounts
    • altElementCounts

      public int[] altElementCounts
    • elementNumberMax

      public int elementNumberMax
    • altElementMax

      public int altElementMax
    • mf

      public String mf
    • atomList

      public BS atomList
    • atNos

      public int[] atNos
  • Constructor Details

    • JmolMolecule

      public JmolMolecule()
  • Method Details

    • getMolecules

      public static final JmolMolecule[] getMolecules(Node[] atoms, BS[] bsModelAtoms, Lst<BS> biobranches, BS bsExclude)
      Creates an array of JmolMolecules from a set of atoms in the form of simple JmolNodes. Allows for appending onto an already established set of branches (from BioPolymer).
      Parameters:
      atoms - set of atoms to check
      bsModelAtoms - per-model atom list, or null
      biobranches - pre-defined connections, like bonds but not to be followed internally
      bsExclude - TODO
      Returns:
      an array of JmolMolecules
    • getBranchBitSet

      public static BS getBranchBitSet(Node[] atoms, int atomIndex, BS bsToTest, Lst<BS> biobranches, int atomIndexNot, boolean allowCyclic, boolean allowBioResidue)
      given a set of atoms, a subset of atoms to test, two atoms that start the branch, and whether or not to allow the branch to cycle back on itself, deliver the set of atoms constituting this branch.
      Parameters:
      atoms -
      atomIndex - the first atom of the branch
      bsToTest - some subset of those atoms
      biobranches - pre-determined groups of connected atoms
      atomIndexNot - the "root" atom stopping branch development; often a ring atom; if -1, then this method will return all atoms in a connected set of atoms.
      allowCyclic - allow
      allowBioResidue - TODO
      Returns:
      a bitset of atoms along this branch
    • addMolecule

      public static final JmolMolecule[] addMolecule(JmolMolecule[] molecules, int iMolecule, Node[] atoms, int iAtom, BS bsBranch, int modelIndex, int indexInModel, BS bsExclude)
    • getMolecularFormulaAtoms

      public static String getMolecularFormulaAtoms(Node[] atoms, BS bsSelected, float[] wts, boolean isEmpirical)
    • getMolecularFormula

      public String getMolecularFormula(boolean includeMissingHydrogens, float[] wts, boolean isEmpirical)
    • getMFArray

      public int[] getMFArray(boolean includeMissingHydrogens, float[] wts, boolean isEmpirical)
    • getBitSetForMF

      public static BS getBitSetForMF(Atom[] at, BS bsAtoms, String mf)
    • getBranchesForInversion

      public static BS getBranchesForInversion(Node[] at, int atomIndex, BS bsToTest)