예제 #1
0
        public override void Run()
        {
            IDoubleDigestionPeptidesSearchRun pepRunner = new DoubleDigestionFastaSearchRunPeptides();

            pepRunner.SetPeptideCreator(new NGlycosylationPeptideCreator(new DoubleDigestionPeptideCreator()));
            IPeptideCreatorParameter parameter = new GeneralPeptideCreatorParameter(Proteases.Trypsin, 2, 7);;

            pepRunner.AddPeptideParameter(parameter);
            //parameter = new GeneralPeptideCreatorParameter(Proteases.GluC, 2, 7);
            //pepRunner.AddPeptideParameter(parameter);

            List <IPeptide> peptides = pepRunner.Run(@"C:\Users\iruiz\Downloads\Human_ReviewedCanonical_20201Entries_25thJuly_2017.fasta");

            IGlycanCreator glyRunner = new BruteForceNGlycanCreator();
            List <IGlycan> glycans   = glyRunner.Generate();
            //IGlycanGenerator glyRunner = new SimpleGlycanGenerator();
            //List<IGlycan> glycans = glyRunner.Generate();

            ThermoRawSearchRunSpectrum specRunner = new ThermoRawSearchRunSpectrum();

            //specRunner.Run(@"C:\Users\iruiz\Downloads\ZC_20171218_H95_R1.raw");
            specRunner.Run(@"C:\Users\iruiz\Downloads\1.raw");
            //specRunner.Run(@"C:\Users\rz20\Downloads\1.raw");
            Console.Write("scan, ");
            Console.Write("peptide, ");
            Console.Write("glycan, ");
            Console.Write("score, ");
            Console.Write("mz, ");
            Console.WriteLine("charge");
            var watch = new System.Diagnostics.Stopwatch();

            watch.Start();


            IMonoMassSpectrumRun monoRunner    = new BinSearchMonoMassSpectrumRun();
            double            pretol           = 20;
            IPrecursorMatcher precursorMatcher = new Y1PeptidesFilterPrecursorMatcher(
                new GlycoPeptidePrecursorMatcher(peptides, glycans, pretol), peptides);
            IGlycoPeptideScoreFactory searchRunner = new DPSearchSpectrumCID();

            for (int i = 10621; i < 10628; i++)
            //for (int i = 1; i < specRunner.GetLastScan(); i++)
            {
                ISpectrum spectrum = specRunner.GetSpectrum(i);

                if (spectrum.GetMSnOrder() == 1)
                {
                    monoRunner.SetMS1Spectrum(spectrum);
                    continue;
                }

                if ((spectrum as ISpectrumMSn).GetActivation() != TypeOfMSActivation.CID)
                {
                    continue;
                }

                ISpectrumProcessing processor = new GeneralPeakPickingSpectrumProcessing();
                processor.Process(spectrum);

                monoRunner.Run(spectrum as ISpectrumMSn);
                double mass = monoRunner.GetMonoMass();

                List <IGlycoPeptide> glycoPeptides = precursorMatcher.Match(spectrum, mass);

                searchRunner.Search(spectrum, glycoPeptides);
                IGlycoPeptideScoreResultProduct result = searchRunner.GetResult();
                result.MaxScore();

                result.Report("test.txt");
            }

            watch.Stop();
            Console.WriteLine($"Execution Time: {watch.ElapsedMilliseconds} ms");
            Console.Read();
        }