public void ApplyQonverterSettings(IDictionary<Analysis, QonverterSettings> qonverterSettings) { clearData(); setControlsWhenDatabaseLocked(true); var workerThread = new BackgroundWorker() { WorkerReportsProgress = true, WorkerSupportsCancellation = true }; workerThread.DoWork += (s, e) => { var qonverter = new Qonverter(); qonverter.QonversionProgress += progressMonitor.UpdateProgress; foreach (var item in qonverterSettings) qonverter.SettingsByAnalysis[(int) item.Key.Id] = item.Value.ToQonverterSettings(); //qonverter.LogQonversionDetails = true; qonverter.Reset(Text); qonverter.Qonvert(Text); }; workerThread.RunWorkerCompleted += (s, e) => { if (e.Result is Exception) { Program.HandleException(e.Result as Exception); setControlsWhenDatabaseLocked(false); return; } lock (session) { var sessionFactory = DataModel.SessionFactoryFactory.CreateSessionFactory(Text, new SessionFactoryConfig { WriteSqlToConsoleOut = true }); session = sessionFactory.OpenSession(); //session.CreateSQLQuery("PRAGMA temp_store=MEMORY").ExecuteUpdate(); _layoutManager.SetSession(session); // delete old filters since they are not valid with different qonverter settings session.CreateSQLQuery("DELETE FROM FilterHistory").ExecuteUpdate(); session.Clear(); if (basicFilter == null) basicFilter = new DataFilter() { MaximumQValue = 0.02, MinimumDistinctPeptides = 2, MinimumSpectra = 2, MinimumAdditionalPeptides = 1, GeneLevelFiltering = false, DistinctMatchFormat = new DistinctMatchFormat { IsChargeDistinct = true, IsAnalysisDistinct = false, AreModificationsDistinct = true, ModificationMassRoundToNearest = 1.0m } }; basicFilterControl.DataFilter = basicFilter; viewFilter = basicFilter; session.Close(); sessionFactory.Close(); } progressMonitor = new ProgressMonitor(); progressMonitor.ProgressUpdate += progressMonitor_ProgressUpdate; basicFilterControl = new BasicFilterControl(); basicFilterControl.BasicFilterChanged += basicFilterControl_BasicFilterChanged; basicFilterControl.ShowQonverterSettings += ShowQonverterSettings; dataFilterPopup = new Popup(basicFilterControl) { FocusOnOpen = true }; dataFilterPopup.Closed += dataFilterPopup_Closed; new Thread(() => OpenFiles(new List<string> { Text }, null)).Start(); }; workerThread.RunWorkerAsync(); }
void openToolStripMenuItem_Click(object sender, EventArgs e) { List<string> fileNames; TreeNode treeStructure = null; if (sender == openToolStripMenuItem) { var ofd = new OpenFileDialog { Filter = "IDPicker DB|*.idpDB", Multiselect = true, SupportMultiDottedExtensions = true }; var folderHistory = FolderHistoryInterface.GetRecentFolders(); if (folderHistory.Any() && Directory.Exists(folderHistory.Last())) ofd.InitialDirectory = folderHistory.First(); if (ofd.ShowDialog() == DialogResult.OK) { fileNames = ofd.FileNames.ToList(); if (fileNames.Any()) { var baseDirectory = Path.GetDirectoryName(fileNames[0]); foreach (var file in fileNames) if (Path.GetDirectoryName(file) != baseDirectory) baseDirectory = null; if (baseDirectory != null) FolderHistoryInterface.AddFolderToHistory(baseDirectory); } } else return; } else { var fileTypeList = new List<string> { "IDPicker files|*.idpDB;*.mzid;*.pepXML;*.pep.xml;*.xml;*.dat", "Importable files|*.mzid;*.pepXML;*.pep.xml;*.xml;*.dat", "MzIdentML files|*.mzid;*.xml", "PepXML files|*.pepXML;*.pep.xml;*.xml", "Mascot files|*.dat", //"IDPicker XML|*.idpXML", "IDPicker DB|*.idpDB", "All files|*.*" }; var openFileDialog = new IDPOpenDialog(fileTypeList); if (openFileDialog.ShowDialog() == DialogResult.OK) { fileNames = openFileDialog.GetFileNames().Distinct().ToList(); if (session != null && sender == importToolStripMenuItem) treeStructure = openFileDialog.GetTreeStructure(session); else treeStructure = openFileDialog.GetTreeStructure(); if (!fileNames.Any()) return; } else return; } clearData(); progressMonitor = new ProgressMonitor(); progressMonitor.ProgressUpdate += progressMonitor_ProgressUpdate; basicFilterControl = new BasicFilterControl(); basicFilterControl.BasicFilterChanged += basicFilterControl_BasicFilterChanged; basicFilterControl.ApplyFilterChanges += basicFilterControl_ApplyFilterChanges; basicFilterControl.ShowQonverterSettings += ShowQonverterSettings; dataFilterPopup = new Popup(basicFilterControl) {FocusOnOpen = true}; dataFilterPopup.Closed += dataFilterPopup_Closed; breadCrumbControl.ClearBreadcrumbs(); if (session != null) { if (sender == importToolStripMenuItem) { //add current session to file list var idpDbFilepath = session.Connection.GetDataSource(); if (!fileNames.Contains(idpDbFilepath)) fileNames.Add(idpDbFilepath); } clearSession(); } //System.Data.SQLite.SQLiteConnection.ClearAllPools(); new Thread(() => { OpenFiles(fileNames, treeStructure); }).Start(); }
public IDPickerForm (IList<string> args) { InitializeComponent(); toolStripStatusLabel.Text = "Initializing..."; Thread.CurrentThread.Priority = ThreadPriority.AboveNormal; this.args = args; defaultDataFilter = new DataFilter(); manager = new Manager(dockPanel) { ShowChromatogramListForNewSources = false, ShowSpectrumListForNewSources = false, OpenFileUsesCurrentGraphForm = true, }; progressMonitor = new ProgressMonitor(); progressMonitor.ProgressUpdate += progressMonitor_ProgressUpdate; if (Program.IsHeadless) Load += IDPickerForm_Load; else Shown += IDPickerForm_Load; basicFilterControl = new BasicFilterControl(); basicFilterControl.BasicFilterChanged += basicFilterControl_BasicFilterChanged; basicFilterControl.ApplyFilterChanges += basicFilterControl_ApplyFilterChanges; basicFilterControl.ShowQonverterSettings += ShowQonverterSettings; dataFilterPopup = new Popup(basicFilterControl) { FocusOnOpen = true }; dataFilterPopup.Closed += dataFilterPopup_Closed; breadCrumbControl = new BreadCrumbControl() { Dock = DockStyle.Fill }; breadCrumbControl.BreadCrumbClicked += breadCrumbControl_BreadCrumbClicked; breadCrumbPanel.Controls.Add(breadCrumbControl); fragmentationStatisticsForm = new FragmentationStatisticsForm(this); fragmentationStatisticsForm.Show(dockPanel, DockState.DockBottomAutoHide); fragmentationStatisticsForm.AutoHidePortion = 0.5; peakStatisticsForm = new PeakStatisticsForm(this); peakStatisticsForm.Show(dockPanel, DockState.DockBottomAutoHide); peakStatisticsForm.AutoHidePortion = 0.5; distributionStatisticsForm = new DistributionStatisticsForm(this); distributionStatisticsForm.Show(dockPanel, DockState.DockBottomAutoHide); distributionStatisticsForm.AutoHidePortion = 0.5; reassignPSMsForm = new RescuePSMsForm(this); reassignPSMsForm.Show(dockPanel, DockState.DockBottomAutoHide); reassignPSMsForm.AutoHidePortion = 0.5; ptmAttestationForm = new PTMAttestationForm(this); ptmAttestationForm.Show(dockPanel, DockState.DockBottomAutoHide); ptmAttestationForm.AutoHidePortion = 0.5; spectrumTableForm = new SpectrumTableForm(); spectrumTableForm.Show(dockPanel, DockState.DockLeft); spectrumTableForm.AutoHidePortion = 0.5; proteinTableForm = new ProteinTableForm(); proteinTableForm.Show(dockPanel, DockState.DockTop); proteinTableForm.AutoHidePortion = 0.5; peptideTableForm = new PeptideTableForm(); peptideTableForm.Show(dockPanel, DockState.DockTop); peptideTableForm.AutoHidePortion = 0.5; proteinTableForm.Activate(); modificationTableForm = new ModificationTableForm(); modificationTableForm.Show(dockPanel, DockState.Document); modificationTableForm.AutoHidePortion = 0.5; analysisTableForm = new AnalysisTableForm(); analysisTableForm.Show(dockPanel, DockState.Document); analysisTableForm.AutoHidePortion = 0.5; filterHistoryForm = new FilterHistoryForm(); filterHistoryForm.Show(dockPanel, DockState.Document); filterHistoryForm.AutoHidePortion = 0.5; spectrumTableForm.SpectrumViewFilter += handleViewFilter; spectrumTableForm.SpectrumViewVisualize += spectrumTableForm_SpectrumViewVisualize; spectrumTableForm.FinishedSetData += handleFinishedSetData; spectrumTableForm.StartingSetData += handleStartingSetData; proteinTableForm.ProteinViewFilter += handleViewFilter; proteinTableForm.ProteinViewVisualize += proteinTableForm_ProteinViewVisualize; proteinTableForm.FinishedSetData += handleFinishedSetData; proteinTableForm.StartingSetData += handleStartingSetData; peptideTableForm.PeptideViewFilter += handleViewFilter; peptideTableForm.FinishedSetData += handleFinishedSetData; peptideTableForm.StartingSetData += handleStartingSetData; modificationTableForm.ModificationViewFilter += handleViewFilter; modificationTableForm.FinishedSetData += handleFinishedSetData; modificationTableForm.StartingSetData += handleStartingSetData; analysisTableForm.AnalysisViewFilter += handleViewFilter; analysisTableForm.FinishedSetData += handleFinishedSetData; analysisTableForm.StartingSetData += handleStartingSetData; filterHistoryForm.LoadPersistentDataFilter += handleLoadPersistentDataFilter; //filterHistoryForm.FinishedSetData += handleFinishedSetData; //filterHistoryForm.StartingSetData += handleStartingSetData; // hide DockPanel before initializing layout manager dockPanel.Visible = false; dockPanel.ShowDocumentIcon = true; persistentForms = new IPersistentForm[] { proteinTableForm, peptideTableForm, spectrumTableForm, analysisTableForm, filterHistoryForm }; _layoutManager = new LayoutManager(this, dockPanel, persistentForms); // load last or default location and size _layoutManager.LoadMainFormSettings(); // certain features are only enabled for development builds if (Application.ExecutablePath.Contains("build-nt-x86")) { // provide SQL logging for development builds logForm = new LogForm(); logForm.AutoHidePortion = 0.25; Console.SetOut(logForm.LogWriter); developerToolStripMenuItem.ForeColor = SystemColors.MenuBar; } else { Console.SetOut(TextWriter.Null); developerToolStripMenuItem.Visible = false; } /*spyEventLogForm = new SpyEventLogForm(); spyEventLogForm.AddEventSpy(new EventSpy("proteinTableForm", proteinTableForm)); spyEventLogForm.AddEventSpy(new EventSpy("peptideTableForm", peptideTableForm)); spyEventLogForm.AddEventSpy(new EventSpy("spectrumTableForm", spectrumTableForm)); spyEventLogForm.AddEventSpy(new EventSpy("modificationTableForm", modificationTableForm)); spyEventLogForm.Show(dockPanel, DockState.DockBottomAutoHide);*/ }