Пример #1
0
        public void HandleTerminalModificationNameTag()
        {
            const string sequence           = "SEQVENCE";
            var          modificationLookup = new BrnoModificationLookup(_elementProvider);

            ProFormaDescriptor descriptor = this.CreateBrnoDescriptor("ac");
            var term       = new ProFormaTerm(sequence, null, new[] { descriptor }, null, null);
            var proteoform = _factory.CreateProteoformGroup(term, modificationLookup);

            Assert.IsNull(proteoform.LocalizedModifications);
            Assert.IsNotNull(proteoform.NTerminalModification);
            Assert.IsNull(proteoform.CTerminalModification);

            // Residue masses plus modification plus water (approx)
            Assert.AreEqual(978.36, proteoform.GetMass(MassType.Monoisotopic), 0.01);
            Assert.AreEqual(978.98, proteoform.GetMass(MassType.Average), 0.01);

            // C terminal case
            term       = new ProFormaTerm(sequence, null, null, new[] { descriptor }, null);
            proteoform = _factory.CreateProteoformGroup(term, modificationLookup);

            Assert.IsNull(proteoform.LocalizedModifications);
            Assert.IsNull(proteoform.NTerminalModification);
            Assert.IsNotNull(proteoform.CTerminalModification);

            // Residue masses plus modification plus water (approx)
            Assert.AreEqual(978.36, proteoform.GetMass(MassType.Monoisotopic), 0.01);
            Assert.AreEqual(978.98, proteoform.GetMass(MassType.Average), 0.01);
        }
Пример #2
0
        public void HandleBadModificationName()
        {
            var modificationLookup = new BrnoModificationLookup(_elementProvider);

            var term = new ProFormaTerm("SEQVENCE", tags: new List <ProFormaTag>
            {
                new ProFormaTag(3, new[] { this.CreateBrnoDescriptor("wrong") })
            });

            Assert.Throws <ProteoformModificationLookupException>(() => _factory.CreateProteoformGroup(term, modificationLookup));
        }
Пример #3
0
        public void HandleModificationNameTag()
        {
            const string sequence           = "SEQVENCE";
            var          modificationLookup = new BrnoModificationLookup(_elementProvider);

            var term = new ProFormaTerm(sequence, tags: new List <ProFormaTag>
            {
                new ProFormaTag(3, new[] { this.CreateBrnoDescriptor("ac") })
            });
            var proteoform = _factory.CreateProteoformGroup(term, modificationLookup);

            Assert.IsNotNull(proteoform.LocalizedModifications);
            Assert.AreEqual(1, proteoform.LocalizedModifications.Count);
            Assert.AreEqual(3, ((IProteoformLocalizedModification)proteoform.LocalizedModifications.Single()).ZeroBasedStartIndex);

            // Residue masses plus modification plus water (approx)
            Assert.AreEqual(978.36, proteoform.GetMass(MassType.Monoisotopic), 0.01);
            Assert.AreEqual(978.98, proteoform.GetMass(MassType.Average), 0.01);
        }