private void SetupUniProt() { var parser = new UniProtPtmListParser(); UniprotModification[] modifications = parser.Parse(File.ReadAllText(UniProtTests.GetPtmListPath())).ToArray(); _uniProtMod312 = modifications.Single(x => x.Id == "PTM-0312"); //_uniProtModLookup = UniProtModificationLookup.CreateFromModifications(new[] { _uniProtMod312 }, // _elementProvider); _uniProtModLookup = UniProtModificationLookup.CreateFromModifications(modifications, _elementProvider); }
public void BasicModificationFileParse() { var parser = new UniProtPtmListParser(); var entries = parser.Parse(File.ReadAllText(GetPtmListPath())).ToList(); Assert.AreEqual(676, entries.Count); // Make sure we parse first and last var mod0 = entries[0]; var mod675 = entries[675]; Assert.AreEqual("(2-aminosuccinimidyl)acetic acid (Asn-Gly)", mod0.Name); Assert.AreEqual("S-linked (HexNAc...) cysteine", mod675.Name); // Confirm missing Resid, Unimod, and PSI-MOD mappings Assert.IsNull(mod675.Resid); Assert.IsNull(mod675.Unimod); Assert.IsNull(mod675.PsiMod); UniprotModification mod3 = entries[3]; Assert.AreEqual("(3R)-3-hydroxyasparagine", mod3.Identifier); Assert.AreEqual("PTM-0369", mod3.Accession); Assert.AreEqual(UniprotFeatureType.ModifiedResidue, mod3.FeatureKey); Assert.AreEqual("Asparagine", mod3.Target); Assert.AreEqual("Amino acid side chain", mod3.AminoAcidPosition); Assert.AreEqual("Anywhere", mod3.PolypeptidePosition); Assert.AreEqual("O1", mod3.CorrectionFormula); Assert.AreEqual(15.994915, mod3.MonoisotopicMassDifference); Assert.AreEqual(16.00, mod3.AverageMassDifference); Assert.AreEqual("Intracellular localisation or Extracellular and lumenal localisation", mod3.CellularLocation); Assert.AreEqual(1, mod3.TaxonomicRanges.Count); Assert.AreEqual("Eukaryota; taxId:40674 (Mammalia)", mod3.TaxonomicRanges.Single()); Assert.AreEqual(1, mod3.Keywords.Count); Assert.AreEqual("Hydroxylation", mod3.Keywords.Single()); Assert.AreEqual("AA0026", mod3.Resid); Assert.AreEqual("MOD:00035", mod3.PsiMod); Assert.AreEqual("35", mod3.Unimod); }
public void Setup() { var unimodOboParser = new UnimodOboParser(); UnimodModification[] modifications = unimodOboParser.Parse(UnimodTest.GetUnimodFilePath()).ToArray(); NistElementParser nistParser = new NistElementParser(); IElement[] elements = nistParser.ParseFile(Path.Combine(TestContext.CurrentContext.TestDirectory, "TestData", "elements.dat")).ToArray(); _elementProvider = new InMemoryElementProvider(elements); _residueProvider = new IupacAminoAcidProvider(_elementProvider); var atomProvider = new UnimodHardCodedAtomProvider(_elementProvider); _lookup = new CompositeModificationLookup(new IProteoformModificationLookup[] { UnimodModificationLookup.CreateFromModifications(modifications, atomProvider), new FormulaLookup(_elementProvider), new MassLookup(), new BrnoModificationLookup(_elementProvider), new IgnoreKeyModificationLookup(ProFormaKey.Info), }); ProFormaParser proFormaParser = new ProFormaParser(); ProteoformGroupFactory proteoformGroupFactory = new ProteoformGroupFactory(_elementProvider, _residueProvider); var mapper = new RelayAccessionMapper(d => { if (d == "B:ac") { return(Tuple.Create(ProFormaEvidenceType.PsiMod, "MOD:00394")); // acetylated residue } return(Tuple.Create(ProFormaEvidenceType.None, d)); }); var parser = new UniProtPtmListParser(); var entries = parser.Parse(File.ReadAllText(UniProtTests.GetPtmListPath())).ToList(); _chemicalProteoformHashGenerator = new ChemicalProteoformHashGenerator(proFormaParser, proteoformGroupFactory, _lookup, mapper); }