/// <summary> /// The Thermo decon result filename is assumed to be the same as the spectra file name /// </summary> private static AnnotatedSpecies GetThermoDeconSpecies(string line, StreamReader reader, string fileName) { string[] items = line.Split(ItemDelimiter); int numCharges = int.Parse(items[3]); // TODO: get this from header, not hardcoded List <int> chargeList = new List <int>(); double mass = double.Parse(items[MonoisotopicMassColumn]); string speciesName = items[SpeciesNameColumn] + " (" + mass.ToString("F1") + ")"; double apexRt = double.Parse(items[RetentionTimeColumn]); string rtRange = items[FeatureRtStartColumn]; double rtStart = double.Parse(rtRange.Split('-')[0].Trim()); double rtEnd = double.Parse(rtRange.Split('-')[1].Trim()); for (int i = 0; i < numCharges + 1; i++) { var nextLine = reader.ReadLine(); var chargeLineSplit = nextLine.Split(ItemDelimiter); if (chargeLineSplit[1].Trim().Equals("Charge State", StringComparison.OrdinalIgnoreCase)) { continue; } chargeList.Add(int.Parse(chargeLineSplit[1])); } var deconFeature = new DeconvolutionFeature(mass, apexRt, rtStart, rtEnd, chargeList, fileName); var species = new AnnotatedSpecies(deconFeature); species.DeconvolutionFeature = deconFeature; return(species); }
private static AnnotatedSpecies GetFlashDeconvSpecies(string line) { string[] items = line.Split(ItemDelimiter); string identifier = items[SpeciesNameColumn]; double mass = double.Parse(items[MonoisotopicMassColumn]); int minChargeState = int.Parse(items[MinChargeColumn]); int maxChargeState = int.Parse(items[MaxChargeColumn]); var chargeList = Enumerable.Range(minChargeState, maxChargeState - minChargeState + 1).ToList(); double apexRt = double.Parse(items[RetentionTimeColumn]) / 60; double rtStart = double.Parse(items[FeatureRtStartColumn]) / 60; double rtEnd = double.Parse(items[FeatureRtEndColumn]) / 60; string fileName = items[SpectraFileNameColumn]; var deconFeature = new DeconvolutionFeature(mass, apexRt, rtStart, rtEnd, chargeList, fileName); var species = new AnnotatedSpecies(deconFeature); species.DeconvolutionFeature = deconFeature; return(species); }