public void TestLcmsWarpWrite(params string[] paths) { var fullPaths = new List <string>(); var fullOutputPaths = new List <string>(); foreach (var path in paths) { fullPaths.Add(GetPath(path)); fullOutputPaths.Add(GetOutputPath(path)); } var options = new Options { RegressionType = RegressionType.MixtureRegression }; var analysisProcessor = new AnalysisJobProcessor(options); var individualJobs = fullPaths.Select(path => new AnalysisJobItem(path, LcmsIdentificationTool.MsgfPlus)).ToList(); var bWorker = new BackgroundWorker(); var jobs = analysisProcessor.Process(individualJobs, bWorker); var databaseProcess = new MtdbProcessor(options); databaseProcess.Process(jobs.Select(job => job.DataSet).ToList(), bWorker); }
public void TestWriteReal(params string[] paths) { var fullPaths = new List <string>(); var fullOutputPaths = new List <string>(); foreach (var path in paths) { fullPaths.Add(GetPath(path)); fullOutputPaths.Add(GetOutputPath(path)); } var options = new Options(); var analysisProcessor = new AnalysisJobProcessor(options); var individualJobs = fullPaths.Select(path => new AnalysisJobItem(path, LcmsIdentificationTool.MsgfPlus)).ToList(); var bWorker = new BackgroundWorker(); var jobs = analysisProcessor.Process(individualJobs, bWorker); var databaseProcess = new MtdbProcessor(options); var database = databaseProcess.Process(jobs.Select(job => job.DataSet).ToList(), bWorker); var writer = new SqLiteTargetDatabaseWriter(); writer.Write(database, options, GetTestSuiteDataPath(@"Output.mtdb")); }
public void BackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { m_abortRequested = false; m_analysisJobProcessor = new AnalysisJobProcessor(AnalysisJobViewModel.Options); m_analysisJobProcessor.ProgressChanged += analysisJobProcessor_ProgressChanged; try { e.Result = m_analysisJobProcessor.Process(AnalysisJobViewModel.AnalysisJobItems, HostProcessWindow.MainBackgroundWorker); if (HostProcessWindow.MainBackgroundWorker.CancellationPending || m_abortRequested) { e.Cancel = true; } } catch (Exception ex) { e.Result = ex; } }
/// <summary> /// Create a MTDB with the given files /// </summary> /// <param name="paths">Paths to the files to process</param> /// <param name="dbFileName">Name of MTDB to create</param> /// <returns></returns> public static TargetDatabase CreateDB(List <string> paths, string dbFileName) { var options = new Options(); var analysisProcessor = new AnalysisJobProcessor(options); var mtdbProcessor = new MtdbProcessor(options); var bWorker = new BackgroundWorker(); var writer = new SqLiteTargetDatabaseWriter(); var reader = new SqLiteTargetDatabaseReader(); var existingDatabase = new TargetDatabase(); IEnumerable <LcmsDataSet> priorDataSets = new List <LcmsDataSet>(); if (File.Exists(dbFileName)) { priorDataSets = reader.Read(dbFileName); existingDatabase = reader.ReadDb(dbFileName); } var priorDatasetList = priorDataSets.Select(x => x.Name).ToList(); var listJobs = new List <AnalysisJobItem>(); foreach (var path in paths) { if (File.Exists(path)) { var tool = DetermineTool(path); var jobName = path.Split('\\').Last(); if (tool == LcmsIdentificationTool.NOT_SUPPORTED) { Console.WriteLine(jobName + " is not a supported LCMS format for MTDBCreator;\nExcluding this file from MTDB creation\n"); } else if (priorDatasetList.Any(x => jobName.Contains(x))) { Console.WriteLine(jobName + " is part of prior analysis;\nExcluding from reading portion of MTDB creation\n"); } else { var individualJob = new AnalysisJobItem(path, tool); listJobs.Add(individualJob); } } else { Console.WriteLine(path + " does not exist;\nExcluding this file in MTDB creation\n"); } } if (listJobs.Count != 0) { var processedjobs = analysisProcessor.Process(listJobs, bWorker); var datasetList = processedjobs.Select(job => job.DataSet).ToList(); if (priorDataSets != null) { datasetList.AddRange(priorDataSets); } var database = mtdbProcessor.Process(datasetList, bWorker); writer.Write(database, options, dbFileName); return(database); } return(existingDatabase); }