public void full_agg() { double max_monoisotopic_mass = TestExperimentalProteoform.starter_mass + TestExperimentalProteoform.missed_monoisotopics * Lollipop.MONOISOTOPIC_UNIT_MASS; double min_monoisotopic_mass = TestExperimentalProteoform.starter_mass - TestExperimentalProteoform.missed_monoisotopics * Lollipop.MONOISOTOPIC_UNIT_MASS; IEnumerable <NeuCodePair> neucodes = TestExperimentalProteoform.generate_neucode_components(TestExperimentalProteoform.starter_mass).OfType <NeuCodePair>(); List <Component> components = neucodes.Select(nc => nc.neuCodeLight).Concat(neucodes.Select(nc => nc.neuCodeHeavy)).ToList(); List <Component> quant_components = TestExperimentalProteoform.generate_neucode_quantitative_components(); //Must use Sweet.lol.remaining_components because ThreadStart only uses void methods //Must use Sweet.lol.remaining_components because ThreadStart only uses void methods Sweet.lollipop.neucode_labeled = true; Sweet.lollipop.input_files = new List <InputFile> { new InputFile("fake.txt", Purpose.Quantification) }; List <ExperimentalProteoform> vetted_quant = Sweet.lollipop.aggregate_proteoforms(true, neucodes, components, quant_components, 0); Assert.AreEqual(1, vetted_quant.Count); Assert.AreEqual(2, vetted_quant[0].aggregated.Count); Assert.AreEqual(2, vetted_quant[0].lt_verification_components.Count); Assert.AreEqual(2, vetted_quant[0].hv_verification_components.Count); Assert.AreEqual(1, vetted_quant[0].lt_quant_components.Count); Assert.AreEqual(1, vetted_quant[0].hv_quant_components.Count); Assert.AreEqual(2, quant_components.Count); Assert.AreEqual(0, Sweet.lollipop.remaining_quantification_components.Count); }
public void assign_quant_components_in_bounds_monoisotopic_tolerance() { double max_monoisotopic_mass = TestExperimentalProteoform.starter_mass + TestExperimentalProteoform.missed_monoisotopics * Lollipop.MONOISOTOPIC_UNIT_MASS; double min_monoisotopic_mass = TestExperimentalProteoform.starter_mass - TestExperimentalProteoform.missed_monoisotopics * Lollipop.MONOISOTOPIC_UNIT_MASS; IEnumerable <NeuCodePair> neucodes = TestExperimentalProteoform.generate_neucode_components(TestExperimentalProteoform.starter_mass).OfType <NeuCodePair>(); List <Component> quant_components = TestExperimentalProteoform.generate_neucode_quantitative_components(); // in bounds lowest monoisotopic error SaveState.lollipop.neucode_labeled = true; List <ExperimentalProteoform> pfs = SaveState.lollipop.createProteoforms(neucodes, neucodes, 0); List <ExperimentalProteoform> vetted_quant = SaveState.lollipop.assignQuantificationComponents(pfs, quant_components); Assert.AreEqual(1, vetted_quant.Count); Assert.AreEqual(2, vetted_quant[0].aggregated_components.Count); Assert.AreEqual(1, vetted_quant[0].lt_quant_components.Count); Assert.AreEqual(1, vetted_quant[0].hv_quant_components.Count); Assert.AreEqual(2, quant_components.Count); Assert.AreEqual(0, SaveState.lollipop.remaining_quantification_components.Count); }
public void full_agg_without_validation() { double max_monoisotopic_mass = TestExperimentalProteoform.starter_mass + TestExperimentalProteoform.missed_monoisotopics * Lollipop.MONOISOTOPIC_UNIT_MASS; double min_monoisotopic_mass = TestExperimentalProteoform.starter_mass - TestExperimentalProteoform.missed_monoisotopics * Lollipop.MONOISOTOPIC_UNIT_MASS; IEnumerable <NeuCodePair> neucodes = TestExperimentalProteoform.generate_neucode_components(TestExperimentalProteoform.starter_mass).OfType <NeuCodePair>(); List <Component> components = neucodes.Select(nc => nc.neuCodeLight).Concat(neucodes.Select(nc => nc.neuCodeHeavy)).ToList(); List <Component> quant_components = TestExperimentalProteoform.generate_neucode_quantitative_components(); //Must use Sweet.lol.remaining_components because ThreadStart only uses void methods Sweet.lollipop.neucode_labeled = true; Sweet.lollipop.decoy_proteoform_communities = new Dictionary <string, ProteoformCommunity> { { "1", new ProteoformCommunity() } }; Sweet.lollipop.input_files = new List <InputFile> { new InputFile("fake.txt", Purpose.Quantification) }; List <ExperimentalProteoform> vetted_quant = Sweet.lollipop.aggregate_proteoforms(false, neucodes, components, quant_components, 0); Assert.AreEqual(1, vetted_quant.Count); Assert.AreEqual(1, Sweet.lollipop.decoy_proteoform_communities.First().Value.experimental_proteoforms.Length); Assert.AreEqual(2, vetted_quant[0].aggregated.Count); Assert.AreEqual(0, vetted_quant[0].lt_verification_components.Count); Assert.AreEqual(0, vetted_quant[0].hv_verification_components.Count); Assert.AreEqual(1, vetted_quant[0].lt_quant_components.Count); Assert.AreEqual(1, vetted_quant[0].hv_quant_components.Count); Assert.AreEqual(2, quant_components.Count); Assert.AreEqual(0, Sweet.lollipop.remaining_quantification_components.Count); Sweet.lollipop.clear_aggregation(); Assert.True(Sweet.lollipop.decoy_proteoform_communities.All(x => x.Value.experimental_proteoforms.Length == 0)); Assert.IsEmpty(Sweet.lollipop.target_proteoform_community.experimental_proteoforms); Assert.IsEmpty(Sweet.lollipop.remaining_to_aggregate); Assert.IsEmpty(Sweet.lollipop.remaining_quantification_components); Assert.IsEmpty(Sweet.lollipop.remaining_verification_components); }