예제 #1
0
        public void SequenceMassCalcTest()
        {
            // Test case that caused unexpected exception when O- was not parsed correctly.
            SequenceMassCalc.ParseModCounts(BioMassCalc.MONOISOTOPIC, "OO-HNHN", new Dictionary <string, int>());

            // Test normal function
            var sequence = "VEDELK";
            var calc     = new SequenceMassCalc(MassType.Monoisotopic);
            var expected = new List <KeyValuePair <double, double> >
            {
                new KeyValuePair <double, double>(366.69232575, 0.668595429107379),
                new KeyValuePair <double, double>(367.194009631186, 0.230439133647163),
                new KeyValuePair <double, double>(367.69569373213, 0.0384590257505838),
                new KeyValuePair <double, double>(367.694446060561, 0.017949871952498),
                new KeyValuePair <double, double>(367.19084355, 0.017192511410608),
                new KeyValuePair <double, double>(368.196128166749, 0.00616111554527541),
                new KeyValuePair <double, double>(367.692527431186, 0.00592559754703795),
                new KeyValuePair <double, double>(367.1954645, 0.00513890101333714),
                new KeyValuePair <double, double>(368.197384928765, 0.00425230800778248),
                new KeyValuePair <double, double>(367.697148381186, 0.00177118156340514),
                new KeyValuePair <double, double>(368.697813900475, 0.00101646716687999),
                new KeyValuePair <double, double>(368.19421153213, 0.00098894968507418),
                new KeyValuePair <double, double>(368.1929673, 0.000458171690211896),
                new KeyValuePair <double, double>(368.699089317816, 0.000360958912487784),
                new KeyValuePair <double, double>(368.19883248213, 0.000295600474962106),
                new KeyValuePair <double, double>(368.69657325, 0.000202295887934749),
                new KeyValuePair <double, double>(367.68936135, 0.000189469126984509),
                new KeyValuePair <double, double>(368.694649407319, 0.000157258059028779),
                new KeyValuePair <double, double>(369.199499540822, 0.000109802223366965),
                new KeyValuePair <double, double>(368.695902738459, 0.000109341412261551),
                new KeyValuePair <double, double>(369.198241127809, 7.04324061939316E-05),
                new KeyValuePair <double, double>(368.191045231186, 6.53027220564238E-05),
                new KeyValuePair <double, double>(368.700518794653, 3.19123118597943E-05),
                new KeyValuePair <double, double>(369.19633171026, 2.61321131972594E-05),
                new KeyValuePair <double, double>(369.699928636691, 1.13012567237636E-05),
                new KeyValuePair <double, double>(368.69272933213, 1.08986656450318E-05),
                new KeyValuePair <double, double>(367.69860325, 1.06303400612337E-05),
            };
            var actual = calc.GetMzDistribution(sequence, 2, IsotopeAbundances.Default).MassesSortedByAbundance();

            for (var i = 0; i < expected.Count; i++)
            {
                Assert.AreEqual(expected[i].Key, actual[i].Key, .0001);
                Assert.AreEqual(expected[i].Value, actual[i].Value, .0001);
            }
        }
