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(); } }
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(); }
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; } }
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(); }
//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); }