public ExperimentalProteoform(string accession, ExperimentalProteoform temp, List <IAggregatable> candidate_observations, bool is_target, bool neucode_labeled) : base(accession) //this is for first mass of aggregate components. uses a temporary component { if (neucode_labeled) { NeuCodePair ncRoot = new NeuCodePair(); ncRoot.weighted_monoisotopic_mass = temp.agg_mass; ncRoot.intensity_sum = temp.agg_intensity; ncRoot.rt_apex = temp.agg_rt; ncRoot.lysine_count = temp.lysine_count; this.root = ncRoot; this.aggregated.AddRange(candidate_observations.Where(p => includes(p, this.root))); this.calculate_properties(); this.root = this.aggregated.OrderByDescending(a => a.intensity_sum).FirstOrDefault(); //reset root to component with max intensity } else { Component cRoot = new Component(); cRoot.weighted_monoisotopic_mass = temp.agg_mass; cRoot.intensity_sum = temp.agg_intensity; cRoot.rt_apex = temp.agg_rt; this.root = cRoot; this.aggregated.AddRange(candidate_observations.Where(p => includes(p, this.root))); calculate_properties(); this.root = this.aggregated.OrderByDescending(a => a.intensity_sum).FirstOrDefault(); //reset root to component with max intensity } }
private bool tolerable_lysCt(NeuCodePair candidate, int lysine_count) { int max_missed_lysines = Convert.ToInt32(SaveState.lollipop.missed_lysines); List <int> acceptable_lysineCts = Enumerable.Range(lysine_count - max_missed_lysines, max_missed_lysines * 2 + 1).ToList(); return(acceptable_lysineCts.Contains(candidate.lysine_count)); }
private bool tolerable_lysCt(NeuCodePair candidate, int lysine_count) { List <int> acceptable_lysineCts = Enumerable.Range(lysine_count - Sweet.lollipop.maximum_missed_lysines, Sweet.lollipop.maximum_missed_lysines * 2 + 1).ToList(); return(acceptable_lysineCts.Contains(candidate.lysine_count)); }