//overload: peptide to peptide case private List <Stoichiometry> calcStoichiometry(Peptide pep1, Peptide pep2, string group) { List <Stoichiometry> stoich = new List <Stoichiometry>(); List <Intensity> Pep1Intensity = pep1.Intensities.Where(p => p.GroupID == group).ToList(); List <Intensity> Pep2Intensity = pep2.Intensities.Where(p => p.GroupID == group).ToList(); foreach (Intensity i1 in Pep1Intensity) { Intensity i2 = Pep2Intensity.Where(p => p.FileName == i1.FileName).ToList()[0]; Stoichiometry calcStoich = new Stoichiometry(i1, i2); if (i1.IntensityVal > 0 || i2.IntensityVal > 0) { stoich.Add(calcStoich); } } return(stoich); }
//calculate stoichiometries for all intensities private List <Stoichiometry> calcStoichiometry(Peptide pep, string group, List <Intensity> baselineIntensity) { List <Stoichiometry> stoich = new List <Stoichiometry>(); List <Intensity> PepIntensity = pep.Intensities.Where(p => p.GroupID == group).ToList(); //intensities pep1 for group of interest List <Intensity> baselineGroupIntensity = baselineIntensity.Where(p => p.GroupID == group).ToList(); double baseline = baselineGroupIntensity.Select(p => p.IntensityVal).Median(); foreach (Intensity i1 in PepIntensity) { Stoichiometry calcStoich = new Stoichiometry(i1, baseline); //if (calcStoich.usefulStoichiometry) //{ stoich.Add(new Stoichiometry(i1, baseline)); //} } return(stoich); }