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:
Serializable, Cloneable

public class Peptide
extends ExperimentObject

This class models a peptide.

Author:
Marc Vaudel
See Also:
Serialized Form

Field Summary
static String MODIFICATION_LOCALIZATION_SEPARATOR
          Separator preceding confident localization of the confident localization of a modification
static String MODIFICATION_SEPARATOR
          Separator used to separate modifications in peptide keys
 
Constructor Summary
Peptide()
          Constructor for the peptide.
Peptide(String aSequence, ArrayList<String> parentProteins, ArrayList<ModificationMatch> modifications)
          Constructor for the peptide.
Peptide(String aSequence, Double mass, ArrayList<String> parentProteins, 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.
 String getCTerminal()
          Returns the C-terminal of the peptide as a String.
 String getKey()
          Returns the index of a peptide. index = SEQUENCE_mod1_mod2 with modifications ordered alphabetically.
 Double getMass()
          Getter for the mass.
static int getModificationCount(String peptideKey, String modification)
          Returns how many of the given modification was found in the given peptide.
static ArrayList<String> getModificationFamily(String peptideKey)
          Returns a list of names of the variable modifications found in the key of a peptide.
 ArrayList<ModificationMatch> getModificationMatches()
          Getter for the modifications carried by this peptide.
 ArrayList<Integer> getModifiedIndexes()
          Returns the indexes of the residues in the peptide that contain at least one modification.
 String getModifiedSequenceAsHtml(HashMap<String,Color> colors, boolean includeHtmlStartEndTag)
          Returns the modified sequence as an HTML string with modification color coding. /!
static String getModifiedSequenceAsHtml(HashMap<String,Color> colors, boolean includeHtmlStartEndTag, Peptide peptide, HashMap<Integer,ArrayList<String>> mainModificationSites, HashMap<Integer,ArrayList<String>> secondaryModificationSites)
          Returns the modified sequence as an HTML string with potential modification sites color coding. /!
 String getModifiedSequenceAsString(boolean includeTerminals)
          Returns the modified sequence as a string, e.g., NH2-PEPTIDE-COOH
 int getNMissedCleavages(Enzyme enzyme)
          Returns the number of missed cleavages using the specified enzyme.
static int getNMissedCleavages(String sequence, Enzyme enzyme)
          Returns the number of missed cleavages using the specified enzyme for the given sequence.
static ArrayList<Integer> getNModificationLocalized(String peptideKey, String modification)
          Returns the list of modifications confidently localized or inferred for the peptide indexed by the given key.
 String getNTerminal()
          Returns the N-terminal of the peptide as a String.
 ArrayList<String> getParentProteins()
          Getter for the parent proteins.
 ArrayList<Integer> getPotentialModificationSites(PTM ptm)
          Returns the potential modification sites as an ordered list of string. 0 is the first aa. an empty list is returned if no possibility was found.
static ArrayList<Integer> getPotentialModificationSites(String sequence, PTM ptm)
          Returns the potential modification sites as an ordered list of string. 0 is the first aa. an empty list is returned if no possibility was found.
 HashMap<String,Color> getPTMShortNameColorMap(HashMap<String,Color> ptmColors)
          Returns a map of the ptm short names to the ptm colors.
 HashMap<String,String> getPTMShortNameMap()
          Returns a map of the ptm short names to the ptm long names for the modification in this peptide.
 String getSequence()
          Getter for the sequence.
static String getSequence(String peptideKey)
          Returns the sequence of the peptide indexed by the given key.
 ArrayList<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(String peptideKey)
          Returns a boolean indicating whether the peptide has variable modifications based on its key.
static boolean isModified(String peptideKey, String modification)
          Returns a boolean indicating whether the peptide has the given variable modification based on its key.
 ArrayList<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(ArrayList<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 String MODIFICATION_LOCALIZATION_SEPARATOR
Separator preceding confident localization of the confident localization of a modification


MODIFICATION_SEPARATOR

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

Constructor Detail

Peptide

public Peptide()
Constructor for the peptide.


Peptide

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

Parameters:
aSequence - The peptide sequence
parentProteins - The parent proteins
modifications - The PTM of this peptide
Throws:
IllegalArgumentException - Thrown if the peptide sequence contains unknown amino acids

Peptide

public Peptide(String aSequence,
               Double mass,
               ArrayList<String> parentProteins,
               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
modifications - The PTM of this peptide
Method Detail

getMass

public Double getMass()
Getter for the mass.

Returns:
the peptide mass

getModificationMatches

public 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 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(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 ArrayList<String> getParentProteins()
Getter for the parent proteins.

Returns:
the parent proteins

setParentProteins

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

Parameters:
parentProteins - the parent proteins as list

getKey

public 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(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(String peptideKey,
                                 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(String peptideKey,
                                       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 ArrayList<Integer> getNModificationLocalized(String peptideKey,
                                                           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 String getSequence(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 ArrayList<String> getModificationFamily(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 IOException,
                            IllegalArgumentException,
                            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:
IOException - exception thrown whenever an error occurred while reading a protein sequence
IllegalArgumentException - exception thrown whenever an error occurred while reading a protein sequence
InterruptedException - exception thrown whenever an error occurred while reading a protein sequence

getPotentialModificationSites

public ArrayList<Integer> getPotentialModificationSites(PTM ptm)
                                                 throws IOException,
                                                        IllegalArgumentException,
                                                        InterruptedException
Returns the potential modification sites as an ordered list of string. 0 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:
IOException - exception thrown whenever an error occurred while reading a protein sequence
IllegalArgumentException - exception thrown whenever an error occurred while reading a protein sequence
InterruptedException - exception thrown whenever an error occurred while reading a protein sequence

getPotentialModificationSites

public static ArrayList<Integer> getPotentialModificationSites(String sequence,
                                                               PTM ptm)
                                                        throws IllegalArgumentException
Returns the potential modification sites as an ordered list of string. 0 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:
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 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 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"

getModifiedSequenceAsHtml

public static String getModifiedSequenceAsHtml(HashMap<String,Color> colors,
                                               boolean includeHtmlStartEndTag,
                                               Peptide peptide,
                                               HashMap<Integer,ArrayList<String>> mainModificationSites,
                                               HashMap<Integer,ArrayList<String>> secondaryModificationSites)
Returns the modified sequence as an HTML string with potential modification sites color coding. /!\ this method will work only if the ptm found in the peptide are in the PTMFactory.

Parameters:
colors - the ptm name to color mapping
includeHtmlStartEndTag - if true, start and end html tags are added
peptide -
mainModificationSites -
secondaryModificationSites -
Returns:
the modified sequence as an HTML string

getModifiedSequenceAsHtml

public String getModifiedSequenceAsHtml(HashMap<String,Color> colors,
                                        boolean includeHtmlStartEndTag)
Returns the modified sequence as an HTML string with modification color coding. /!\ this method will work only if the ptm found in the peptide are in the PTMFactory.

Parameters:
colors - the ptm name to color mapping
includeHtmlStartEndTag - if true, start and end html tags are added
Returns:
the modified sequence as an HTML string

getPTMShortNameColorMap

public HashMap<String,Color> getPTMShortNameColorMap(HashMap<String,Color> ptmColors)
Returns a map of the ptm short names to the ptm colors. E.g., key: , element: oxidation of m.

Parameters:
ptmColors - the ptm color map
Returns:
a map of the ptm short names to the ptm colors

getPTMShortNameMap

public HashMap<String,String> getPTMShortNameMap()
Returns a map of the ptm short names to the ptm long names for the modification in this peptide. E.g., key: , element oxidation of m.

Returns:
a map of the ptm short names to the ptm long names

getModifiedSequenceAsString

public String getModifiedSequenceAsString(boolean includeTerminals)
Returns the modified sequence as a string, e.g., NH2-PEPTIDE-COOH. /!\ this method will work only if the ptm found in the peptide are in the PTMFactory.

Parameters:
includeTerminals - if true, the terminals are included
Returns:
the modified sequence as a string

getModifiedIndexes

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

Returns:
the indexes of the modified residues

isNterm

public ArrayList<String> isNterm()
                          throws IOException,
                                 IllegalArgumentException,
                                 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:
IOException - exception thrown whenever an error occurred while reading the protein sequence
IllegalArgumentException - exception thrown whenever an error occurred while reading the protein sequence
InterruptedException - exception thrown whenever an error occurred while reading the protein sequence

isCterm

public ArrayList<String> isCterm()
                          throws IOException,
                                 IllegalArgumentException,
                                 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:
IOException - exception thrown whenever an error occurred while reading a protein sequence
IllegalArgumentException - exception thrown whenever an error occurred while reading a protein sequence
InterruptedException - exception thrown whenever an error occurred while reading a protein sequence


Copyright © 2012. All Rights Reserved.