예제 #2
0
        public void SequenceMassCalcTest()
        {
            // Test case that caused unexpected exception when O- was not parsed correctly.
            SequenceMassCalc.ParseModCounts(BioMassCalc.MONOISOTOPIC, "OO-HNHN", new Dictionary <string, int>());

            // Test normal function
            var sequence = new Target("VEDELK");
            var calc     = new SequenceMassCalc(MassType.Monoisotopic);
            var expected = new List <KeyValuePair <double, double> >
            {
                new KeyValuePair <double, double>(366.69232575, 0.668595429107379),
                new KeyValuePair <double, double>(367.194009631186, 0.230439133647163),
                new KeyValuePair <double, double>(367.69569373213, 0.0384590257505838),
                new KeyValuePair <double, double>(367.694446060561, 0.017949871952498),
                new KeyValuePair <double, double>(367.19084355, 0.017192511410608),
                new KeyValuePair <double, double>(368.196128166749, 0.00616111554527541),
                new KeyValuePair <double, double>(367.692527431186, 0.00592559754703795),
                new KeyValuePair <double, double>(367.1954645, 0.00513890101333714),
                new KeyValuePair <double, double>(368.197384928765, 0.00425230800778248),
                new KeyValuePair <double, double>(367.697148381186, 0.00177118156340514),
                new KeyValuePair <double, double>(368.697813900475, 0.00101646716687999),
                new KeyValuePair <double, double>(368.19421153213, 0.00098894968507418),
                new KeyValuePair <double, double>(368.1929673, 0.000458171690211896),
                new KeyValuePair <double, double>(368.699089317816, 0.000360958912487784),
                new KeyValuePair <double, double>(368.19883248213, 0.000295600474962106),
                new KeyValuePair <double, double>(368.69657325, 0.000202295887934749),
                new KeyValuePair <double, double>(367.68936135, 0.000189469126984509),
                new KeyValuePair <double, double>(368.694649407319, 0.000157258059028779),
                new KeyValuePair <double, double>(369.199499540822, 0.000109802223366965),
                new KeyValuePair <double, double>(368.695902738459, 0.000109341412261551),
                new KeyValuePair <double, double>(369.198241127809, 7.04324061939316E-05),
                new KeyValuePair <double, double>(368.191045231186, 6.53027220564238E-05),
                new KeyValuePair <double, double>(368.700518794653, 3.19123118597943E-05),
                new KeyValuePair <double, double>(369.19633171026, 2.61321131972594E-05),
                new KeyValuePair <double, double>(369.699928636691, 1.13012567237636E-05),
                new KeyValuePair <double, double>(368.69272933213, 1.08986656450318E-05),
                new KeyValuePair <double, double>(367.69860325, 1.06303400612337E-05),
            };
            var actual = calc.GetMzDistribution(sequence, Adduct.DOUBLY_PROTONATED, IsotopeAbundances.Default).MassesSortedByAbundance();

            for (var i = 0; i < expected.Count; i++)
            {
                Assert.AreEqual(expected[i].Key, actual[i].Key, .0001);
                Assert.AreEqual(expected[i].Value, actual[i].Value, .0001);
            }

            // Now try it with dimer
            actual   = calc.GetMzDistribution(sequence, Adduct.FromStringAssumeProtonated("[2M+H]"), IsotopeAbundances.Default).MassesSortedByAbundance();
            expected = new List <KeyValuePair <double, double> >
            {
                new KeyValuePair <double, double>(1463.74754654509, 0.446952046999841),
                new KeyValuePair <double, double>(1464.75091373569, 0.308094366214783),
                new KeyValuePair <double, double>(1465.75428096509, 0.104502495092047),
                new KeyValuePair <double, double>(1465.75177853495, 0.0241787720728353),
                new KeyValuePair <double, double>(1466.75765484084, 0.0235859617485415),
                new KeyValuePair <double, double>(1464.74458144349, 0.0229861821768609),
                new KeyValuePair <double, double>(1466.75514391842, 0.0166321763672613),
                new KeyValuePair <double, double>(1465.74794863409, 0.0158449061303438),
                new KeyValuePair <double, double>(1464.75382328909, 0.00693546665186705),
                new KeyValuePair <double, double>(1467.75850938071, 0.00562963106050384),
                new KeyValuePair <double, double>(1466.75131586349, 0.00537443201400792),
                new KeyValuePair <double, double>(1465.75719047969, 0.00478077730453152),
                new KeyValuePair <double, double>(1467.76104095438, 0.00404384128691872),
                new KeyValuePair <double, double>(1466.7605577091, 0.00162159134209772),
                new KeyValuePair <double, double>(1468.76187811107, 0.00125712562385447),
                new KeyValuePair <double, double>(1466.74882721349, 0.0012251401424684),
                new KeyValuePair <double, double>(1467.75468976295, 0.00121294105003981),
                new KeyValuePair <double, double>(1467.75219259911, 0.000842727179304581),
                new KeyValuePair <double, double>(1467.75603830967, 0.000586408980257825),
                new KeyValuePair <double, double>(1468.76444202787, 0.000567782385153248),
                new KeyValuePair <double, double>(1465.74161634189, 0.000548855573943895),
                new KeyValuePair <double, double>(1468.75939300441, 0.000398455807475131),
                new KeyValuePair <double, double>(1466.74498353249, 0.000378338820311423),
                new KeyValuePair <double, double>(1467.76392745102, 0.000362303274653099),
                new KeyValuePair <double, double>(1468.75555806299, 0.000285235413419449),
                new KeyValuePair <double, double>(1468.75807595161, 0.000207931538310744),
                new KeyValuePair <double, double>(1469.76526667317, 0.000206771603698575),
                new KeyValuePair <double, double>(1469.76274777416, 0.000133221073579107),
                new KeyValuePair <double, double>(1467.7483507619, 0.00012832870395677),
                new KeyValuePair <double, double>(1469.7678564138, 6.79035524187075E-05),
                new KeyValuePair <double, double>(1469.7589267626, 6.36963686931021E-05),
                new KeyValuePair <double, double>(1468.76730210576, 6.02445600328977E-05),
                new KeyValuePair <double, double>(1465.76010003309, 3.90471536916692E-05),
                new KeyValuePair <double, double>(1470.76607119395, 3.04466596822611E-05),
                new KeyValuePair <double, double>(1468.7530730878, 3.01473461225893E-05),
                new KeyValuePair <double, double>(1467.74586211189, 2.92534441292776E-05),
                new KeyValuePair <double, double>(1469.76147692291, 2.91999633188283E-05),
                new KeyValuePair <double, double>(1468.7517180868, 2.85070807700198E-05),
                new KeyValuePair <double, double>(1470.76865091652, 2.75751131620645E-05),
                new KeyValuePair <double, double>(1466.76346722369, 2.69161046467483E-05),
                new KeyValuePair <double, double>(1469.75642098879, 2.07496271610838E-05),
                new KeyValuePair <double, double>(1468.74922749751, 2.01223285414029E-05),
                new KeyValuePair <double, double>(1465.75598028509, 1.13541999955428E-05),
                new KeyValuePair <double, double>(1470.76230177139, 1.06228647668148E-05)
            };
            for (var i = 0; i < expected.Count; i++)
            {
                Assert.AreEqual(expected[i].Key, actual[i].Key, .0001);
                Assert.AreEqual(expected[i].Value, actual[i].Value, .0001);
            }
        }