Package org.openscience.cdk.config
Class IsotopeFactory
- java.lang.Object
-
- org.openscience.cdk.config.IsotopeFactory
-
- Direct Known Subclasses:
Isotopes
,XMLIsotopeFactory
public abstract class IsotopeFactory extends Object
Used to store and return data of a particular isotope. The classesIsotopes
extends this class and is to be used to get isotope information.- Author:
- steinbeck
- Source code:
- main
- Belongs to CDK module:
- core
- Created on:
- 2001-08-29
-
-
Field Summary
Fields Modifier and Type Field Description static IIsotope[]
EMPTY_ISOTOPE_ARRAY
protected static ILoggingTool
logger
-
Constructor Summary
Constructors Constructor Description IsotopeFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
add(IIsotope isotope)
Protected methods only to be used by classes extending this class to add an IIsotope.IAtom
configure(IAtom atom)
Configures an atom.IAtom
configure(IAtom atom, IIsotope isotope)
Configures an atom to have all the data of the given isotope.void
configureAtoms(IAtomContainer container)
Configures atoms in an AtomContainer to carry all the correct data according to their element type.IElement
getElement(int atomicNumber)
Returns an element according to a given atomic number.IElement
getElement(String symbol)
Returns an Element with a given element symbol.String
getElementSymbol(int atomicNumber)
Returns the symbol matching the element with the given atomic number.double
getExactMass(Integer atomicNumber, Integer massNumber)
Get the exact mass of a specified isotope for an atom.IIsotope
getIsotope(String symbol, double exactMass, double tolerance)
Get an isotope based on the element symbol and exact mass.IIsotope
getIsotope(String symbol, int massNumber)
Get isotope based on element symbol and mass number.IIsotope[]
getIsotopes()
Gets a array of all isotopes known to the IsotopeFactory.IIsotope[]
getIsotopes(double exactMass, double difference)
Gets an array of all isotopes matching the searched exact mass within a certain difference.IIsotope[]
getIsotopes(int elem)
Gets an array of all isotopes known to the IsotopeFactory for the given element symbol.IIsotope[]
getIsotopes(String symbol)
Gets an array of all isotopes known to the IsotopeFactory for the given element symbol.IIsotope
getMajorIsotope(int elem)
Returns the most abundant (major) isotope with a given atomic number.IIsotope
getMajorIsotope(String symbol)
Returns the most abundant (major) isotope whose symbol equals element.double
getMajorIsotopeMass(int elem)
Get the mass of the most abundant (major) isotope, if there is no major isotopes 2*elem is returned.double
getNaturalMass(int atomicNum)
Gets the natural mass of this element, defined as average of masses of isotopes, weighted by abundance.double
getNaturalMass(IElement element)
Gets the natural mass of this element, defined as average of masses of isotopes, weighted by abundance.int
getSize()
Returns the number of isotopes defined by this class.boolean
isElement(String elementName)
Checks whether the given element exists.
-
-
-
Field Detail
-
EMPTY_ISOTOPE_ARRAY
public static final IIsotope[] EMPTY_ISOTOPE_ARRAY
-
logger
protected static final ILoggingTool logger
-
-
Method Detail
-
getSize
public int getSize()
Returns the number of isotopes defined by this class.- Returns:
- The size value
-
add
protected void add(IIsotope isotope)
Protected methods only to be used by classes extending this class to add an IIsotope.
-
getIsotopes
public IIsotope[] getIsotopes(int elem)
Gets an array of all isotopes known to the IsotopeFactory for the given element symbol.- Parameters:
elem
- atomic number- Returns:
- An array of isotopes that matches the given element symbol
-
getIsotopes
public IIsotope[] getIsotopes(String symbol)
Gets an array of all isotopes known to the IsotopeFactory for the given element symbol.- Parameters:
symbol
- An element symbol to search for- Returns:
- An array of isotopes that matches the given element symbol
-
getIsotopes
public IIsotope[] getIsotopes()
Gets a array of all isotopes known to the IsotopeFactory.- Returns:
- An array of all isotopes
-
getIsotopes
public IIsotope[] getIsotopes(double exactMass, double difference)
Gets an array of all isotopes matching the searched exact mass within a certain difference.- Parameters:
exactMass
- search massdifference
- mass the isotope is allowed to differ from the search mass- Returns:
- An array of all isotopes
-
getIsotope
public IIsotope getIsotope(String symbol, int massNumber)
Get isotope based on element symbol and mass number.- Parameters:
symbol
- the element symbolmassNumber
- the mass number- Returns:
- the corresponding isotope
-
getIsotope
public IIsotope getIsotope(String symbol, double exactMass, double tolerance)
Get an isotope based on the element symbol and exact mass.- Parameters:
symbol
- the element symbolexactMass
- the mass numbertolerance
- allowed difference from provided exact mass- Returns:
- the corresponding isotope
-
getMajorIsotope
public IIsotope getMajorIsotope(int elem)
Returns the most abundant (major) isotope with a given atomic number. Note that some high mass elements do not have a major isotopes (0% abundance) and this method will return null for those.- Parameters:
elem
- The atomicNumber for which an isotope is to be returned- Returns:
- The isotope corresponding to the given atomic number
- See Also:
getMajorIsotope(String symbol)
-
getMajorIsotopeMass
public double getMajorIsotopeMass(int elem)
Get the mass of the most abundant (major) isotope, if there is no major isotopes 2*elem is returned.- Parameters:
elem
- the atomic number- Returns:
- the major isotope mass
-
getExactMass
public double getExactMass(Integer atomicNumber, Integer massNumber)
Get the exact mass of a specified isotope for an atom. If there is no isotope with that mass number then it is returned.- Parameters:
atomicNumber
- atomic numbermassNumber
- the mass number- Returns:
- the exact mass
-
isElement
public boolean isElement(String elementName)
Checks whether the given element exists.- Parameters:
elementName
- The element name to test- Returns:
- True is the element exists, false otherwise
-
getMajorIsotope
public IIsotope getMajorIsotope(String symbol)
Returns the most abundant (major) isotope whose symbol equals element.- Parameters:
symbol
- the symbol of the element in question- Returns:
- The Major Isotope value
-
getElement
public IElement getElement(String symbol)
Returns an Element with a given element symbol.- Parameters:
symbol
- The element symbol for the requested element- Returns:
- The configured element
-
getElement
public IElement getElement(int atomicNumber)
Returns an element according to a given atomic number.- Parameters:
atomicNumber
- The elements atomic number- Returns:
- The Element
-
getElementSymbol
public String getElementSymbol(int atomicNumber)
Returns the symbol matching the element with the given atomic number.- Parameters:
atomicNumber
- The elements atomic number- Returns:
- The symbol of the Element
-
configure
public IAtom configure(IAtom atom)
Configures an atom. Finds the correct element type by looking at the atoms element symbol. If the element symbol is not recognised, it will throw anIllegalArgumentException
.- Parameters:
atom
- The atom to be configured- Returns:
- The configured atom
-
configure
public IAtom configure(IAtom atom, IIsotope isotope)
Configures an atom to have all the data of the given isotope.- Parameters:
atom
- The atom to be configureisotope
- The isotope to read the data from- Returns:
- The configured atom
-
configureAtoms
public void configureAtoms(IAtomContainer container)
Configures atoms in an AtomContainer to carry all the correct data according to their element type.- Parameters:
container
- The AtomContainer to be configured
-
getNaturalMass
public double getNaturalMass(int atomicNum)
Gets the natural mass of this element, defined as average of masses of isotopes, weighted by abundance.- Parameters:
atomicNum
- the element in question- Returns:
- The natural mass value
-
getNaturalMass
public double getNaturalMass(IElement element)
Gets the natural mass of this element, defined as average of masses of isotopes, weighted by abundance.- Parameters:
element
- the element in question- Returns:
- The natural mass value
-
-