Exemplo n.º 1
0
        public void NegativeTest()
        {
            const string formula = "C(-2) O(3)";

            var composition = UnimodComposition.CreateFromFormula(formula, atomProvider);

            var cardinalities = composition.GetAtomCardinalities();

            Assert.AreEqual(2, cardinalities.Count);
            Assert.AreEqual(atomProvider.GetUnimodCompositionAtom("C"), cardinalities[0].Atom);
            Assert.AreEqual(-2, cardinalities[0].Count);
            Assert.AreEqual(atomProvider.GetUnimodCompositionAtom("O"), cardinalities[1].Atom);
            Assert.AreEqual(3, cardinalities[1].Count);
        }
Exemplo n.º 2
0
        public void FucoseTest()
        {
            const string formula = "dHex";

            var composition = UnimodComposition.CreateFromFormula(formula, atomProvider);

            var cardinalities = composition.GetAtomCardinalities();

            Assert.AreEqual(1, cardinalities.Count);
            Assert.AreEqual(atomProvider.GetUnimodCompositionAtom("dHex"), cardinalities[0].Atom);
            Assert.AreEqual(1, cardinalities[0].Count);

            var chemicalFormula = composition.GetChemicalFormula();

            Assert.AreEqual(146.057909, chemicalFormula.GetMass(MassType.Monoisotopic), 0.00001);
            Assert.AreEqual(146.1412, chemicalFormula.GetMass(MassType.Average), 0.001);
        }
Exemplo n.º 3
0
        public void WaterTest()
        {
            const string formula = "H(2) O";

            var composition = UnimodComposition.CreateFromFormula(formula, atomProvider);

            var cardinalities = composition.GetAtomCardinalities();

            Assert.AreEqual(2, cardinalities.Count);
            Assert.AreEqual(atomProvider.GetUnimodCompositionAtom("H"), cardinalities[0].Atom);
            Assert.AreEqual(2, cardinalities[0].Count);
            Assert.AreEqual(atomProvider.GetUnimodCompositionAtom("O"), cardinalities[1].Atom);
            Assert.AreEqual(1, cardinalities[1].Count);

            var chemicalFormula = composition.GetChemicalFormula();

            Assert.AreEqual(1.007825035 * 2 + 15.99491463, chemicalFormula.GetMass(MassType.Monoisotopic), 0.00001);
            Assert.AreEqual(1.00794 * 2 + 15.9994, chemicalFormula.GetMass(MassType.Average), 0.00001);
        }
Exemplo n.º 4
0
        public void IsotopeTest()
        {
            const string formula = "C(-9) 13C(9)";

            var composition   = UnimodComposition.CreateFromFormula(formula, atomProvider);
            var cardinalities = composition.GetAtomCardinalities();

            Assert.AreEqual(2, cardinalities.Count);
            Assert.AreEqual(atomProvider.GetUnimodCompositionAtom("C"), cardinalities[0].Atom);
            Assert.AreEqual(-9, cardinalities[0].Count);
            Assert.AreEqual(atomProvider.GetUnimodCompositionAtom("13C"), cardinalities[1].Atom);
            Assert.AreEqual(9, cardinalities[1].Count);

            IChemicalFormula chemicalFormula = composition.GetChemicalFormula();
            var elements = chemicalFormula.GetElements();

            Assert.AreEqual(2, elements.Count);
            Assert.AreEqual(-9, elements.Single(x => x.Entity.Symbol == "C").Count);
            Assert.AreEqual(9, elements.Single(x => x.Entity.Symbol == "13C").Count);
        }
Exemplo n.º 5
0
        public void SingleAtomTest()
        {
            var composition   = UnimodComposition.CreateFromFormula("C", atomProvider);
            var cardinalities = composition.GetAtomCardinalities();

            Assert.AreEqual(1, cardinalities.Count);
            Assert.AreEqual(atomProvider.GetUnimodCompositionAtom("C"), cardinalities[0].Atom);
            Assert.AreEqual(1, cardinalities[0].Count);

            composition   = UnimodComposition.CreateFromFormula("C(1)", atomProvider);
            cardinalities = composition.GetAtomCardinalities();

            Assert.AreEqual(1, cardinalities.Count);
            Assert.AreEqual(atomProvider.GetUnimodCompositionAtom("C"), cardinalities[0].Atom);
            Assert.AreEqual(1, cardinalities[0].Count);

            composition   = UnimodComposition.CreateFromFormula("C(100)", atomProvider);
            cardinalities = composition.GetAtomCardinalities();

            Assert.AreEqual(1, cardinalities.Count);
            Assert.AreEqual(atomProvider.GetUnimodCompositionAtom("C"), cardinalities[0].Atom);
            Assert.AreEqual(100, cardinalities[0].Count);
        }
Exemplo n.º 6
0
 public void InvalidArgumentsStrings()
 {
     Assert.Throws <ArgumentNullException>(() => UnimodComposition.CreateFromFormula(null, atomProvider));
     Assert.Throws <ArgumentNullException>(() => UnimodComposition.CreateFromFormula(string.Empty, atomProvider));
 }
Exemplo n.º 7
0
        /// <summary>
        /// Gets the chemical formula.
        /// </summary>
        /// <param name="modification">The modification.</param>
        /// <returns></returns>
        protected override IChemicalFormula GetChemicalFormula(UnimodModification modification)
        {
            var composition = UnimodComposition.CreateFromFormula(modification.DeltaComposition, _atomProvider);

            return(composition.GetChemicalFormula());
        }