Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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"));
        }
Esempio n. 3
0
        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;
            }
        }
Esempio n. 4
0
        /// <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);
        }