com.compomics.util.experiment.biology
Class Peptide

java.lang.Object
  extended by com.compomics.util.experiment.personalization.ExperimentObject
      extended by com.compomics.util.experiment.biology.Peptide
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable

public class Peptide
extends ExperimentObject

This class models a peptide.

Author:
Marc Vaudel
See Also:
Serialized Form

Field Summary
static java.lang.String MODIFICATION_LOCALIZATION_SEPARATOR
          Separator preceding confident localization of the confident localization of a modification
static java.lang.String MODIFICATION_SEPARATOR
          Separator used to separate modifications in peptide keys
 
Constructor Summary
Peptide()
          Constructor for the peptide.
Peptide(java.lang.String aSequence, java.util.ArrayList<java.lang.String> parentProteins, java.util.ArrayList<ModificationMatch> modifications)
          Constructor for the peptide.
Peptide(java.lang.String aSequence, java.lang.Double mass, java.util.ArrayList<java.lang.String> parentProteins, java.util.ArrayList<ModificationMatch> modifications)
          Deprecated. use the constructor without mass. The mass will be recalculated.
 
Method Summary
 void addModificationMatch(ModificationMatch modificationMatch)
          Adds a modification match.
 void clearModificationMatches()
          Clears the list of imported modification matches.
 void estimateTheoreticMass()
          Estimates the theoretic mass of the peptide.
 java.lang.String getCTerminal()
          Returns the C-terminal of the peptide as a String.
 java.util.HashMap<java.lang.Integer,java.util.ArrayList<java.lang.String>> getIndexedFixedModifications()
          Returns an indexed map of all fixed modifications amino acid, (1 is the first) -> list of modification names.
 java.lang.String getKey()
          Returns the index of a peptide.
 java.lang.Double getMass()
          Getter for the mass.
static int getModificationCount(java.lang.String peptideKey, java.lang.String modification)
          Returns how many of the given modification was found in the given peptide.
static java.util.ArrayList<java.lang.String> getModificationFamily(java.lang.String peptideKey)
          Returns a list of names of the variable modifications found in the key of a peptide.
 java.util.ArrayList<ModificationMatch> getModificationMatches()
          Getter for the modifications carried by this peptide.
 java.util.ArrayList<java.lang.Integer> getModifiedIndexes()
          Returns the indexes of the residues in the peptide that contain at least one modification.
 int getNMissedCleavages(Enzyme enzyme)
          Returns the number of missed cleavages using the specified enzyme.
static int getNMissedCleavages(java.lang.String sequence, Enzyme enzyme)
          Returns the number of missed cleavages using the specified enzyme for the given sequence.
static java.util.ArrayList<java.lang.Integer> getNModificationLocalized(java.lang.String peptideKey, java.lang.String modification)
          Returns the list of modifications confidently localized or inferred for the peptide indexed by the given key.
 java.lang.String getNTerminal()
          Returns the N-terminal of the peptide as a String.
 java.util.ArrayList<java.lang.String> getParentProteins()
          Getter for the parent proteins.
 java.util.ArrayList<java.lang.Integer> getPotentialModificationSites(PTM ptm)
          Returns the potential modification sites as an ordered list of string.
static java.util.ArrayList<java.lang.Integer> getPotentialModificationSites(java.lang.String sequence, PTM ptm)
          Returns the potential modification sites as an ordered list of string.
 java.lang.String getSequence()
          Getter for the sequence.
static java.lang.String getSequence(java.lang.String peptideKey)
          Returns the sequence of the peptide indexed by the given key.
 java.lang.String getTaggedModifiedSequence(ModificationProfile modificationProfile, boolean useHtmlColorCoding, boolean includeHtmlStartEndTags, boolean useShortName)
          Returns the modified sequence as an tagged string with potential modification sites color coded or with ptm tags, e.g, <mox>.
static java.lang.String getTaggedModifiedSequence(ModificationProfile modificationProfile, Peptide peptide, java.util.HashMap<java.lang.Integer,java.util.ArrayList<java.lang.String>> mainModificationSites, java.util.HashMap<java.lang.Integer,java.util.ArrayList<java.lang.String>> secondaryModificationSites, java.util.HashMap<java.lang.Integer,java.util.ArrayList<java.lang.String>> fixedModificationSites, boolean useHtmlColorCoding, boolean includeHtmlStartEndTags, boolean useShortName)
          Returns the modified sequence as an tagged string with potential modification sites color coded or with ptm tags, e.g, <mox>.
 java.util.ArrayList<java.lang.String> isCterm()
          Returns a list of proteins where this peptide can be found in the C-terminus.
 boolean isModifiable(PTM ptm)
          Indicates whether the given modification can be found on the peptide.
