/// <summary> /// RunWorkerCompleted handler /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { CPSRichTextBox.AppendText("Calculation is completed. Check files in previously selected directory.\n"); CPSRichTextBox.AppendText("cCounts - single codon counts\naCounts - single amino acids counts\ncpCounts - codon pair counts\napCounts - amino acid pairs counts\nCPScores - Codon Pair Scores\n"); CPSRichTextBox.AppendText("For more information, please, check 'How To Use' page\n"); // verification of ranking correctness // 3721 codon pairs - all possibilities of codon pairs permutations if (CCranker.cps.Count() != 3721) { string message = "Not all possible codon pairs found within the orfeome. Further analysis may be impossible."; ModernDialog.ShowMessage(message.ToString(), "Information", MessageBoxButton.OK); } }
/// <summary> /// CCrankButton click event handler /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void CCrankButton_Click(object sender, RoutedEventArgs e) { // richTextBox cleaning CPSRichTextBox.Document.Blocks.Clear(); // directory setting SaveFileDialogInitialize(); Nullable <bool> result = saveFileDialog.ShowDialog(); if (result == true) { CPSRichTextBox.AppendText("Please, wait a moment for the results...\n\n"); worker = new BackgroundWorker(); // setting a path CCranker.fileName = saveFileDialog.FileName; CCranker.path = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(saveFileDialog.FileName), CCranker.fileName); Directory.CreateDirectory(System.IO.Path.Combine(CCranker.path, CCranker.fileName)); // Background worker settings // background worker initialization, CPR counter initialization worker.DoWork += new DoWorkEventHandler(CCranker.CPScalculator); worker.ProgressChanged += new ProgressChangedEventHandler(worker_ProgressChanged); worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted); worker.WorkerReportsProgress = true; CCProgressBar.Value = 0; // Elements counter initialization CCranker.ElemCounter(); CPSRichTextBox.AppendText("Calculating...\n"); worker.RunWorkerAsync(); currentRankingCheckBoxIsEnabled = true; } else { // modern dialog initialization string message = "Something went wrong. It is necessary to select files directory before codon context ranking computing. Try again. \nFor more information about using Codon Context Ranking check the \"How to use\" page."; ModernDialog.ShowMessage(message.ToString(), "Warning", MessageBoxButton.OK); } }