Package org.openscience.cdk.interfaces
Interface IMolecularFormula
-
- All Superinterfaces:
Cloneable
,ICDKObject
- All Known Implementing Classes:
DebugMolecularFormula
,MolecularFormula
,MolecularFormula
public interface IMolecularFormula extends ICDKObject
Class defining a molecular formula object. It maintains a list of IISotope.Examples:
[C5H5]-
C6H6
- 12C513CH6
- Author:
- miguelrojasch
- Source code:
- main
- Belongs to CDK module:
- interfaces
- Keywords:
- molecular formula
- Created on:
- 2007-11-20
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description IMolecularFormula
add(IMolecularFormula formula)
Adds an molecularFormula to this MolecularFormula.IMolecularFormula
addIsotope(IIsotope isotope)
Adds an Isotope to this MolecularFormula one time.IMolecularFormula
addIsotope(IIsotope isotope, int count)
Adds an Isotope to this MolecularFormula in a number of occurrences.Object
clone()
Clones this MolecularFormula object and its content.boolean
contains(IIsotope isotope)
True, if the MolecularFormula contains the given IIsotope object.Integer
getCharge()
Access the charge of this IMolecularFormula.int
getIsotopeCount()
Checks a set of Nodes for the number of different isotopes in the IMolecularFormula.int
getIsotopeCount(IIsotope isotope)
Checks a set of Nodes for the occurrence of the isotope in the IMolecularFormula from a particular isotope.Map<Object,Object>
getProperties()
Returns a Map with the IChemObject's properties.I should integrate into ChemObject.<T> T
getProperty(Object description)
Returns a property for the IChemObject - the object is automatically cast to the required type.<T> T
getProperty(Object description, Class<T> c)
Access a property of the given description and cast the specified class.Iterable<IIsotope>
isotopes()
Returns anIterable
for looping over all isotopes in this IMolecularFormula.void
removeAllIsotopes()
Removes all isotopes of this molecular formula.void
removeIsotope(IIsotope isotope)
Removes the given isotope from the MolecularFormula.void
removeProperty(Object description)
Removes a property for a IChemObject.void
setCharge(Integer charge)
Sets the charge of this IMolecularFormula, since there is no atom associated with the charge the number of a given isotope is not modified.void
setProperties(Map<Object,Object> properties)
Sets the properties of this object.I should integrate into ChemObject.void
setProperty(Object description, Object property)
Sets a property for a IChemObject.-
Methods inherited from interface org.openscience.cdk.interfaces.ICDKObject
getBuilder
-
-
-
-
Method Detail
-
add
IMolecularFormula add(IMolecularFormula formula)
Adds an molecularFormula to this MolecularFormula.- Parameters:
formula
- The molecularFormula to be added to this chemObject- Returns:
- the new molecular formula
-
addIsotope
IMolecularFormula addIsotope(IIsotope isotope)
Adds an Isotope to this MolecularFormula one time.- Parameters:
isotope
- The isotope to be added to this MolecularFormula- Returns:
- the new molecular formula
- See Also:
addIsotope(IIsotope, int)
-
addIsotope
IMolecularFormula addIsotope(IIsotope isotope, int count)
Adds an Isotope to this MolecularFormula in a number of occurrences.- Parameters:
isotope
- The isotope to be added to this MolecularFormulacount
- The number of occurrences to add- Returns:
- the new molecular formula
- See Also:
addIsotope(IIsotope)
-
getIsotopeCount
int getIsotopeCount(IIsotope isotope)
Checks a set of Nodes for the occurrence of the isotope in the IMolecularFormula from a particular isotope. It returns 0 if the does not exist.- Parameters:
isotope
- The IIsotope to look for- Returns:
- The occurrence of this isotope in this IMolecularFormula
- See Also:
getIsotopeCount()
-
isotopes
Iterable<IIsotope> isotopes()
Returns anIterable
for looping over all isotopes in this IMolecularFormula.- Returns:
- An
Iterable
with the isotopes in this IMolecularFormula
-
getIsotopeCount
int getIsotopeCount()
Checks a set of Nodes for the number of different isotopes in the IMolecularFormula.- Returns:
- The the number of different isotopes in this IMolecularFormula
- See Also:
getIsotopeCount(IIsotope)
-
contains
boolean contains(IIsotope isotope)
True, if the MolecularFormula contains the given IIsotope object. Not the instance. The method looks for other isotopes which has the same symbol, natural abundance and exact mass.- Parameters:
isotope
- The IIsotope this IMolecularFormula is searched for- Returns:
- True, if the IMolecularFormula contains the given isotope object
-
removeIsotope
void removeIsotope(IIsotope isotope)
Removes the given isotope from the MolecularFormula.- Parameters:
isotope
- The IIsotope to be removed
-
removeAllIsotopes
void removeAllIsotopes()
Removes all isotopes of this molecular formula.
-
setCharge
void setCharge(Integer charge)
Sets the charge of this IMolecularFormula, since there is no atom associated with the charge the number of a given isotope is not modified.// Correct usage IMolecularFormula phenolate = MolecularFormulaManipulator.getMolecularFormula("C6H5O", builder) mf.setCharge(-1); // MF=C6H5O- // Wrong! the H6 is not automatically adjust IMolecularFormula phenolate = MolecularFormulaManipulator.getMolecularFormula("C6H6O", builder) mf.setCharge(-1); // MF=C6H6O- (wrong)
If you wish to adjust the protonation of a formula try the convenience method of theMolecularFormulaManipulator
:IMolecularFormula mf = MolecularFormulaManipulator.getMolecularFormula("[C6H5O]-", bldr); MolecularFormulaManipulator.adjustProtonation(mf, +1); MolecularFormulaManipulator.getString(mf); // "C6H6O"
- Parameters:
charge
- The partial charge- See Also:
getCharge()
-
getCharge
Integer getCharge()
Access the charge of this IMolecularFormula. If the charge has not been set the return value is null.- Returns:
- the charge of this IMolecularFormula
- See Also:
setCharge(java.lang.Integer)
-
clone
Object clone() throws CloneNotSupportedException
Clones this MolecularFormula object and its content.- Returns:
- The cloned object
- Throws:
CloneNotSupportedException
-
setProperty
void setProperty(Object description, Object property)
Sets a property for a IChemObject. I should integrate into ChemObject.- Parameters:
description
- An object description of the property (most likely a unique string)property
- An object with the property itself- See Also:
getProperty(java.lang.Object)
,removeProperty(java.lang.Object)
-
removeProperty
void removeProperty(Object description)
Removes a property for a IChemObject. I should integrate into ChemObject.- Parameters:
description
- The object description of the property (most likely a unique string)- See Also:
setProperty(java.lang.Object, java.lang.Object)
,getProperty(java.lang.Object)
-
getProperty
<T> T getProperty(Object description)
Returns a property for the IChemObject - the object is automatically cast to the required type. This does however mean if the wrong type is provided then a runtime ClassCastException will be thrown.IAtom atom = new Atom("C"); atom.setProperty("number", 1); // set an integer property // access the property and automatically cast to an int Integer number = atom.getProperty("number"); // if the method is in a chain or needs to be nested the type // can be provided methodAcceptingInt(atom.getProperty("number", Integer.class)); // the type cannot be checked and so... String number = atom.getProperty("number"); // ClassCastException // if the type is provided a more meaningful error is thrown atom.getProperty("number", String.class); // IllegalArgumentException
- Type Parameters:
T
- generic return type- Parameters:
description
- An object description of the property (most likely a unique string)- Returns:
- The object containing the property. Returns null if property is not set.
- See Also:
setProperty(java.lang.Object, java.lang.Object)
,getProperty(Object, Class)
,removeProperty(java.lang.Object)
-
getProperty
<T> T getProperty(Object description, Class<T> c)
Access a property of the given description and cast the specified class.IAtom atom = new Atom("C"); atom.setProperty("number", 1); // set an integer property // access the property and automatically cast to an int Integer number = atom.getProperty("number"); // if the method is in a chain or needs to be nested the type // can be provided methodAcceptingInt(atom.getProperty("number", Integer.class)); // the type cannot be checked and so... String number = atom.getProperty("number"); // ClassCastException // if the type is provided a more meaningful error is thrown atom.getProperty("number", String.class); // IllegalArgumentException
- Type Parameters:
T
- generic type (of provided class)- Parameters:
description
- description of a property (normally a string)c
- type of the value to be returned- Returns:
- the value stored for the specified description.
- See Also:
getProperty(Object)
,getProperties()
-
getProperties
Map<Object,Object> getProperties()
Returns a Map with the IChemObject's properties.I should integrate into ChemObject.- Returns:
- The object's properties as an Hashtable
- See Also:
setProperties(java.util.Map<java.lang.Object, java.lang.Object>)
-
setProperties
void setProperties(Map<Object,Object> properties)
Sets the properties of this object.I should integrate into ChemObject.- Parameters:
properties
- a Hashtable specifying the property values- See Also:
getProperties()
-
-