static boolean isModified(java.lang.String peptideKey)
          Returns a boolean indicating whether the peptide has variable modifications based on its key.
static boolean isModified(java.lang.String peptideKey, java.lang.String modification)
          Returns a boolean indicating whether the peptide has the given variable modification based on its key.
 java.util.ArrayList<java.lang.String> isNterm()
          Returns a list of proteins where this peptide can be found in the N-terminus.
 boolean isSameAs(Peptide anotherPeptide)
          A method which compares to peptides.
 boolean sameModificationsAs(Peptide anotherPeptide)
          Indicates whether another peptide has the same modifications at the same localization as this peptide.
 void setParentProteins(java.util.ArrayList<java.lang.String> parentProteins)
          Sets the parent proteins.
 
Methods inherited from class com.compomics.util.experiment.personalization.ExperimentObject
addUrParam, getParameterKey, getUrParam
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MODIFICATION_LOCALIZATION_SEPARATOR

public static java.lang.String MODIFICATION_LOCALIZATION_SEPARATOR
Separator preceding confident localization of the confident localization of a modification


MODIFICATION_SEPARATOR

public static java.lang.String MODIFICATION_SEPARATOR
Separator used to separate modifications in peptide keys

Constructor Detail

Peptide

public Peptide()
Constructor for the peptide.


Peptide

public Peptide(java.lang.String aSequence,
               java.util.ArrayList<java.lang.String> parentProteins,
               java.util.ArrayList<ModificationMatch> modifications)
        throws java.lang.IllegalArgumentException
Constructor for the peptide.

Parameters:
aSequence - The peptide sequence
parentProteins - The parent proteins, cannot be null or empty
modifications - The PTM of this peptide
Throws:
java.lang.IllegalArgumentException - Thrown if the peptide sequence contains unknown amino acids

Peptide

public Peptide(java.lang.String aSequence,
               java.lang.Double mass,
               java.util.ArrayList<java.lang.String> parentProteins,
               java.util.ArrayList<ModificationMatch> modifications)
Deprecated. use the constructor without mass. The mass will be recalculated.

Constructor for the peptide.

Parameters:
aSequence - The peptide sequence
mass - The peptide mass
parentProteins - The parent proteins, cannot be null or empty
modifications - The PTM of this peptide
Method Detail

getMass

public java.lang.Double getMass()
Getter for the mass.

Returns:
the peptide mass

getModificationMatches

public java.util.ArrayList<ModificationMatch> getModificationMatches()
Getter for the modifications carried by this peptide.

Returns:
the modifications matches as found by the search engine

clearModificationMatches

public void clearModificationMatches()
Clears the list of imported modification matches.


addModificationMatch

public void addModificationMatch(ModificationMatch modificationMatch)
Adds a modification match.

Parameters:
modificationMatch - the modification match to add

getSequence

public java.lang.String getSequence()
Getter for the sequence.

Returns:
the peptide sequence

getNMissedCleavages

public int getNMissedCleavages(Enzyme enzyme)
Returns the number of missed cleavages using the specified enzyme.

Parameters:
enzyme - the enzyme used
Returns:
the amount of missed cleavages

getNMissedCleavages

public static int getNMissedCleavages(java.lang.String sequence,
                                      Enzyme enzyme)
Returns the number of missed cleavages using the specified enzyme for the given sequence.

Parameters:
sequence - the peptide sequence
enzyme - the enzyme used
Returns:
the amount of missed cleavages

getParentProteins

public java.util.ArrayList<java.lang.String> getParentProteins()
Getter for the parent proteins.

Returns:
the parent proteins

setParentProteins

public void setParentProteins(java.util.ArrayList<java.lang.String> parentProteins)
Sets the parent proteins.

Parameters:
parentProteins - the parent proteins as list, cannot be null or empty

getKey

public java.lang.String getKey()
Returns the index of a peptide. index = SEQUENCE_mod1_mod2 with modifications ordered alphabetically.

Returns:
the index of a peptide

isModified

public static boolean isModified(java.lang.String peptideKey)
Returns a boolean indicating whether the peptide has variable modifications based on its key.

Parameters:
peptideKey - the peptide key
Returns:
a boolean indicating whether the peptide has variable modifications

isModified

public static boolean isModified(java.lang.String peptideKey,
                                 java.lang.String modification)
Returns a boolean indicating whether the peptide has the given variable modification based on its key.

Parameters:
peptideKey - the peptide key
modification - the name of the modification
Returns:
a boolean indicating whether the peptide has variable modifications

getModificationCount

public static int getModificationCount(java.lang.String peptideKey,
                                       java.lang.String modification)
