Class ElementalAnalyser

java.lang.Object
chemaxon.calculations.ElementalAnalyser

@PublicAPI public class ElementalAnalyser extends Object
Calculates molecular formula, mass, MS mass and composition.

API usage example:

    ElementalAnalyser elemanal = new ElementalAnalyser();

    // run plugin on target molecules
    MolImporter mi = new MolImporter(input.smiles);
    Molecule mol = null;
    while ((mol = mi.read()) != null) {

        // set target molecule
        elemanal.setMolecule(mol);

        double exactMass = elemanal.exactMass();
        double mass = elemanal.mass();
        int massPrecision = elemanal.massPrecision();
        int atomCount1 = elemanal.atomCount(8); // oxygen atom count
        int atomCount2 = elemanal.atomCount(8, 0); // non-isotope oxygen count
        int atomCount3 = elemanal.atomCount(8, 16); // oxygen isotope count with massno=16
        String formula = elemanal.formula();
        String isotopeFormula = elemanal.isotopeFormula();
        String composition = elemanal.composition(2); // precision=2
        String isotopeComposition = elemanal.isotopeComposition(2); // precision=2

        // now use the results...
    }
 
  • Constructor Details

    • ElementalAnalyser

      public ElementalAnalyser()
  • Method Details

    • getSmolecule

      public Smolecule getSmolecule()
      Retrieves the input molecule
      Returns:
      the molecule to calculate with
    • setMolecule

      public void setMolecule(String formula) throws IllegalArgumentException
      Specifies a molecule to calculate with.
      Parameters:
      formula - the molecular formula to calculate with (e.g. C3H10, C6H11N3.2(HCl))
      Throws:
      IllegalArgumentException - if the formula is invalid
      Since:
      Marvin 5.3.2
    • setMolecule

      public void setMolecule(MoleculeGraph mol)
      Specifies a molecule to calculate with.
      Parameters:
      mol - the molecule to calculate with
    • setMolecule

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public void setMolecule(Smolecule mol)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of Marvin 6.0, replaced by setMolecule(MoleculeGraph mol).
      Specifies a molecule to calculate with.
      Parameters:
      mol - the molecule to calculate with
      Since:
      Marvin 5.3, 04/29/2009
    • atomCount

      public int atomCount()
      Calculates the number of atoms in the molecule.
      Returns:
      number of atoms
    • atomCount

      public int atomCount(int z)
      Calculates the number of atoms of a given element in the molecule (including its isotopes). included
      Parameters:
      z - atomic number of the atom (protons)
      Returns:
      number of the specified atoms
    • atomCount

      public int atomCount(int z, int m)
      Calculates the number of atoms of a given element in the molecule. When m is 0, number of the given element atoms is returned, but its isotopes are not included
      Parameters:
      z - atomic number of the atom (protons)
      m - mass number of the atom (protons + neutrons)
      Returns:
      number of the specified atoms
    • mass

      public double mass()
      Calculates the molecular weight of the molecule. The result is rounded according to the decimals of the lowest precision atomic mass value.
      Returns:
      molecular weigth of the molecule
    • massPrecision

      public int massPrecision()
      Calculates the precision of the molecular weight (number of decimal digits).
      Returns:
      the number of significant digits after the decimal point
    • exactMass

      public double exactMass()
      Calculates the weight of the molecular ion measured in Mass Spectrometry using the mass of the most frequent natural isotope of the atoms.
      Returns:
      weight of the molecule ion
    • exactMassPrecision

      public int exactMassPrecision()
      Calculates the precision of the monoisitopic weight (number of significant decimal digits).
      Returns:
      the number of significant digits after the decimal point
    • formula

      public String formula()
      Calculates the molecular formula which is a string listing all atom types an their occurence in the molecule. For example the formula of benzene is C6H6.
      Returns:
      molecular formula
    • formula

      public String formula(int digits)
      Calculates a fixed digit sortable molecular formula. If the digits parameter is 4, then the formula of benzene will be "C0006H0006".
      Parameters:
      digits - number of minimum digits
      Returns:
      molecular formula
    • isotopeFormula

      public String isotopeFormula()
      Calculates the molecular formula (isotopes are separated). For example, it returns C7D5NaO2 for the deuterated sodium benzoate.
      Returns:
      isotope formula
    • isotopeFormula

      public String isotopeFormula(boolean symbolD)
      Calculates the molecular formula (isotopes are separated). For example, it returns C7[2H]5NaO2 or C7D5NaO2 for the deuterated sodium benzoate depending on symbolD parameter.
      Parameters:
      symbolD - uses the D symbol for Deuterium and T for Tritium if true, otherwise [2H] and [3H]
      Returns:
      isotope formula
    • dotDisconnectedFormula

      public String dotDisconnectedFormula()
      Calculates the dot-disconnected molecular formula of a multifragment molecule. For example, it returns C7H5O2.Na for sodium benzoate.
      Returns:
      the dot diconnected formula of the molecule
      Since:
      Marvin 4.0.5
    • dotDisconnectedIsotopeFormula

      public String dotDisconnectedIsotopeFormula()
      Calculates the dot-disconnected isotope formula of a multifragment molecule. For example, it returns C7D5O2.Na for the deuterated sodium benzoate.
      Returns:
      the dot diconnected isotope formula of the molecule
      Since:
      Marvin 5.0
    • dotDisconnectedIsotopeFormula

      public String dotDisconnectedIsotopeFormula(boolean symbolD)
      Calculates the dot-disconnected isotope formula of a multifragment molecule. For example, it returns C7[2H]5O2.Na or C7D5O2.Na for the deuterated sodium benzoate depending on symbolD parameter.
      Parameters:
      symbolD - uses the D symbol for Deuterium and T for Tritium if true, otherwise [2H] and [3H]
      Returns:
      the dot diconnected isotope formula of the molecule
      Since:
      Marvin 5.0
    • composition

      public String composition(int precision)
      Gets the elemental analysis, the relative percent composition of a pure chemical substance by element (w/w%).
      Returns:
      molecular composition
    • isotopeComposition

      public String isotopeComposition(int precision)
      Gets the molecular composition (w/w%). Isotopes are separate atom types.
      Parameters:
      precision - number of decimal digits
      Returns:
      molecular composition
    • isotopeComposition

      public String isotopeComposition(int precision, boolean symbolD)
      Gets the molecular composition (w/w%). Isotopes are separate atom types.
      Parameters:
      precision - number of decimal digits
      symbolD - uses the D symbol for Deuterium and T for Tritium if true, otherwise [2H] and [3H]
      Returns:
      molecular composition