Exemplo n.º 1
0
        public override IEnumerable <string> Process(string filename)
        {
            string msLevelFilename = filename + ".msLevel";

            using (IRawFile rawFile = new RawFileImpl(filename))
            {
                using (var sw = new StreamWriter(msLevelFilename))
                {
                    int firstScan = rawFile.GetFirstSpectrumNumber();
                    int lastScan  = rawFile.GetLastSpectrumNumber();
                    Progress.SetRange(rawFile.GetFirstSpectrumNumber(), rawFile.GetLastSpectrumNumber());
                    Progress.SetMessage("Processing " + filename + "...");

                    sw.WriteLine("Scan\tMsLevel");
                    for (int scan = firstScan; scan <= lastScan; scan++)
                    {
                        if (Progress.IsCancellationPending())
                        {
                            throw new UserTerminatedException();
                        }

                        sw.WriteLine(scan + "\t" + rawFile.GetMsLevel(scan));
                        Progress.SetPosition(scan);
                    }

                    Progress.SetPosition(lastScan);
                    Progress.SetMessage("Processing " + filename + " finished.");
                }
            }

            return(new[] { msLevelFilename });
        }
Exemplo n.º 2
0
        public override IEnumerable <string> Process(string fileName)
        {
            string resultFilename = fileName + ".tic";

            if (ignoreWhenResultExist && File.Exists(resultFilename))
            {
                return(new string[] { resultFilename });
            }

            using (IRawFile reader = new RawFileImpl(fileName))
            {
                Progress.SetMessage(MyConvert.Format("Processing {0} ...", new FileInfo(fileName).Name));

                using (StreamWriter sw = new StreamWriter(resultFilename))
                {
                    sw.WriteLine("Scan\tMode\tPrecursor\tTIC");
                    int firstScan = reader.GetFirstSpectrumNumber();
                    int lastScan  = reader.GetLastSpectrumNumber();

                    Progress.SetRange(firstScan, lastScan);
                    for (int i = firstScan; i <= lastScan; i++)
                    {
                        if (Progress.IsCancellationPending())
                        {
                            sw.Close();
                            File.Delete(resultFilename);

                            throw new UserTerminatedException();
                        }

                        if (1 == reader.GetMsLevel(i))
                        {
                            continue;
                        }

                        PeakList <Peak> pkl       = reader.GetPeakList(i);
                        Peak            precursor = reader.GetPrecursorPeak(i);

                        double tic = (from p in pkl
                                      select p.Intensity).Sum();

                        string mode = reader.GetScanMode(i);
                        sw.WriteLine("{0}\t{1}\t{2:0.0000}\t{3:0.0}", i, mode.ToUpper(), precursor.Mz, tic);

                        Progress.SetPosition(i);
                    }
                    Progress.End();
                }
                Progress.SetMessage(MyConvert.Format("Processing {0} finished.", new FileInfo(fileName).Name));
            }

            return(new string[] { resultFilename });
        }