Returns how many of the given modification was found in the given peptide.

Parameters:
peptideKey - the peptide key
modification - the name of the modification
Returns:
the number of modifications

getNModificationLocalized

public static java.util.ArrayList<java.lang.Integer> getNModificationLocalized(java.lang.String peptideKey,
                                                                               java.lang.String modification)
Returns the list of modifications confidently localized or inferred for the peptide indexed by the given key.

Parameters:
peptideKey - the peptide key
modification - the name of the modification
Returns:
the number of modifications confidently localized

getSequence

public static java.lang.String getSequence(java.lang.String peptideKey)
Returns the sequence of the peptide indexed by the given key.

Parameters:
peptideKey - the peptide key
Returns:
the corresponding sequence

getModificationFamily

public static java.util.ArrayList<java.lang.String> getModificationFamily(java.lang.String peptideKey)
Returns a list of names of the variable modifications found in the key of a peptide.

Parameters:
peptideKey - the key of a peptide
Returns:
a list of names of the variable modifications found in the key

isModifiable

public boolean isModifiable(PTM ptm)
                     throws java.io.IOException,
                            java.lang.IllegalArgumentException,
                            java.lang.InterruptedException
Indicates whether the given modification can be found on the peptide. For instance, 'oxidation of M' cannot be found on sequence "PEPTIDE". For the inspection of protein termini and peptide C-terminus the proteins sequences must be accessible from the sequence factory.

Parameters:
ptm - the PTM of interest
Returns:
a boolean indicating whether the given modification can be found on the peptide
Throws:
java.io.IOException - exception thrown whenever an error occurred while reading a protein sequence
java.lang.IllegalArgumentException - exception thrown whenever an error occurred while reading a protein sequence
java.lang.InterruptedException - exception thrown whenever an error occurred while reading a protein sequence

getPotentialModificationSites

public java.util.ArrayList<java.lang.Integer> getPotentialModificationSites(PTM ptm)
                                                                     throws java.io.IOException,
                                                                            java.lang.IllegalArgumentException,
                                                                            java.lang.InterruptedException
Returns the potential modification sites as an ordered list of string. 1 is the first aa. An empty list is returned if no possibility was found. This method does not account for protein terminal modifications.

Parameters:
ptm - the PTM considered
Returns:
a list of potential modification sites
Throws:
java.io.IOException - exception thrown whenever an error occurred while reading a protein sequence
java.lang.IllegalArgumentException - exception thrown whenever an error occurred while reading a protein sequence
java.lang.InterruptedException - exception thrown whenever an error occurred while reading a protein sequence

getPotentialModificationSites

public static java.util.ArrayList<java.lang.Integer> getPotentialModificationSites(java.lang.String sequence,
                                                                                   PTM ptm)
                                                                            throws java.lang.IllegalArgumentException
Returns the potential modification sites as an ordered list of string. 1 is the first aa. an empty list is returned if no possibility was found. This method does not account for protein terminal modifications. Only works if the modification pattern can be fully found in the sequence (single amino acid or terminal patterns smaller than the sequence). Otherwise an IllegalArgumentException will be thrown. Use the non static method then.

Parameters:
sequence - the sequence of the peptide of interest
ptm - the PTM considered
Returns:
a list of potential modification sites
Throws:
java.lang.IllegalArgumentException

isSameAs

public boolean isSameAs(Peptide anotherPeptide)
A method which compares to peptides. Two same peptides present the same sequence and same modifications. The localization of the modification is accounted only if the PTM is modification matches are confidently localized.

Parameters:
anotherPeptide - another peptide
Returns:
a boolean indicating if the other peptide is the same.

sameModificationsAs

public boolean sameModificationsAs(Peptide anotherPeptide)
Indicates whether another peptide has the same modifications at the same localization as this peptide. This method comes as a complement of isSameAs, here the localization of all PTMs is taken into account.

Parameters:
anotherPeptide - another peptide
Returns:
true if the other peptide has the same positions at the same location as the considered peptide

getNTerminal

public java.lang.String getNTerminal()
Returns the N-terminal of the peptide as a String. Returns "NH3" if the terminal is not modified, otherwise returns the name of the modification. /!\ this method will work only if the ptm found in the peptide are in the PTMFactory.

Returns:
the N-terminal of the peptide as a String, e.g., "NH3"

getCTerminal

public java.lang.String getCTerminal()
Returns the C-terminal of the peptide as a String. Returns "COOH" if the terminal is not modified, otherwise returns the name of the modification. /!\ This method will work only if the ptm found in the peptide are in the PTMFactory.

Returns:
the C-terminal of the peptide as a String, e.g., "COOH"

