示例#1
0
        public void ModificationWithMultiplePossibilitiesTest()
        {
            var m = new ModificationWithMultiplePossibilitiesCollection("My Iso Mod", ModificationSites.E);

            m.AddModification(new OldSchoolModification(1, "My Mod1a", ModificationSites.E));
            m.AddModification(new OldSchoolModification(2, "My Mod2b", ModificationSites.E));
            Assert.AreEqual(2, m.Count);
            Assert.AreEqual("My Mod2b", m[1].Name);
            Assert.Throws <ArgumentException>(() => { m.AddModification(new OldSchoolModification(1, "gg", ModificationSites.R)); }, "Unable to add a modification with sites other than ModificationSites.E");
            Assert.IsTrue(m.Contains(new OldSchoolModification(2, "My Mod2b", ModificationSites.E)));
            double      kk = 0;
            IEnumerable a  = m;

            foreach (var b in a)
            {
                kk += (b as OldSchoolModification).MonoisotopicMass;
            }
            Assert.AreEqual(3, kk);
        }
示例#2
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());
        }