Пример #1
0
 private static void HandleInput(String input)
 {
     if (input.Equals("0"))
     {
         Console.WriteLine("Setting output level to detailed");
         DataProcessor.SetOutputLevel(0);
     }
     else if (input.Equals("1"))
     {
         Console.WriteLine("Setting output level to simple");
         DataProcessor.SetOutputLevel(1);
     }
     else if (input.Equals("2"))
     {
         Console.WriteLine("Setting output level to peptide only");
         DataProcessor.SetOutputLevel(2);
     }
     else if (input.Equals("3"))
     {
         Console.WriteLine("Displaying only info headers");
         DataProcessor.SetOutputLevel(3);
     }
     else if (input.Equals("q"))
     {
         Console.WriteLine("Quitting listening");
         ExclusionExplorer.EndMealTimeMS();
     }
 }
Пример #2
0
 private void Orbitrap_AcquisitionStreamClosing(object sender, EventArgs e)
 {
     log.Info(String.Format("\n{0:HH:mm:ss,fff} {1}", DateTime.Now, "Acquisition stream closed (end of method)"));
     log.Info("press y to continue finish processing");
     while (!Console.ReadKey().KeyChar.ToString().Equals("y"))
     {
     }
     ExclusionExplorer.EndMealTimeMS();
 }
Пример #3
0
        internal void DoJob(ExclusionProfile exclusionProfile)
        {
            using (IExactiveInstrumentAccess instrument = Connection.GetFirstInstrument())
            {
                if (instrument == null)
                {
                    Console.WriteLine("Failed to create Instrument, program will now exit");
                    return;
                }

                IMsScanContainer orbitrap = instrument.GetMsScanContainer(0);
                //if (GlobalVar.SeeExclusionFormat)
                //{
                //    m_methods = instrument.Control.Methods;
                //    m_replacementTable = CreateReplacementTable();
                //}

                Console.WriteLine("Waiting 60 seconds for scans on detector " + orbitrap.DetectorClass + "...");
                DataProcessor.reset();
                Thread DataProcessingThread = new Thread(() => DataProcessor.StartProcessing(exclusionProfile));
                //Thread InputHandling = new Thread(() => InputHandler.ReadConsoleInput());
                DataProcessingThread.Start();
                //InputHandling.Start();
                while (!DataProcessor.SetupFinished())
                {
                    Thread.Sleep(500);
                }
                orbitrap.AcquisitionStreamOpening += Orbitrap_AcquisitionStreamOpening;
                orbitrap.AcquisitionStreamClosing += Orbitrap_AcquisitionStreamClosing;
                Console.WriteLine("Waiting on acquisition stream to open");
                while (!acquisitionStreamOpened && !Console.ReadKey().KeyChar.ToString().Equals("y"))
                {
                    Console.WriteLine("Waiting on acquisition stream to open");
                    Thread.CurrentThread.Join(1000);
                }
                Console.WriteLine("MSScan Arrive event listener added");
                orbitrap.MsScanArrived += Orbitrap_MsScanArrived;


                int durationCounter = 0;
                while (durationCounter < GlobalVar.listeningDuration && (ExclusionExplorer.IsListening()))
                {
                    Thread.CurrentThread.Join(1000); //does the same thing as Thread.Sleep() but Join
                                                     //allows standard sendmessage pumping and COM to continue
                    durationCounter++;
                }
                orbitrap.MsScanArrived            -= Orbitrap_MsScanArrived;
                orbitrap.AcquisitionStreamClosing -= Orbitrap_AcquisitionStreamClosing;
                orbitrap.AcquisitionStreamOpening -= Orbitrap_AcquisitionStreamOpening;

                DataProcessor.EndProcessing();
                DataProcessingThread.Join(); //wait until dataProcessor finishes processing/outputing the scan
                                             //queue then returns to Main thread;
            }
        }
