public void FragmentNTermModTest() { _mockPeptideEveryAminoAcid.AddModification(new OldSchoolChemicalFormulaModification(ChemicalFormula.ParseFormula("O"), "lala", ModificationSites.NTerminus)); Fragment fragment = _mockPeptideEveryAminoAcid.Fragment(FragmentTypes.b, 1).First(); Assert.IsTrue(fragment.Modifications.SequenceEqual(new List <OldSchoolModification> { new OldSchoolChemicalFormulaModification(ChemicalFormula.ParseFormula("O"), "lala", ModificationSites.NTerminus) })); }
public void TestMultipleModificationsAtSingleResidue() { Peptide a = new Peptide("ACDEFGHIKLMNPQRSTVWY"); a.AddModification(new OldSchoolChemicalFormulaModification(ChemicalFormula.ParseFormula("O"), ModificationSites.D)); a.AddModification(new OldSchoolChemicalFormulaModification(ChemicalFormula.ParseFormula("H"), ModificationSites.D)); var products = a.Fragment(FragmentTypes.b | FragmentTypes.y, true); foreach (Fragment fragment in products) { } foreach (IHasChemicalFormula fragment in products) { } }
public void WriteMzmlTest() { var peptide = new Peptide("GPEAPPPALPAGAPPPCTAVTSDHLNSLLGNILR"); ChemicalFormulaModification carbamidomethylationOfCMod = new ChemicalFormulaModification("H3C2NO", "carbamidomethylation of C", ModificationSites.C); peptide.AddModification(carbamidomethylationOfCMod); DefaultMzSpectrum MS1 = createSpectrum(peptide.GetChemicalFormula(), 300, 2000, 1); DefaultMzSpectrum MS2 = createMS2spectrum(peptide.Fragment(FragmentTypes.b | FragmentTypes.y, true), 100, 1500); MsDataScan <IMzSpectrum <MzPeak> >[] Scans = new MsDataScan <IMzSpectrum <MzPeak> > [2]; Scans[0] = new MsDataScan <IMzSpectrum <MzPeak> >(1, MS1.newSpectrumApplyFunctionToX(b => b + 0.000001 * b + 0.000001), "spectrum 1", 1, false, Polarity.Positive, 1.0, new MzRange(300, 2000), "FTMS first spectrum", MZAnalyzerType.Unknown, 1, MS1.SumOfAllY); Scans[1] = new MsDataScan <IMzSpectrum <MzPeak> >(2, MS2.newSpectrumApplyFunctionToX(b => b + 0.00001 * b + 0.00001), "spectrum 2", 2, false, Polarity.Positive, 2.0, new MzRange(100, 1500), "FTMS second spectrum", MZAnalyzerType.Unknown, 1, MS2.SumOfAllY, "spectrum 1", 1134.26091302033, 3, 0.141146966879759, 1134.3, 1, DissociationType.Unknown, 1, 0.141146966879759, 1134.26091302033); var myMsDataFile = new FakeMsDataFile(@"myFakeFile.mzML", Scans); MzmlMethods.CreateAndWriteMyIndexedMZmlwithCalibratedSpectra(myMsDataFile, Path.Combine(Path.GetDirectoryName(myMsDataFile.FilePath), Path.GetFileNameWithoutExtension(myMsDataFile.FilePath)) + ".mzML"); Mzml okay = new Mzml(@"myFakeFile.mzML"); okay.Open(); okay.GetScan(2); Assert.AreEqual(1, okay.GetSpectrumNumber(1)); Assert.AreEqual(2, okay.GetSpectrumNumber(2)); }
public void TerminusModification() { Peptide pepA = new Peptide("DERLEK"); pepA.AddModification(new OldSchoolChemicalFormulaModification(ChemicalFormula.ParseFormula("SO")), Terminus.N); Assert.AreEqual("[OS]-DERLEK", pepA.ToString()); }
public void PeptideCountElements() { Peptide pep = new Peptide("G"); pep.AddModification(new OldSchoolModification(1)); Assert.AreEqual(5, pep.ElementCountWithIsotopes("H")); pep.AddModification(new OldSchoolChemicalFormulaModification(ChemicalFormula.ParseFormula("H{1}"))); Assert.AreEqual(5, pep.ElementCountWithIsotopes("H")); // NOTHING HAS BEEN ADDED! pep.AddModification(new OldSchoolChemicalFormulaModification(ChemicalFormula.ParseFormula("H{1}"), ModificationSites.G)); Assert.AreEqual(6, pep.ElementCountWithIsotopes("H")); Isotope isotope = PeriodicTable.GetElement("H").PrincipalIsotope; Assert.AreEqual(1, pep.SpecificIsotopeCount(isotope)); }
public void TestChemicalFormula2() { Peptide A = new Peptide("A"); OldSchoolModification a = new OldSchoolModification(1, "Modification without chemical formula", ModificationSites.A); A.AddModification(a); Assert.Throws <MzLibException>(() => { A.GetChemicalFormula(); }, "Modification Modification without chemical formula does not have a chemical formula!"); }
public void TestClearModifications() { Peptide a = new Peptide("ACDEFGHIKLMNPQRSTVWY"); a.AddModification(new OldSchoolChemicalFormulaModification(ChemicalFormula.ParseFormula("O"), ModificationSites.D)); a.AddModification(new OldSchoolChemicalFormulaModification(ChemicalFormula.ParseFormula("H"), ModificationSites.E)); Assert.AreEqual(2, a.ModificationCount()); a.ClearModifications(); Assert.AreEqual(0, a.ModificationCount()); a.AddModification(new OldSchoolChemicalFormulaModification(ChemicalFormula.ParseFormula("O"), ModificationSites.NTerminus)); a.AddModification(new OldSchoolModification(1), ModificationSites.TerminusC); Assert.AreEqual(2, a.ModificationCount()); a.Fragment(FragmentTypes.y); Peptide peptide = new Peptide("[C2H3NO]-LLL-[C2H3NO]"); ModificationSites ff = ModificationSites.NPep | ModificationSites.PepC; peptide.ClearModifications(ff); Assert.AreEqual("LLL", peptide.GetSequenceWithModifications()); }
public void ParseCTerminalChemicalFormulaWithLastResidueModStringRepresentation() { Peptide peptide = new Peptide("TTGSSSSSSSK[H2O]-[C2H3NO]"); Assert.AreEqual("TTGSSSSSSSK[H2O]-[C2H3NO]", peptide.GetSequenceWithModifications()); peptide.NTerminus = new ChemicalFormulaTerminus(ChemicalFormula.ParseFormula("N")); Assert.AreEqual("TTGSSSSSSSK[H2O]-[C2H3NO]", peptide.GetSequenceWithModifications()); ChemicalFormula formulaA = new ChemicalFormula(ChemicalFormula.ParseFormula("C39H70N14O23")); var formulaB = peptide.GetChemicalFormula(); Assert.AreEqual(formulaA, formulaB); peptide.AddModification(new ObjectWithMass100(), 0); Assert.AreEqual("[mass: 100]-TTGSSSSSSSK[H2O]-[C2H3NO]", peptide.GetSequenceWithModifications()); Assert.AreEqual(1, peptide.AddModification(new ObjectWithMass100(), Terminus.C)); Assert.AreEqual(3, peptide.ModificationCount()); Assert.AreEqual(0, peptide.ReplaceModification(new ObjectWithMass100(), new ObjectWithMass100())); Assert.That(() => peptide.ReplaceModification(null, new ObjectWithMass100()), Throws.TypeOf <MzLibException>() .With.Property("Message") .EqualTo("Cannot replace a null modification")); peptide.SetModification(new ObjectWithMass100(), new int[] { 1, 11 }); Assert.AreEqual(4, peptide.ModificationCount()); OldSchoolModification mod1 = new OldSchoolModification(5, "mass 5 on T", ModificationSites.T); peptide.SetModifications(new List <OldSchoolModification> { mod1 }); Assert.AreEqual(5, peptide.ModificationCount()); }
public void WriteMzmlTest() { var peptide = new Peptide("GPEAPPPALPAGAPPPCTAVTSDHLNSLLGNILR"); OldSchoolChemicalFormulaModification carbamidomethylationOfCMod = new OldSchoolChemicalFormulaModification(ChemicalFormula.ParseFormula("H3C2NO"), "carbamidomethylation of C", ModificationSites.C); peptide.AddModification(carbamidomethylationOfCMod); MzmlMzSpectrum MS1 = CreateSpectrum(peptide.GetChemicalFormula(), 300, 2000, 1); MzmlMzSpectrum MS2 = CreateMS2spectrum(peptide.Fragment(FragmentTypes.b | FragmentTypes.y, true), 100, 1500); IMzmlScan[] Scans = new IMzmlScan[2]; Scans[0] = new MzmlScan(1, MS1, 1, true, Polarity.Positive, 1.0, new MzRange(300, 2000), " first spectrum", MZAnalyzerType.Unknown, MS1.SumOfAllY, 1, "scan=1"); Scans[1] = new MzmlScanWithPrecursor(2, MS2, 2, true, Polarity.Positive, 2.0, new MzRange(100, 1500), " second spectrum", MZAnalyzerType.Unknown, MS2.SumOfAllY, 1134.26091302033, 3, 0.141146966879759, 1134.3, 1, DissociationType.Unknown, 1, 1134.26091302033, 1, "scan=2"); var myMsDataFile = new FakeMsDataFile(Scans); var oldFirstValue = myMsDataFile.GetOneBasedScan(1).MassSpectrum.FirstX; var secondScan = myMsDataFile.GetOneBasedScan(2) as IMsDataScanWithPrecursor <MzmlMzSpectrum>; Assert.AreEqual(1, secondScan.IsolationRange.Maximum - secondScan.IsolationRange.Minimum); MzmlMethods.CreateAndWriteMyMzmlWithCalibratedSpectra(myMsDataFile, "argh.mzML", false); Mzml okay = Mzml.LoadAllStaticData(@"argh.mzML"); okay.GetOneBasedScan(2); Assert.AreEqual(1, okay.GetClosestOneBasedSpectrumNumber(1)); Assert.AreEqual(2, okay.GetClosestOneBasedSpectrumNumber(2)); var newFirstValue = okay.GetOneBasedScan(1).MassSpectrum.FirstX; Assert.AreEqual(oldFirstValue.Value, newFirstValue.Value, 1e-9); var secondScan2 = okay.GetOneBasedScan(2) as IMsDataScanWithPrecursor <MzmlMzSpectrum>; Assert.AreEqual(1, secondScan2.IsolationRange.Maximum - secondScan2.IsolationRange.Minimum); secondScan2.MassSpectrum.ReplaceXbyApplyingFunction((a) => 44); Assert.AreEqual(44, secondScan2.MassSpectrum.LastX); }
public void TestFormulaTerminusMods() { var pep1 = new Peptide("ACDEFG"); pep1.AddModification(new OldSchoolChemicalFormulaModification(ChemicalFormula.ParseFormula("H"), ModificationSites.NTerminus)); Assert.IsTrue(pep1.Fragment(FragmentTypes.b, true).First() is IHasChemicalFormula); var pep2 = new Peptide("ACDEFG"); pep2.AddModification(new OldSchoolModification(2, "haha", ModificationSites.NTerminus)); Assert.IsFalse(pep2.Fragment(FragmentTypes.b, true).First() is IHasChemicalFormula); var pep3 = new Peptide("ACDEFG"); pep3.AddModification(new OldSchoolModification(3, "haha", ModificationSites.D)); var list = pep3.Fragment(FragmentTypes.b, true).ToList(); Assert.IsTrue(list[0] is IHasChemicalFormula); Assert.IsFalse(list[2] is IHasChemicalFormula); }