Beispiel #1
0
        public override IEnumerable <string> Process(string filename)
        {
            var parser = new OutParser();

            string resultFilename;

            if (null == this.targetDir)
            {
                resultFilename = FileUtils.ChangeExtension(filename, ".xml");
            }
            else
            {
                resultFilename = targetDir + "/" + FileUtils.ChangeExtension(new FileInfo(filename).Name, ".xml");
            }


            using (PepXmlWriter writer = new PepXmlWriter("out"))
            {
                writer.Open(resultFilename);

                writer.OpenMsmsRunSummary(filename);

                SequestParam sp = new SequestParamFile().ReadFromFile(filename);

                writer.WriteSequestParam(sp);

                using (var reader = new OutsReader(filename))
                {
                    int totalCount = reader.FileCount;
                    Progress.SetRange(0, totalCount);
                    int currentCount = 0;

                    while (reader.HasNext)
                    {
                        if (Progress.IsCancellationPending())
                        {
                            throw new UserTerminatedException();
                        }

                        List <string>       contents = reader.NextContent();
                        IIdentifiedSpectrum sph      = parser.Parse(contents);
                        if (sph == null)
                        {
                            continue;
                        }

                        writer.WriteSequestPeptideHit(sph);

                        currentCount++;
                        Progress.SetPosition(currentCount);
                    }
                    Progress.SetPosition(totalCount);
                }
                writer.CloseMsmsRunSummary();
            }

            return(new[] { resultFilename });
        }
        public SilacResultSplitter(string lightParamFile, string heavyParamFile)
        {
            SequestParamFile paramFile = new SequestParamFile();
            SequestParam     light     = paramFile.ReadFromFile(@"F:\sqh\Project\wuyibo\Light.params");
            SequestParam     heavy     = paramFile.ReadFromFile(@"F:\sqh\Project\wuyibo\Heavy.params");

            this.lightCalc = light.GetPeptideMassCalculator();
            this.heavyCalc = heavy.GetPeptideMassCalculator();
        }