package com.compomics.util.experiment.identification.identification_parameters.tool_specific; import com.compomics.util.experiment.identification.Advocate; import com.compomics.util.experiment.identification.identification_parameters.IdentificationAlgorithmParameter; import java.util.HashMap; /** * pNovo specific parameters. * * @author Harald Barsnes */ public class PNovoParameters implements IdentificationAlgorithmParameter { /** * Version number for deserialization. */ static final long serialVersionUID = 7525455518683797145L; /** * The number of peptides reported. */ private int numberOfPeptides = 10; /** * The minimum precursor mass. */ private int lowerPrecursorMass = 300; /** * The maximum precursor mass. */ private int upperPrecursorMass = 5000; /** * The activation type (HCD, CID or ETD). */ private String acticationType = "HCD"; /** * A map from the pNovo PTM character to the utilities PTM names. pNovo PTM * character > utilities PTM name. */ private HashMap<Character, String> pNovoPtmMap; /** * A map from the pNovo character to the original amino acids residue. pNovo * PTM character > original amino acids residue. */ private HashMap<Character, Character> pNovoResidueMap; /** * Constructor. */ public PNovoParameters() { } @Override public Advocate getAlgorithm() { return Advocate.pNovo; } @Override public boolean equals(IdentificationAlgorithmParameter identificationAlgorithmParameter) { if (identificationAlgorithmParameter instanceof PNovoParameters) { PNovoParameters pNovoParameters = (PNovoParameters) identificationAlgorithmParameter; if (getNumberOfPeptides() != pNovoParameters.getNumberOfPeptides()) { return false; } if (getLowerPrecursorMass() != pNovoParameters.getLowerPrecursorMass()) { return false; } if (getUpperPrecursorMass() != pNovoParameters.getUpperPrecursorMass()) { return false; } if (!getActicationType().equalsIgnoreCase(pNovoParameters.getActicationType())) { return false; } } return true; } @Override public String toString(boolean html) { String newLine = System.getProperty("line.separator"); if (html) { newLine = "<br>"; } StringBuilder output = new StringBuilder(); Advocate advocate = getAlgorithm(); output.append("# ------------------------------------------------------------------"); output.append(newLine); output.append("# ").append(advocate.getName()).append(" Specific Parameters"); output.append(newLine); output.append("# ------------------------------------------------------------------"); output.append(newLine); output.append(newLine); output.append("NUMBER_PEPTIDES="); output.append(numberOfPeptides); output.append(newLine); output.append("LOWER_PRECURSOR_MASS="); output.append(lowerPrecursorMass); output.append(newLine); output.append("UPPER_PRECURSOR_MASS="); output.append(upperPrecursorMass); output.append(newLine); output.append("ACTIVATION_TYPE="); output.append(acticationType); output.append(newLine); return output.toString(); } /** * Returns the number of peptides to report per spectrum. * * @return the number of peptides to report per spectrum */ public int getNumberOfPeptides() { return numberOfPeptides; } /** * Set the number of peptides to report per spectrum. * * @param numberOfPeptides the number of peptides to report per spectrum */ public void setNumberOfPeptides(int numberOfPeptides) { this.numberOfPeptides = numberOfPeptides; } /** * Returns the lower precursor mass. * * @return the lowerPrecursorMass */ public int getLowerPrecursorMass() { return lowerPrecursorMass; } /** * Set the lower precursor mass. * * @param lowerPrecursorMass the lowerPrecursorMass to set */ public void setLowerPrecursorMass(int lowerPrecursorMass) { this.lowerPrecursorMass = lowerPrecursorMass; } /** * Returns the upper precursor mass. * * @return the upperPrecursorMass */ public int getUpperPrecursorMass() { return upperPrecursorMass; } /** * Set the upper precursor mass. * * @param upperPrecursorMass the upperPrecursorMass to set */ public void setUpperPrecursorMass(int upperPrecursorMass) { this.upperPrecursorMass = upperPrecursorMass; } /** * Returns the activation type. * * @return the acticationType */ public String getActicationType() { return acticationType; } /** * Sets the activation type. * * @param acticationType the acticationType to set */ public void setActicationType(String acticationType) { this.acticationType = acticationType; } /** * Returns the pNovo to utilities PTM map. Null if not set. * * @return the pNovo to utilities PTM map, null if not set */ public HashMap<Character, String> getPNovoPtmMap() { return pNovoPtmMap; } /** * Returns the utilities PTM name corresponding to the given pNovo PTM * character. Null if not found. * * @param pNovoPtmCharacter the pNovo PTM character * * @return the utilities PTM name */ public String getUtilitiesPtmName(Character pNovoPtmCharacter) { if (pNovoPtmMap == null) { return null; } return pNovoPtmMap.get(pNovoPtmCharacter); } /** * Set the pNovo to utilities PTM map. * * @param pNovoPtmMap the pNovoPtmMap to set */ public void setPNovoPtmMap(HashMap<Character, String> pNovoPtmMap) { this.pNovoPtmMap = pNovoPtmMap; } /** * Returns the pNovo to original amino acids residue map. Null if not set. * * @return the pNovo to original amino acids residue map, null if not set */ public HashMap<Character, Character> getPNovoPtmResiduesMap() { return pNovoResidueMap; } /** * Returns the original amino acids residue corresponding to the given pNovo * PTM character. Null if not found. * * @param pNovoPtmCharacter the pNovo PTM character * * @return the original amino acids residue */ public Character getPtmResidue(Character pNovoPtmCharacter) { if (pNovoPtmMap == null) { return null; } return pNovoResidueMap.get(pNovoPtmCharacter); } /** * Set the pNovo to original amino acids residue map. * * @param pNovoResidueMap the pNovoResidueMap to set */ public void setPNovoPtmResiduesMap(HashMap<Character, Character> pNovoResidueMap) { this.pNovoResidueMap = pNovoResidueMap; } }