Пример #4
0
        public static void DoJob()
        {
            String resultFile = "C:\\Coding\\2019LavalleeLab\\GitProjectRealTimeMS\\TestData\\MLGESequentialRun_Full.txt_Summary.txt";
            String outputFile = "C:\\Coding\\2019LavalleeLab\\GitProjectRealTimeMS\\Output\\ParamsParsed.txt";

            List <ExperimentResult> experiments = ExclusionExplorer.ParseExperimentResult(resultFile);

            StreamWriter sw = new StreamWriter(outputFile);

            String[] paramName = { "ppmTol", "rtWin", "xCorr", "numDB", "prThr" };

            sw.Write("expName\t");
            foreach (String param in paramName)
            {
                sw.Write(param + "\t");
            }
            sw.WriteLine();
            foreach (ExperimentResult exp in experiments)
            {
                String expName = exp.experimentName;
                sw.Write(expName + "\t");
                foreach (String param in paramName)
                {
                    if (!expName.Contains(param))
                    {
                        sw.Write("-1\t");
                        continue;
                    }
                    int startPos = expName.IndexOf(param) + param.Length + 1;
                    int endPos   = expName.IndexOf("_", startPos + 1);
                    endPos = (endPos < 0) ? expName.Length : endPos;
                    String sub   = expName.Substring(startPos, endPos - startPos);
                    double value = double.Parse(sub);
                    String sss   = param + "sdsd";
                    sw.Write(value + "\t");
                }
                sw.WriteLine();
            }

            sw.Close();
        }
Пример #5
0
        //static string mzmlFileBaseName="MS_QC_240min";
        public static void ExtractFeatures(String ms2File, out String extractedFeatureSavedFile_posAndNeg, out String extractedFeatureSavedFile_posAndNonPos)
        {
            Console.WriteLine("Extracting features from {0}", ms2File);

            InputFileOrganizer.MS2SimulationTestFile = ms2File;
            //InputFileOrganizer.MZMLSimulationTestFile = mzmlFile;
            String ms2FileBaseName = Path.GetFileNameWithoutExtension(ms2File);

            OutputFile_PositiveAndNegative            = Path.Combine(InputFileOrganizer.OutputFolderOfTheRun, ms2FileBaseName + "_extractedFeatures_PositiveAndNegative.tsv");
            OutputFile_PositiveAndNonPositive         = Path.Combine(InputFileOrganizer.OutputFolderOfTheRun, ms2FileBaseName + "_extractedFeatures_positiveAndNonPositive.tsv");
            OutputFile_PositiveAndNonPositive_NoDecoy = Path.Combine(InputFileOrganizer.OutputFolderOfTheRun, ms2FileBaseName + "_extractedFeatures_positiveAndNonPositive_NoDecoy.tsv");

            //the current feature extraction will include decoy proteins in the database and testing set
            SimulationWithDecoyParamsSetUp();

            //placeholder values, dont matter
            GlobalVar.ppmTolerance            = 1;
            GlobalVar.retentionTimeWindowSize = 1;
            GlobalVar.AccordThreshold         = 1;
            GlobalVar.XCorr_Threshold         = 1;
            GlobalVar.NumDBThreshold          = 1;
            //

            log.Info("Running No Exclusion Simulation");
            ExclusionProfile exclusionProfile = ExclusionExplorer.SingleSimulationRun(ExclusionProfileEnum.NO_EXCLUSION_PROFILE);

            log.Info("Extracting identification feature from exclusion profile");
            List <IdentificationFeatures> idf = exclusionProfile.getFeatures();

            log.Info("Recalibrating stDev");
            idf = IdentificationFeatureExtractionUtil.recalibrateStDev(idf);

            writeFeatures(idf);
            extractedFeatureSavedFile_posAndNeg    = OutputFile_PositiveAndNegative;
            extractedFeatureSavedFile_posAndNonPos = OutputFile_PositiveAndNonPositive;
            Console.WriteLine("Extracted Feature written to {0} and {1}", OutputFile_PositiveAndNegative, OutputFile_PositiveAndNonPositive);
        }