private void LoadMtdb(AnalysisConfig config) { UpdateStatus("Loading the database from the SQLite result database."); var provider = new MassTagDatabaseLoaderCache {Provider = m_config.Analysis.DataProviders.MassTags}; RegisterProgressNotifier(provider); var database = provider.LoadDatabase(); config.Analysis.MassTagDatabase = database; if (MassTagsLoaded != null) { MassTagsLoaded(this, new MassTagsLoadedEventArgs(database.MassTags, database)); } DeRegisterProgressNotifier(provider); }
/// <summary> /// Loads the analysis. /// </summary> /// <param name="recentAnalysis"></param> public void LoadAnalysis(RecentAnalysis recentAnalysis) { if (recentAnalysis == null) { OnStatus("Cannot open analysis file."); return; } Action loadAnalysis = delegate { var filename = Path.Combine(recentAnalysis.Path, recentAnalysis.Name); OnStatus("Gaining access to the analysis database..."); var providers = DataAccessFactory.CreateDataAccessProviders(filename, false); var analysis = new MultiAlignAnalysis(); analysis.MetaData.AnalysisPath = recentAnalysis.Path; analysis.MetaData.AnalysisName = recentAnalysis.Name; analysis.MetaData.AnalysisSetupInfo = null; analysis.DataProviders = providers; OnStatus("Detecting your clusters..."); analysis.Clusters = providers.ClusterCache.FindAll(); OnStatus("Updating your datasets..."); analysis.MetaData.Datasets = providers.DatasetCache.FindAll().ToObservableCollection(); OnStatus("Securing mass tags..."); var provider = new MassTagDatabaseLoaderCache(); provider.Provider = analysis.DataProviders.MassTags; analysis.MassTagDatabase = provider.LoadDatabase(); OnStatus("Analysis Loaded..."); ThreadSafeDispatcher.Invoke(() => { if (AnalysisLoaded != null) { AnalysisLoaded(this, new AnalysisStatusArgs(analysis)); } }); }; m_loadingTask = new Task(loadAnalysis); m_loadingTask.Start(); }