/// <summary> /// Returns imputed intensities for a certain condition for biological replicates this proteoform was not observed in. /// </summary> /// <param name="observedBftIntensities"></param> /// <param name="bkgdAverageIntensity"></param> /// <param name="bkgdStDev"></param> /// <param name="condition"></param> /// <param name="bioreps"></param> /// <returns></returns> public static List <BiorepIntensity> imputedIntensities(IEnumerable <BiorepIntensity> observedBioreps, decimal bkgdAverageIntensity, decimal bkgdStDev, string condition, List <string> bioreps, bool useRandomSeed, Random seeded) { //bkgdAverageIntensity is log base 2 //bkgdStDev is log base 2 return(( from biorep in bioreps where !observedBioreps.Any(k => k.condition == condition && k.biorep == biorep) select new BiorepIntensity(true, biorep, condition, QuantitativeProteoformValues.imputed_intensity(bkgdAverageIntensity, bkgdStDev, useRandomSeed, seeded))) .ToList()); }
/// <summary> /// Returns imputed intensities for a certain condition for biological replicates this proteoform was not observed in. /// </summary> /// <param name="observedBioreps"></param> /// <param name="bkgdAverageIntensity"></param> /// <param name="bkgdStDev"></param> /// <param name="condition"></param> /// <param name="bioreps"></param> /// <returns></returns> public static List <BiorepTechrepIntensity> imputedIntensities(List <BiorepTechrepIntensity> observedBioreps, IEnumerable <InputFile> files, decimal bkgdAverageIntensity, decimal bkgdStDev, string condition, List <string> bioreps, bool useRandomSeed, Random seeded) { //bkgdAverageIntensity is log base 2 //bkgdStDev is log base 2 List <Tuple <string, string> > bt = files.Select(x => new Tuple <string, string>(x.biological_replicate, x.technical_replicate)).Distinct().ToList(); return(( from x in bt where !observedBioreps.Any(k => k.condition == condition && k.biorep == x.Item1 && k.techrep == x.Item2) select new BiorepTechrepIntensity(true, x.Item1, condition, x.Item2, QuantitativeProteoformValues.imputed_intensity(bkgdAverageIntensity, bkgdStDev, useRandomSeed, seeded))) .ToList()); }