package com.compomics.util.pride;
import com.compomics.util.experiment.identification.identification_parameters.SearchParameters;
import com.compomics.util.experiment.identification.identification_parameters.PtmSettings;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.Serializable;
import java.util.HashMap;
/**
* Map linking user modification names to Unimod CV terms.
*
* @author Marc Vaudel
* @author Harald Barsnes
*/
public class PtmToPrideMap implements Serializable {
/**
* Serial number for backward compatibility.
*/
static final long serialVersionUID = 2436108005958307507L;
/**
* The name of the file to save.
*/
public final static String fileName = "modMapUniMod.cus";
/**
* Map of the CV terms indexed by modification user name.
*/
private HashMap<String, CvTerm> modToCvMap = new HashMap<String, CvTerm>();
/**
* Constructor.
*/
public PtmToPrideMap() {
}
/**
* Returns the CV term corresponding to the given PTM name. Null if not
* found.
*
* @param ptmName the PTM name
* @return the corresponding CV term
*/
public CvTerm getCVTerm(String ptmName) {
return modToCvMap.get(ptmName);
}
/**
* Puts a new mapping in the map. If the modification name is already loaded
* it will be silently overwritten.
*
* @param modName the modification name
* @param cvTerm the corresponding cvTerm
*/
public void putCVTerm(String modName, CvTerm cvTerm) {
modToCvMap.put(modName, cvTerm);
}
/**
* Returns the default cvTerm of a modification when it exists.
*
* @param ptmName the PTM name according to the XML file, null if no mapping
* is found
* @return a default CV term
*
* @deprecated use the getCvTerm method for the PTM instead
*/
public static CvTerm getDefaultCVTerm(String ptmName) {
// @TODO: add more of the below PTMs to the new utilities PTMs?
if (ptmName.equalsIgnoreCase("methylation of K")
|| ptmName.equalsIgnoreCase("methylation of protein n-term")
|| ptmName.equalsIgnoreCase("methylation of Q")
|| ptmName.equalsIgnoreCase("methylation of D")
|| ptmName.equalsIgnoreCase("methylation of E")
|| ptmName.equalsIgnoreCase("methylation of peptide c-term")
|| ptmName.equalsIgnoreCase("methyl ester of peptide c-term (duplicate of 18)")
|| ptmName.equalsIgnoreCase("methyl ester of D")
|| ptmName.equalsIgnoreCase("methyl ester of E (duplicate of 17)")
|| ptmName.equalsIgnoreCase("methyl ester of S")
|| ptmName.equalsIgnoreCase("methyl ester of Y")
|| ptmName.equalsIgnoreCase("methyl C")
|| ptmName.equalsIgnoreCase("methyl H")
|| ptmName.equalsIgnoreCase("methyl N")
|| ptmName.equalsIgnoreCase("methylation of peptide n-term")
|| ptmName.equalsIgnoreCase("methyl R")) {
return new CvTerm("UNIMOD", "UNIMOD:34", "Methyl", "14.015650");
} else if (ptmName.equalsIgnoreCase("oxidation of M")
|| ptmName.equalsIgnoreCase("hydroxylation of D")
|| ptmName.equalsIgnoreCase("hydroxylation of K")
|| ptmName.equalsIgnoreCase("hydroxylation of N")
|| ptmName.equalsIgnoreCase("hydroxylation of P")
|| ptmName.equalsIgnoreCase("hydroxylation of F")
|| ptmName.equalsIgnoreCase("hydroxylation of Y")
|| ptmName.equalsIgnoreCase("oxidation of H")
|| ptmName.equalsIgnoreCase("oxidation of W")
|| ptmName.equalsIgnoreCase("oxidation of C")
|| ptmName.equalsIgnoreCase("oxidation of Y (duplicate of 64)")) {
return new CvTerm("UNIMOD", "UNIMOD:35", "Oxidation", "15.994915");
} else if (ptmName.equalsIgnoreCase("carboxymethyl C")) {
return new CvTerm("UNIMOD", "UNIMOD:6", "Carboxymethyl", "58.005479");
} else if (ptmName.equalsIgnoreCase("carbamidomethyl C")
|| ptmName.equalsIgnoreCase("carboxyamidomethylation of K")
|| ptmName.equalsIgnoreCase("carboxyamidomethylation of H")
|| ptmName.equalsIgnoreCase("carboxyamidomethylation of D")
|| ptmName.equalsIgnoreCase("carboxyamidomethylation of E")) {
return new CvTerm("UNIMOD", "UNIMOD:4", "Carbamidomethyl", "57.021464");
} else if (ptmName.equalsIgnoreCase("deamidation of N and Q")
|| ptmName.equalsIgnoreCase("citrullination of R")
|| ptmName.equalsIgnoreCase("deamidation of N")) {
return new CvTerm("UNIMOD", "UNIMOD:7", "Deamidated", "0.984016");
} else if (ptmName.equalsIgnoreCase("propionamide C")) {
return new CvTerm("UNIMOD", "UNIMOD:24", "Propionamide", "71.037114");
} else if (ptmName.equalsIgnoreCase("phosphorylation of S")
|| ptmName.equalsIgnoreCase("phosphorylation of T")
|| ptmName.equalsIgnoreCase("phosphorylation of Y")
|| ptmName.equalsIgnoreCase("phosphorylation with neutral loss on C")
|| ptmName.equalsIgnoreCase("phosphorylation with neutral loss on D")
|| ptmName.equalsIgnoreCase("phosphorylation with neutral loss on H")
|| ptmName.equalsIgnoreCase("phosphorylation with neutral loss on S")
|| ptmName.equalsIgnoreCase("phosphorylation with neutral loss on T")
|| ptmName.equalsIgnoreCase("phosphorylation of S with ETD loss")
|| ptmName.equalsIgnoreCase("phosphorylation of T with ETD loss")
|| ptmName.equalsIgnoreCase("phosphorylation of H")
|| ptmName.equalsIgnoreCase("phosphorylation of C")
|| ptmName.equalsIgnoreCase("phosphorylation of D")
|| ptmName.equalsIgnoreCase("phosphorylation of K")
|| ptmName.equalsIgnoreCase("phosphorylation of Q")
|| ptmName.equalsIgnoreCase("phosphorylation of R")) {
return new CvTerm("UNIMOD", "UNIMOD:21", "Phospho", "79.966331");
} else if (ptmName.equalsIgnoreCase("M cleavage from protein n-term")) {
return new CvTerm("UNIMOD", "UNIMOD:765", "Met-loss", "-131.040485");
} else if (ptmName.equalsIgnoreCase("acetylation of protein n-term")
|| ptmName.equalsIgnoreCase("acetylation of K")) {
return new CvTerm("UNIMOD", "UNIMOD:1", "Acetyl", "42.010565");
} else if (ptmName.equalsIgnoreCase("tri-methylation of protein n-term")
|| ptmName.equalsIgnoreCase("tri-methylation of K")
|| ptmName.equalsIgnoreCase("tri-methylation of R")) {
return new CvTerm("UNIMOD", "UNIMOD:37", "Trimethyl", "42.046950");
} else if (ptmName.equalsIgnoreCase("beta methythiolation of D")) {
return new CvTerm("UNIMOD", "UNIMOD:39", "Methylthio", "45.987721");
} else if (ptmName.equalsIgnoreCase("tri-deuteromethylation of D")
|| ptmName.equalsIgnoreCase("tri-deuteromethylation of E")
|| ptmName.equalsIgnoreCase("tri-deuteromethylation of peptide c-term")
|| ptmName.equalsIgnoreCase("beta-methylthiolation of D (duplicate of 13)")) {
return new CvTerm("UNIMOD", "UNIMOD:298", "Methyl:2H(3)", "17.034480");
} else if (ptmName.equalsIgnoreCase("n-formyl met addition")) {
return new CvTerm("UNIMOD", "UNIMOD:107", "FormylMet", "159.035399");
} else if (ptmName.equalsIgnoreCase("2-amino-3-oxo-butanoic acid T")) {
return new CvTerm("UNIMOD", "UNIMOD:401", "Didehydro", "-2.015650");
} else if (ptmName.equalsIgnoreCase("amidation of peptide c-term")) {
return new CvTerm("UNIMOD", "UNIMOD:2", "Amidated", "-0.984016");
} else if (ptmName.equalsIgnoreCase("carbamylation of K")
|| ptmName.equalsIgnoreCase("carbamylation of n-term peptide")) {
return new CvTerm("UNIMOD", "UNIMOD:5", "Carbamyl", "43.005814");
} else if (ptmName.equalsIgnoreCase("oxidation of C to cysteic acid")) {
return new CvTerm("UNIMOD", "UNIMOD:345", "Trioxidation", "47.984744");
} else if (ptmName.equalsIgnoreCase("di-iodination of Y")) {
return new CvTerm("UNIMOD", "UNIMOD:130", "Diiodo", "251.793296");
} else if (ptmName.equalsIgnoreCase("di-methylation of K")
|| ptmName.equalsIgnoreCase("di-methylation of R")
|| ptmName.equalsIgnoreCase("di-methylation of peptide n-term")) {
return new CvTerm("UNIMOD", "UNIMOD:36", "Dimethyl", "28.031300");
} else if (ptmName.equalsIgnoreCase("dimethyl 2d k")
|| ptmName.equalsIgnoreCase("dimethyl 2d n-terminus")) {
return new CvTerm("UNIMOD", "UNIMOD:199", "Dimethyl:2H(4)", "32.056407");
} else if (ptmName.equalsIgnoreCase("gtp desthiobiotinc12")) {
return new CvTerm("UNIMOD", "UNIMOD:1031", "Biotin:Thermo-88310", "196.121178");
} else if (ptmName.equalsIgnoreCase("oxidation of F to dihydroxyphenylalanine")
|| ptmName.equalsIgnoreCase("oxidation of W to formylkynurenin")
|| ptmName.equalsIgnoreCase("sulphone of M")
|| ptmName.equalsIgnoreCase("oxidation of C to sulfinic acid")) {
return new CvTerm("UNIMOD", "UNIMOD:425", "Dioxidation", "31.989829");
} else if (ptmName.equalsIgnoreCase("gammathiopropionylation of K")
|| ptmName.equalsIgnoreCase("gammathiopropionylation of peptide n-term")) {
return new CvTerm("UNIMOD", "UNIMOD:126", "Thioacyl", "87.998285");
} else if (ptmName.equalsIgnoreCase("farnesylation of C")) {
return new CvTerm("UNIMOD", "UNIMOD:44", "Farnesyl", "204.187801");
} else if (ptmName.equalsIgnoreCase("formylation of K")
|| ptmName.equalsIgnoreCase("formylation of peptide n-term")
|| ptmName.equalsIgnoreCase("formylation of protein n-term")) {
return new CvTerm("UNIMOD", "UNIMOD:122", "Formyl", "27.994915");
} else if (ptmName.equalsIgnoreCase("fluorophenylalanine")) {
return new CvTerm("UNIMOD", "UNIMOD:127", "Fluoro", "17.990578");
} else if (ptmName.equalsIgnoreCase("beta-carboxylation of D")
|| ptmName.equalsIgnoreCase("gamma-carboxylation of E")) {
return new CvTerm("UNIMOD", "UNIMOD:299", "Carboxy", "43.989829");
} else if (ptmName.equalsIgnoreCase("geranyl-geranyl")) {
return new CvTerm("UNIMOD", "UNIMOD:48", "GeranylGeranyl", "272.250401");
} else if (ptmName.equalsIgnoreCase("glucuronylation of protein n-term")) {
return new CvTerm("UNIMOD", "UNIMOD:54", "Glucuronyl", "176.032088");
} else if (ptmName.equalsIgnoreCase("glutathione disulfide")) {
return new CvTerm("UNIMOD", "UNIMOD:55", "Glutathione", "305.068156");
} else if (ptmName.equalsIgnoreCase("ubiquitinylation residue")) {
return new CvTerm("UNIMOD", "UNIMOD:121", "GlyGly", "114.042927");
} else if (ptmName.equalsIgnoreCase("guanidination of K")) {
return new CvTerm("UNIMOD", "UNIMOD:52", "Guanidinyl", "42.021798");
} else if (ptmName.equalsIgnoreCase("oxidation of H to N")) {
return new CvTerm("UNIMOD", "UNIMOD:348", "His->Asn", "-23.015984");
} else if (ptmName.equalsIgnoreCase("oxidation of H to D")) {
return new CvTerm("UNIMOD", "UNIMOD:349", "His->Asp", "-22.031969");
} else if (ptmName.equalsIgnoreCase("homoserine")) {
return new CvTerm("UNIMOD", "UNIMOD:10", "Met->Hse", "-29.992806");
} else if (ptmName.equalsIgnoreCase("homoserine lactone")) {
return new CvTerm("UNIMOD", "UNIMOD:11", "Met->Hsl", "-48.003371");
} else if (ptmName.equalsIgnoreCase("oxidation of W to hydroxykynurenin")) {
return new CvTerm("UNIMOD", "UNIMOD:350", "Trp>Hydroxykynurenin", "19.989829");
} else if (ptmName.equalsIgnoreCase("iodination of Y")) {
return new CvTerm("UNIMOD", "UNIMOD:129", "Iodo", "125.896648");
} else if (ptmName.equalsIgnoreCase("oxidation of W to kynurenin")) {
return new CvTerm("UNIMOD", "UNIMOD:351", "Trp->Kynurenin", "3.994915");
} else if (ptmName.equalsIgnoreCase("lipoyl K")) {
return new CvTerm("UNIMOD", "UNIMOD:42", "Lipoyl", "188.032956");
} else if (ptmName.equalsIgnoreCase("myristoleylation of G")) {
return new CvTerm("UNIMOD", "UNIMOD:134", "Myristoleyl", "208.182715");
} else if (ptmName.equalsIgnoreCase("myristoyl-4H of G")) {
return new CvTerm("UNIMOD", "UNIMOD:135", "Myristoyl+Delta:H(-4)", "206.167065");
} else if (ptmName.equalsIgnoreCase("myristoylation of peptide n-term G")
|| ptmName.equalsIgnoreCase("myristoylation of K")) {
return new CvTerm("UNIMOD", "UNIMOD:45", "Myristoyl", "210.198366");
} else if (ptmName.equalsIgnoreCase("NEM C")) {
return new CvTerm("UNIMOD", "UNIMOD:108", "Nethylmaleimide", "125.047679");
} else if (ptmName.equalsIgnoreCase("NIPCAM")) {
return new CvTerm("UNIMOD", "UNIMOD:17", "NIPCAM", "99.068414");
} else if (ptmName.equalsIgnoreCase("oxidation of W to nitro")
|| ptmName.equalsIgnoreCase("oxidation of Y to nitro")) {
return new CvTerm("UNIMOD", "UNIMOD:354", "Nitro", "44.985078");
} else if (ptmName.equalsIgnoreCase("O18 on peptide n-term")) {
return new CvTerm("UNIMOD", "UNIMOD:258", "Label:18O(1)", "2.004246");
} else if (ptmName.equalsIgnoreCase("di-O18 on peptide n-term")) {
return new CvTerm("UNIMOD", "UNIMOD:193", "Label:18O(2)", "4.00849");
} else if (ptmName.equalsIgnoreCase("phosphopantetheine S")) {
return new CvTerm("UNIMOD", "UNIMOD:49", "Phosphopantetheine", "340.085794");
} else if (ptmName.equalsIgnoreCase("palmitoylation of C")
|| ptmName.equalsIgnoreCase("palmitoylation of K")
|| ptmName.equalsIgnoreCase("palmitoylation of S")
|| ptmName.equalsIgnoreCase("palmitoylation of T")) {
return new CvTerm("UNIMOD", "UNIMOD:47", "Palmitoyl", "238.229666");
} else if (ptmName.equalsIgnoreCase("phosphorylation of S with prompt loss")
|| ptmName.equalsIgnoreCase("phosphorylation of T with prompt loss")
|| ptmName.equalsIgnoreCase("phosphorylation with prompt loss on Y")) {
return new CvTerm("UNIMOD", "UNIMOD:23", "Dehydrated", "-18.010565");
} else if (ptmName.equalsIgnoreCase("propionyl light K")
|| ptmName.equalsIgnoreCase("propionyl light on peptide n-term")) {
return new CvTerm("UNIMOD", "UNIMOD:58", "Propionyl", "56.026215");
} else if (ptmName.equalsIgnoreCase("propionyl heavy K")
|| ptmName.equalsIgnoreCase("propionyl heavy peptide n-term")) {
return new CvTerm("UNIMOD", "UNIMOD:59", "Propionyl:13C(3)", "59.036279");
} else if (ptmName.equalsIgnoreCase("pyridyl K")
|| ptmName.equalsIgnoreCase("pyridyl peptide n-term")) {
return new CvTerm("UNIMOD", "UNIMOD:25", "Pyridylacetyl", "119.037114");
} else if (ptmName.equalsIgnoreCase("pyro-glu from n-term Q")) {
return new CvTerm("UNIMOD", "UNIMOD:28", "Gln->pyro-Glu", "-17.026549");
} else if (ptmName.equalsIgnoreCase("pyro-cmc")) {
return new CvTerm("UNIMOD", "UNIMOD:385", "Ammonia-loss", "-17.026549");
} else if (ptmName.equalsIgnoreCase("pyro-glu from n-term E")) {
return new CvTerm("UNIMOD", "UNIMOD:27", "Glu->pyro-Glu", "-18.010565");
} else if (ptmName.equalsIgnoreCase("oxidation of P to pyroglutamic acid")) {
return new CvTerm("UNIMOD", "UNIMOD:359", "Pro->pyro-Glu", "13.979265");
} else if (ptmName.equalsIgnoreCase("s-pyridylethylation of C")) {
return new CvTerm("UNIMOD", "UNIMOD:31", "Pyridylethyl", "105.057849");
} else if (ptmName.equalsIgnoreCase("SeMet")) {
return new CvTerm("UNIMOD", "UNIMOD:162", "Delta:S(-1)Se(1)", "47.944449");
} else if (ptmName.equalsIgnoreCase("sulfation of Y")) {
return new CvTerm("UNIMOD", "UNIMOD:40", "Sulfo", "79.956815");
} else if (ptmName.equalsIgnoreCase("tri-iodination of Y")) {
return new CvTerm("UNIMOD", "UNIMOD:131", "Triiodo", "377.689944");
} else if (ptmName.equalsIgnoreCase("n-acyl diglyceride cysteine")) {
return new CvTerm("UNIMOD", "UNIMOD:51", "Tripalmitate", "788.725777");
} else if (ptmName.equalsIgnoreCase("ICAT light")) {
return new CvTerm("UNIMOD", "UNIMOD:105", "ICAT-C", "227.126991");
} else if (ptmName.equalsIgnoreCase("ICAT heavy")) {
return new CvTerm("UNIMOD", "UNIMOD:106", "ICAT-C:13C(9)", "236.157185");
} else if (ptmName.equalsIgnoreCase("CAMthiopropanoyl K")) {
return new CvTerm("UNIMOD", "UNIMOD:293", "CAMthiopropanoyl", "145.019749");
} else if (ptmName.equalsIgnoreCase("heavy arginine-13C6")
|| ptmName.equalsIgnoreCase("heavy lysine-13C6")) {
return new CvTerm("UNIMOD", "UNIMOD:188", "Label:13C(6)", "6.020129");
} else if (ptmName.equalsIgnoreCase("heavy arginine-13C6-15N4")) {
return new CvTerm("UNIMOD", "UNIMOD:267", "Label:13C(6)15N(4)", "10.008269");
} else if (ptmName.equalsIgnoreCase("PNGasF in O18 water")) {
return new CvTerm("UNIMOD", "UNIMOD:366", "Deamidated:18O(1)", "2.988261");
} else if (ptmName.equalsIgnoreCase("beta elimination of S")
|| ptmName.equalsIgnoreCase("beta elimination of T")
|| ptmName.equalsIgnoreCase("dehydro of S and T")) {
return new CvTerm("UNIMOD", "UNIMOD:23", "Dehydrated", "-18.010565");
} else if (ptmName.equalsIgnoreCase("arginine to ornithine")) {
return new CvTerm("UNIMOD", "UNIMOD:372", "Arg->Orn", "-42.021798");
} else if (ptmName.equalsIgnoreCase("carboxykynurenin of W")) {
return null; // @TODO: no mapping found!!
} else if (ptmName.equalsIgnoreCase("sumoylation of K")) {
return new CvTerm("UNIMOD", "UNIMOD:846", "EQIGG", "484.228162");
} else if (ptmName.equalsIgnoreCase("iTRAQ114 on nterm")
|| ptmName.equalsIgnoreCase("iTRAQ114 on K")
|| ptmName.equalsIgnoreCase("iTRAQ114 on Y")) {
return new CvTerm("UNIMOD", "UNIMOD:532", "iTRAQ4plex114", "144.105918");
} else if (ptmName.equalsIgnoreCase("iTRAQ115 on nterm")
|| ptmName.equalsIgnoreCase("iTRAQ115 on K")
|| ptmName.equalsIgnoreCase("iTRAQ115 on Y")) {
return new CvTerm("UNIMOD", "UNIMOD:533", "iTRAQ4plex115", "144.099599");
} else if (ptmName.equalsIgnoreCase("iTRAQ116 on nterm")
|| ptmName.equalsIgnoreCase("iTRAQ116 on K")
|| ptmName.equalsIgnoreCase("iTRAQ116 on Y")
|| ptmName.equalsIgnoreCase("iTRAQ117 on nterm")
|| ptmName.equalsIgnoreCase("iTRAQ117 on K")
|| ptmName.equalsIgnoreCase("iTRAQ117 on Y")) {
return new CvTerm("UNIMOD", "UNIMOD:214", "iTRAQ4plex", "144.102063");
} else if (ptmName.equalsIgnoreCase("MMTS on C")) {
return new CvTerm("UNIMOD", "UNIMOD:39", "Methylthio", "45.987721");
} else if (ptmName.equalsIgnoreCase("heavy lysine - 2H4")) {
return new CvTerm("UNIMOD", "UNIMOD:481", "Label:2H(4)", "4.025107");
} else if (ptmName.equalsIgnoreCase("heavy lysine - 13C6 15N2")) {
return new CvTerm("UNIMOD", "UNIMOD:259", "Label:13C(6)15N(2)", "8.014199");
} else if (ptmName.equalsIgnoreCase("Asparagine HexNAc")
|| ptmName.equalsIgnoreCase("Serine HexNAc")
|| ptmName.equalsIgnoreCase("Threonine HexNAc")) {
return new CvTerm("UNIMOD", "UNIMOD:43", "HexNAc", "203.079373");
} else if (ptmName.equalsIgnoreCase("Asparagine dHexHexNAc")) {
return new CvTerm("UNIMOD", "UNIMOD:143", "HexNAc(1)dHex(1)", "349.137281");
} else if (ptmName.equalsIgnoreCase("palmitoleyl of S")
|| ptmName.equalsIgnoreCase("palmitoleyl of C")
|| ptmName.equalsIgnoreCase("palmitoleyl of T")) {
return new CvTerm("UNIMOD", "UNIMOD:431", "Palmitoleyl", "236.214016");
} else if (ptmName.equalsIgnoreCase("CHD2-di-methylation of K")
|| ptmName.equalsIgnoreCase("CHD2-di-methylation of peptide n-term")) {
return new CvTerm("UNIMOD", "UNIMOD:199", "Dimethyl:2H(4)", "32.056407");
} else if (ptmName.equalsIgnoreCase("Maleimide-PEO2-Biotin of C")) {
return new CvTerm("UNIMOD", "UNIMOD:522", "Maleimide-PEO2-Biotin", "525.225719");
} else if (ptmName.equalsIgnoreCase("Uniblue A on K")) {
return null; //new CvTerm("MOD", "MOD:01659", "Uniblue A", "484.039891"); // note: not found in unimod...
} else if (ptmName.equalsIgnoreCase("trideuteration of L (SILAC)")) {
return new CvTerm("UNIMOD", "UNIMOD:262", "Label:2H(3)", "3.018830");
} else if (ptmName.equalsIgnoreCase("TMT duplex on K")
|| ptmName.equalsIgnoreCase("TMT duplex on K (old)")
|| ptmName.equalsIgnoreCase("TMT duplex on n-term peptide")
|| ptmName.equalsIgnoreCase("TMT duplex on n-term peptide (old)")) {
return new CvTerm("UNIMOD", "UNIMOD:738", "TMT2plex", "225.155833");
} else if (ptmName.equalsIgnoreCase("TMT 6-plex on K")
|| ptmName.equalsIgnoreCase("TMT 6-plex on K (old)")
|| ptmName.equalsIgnoreCase("TMT 6-plex on n-term peptide")
|| ptmName.equalsIgnoreCase("TMT 6-plex on n-term peptide (old)")) {
return new CvTerm("UNIMOD", "UNIMOD:737", "TMT6plex", "229.162932");
} else if (ptmName.equalsIgnoreCase("TMT 10-plex on K")
|| ptmName.equalsIgnoreCase("TMT 10-plex n-term")
|| ptmName.equalsIgnoreCase("TMT 10-plex n-term peptide")) {
return new CvTerm("UNIMOD", "UNIMOD:737", "TMT6plex", "229.162932"); // note: "Alt. Description Also applies to TMT10plex", i.e., no term for 10-plex
} else if (ptmName.equalsIgnoreCase("iTRAQ8plex:13C(7)15N(1) on nterm")
|| ptmName.equalsIgnoreCase("iTRAQ8plex:13C(7)15N(1) on K")
|| ptmName.equalsIgnoreCase("iTRAQ8plex:13C(7)15N(1) on Y")) {
return new CvTerm("UNIMOD", "UNIMOD:730", "iTRAQ8plex", "304.205360");
} else if (ptmName.equalsIgnoreCase("iTRAQ8plex:13C(6)15N(2) on nterm")
|| ptmName.equalsIgnoreCase("iTRAQ8plex:13C(6)15N(2) on K")
|| ptmName.equalsIgnoreCase("iTRAQ8plex:13C(6)15N(2) on Y")) {
return new CvTerm("UNIMOD", "UNIMOD:731", "iTRAQ8plex:13C(6)15N(2)", "304.199040");
} else if (ptmName.equalsIgnoreCase("selenocysteine")) {
return new CvTerm("UNIMOD", "UNIMOD:162", "Delta:S(-1)Se(1)", "47.944449");
} else if (ptmName.equalsIgnoreCase("carboxymethylated selenocysteine")) {
return null; // @TODO: no mapping found!!
}
return null;
}
/**
* Loads the PRIDE to PTM map from the user folder or creates a new one if
* the file is not present. Loads a default mapping if a PTM is not mapped.
*
* @param searchParameters the search parameters
* @return the PRIDE to PTM map
* @throws FileNotFoundException if a FileNotFoundException occurs
* @throws IOException if an IOException occurs
* @throws ClassNotFoundException if a ClassNotFoundException occurs
*
* @deprecated the CV term is now part of the PTM object
*/
public static PtmToPrideMap loadPtmToPrideMap(SearchParameters searchParameters) throws FileNotFoundException, IOException, ClassNotFoundException {
PrideObjectsFactory prideObjectsFactory = PrideObjectsFactory.getInstance();
PtmToPrideMap ptmToPrideMap = prideObjectsFactory.getPtmToPrideMap();
boolean changes = false;
PtmSettings modificationProfile = searchParameters.getPtmSettings();
for (String psPtm : modificationProfile.getAllModifications()) {
if (ptmToPrideMap.getCVTerm(psPtm) == null) {
CvTerm defaultCVTerm = PtmToPrideMap.getDefaultCVTerm(psPtm);
if (defaultCVTerm != null) {
ptmToPrideMap.putCVTerm(psPtm, defaultCVTerm);
changes = true;
}
}
}
if (changes) {
prideObjectsFactory.setPtmToPrideMap(ptmToPrideMap);
}
return ptmToPrideMap;
}
}