Пример #1
0
        public void Setup()
        {
            //_elementProvider = new MockElementProvider();
            NistElementParser parser = new NistElementParser();

            IElement[] elements = parser.ParseFile(Path.Combine(TestContext.CurrentContext.TestDirectory, "TestData", "elements.dat")).ToArray();
            _elementProvider = new InMemoryElementProvider(elements);

            this.SetupUnimod();
            this.SetupResid();
            this.SetupPsiMod();
            this.SetupUniProt();
            this.SetupFormula();
        }
Пример #2
0
        public void LoadEntireFile()
        {
            var parser   = new NistElementParser();
            var elements = parser.ParseFile(Path.Combine(TestContext.CurrentContext.TestDirectory, "TestData", "elements.dat"));

            Assert.IsNotNull(elements);
            Assert.AreEqual(84, elements.Count); // Only count elements with isotope abundances

            var h = elements.Single(x => x.AtomicNumber == 1);

            Assert.AreEqual("H", h.Symbol);
            Assert.AreEqual(2, h.Isotopes.Count);
            var h1 = h.Isotopes.Single(x => x.AtomicMass < 2);

            Assert.AreEqual(1.00782503223, h1.AtomicMass);
            Assert.AreEqual(0.999885, h1.RelativeAbundance);
            var h2 = h.Isotopes.Single(x => x.AtomicMass > 2);

            Assert.AreEqual(2.01410177812, h2.AtomicMass);
            Assert.AreEqual(0.000115, h2.RelativeAbundance);

            var c   = elements.Single(x => x.AtomicNumber == 6);
            var c12 = c.Isotopes.Single(x => Math.Round(x.AtomicMass) == 12);

            Assert.AreEqual(6, c12.NeutronCount);
            var c13 = c.Isotopes.Single(x => Math.Round(x.AtomicMass) == 13);

            Assert.AreEqual(7, c13.NeutronCount);

            var ru = elements.Single(x => x.AtomicNumber == 44);

            Assert.AreEqual("Ru", ru.Symbol);
            Assert.AreEqual(7, ru.Isotopes.Count);

            var xe = elements.Single(x => x.AtomicNumber == 54);

            Assert.AreEqual("Xe", xe.Symbol);
            Assert.AreEqual(9, xe.Isotopes.Count);

            var u = elements.Single(x => x.AtomicNumber == 92);

            Assert.AreEqual("U", u.Symbol);
            Assert.AreEqual(3, u.Isotopes.Count);
        }
Пример #3
0
        public void Setup()
        {
            var unimodOboParser = new UnimodOboParser();

            UnimodModification[] modifications = unimodOboParser.Parse(UnimodTest.GetUnimodFilePath()).ToArray();

            NistElementParser nistParser = new NistElementParser();

            IElement[] elements = nistParser.ParseFile(Path.Combine(TestContext.CurrentContext.TestDirectory, "TestData", "elements.dat")).ToArray();
            _elementProvider = new InMemoryElementProvider(elements);

            _residueProvider = new IupacAminoAcidProvider(_elementProvider);
            var atomProvider = new UnimodHardCodedAtomProvider(_elementProvider);

            _lookup = new CompositeModificationLookup(new IProteoformModificationLookup[]
            {
                UnimodModificationLookup.CreateFromModifications(modifications, atomProvider),
                new FormulaLookup(_elementProvider),
                new MassLookup(),
                new BrnoModificationLookup(_elementProvider),
                new IgnoreKeyModificationLookup(ProFormaKey.Info),
            });

            ProFormaParser         proFormaParser         = new ProFormaParser();
            ProteoformGroupFactory proteoformGroupFactory = new ProteoformGroupFactory(_elementProvider, _residueProvider);

            var mapper = new RelayAccessionMapper(d =>
            {
                if (d == "B:ac")
                {
                    return(Tuple.Create(ProFormaEvidenceType.PsiMod, "MOD:00394")); // acetylated residue
                }
                return(Tuple.Create(ProFormaEvidenceType.None, d));
            });

            var parser  = new UniProtPtmListParser();
            var entries = parser.Parse(File.ReadAllText(UniProtTests.GetPtmListPath())).ToList();

            _chemicalProteoformHashGenerator = new ChemicalProteoformHashGenerator(proFormaParser, proteoformGroupFactory, _lookup, mapper);
        }