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); }
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)); }
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); }