getTaggedModifiedSequence

public java.lang.String getTaggedModifiedSequence(ModificationProfile modificationProfile,
                                                  boolean useHtmlColorCoding,
                                                  boolean includeHtmlStartEndTags,
                                                  boolean useShortName)
Returns the modified sequence as an tagged string with potential modification sites color coded or with ptm tags, e.g, <mox>. /!\ this method will work only if the ptm found in the peptide are in the PTMFactory. /!\ This method uses the modifications as set in the modification matches of this peptide and displays all of them.

Parameters:
modificationProfile - the modification profile of the search
useHtmlColorCoding - if true, color coded html is used, otherwise ptm tags, e.g, <mox>, are used
includeHtmlStartEndTags - if true, start and end html tags are added
useShortName - if true the short names are used in the tags
Returns:
the modified sequence as an tagged string

getTaggedModifiedSequence

public static java.lang.String getTaggedModifiedSequence(ModificationProfile modificationProfile,
                                                         Peptide peptide,
                                                         java.util.HashMap<java.lang.Integer,java.util.ArrayList<java.lang.String>> mainModificationSites,
                                                         java.util.HashMap<java.lang.Integer,java.util.ArrayList<java.lang.String>> secondaryModificationSites,
                                                         java.util.HashMap<java.lang.Integer,java.util.ArrayList<java.lang.String>> fixedModificationSites,
                                                         boolean useHtmlColorCoding,
                                                         boolean includeHtmlStartEndTags,
                                                         boolean useShortName)
Returns the modified sequence as an tagged string with potential modification sites color coded or with ptm tags, e.g, <mox>. /!\ This method will work only if the ptm found in the peptide are in the PTMFactory. /!\ This method uses the modifications as set in the modification matches of this peptide and displays all of them.

Parameters:
modificationProfile - the modification profile of the search
includeHtmlStartEndTags - if true, start and end html tags are added
peptide - the peptide to annotate
mainModificationSites - the main variable modification sites in a map: aa number -> list of modifications (1 is the first AA) (can be null)
secondaryModificationSites - the secondary variable modification sites in a map: aa number -> list of modifications (1 is the first AA) (can be null)
fixedModificationSites - the fixed modification sites in a map: aa number -> list of modifications (1 is the first AA) (can be null)
useHtmlColorCoding - if true, color coded html is used, otherwise ptm tags, e.g, <mox>, are used
useShortName - if true the short names are used in the tags
Returns:
the tagged modified sequence as a string

getModifiedIndexes

public java.util.ArrayList<java.lang.Integer> getModifiedIndexes()
Returns the indexes of the residues in the peptide that contain at least one modification.

Returns:
the indexes of the modified residues

getIndexedFixedModifications

public java.util.HashMap<java.lang.Integer,java.util.ArrayList<java.lang.String>> getIndexedFixedModifications()
Returns an indexed map of all fixed modifications amino acid, (1 is the first) -> list of modification names.

Returns:
an indexed map of all fixed modifications amino acid

estimateTheoreticMass

public void estimateTheoreticMass()
                           throws java.lang.IllegalArgumentException
Estimates the theoretic mass of the peptide. The previous version is silently overwritten.

Throws:
java.lang.IllegalArgumentException - if the peptide sequence contains unknown amino acids

isNterm

public java.util.ArrayList<java.lang.String> isNterm()
                                              throws java.io.IOException,
                                                     java.lang.IllegalArgumentException,
                                                     java.lang.InterruptedException
Returns a list of proteins where this peptide can be found in the N-terminus. The proteins must be accessible via the sequence factory. If none found, an empty list is returned.

Returns:
a list of proteins where this peptide can be found in the N-terminus
Throws:
java.io.IOException - exception thrown whenever an error occurred while reading the protein sequence
java.lang.IllegalArgumentException - exception thrown whenever an error occurred while reading the protein sequence
java.lang.InterruptedException - exception thrown whenever an error occurred while reading the protein sequence

isCterm

public java.util.ArrayList<java.lang.String> isCterm()
                                              throws java.io.IOException,
                                                     java.lang.IllegalArgumentException,
                                                     java.lang.InterruptedException
Returns a list of proteins where this peptide can be found in the C-terminus. The proteins must be accessible via the sequence factory. If none found, an empty list is returned.

Returns:
a list of proteins where this peptide can be found in the C-terminus
Throws:
java.io.IOException - exception thrown whenever an error occurred while reading a protein sequence
java.lang.IllegalArgumentException - exception thrown whenever an error occurred while reading a protein sequence
java.lang.InterruptedException - exception thrown whenever an error occurred while reading a protein sequence


Copyright © 2013. All Rights Reserved.