public void Test_modification2_hash_set() { ModificationMotif.TryGetMotif("K", out ModificationMotif motif); ModificationWithLocation m1 = new ModificationWithLocation(null, new Tuple <string, string>("item1", "item2"), motif, ModificationSites.K, new Dictionary <string, IList <string> >(), "modificationType"); ModificationWithLocation m2 = new ModificationWithLocation(null, new Tuple <string, string>("item1", "item2"), motif, ModificationSites.K, new Dictionary <string, IList <string> >(), "modificationType"); m1.linksToOtherDbs.Add("key", new List <string> { "value" }); m2.linksToOtherDbs.Add("key", new List <string> { "value" }); HashSet <Modification> mods = new HashSet <Modification>(new Modification[] { m1, m2 }); Assert.True(m1.Equals(m2)); Assert.AreEqual(1, mods.Count); }
public void Test_modification2_hash_set() { ModificationMotif.TryGetMotif("K", out ModificationMotif motif); ModificationWithLocation m1 = new ModificationWithLocation("id1", "modificationType", motif, TerminusLocalization.Any, new Dictionary <string, IList <string> >()); ModificationWithLocation m2 = new ModificationWithLocation("id1", "modificationType", motif, TerminusLocalization.Any); m1.linksToOtherDbs.Add("key", new List <string> { "value" }); m2.linksToOtherDbs.Add("key", new List <string> { "value" }); HashSet <Modification> mods = new HashSet <Modification>(new Modification[] { m1, m2 }); Assert.True(m1.Equals(m2)); Assert.AreEqual(1, mods.Count); }
public void TestFullProteinReadWrite() { Modification mod = new Modification("mod1", "modType1"); ModificationMotif.TryGetMotif("E", out ModificationMotif motif); ModificationWithLocation mod2 = new ModificationWithLocation("mod2", "modType1", motif, TerminusLocalization.Any, null); ModificationMotif.TryGetMotif("N", out ModificationMotif motif3); ModificationWithMass mod3 = new ModificationWithMass("mod3", "modType1", motif3, TerminusLocalization.Any, 10, null, null, null); List <Tuple <string, string> > gene_names = new List <Tuple <string, string> > { new Tuple <string, string>("a", "b") }; IDictionary <int, List <Modification> > oneBasedModifications = new Dictionary <int, List <Modification> > { { 3, new List <Modification> { mod } }, { 4, new List <Modification> { mod2 } }, { 5, new List <Modification> { mod3 } } }; List <ProteolysisProduct> proteolysisProducts = new List <ProteolysisProduct> { new ProteolysisProduct(1, 2, "propeptide") }; string name = "testName"; string full_name = "testFullName"; List <DatabaseReference> databaseReferences = new List <DatabaseReference> { new DatabaseReference("type1", "id1", new List <Tuple <string, string> > { new Tuple <string, string>("e1", "e2") }) }; List <SequenceVariation> sequenceVariations = new List <SequenceVariation> { new SequenceVariation(3, "Q", "N", "replace Q by N"), new SequenceVariation(3, 4, "QE", "NN", "replace QE by NN") }; List <DisulfideBond> disulfideBonds = new List <DisulfideBond> { new DisulfideBond(1, "ds1"), new DisulfideBond(2, 3, "ds2") }; Protein p1 = new Protein("SEQENCE", "a1", gene_names: gene_names, oneBasedModifications: oneBasedModifications, proteolysisProducts: proteolysisProducts, name: name, full_name: full_name, isDecoy: false, isContaminant: true, databaseReferences: databaseReferences, sequenceVariations: sequenceVariations, disulfideBonds: disulfideBonds, databaseFilePath: Path.Combine(TestContext.CurrentContext.TestDirectory, @"bnueiwhf.xml")); // Generate data for files ProteinDbWriter.WriteXmlDatabase(new Dictionary <string, HashSet <Tuple <int, Modification> > >(), new List <Protein> { p1 }, Path.Combine(TestContext.CurrentContext.TestDirectory, @"bnueiwhf.xml")); IEnumerable <string> modTypesToExclude = new List <string>(); IEnumerable <Modification> allKnownModifications = new List <Modification>(); List <Protein> ok = ProteinDbLoader.LoadProteinXML(Path.Combine(TestContext.CurrentContext.TestDirectory, @"bnueiwhf.xml"), true, DecoyType.None, allKnownModifications, true, modTypesToExclude, out Dictionary <string, Modification> unknownModifications); Assert.AreEqual(p1.Accession, ok[0].Accession); Assert.AreEqual(p1.BaseSequence, ok[0].BaseSequence); Assert.AreEqual(p1.DatabaseReferences.First().Id, ok[0].DatabaseReferences.First().Id); Assert.AreEqual(p1.DatabaseReferences.First().Properties.First().Item1, ok[0].DatabaseReferences.First().Properties.First().Item1); Assert.AreEqual(p1.DatabaseReferences.First().Properties.First().Item2, ok[0].DatabaseReferences.First().Properties.First().Item2); Assert.AreEqual(p1.DatabaseReferences.First().Type, ok[0].DatabaseReferences.First().Type); Assert.AreEqual(p1.DisulfideBonds.First().Description, ok[0].DisulfideBonds.First().Description); Assert.AreEqual(p1.DisulfideBonds.First().OneBasedBeginPosition, ok[0].DisulfideBonds.First().OneBasedBeginPosition); Assert.AreEqual(p1.DisulfideBonds.First().OneBasedEndPosition, ok[0].DisulfideBonds.First().OneBasedEndPosition); Assert.AreEqual(p1.DisulfideBonds.Last().Description, ok[0].DisulfideBonds.Last().Description); Assert.AreEqual(p1.DisulfideBonds.Last().OneBasedBeginPosition, ok[0].DisulfideBonds.Last().OneBasedBeginPosition); Assert.AreEqual(p1.DisulfideBonds.Last().OneBasedEndPosition, ok[0].DisulfideBonds.Last().OneBasedEndPosition); Assert.AreEqual(p1.FullDescription, ok[0].FullDescription); Assert.AreEqual(p1.FullName, ok[0].FullName); Assert.AreEqual(p1.GeneNames, ok[0].GeneNames); Assert.AreEqual(p1.IsContaminant, ok[0].IsContaminant); Assert.AreEqual(p1.IsDecoy, ok[0].IsDecoy); Assert.AreEqual(p1.Length, ok[0].Length); Assert.AreEqual(p1.Name, ok[0].Name); Assert.AreEqual(p1.DatabaseFilePath, ok[0].DatabaseFilePath); Assert.AreEqual(p1.OneBasedPossibleLocalizedModifications[3][0], ok[0].OneBasedPossibleLocalizedModifications[3][0]); Assert.AreEqual(p1.OneBasedPossibleLocalizedModifications[3][0].id, ok[0].OneBasedPossibleLocalizedModifications[3][0].id); Assert.AreEqual(p1.OneBasedPossibleLocalizedModifications[3][0].modificationType, ok[0].OneBasedPossibleLocalizedModifications[3][0].modificationType); Assert.AreEqual(p1.OneBasedPossibleLocalizedModifications[4][0].id, ok[0].OneBasedPossibleLocalizedModifications[4][0].id); Assert.AreEqual(p1.OneBasedPossibleLocalizedModifications[4][0].modificationType, ok[0].OneBasedPossibleLocalizedModifications[4][0].modificationType); Assert.AreEqual((p1.OneBasedPossibleLocalizedModifications[4][0] as ModificationWithLocation).linksToOtherDbs, (ok[0].OneBasedPossibleLocalizedModifications[4][0] as ModificationWithLocation).linksToOtherDbs); Assert.AreEqual((p1.OneBasedPossibleLocalizedModifications[4][0] as ModificationWithLocation).motif, (ok[0].OneBasedPossibleLocalizedModifications[4][0] as ModificationWithLocation).motif); Assert.AreEqual((p1.OneBasedPossibleLocalizedModifications[4][0] as ModificationWithLocation).terminusLocalization, (ok[0].OneBasedPossibleLocalizedModifications[4][0] as ModificationWithLocation).terminusLocalization); Assert.AreEqual((p1.OneBasedPossibleLocalizedModifications[5][0] as ModificationWithMass).diagnosticIons, (ok[0].OneBasedPossibleLocalizedModifications[5][0] as ModificationWithMass).diagnosticIons); Assert.AreEqual((p1.OneBasedPossibleLocalizedModifications[5][0] as ModificationWithMass).neutralLosses, (ok[0].OneBasedPossibleLocalizedModifications[5][0] as ModificationWithMass).neutralLosses); Assert.AreEqual((p1.OneBasedPossibleLocalizedModifications[5][0] as ModificationWithMass).monoisotopicMass, (ok[0].OneBasedPossibleLocalizedModifications[5][0] as ModificationWithMass).monoisotopicMass); Assert.AreEqual(p1.ProteolysisProducts.First().OneBasedBeginPosition, ok[0].ProteolysisProducts.First().OneBasedBeginPosition); Assert.AreEqual(p1.ProteolysisProducts.First().OneBasedEndPosition, ok[0].ProteolysisProducts.First().OneBasedEndPosition); Assert.AreEqual(p1.ProteolysisProducts.First().Type, ok[0].ProteolysisProducts.First().Type); Assert.AreEqual(p1.SequenceVariations.First().Description, ok[0].SequenceVariations.First().Description); Assert.AreEqual(p1.SequenceVariations.First().OneBasedBeginPosition, ok[0].SequenceVariations.First().OneBasedBeginPosition); Assert.AreEqual(p1.SequenceVariations.First().OneBasedEndPosition, ok[0].SequenceVariations.First().OneBasedEndPosition); Assert.AreEqual(p1.SequenceVariations.First().OriginalSequence, ok[0].SequenceVariations.First().OriginalSequence); Assert.AreEqual(p1.SequenceVariations.First().VariantSequence, ok[0].SequenceVariations.First().VariantSequence); Assert.AreEqual(p1.SequenceVariations.Last().Description, ok[0].SequenceVariations.Last().Description); Assert.AreEqual(p1.SequenceVariations.Last().OneBasedBeginPosition, ok[0].SequenceVariations.Last().OneBasedBeginPosition); Assert.AreEqual(p1.SequenceVariations.Last().OneBasedEndPosition, ok[0].SequenceVariations.Last().OneBasedEndPosition); Assert.AreEqual(p1.SequenceVariations.Last().OriginalSequence, ok[0].SequenceVariations.Last().OriginalSequence); Assert.AreEqual(p1.SequenceVariations.Last().VariantSequence, ok[0].SequenceVariations.Last().VariantSequence); }