Esempio n. 1
0
        private int GetMassNumber(ILigand ligand)
        {
            var massNumber = ligand.LigandAtom.MassNumber;

            if (massNumber != null)
            {
                return(massNumber.Value);
            }
            return(factory.GetMajorIsotope(ligand.LigandAtom.Symbol).MassNumber.Value);
        }
Esempio n. 2
0
        /// <summary>
        /// Gets the element rank for a given element symbol as given in Bremser's publication.
        /// </summary>
        /// <param name="symbol">The element symbol for which the rank is to be determined</param>
        /// <returns>The element rank</returns>
        private double GetElementRank(string symbol)
        {
            for (int f = 0; f < rankedSymbols.Length; f++)
            {
                if (string.Equals(rankedSymbols[f], symbol, StringComparison.Ordinal))
                {
                    return(symbolRankings[f]);
                }
            }
            IIsotope isotope = isotopeFac.GetMajorIsotope(symbol);

            return((double)800000 - isotope.MassNumber ?? 0);
        }
Esempio n. 3
0
        /// <summary>
        /// Get the major isotope mass number for an element
        /// </summary>
        /// <param name="atomicNumber"></param>
        /// <returns></returns>

        public static int GetMajorIsotopeMassNumber(int atomicNumber)
        {
            int mass = 0;

            IsotopeFactory factory = XMLIsotopeFactory.Instance;
            IIsotope       major   = factory.GetMajorIsotope(atomicNumber);

            if (major.MassNumber != null)
            {
                return((int)major.MassNumber);
            }

            else
            {
                return(0);
            }
        }
Esempio n. 4
0
        public void TestValidBromine()
        {
            var spectrum = new List <double[]>
            {
                new double[] { 157.8367, 51.399 },
                new double[] { 159.8346, 100.00 },
                new double[] { 161.8326, 48.639 }
            };

            var rule       = new IsotopePatternRule();
            var parameters = new object[2];

            parameters[0]   = spectrum;
            parameters[1]   = 0.001;
            rule.Parameters = parameters;

            var formula = new MolecularFormula();

            formula.Add(ifac.GetMajorIsotope("C"), 2);
            formula.Add(ifac.GetMajorIsotope("Br"), 2);
            formula.Charge = 0;

            Assert.AreEqual(0.0, rule.Validate(formula), 0.0001);
        }
        public void TestIsValidSum_IMolecularFormula()
        {
            var formula = new MolecularFormula();

            formula.Add(ifac.GetMajorIsotope("C"), 1);
            formula.Add(ifac.GetMajorIsotope("H"), 100);

            List <IRule> rules = new List <IRule>
            {
                new MMElementRule()
            };

            MolecularFormulaChecker MFChecker = new MolecularFormulaChecker(rules);

            Assert.AreEqual(0.0, MFChecker.IsValidSum(formula), 0.001);
        }