Beispiel #1
0
        public void GenerateIsotopologues()
        {
            Peptide pep = new Peptide("DERLEK");
            var     a   = pep.GenerateAllModificationCombinations().ToArray();

            Assert.AreEqual(0, a.Count());
            var i = new ModificationWithMultiplePossibilitiesCollection("My Iso Mod", ModificationSites.E);

            i.AddModification(new OldSchoolModification(1, "My Mod1a", ModificationSites.E));
            i.AddModification(new OldSchoolModification(2, "My Mod2b", ModificationSites.E));
            pep.SetModification(i);
            var i2 = new ModificationWithMultiplePossibilitiesCollection("My Iso Mod2", ModificationSites.R);

            i2.AddModification(new OldSchoolModification(1, "My Mod2a", ModificationSites.R));
            i2.AddModification(new OldSchoolModification(2, "My Mod2b", ModificationSites.R));
            i2.AddModification(new OldSchoolModification(3, "My Mod2c", ModificationSites.R));
            pep.SetModification(i2);
            a = pep.GenerateAllModificationCombinations().ToArray();
            // Only 6 and not 12, because in the first modification, it is one choice that is substituted across all modification sites
            Assert.AreEqual(6, a.Count());
        }