コード例 #1
0
        /// <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);
        }
コード例 #2
0
        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);
        }