Package org.biojava.bio.proteomics
Class MassCalc
- java.lang.Object
-
- org.biojava.bio.proteomics.MassCalc
-
public class MassCalc extends Object
MassCalccalculates the mass of peptides which for our purposes areSymbolLists which containSymbolsfrom the proteinAlphabet. It uses the mono-isotopic and average-isotopic masses identical to those specified at www.micromass.co.uk Note: This class does not handle selenocysteine and pyrrolysine.- Author:
- M. Jones sdfsd, Keith James (minor changes), Mark Schreiber, George Waldon - getMolecularWeight
-
-
Field Summary
Fields Modifier and Type Field Description static doubleCavgConstant value of Carbon average massstatic doubleCmonoConstant value of Carbon monoisotopic massstatic doubleHavgConstant value of Hydrogen average massstatic doubleHmonoConstant value of Hydrogen monoisotopic massstatic doubleNavgConstant value of Nitrogen average massstatic doubleNmonoConstant value of Nitrogen monoisotopic massstatic doubleOavgConstant value of Oxygen average massstatic doubleOmonoConstant value of Oxygen monoisotopic mass
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddVariableModification(char residue, double[] masses)Add Variable modifications.voidaddVariableModification(Symbol residue, double[] masses)Add Variable modifications.doublegetMass(SymbolList proteinSeq)Get the Mass of this peptide.static doublegetMass(SymbolList proteinSeq, String isotopicType, boolean MH_PLUS)getMasscalculates the mass of this peptide.static doublegetMolecularWeight(SymbolList proteinSeq)Calculate the molecular weight of a protein, making estimates whenever it is possible like averaging mass values for ambiguity symbols or counting zero when gaps are encountered.doublegetTermMass()getTermMassreturns the terminal mass being used by the instance methods.double[]getVariableMasses(SymbolList peptide)Get all masses including the variable mass.booleanremoveVariableModifications(char residue)Remove all variable modifications assocaited with this residue.booleanremoveVariableModifications(Symbol residue)Remove all variable modifications assocaited with this residue.voidsetSymbolModification(char symbolToken, double mass)Use this to set a post translational modification for theSymbolrepresented by this character.
-
-
-
Field Detail
-
Cmono
public static final double Cmono
Constant value of Carbon monoisotopic mass- See Also:
- Constant Field Values
-
Hmono
public static final double Hmono
Constant value of Hydrogen monoisotopic mass- See Also:
- Constant Field Values
-
Nmono
public static final double Nmono
Constant value of Nitrogen monoisotopic mass- See Also:
- Constant Field Values
-
Omono
public static final double Omono
Constant value of Oxygen monoisotopic mass- See Also:
- Constant Field Values
-
Cavg
public static final double Cavg
Constant value of Carbon average mass- See Also:
- Constant Field Values
-
Havg
public static final double Havg
Constant value of Hydrogen average mass- See Also:
- Constant Field Values
-
Navg
public static final double Navg
Constant value of Nitrogen average mass- See Also:
- Constant Field Values
-
Oavg
public static final double Oavg
Constant value of Oxygen average mass- See Also:
- Constant Field Values
-
-
Constructor Detail
-
MassCalc
public MassCalc(String isotopicType, boolean MH_PLUS)
Creates a newMassCalc.- Parameters:
isotopicType- aString. The type of isotopes to calculate. Either mono isotopic or average isotopic. Acceptable values areSymbolPropertyTable.AVG_MASSorSymbolPropertyTable.MONO_MASS.MH_PLUS- aboolean.
-
-
Method Detail
-
setSymbolModification
public void setSymbolModification(char symbolToken, double mass) throws IllegalSymbolException
Use this to set a post translational modification for theSymbolrepresented by this character. It will only affect the currentMassCalcinstance and will not affect the static method.- Parameters:
symbolToken- acharrepresenting aSymbol.mass- adoubleto be the new mass of the residue.- Throws:
IllegalSymbolException- if theSymbolis not recognised.
-
addVariableModification
public void addVariableModification(char residue, double[] masses) throws IllegalSymbolException
Add Variable modifications. If multiple masses are set by this method more then one mass will be returned for a mass calculation. For example if a peptide contains two Mets and the user sets the native and oxidized mass for the Met then the masses returned will be of the peptide with 0, 1 and 2 modified Mets.- Parameters:
residue- The one char id for this residuemasses-- Throws:
IllegalSymbolException- See Also:
getVariableMasses(SymbolList peptide),addVariableModification(Symbol residue,double[] masses)
-
addVariableModification
public void addVariableModification(Symbol residue, double[] masses) throws IllegalSymbolException
Add Variable modifications. If multiple masses are set by this method more then one mass will be returned for a mass calculation. For example if a peptide contains two Mets and the user sets the native and oxidized mass for the Met then the masses returned will be of the peptide with 0, 1 and 2 modified Mets.- Throws:
IllegalSymbolException
-
removeVariableModifications
public boolean removeVariableModifications(char residue) throws IllegalSymbolException
Remove all variable modifications assocaited with this residue.- Throws:
IllegalSymbolException
-
removeVariableModifications
public boolean removeVariableModifications(Symbol residue)
Remove all variable modifications assocaited with this residue.
-
getMolecularWeight
public static final double getMolecularWeight(SymbolList proteinSeq) throws IllegalSymbolException
Calculate the molecular weight of a protein, making estimates whenever it is possible like averaging mass values for ambiguity symbols or counting zero when gaps are encountered. The method is tolerant for ambiguity symbols as long as they can be resolved to a series of atomic symbols whose mass is available in the ResidueProperties.xml configuration file or they are gaps. The method returns the same value as getMass(SymbolList proteinSeq, SymbolPropertyTable.AVG_MASS, false) when only atomic symbols are found in the polypeptide.- Throws:
IllegalSymbolException- Since:
- 1.5
-
getMass
public static final double getMass(SymbolList proteinSeq, String isotopicType, boolean MH_PLUS) throws IllegalSymbolException
getMasscalculates the mass of this peptide. This only works for the values in the ResidueProperties.xml configuration file. It is probably slightly faster than the instance method, but it does not handle post-translational modifications.- Parameters:
proteinSeq- aSymbolListwhose mass is to be calculated. This should use the protein alphabet.isotopicType- aStringThe type of isotopes to calculate. Either mono isotopic or average isotopic. Acceptable values areSymbolPropertyTable.AVG_MASSorSymbolPropertyTable.MONO_MASS.MH_PLUS- abooleantrue if the value needed is the MH+ mass.- Returns:
- a
doublemass of the peptide. - Throws:
IllegalSymbolException- if theSymbolListcontains illegalSymbols.
-
getMass
public double getMass(SymbolList proteinSeq) throws IllegalSymbolException
Get the Mass of this peptide. Use this if you want to set fixed modifications and have created an instance of MassCalc. The value is calculated using the value of MH_PLUS defined in the constructor. The static method may be faster.- Parameters:
proteinSeq- The sequence for mass calculation- Returns:
- The mass of the sequence
- Throws:
IllegalSymbolException
-
getVariableMasses
public double[] getVariableMasses(SymbolList peptide) throws IllegalSymbolException
Get all masses including the variable mass. Allgorythm 1 Get the first residue of the sequence create a list of all the standard and non-standard massses for this reidue for each residue mass goto 1 with the sequence of all residues after the current residue add the residue mass to each mass from 1 to the list- Throws:
IllegalSymbolException- See Also:
addVariableModification(char, double[])
-
getTermMass
public double getTermMass()
getTermMassreturns the terminal mass being used by the instance methods.- Returns:
- a
doublemass.
-
-