private void filter_btn(object sender, RoutedEventArgs e) { int mix_num = 0; if (this.filter_mix_num.Text != "") { if (!Config_Help.IsIntegerAllowed(this.filter_mix_num.Text)) { return; } mix_num = int.Parse(this.filter_mix_num.Text); } string title = this.title_subStr_txt.Text; string sq = this.sq_subStr_txt.Text; double ratio = 1024.0; double ratio2 = 0.0; if (this.ratio1_tbx.Text != "") { ratio = double.Parse(this.ratio1_tbx.Text); } if (this.ratio2_tbx.Text != "") { ratio2 = double.Parse(this.ratio2_tbx.Text); } pLink.pLink_Result pLink_result = mainW.pLink_result; ObservableCollection <pLink.PSM> all_psms = pLink_result.psms; all_psms = filter_by_title(all_psms, title); all_psms = filter_by_sq(all_psms, sq); all_psms = filter_by_mixNumber(all_psms, mix_num); all_psms = filter_byRatio_Less(all_psms, ratio); all_psms = filter_byRatio_Bigger(all_psms, ratio2); mainW.data.ItemsSource = all_psms; mainW.display_size.Text = all_psms.Count + ""; }
public void report_word() { mainW.initial_Protein(); List <string> all_pngs = report_image(); string information = "Dear users of pFind3, you search $ raw file(s) in this run, there are $ ms2 scans. In your searching and filter parameters($), pFind3 report $ credible psms, corresponding to $ scans, raw rate is $. Graph $ shows relevant details. This searching result shows $ peptides and $ proteins."; //"尊敬的pFind用户,您这次搜索了$个raw文件,共有二级谱$张。在您设置的搜索、过滤参数$下,pFind3报告可信的肽谱匹配$个,对应二级谱$张,解析率为$。图$展示了相关细节。该搜索结果,对应肽段序列$条,蛋白质$个。" string[] args = new string[10]; args[0] = (mainW.summary_result_information.raw_rates.Count - 1) + ""; args[1] = mainW.summary_result_information.scans_number.ToString("N0"); args[2] = "FDR ≤ " + Config_Help.fdr_value.ToString("F2"); args[3] = mainW.summary_result_information.spectra_number.ToString("N0"); args[4] = args[1]; args[5] = mainW.summary_result_information.raw_rates.Last().Rate.ToString("P2"); args[6] = " 1 - " + all_pngs.Count + " "; // args[7] = mainW.summary_result_information.peptides_number.ToString("N0"); args[8] = mainW.protein_panel.identification_proteins.Count.ToString("N0"); args[9] = " 1 - 2 "; information = Config_Help.getReport(information, args); string folder = mainW.task.folder_result_path + "\\" + File_Help.pBuild_tmp_file; if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); } try { Document document = new Document(); ParagraphStyle style = new ParagraphStyle(document); style.Name = "FontStyle"; style.CharacterFormat.FontSize = 12; document.Styles.Add(style); ParagraphStyle style2 = new ParagraphStyle(document); style2.Name = "FontStyle2"; style2.CharacterFormat.FontSize = 14; document.Styles.Add(style2); Section s = document.AddSection(); Paragraph p = s.AddParagraph(); p.ApplyStyle(style2.Name); p.AppendText(information); for (int i = 0; i < all_pngs.Count; ++i) { string flag = ""; switch (i) { case 0: flag = "Mixed spectra percentage"; //混合谱图比例 break; case 1: flag = "Cleavage percentage"; //酶切情况 break; case 2: flag = "Modification percentage"; //修饰情况 break; case 3: flag = "Peptide length percentage"; //肽段长度比例 break; case 4: flag = "Id rate"; //谱图解析率 break; case 5: flag = "Quantification ratio distribution"; //定量比值分布图 break; } p = s.AddParagraph(); p.ApplyStyle(style.Name); p.Format.HorizontalAlignment = Spire.Doc.Documents.HorizontalAlignment.Center; p.AppendText("Graph " + (i + 1) + " :" + flag); DocPicture pic = p.AppendPicture(Image.FromFile(all_pngs[i])); //DocPicture pic = pic.HorizontalAlignment = ShapeHorizontalAlignment.Center; //pic.Width = 450; //pic.Height = 468; } document.SaveToFile(mainW.task.folder_result_path + "\\" + File_Help.pBuild_tmp_file + "\\report.docx", FileFormat.Docx); System.Diagnostics.Process.Start(mainW.task.folder_result_path + "\\" + File_Help.pBuild_tmp_file + "\\report.docx"); } catch (Exception exe) { System.Windows.MessageBox.Show(exe.ToString()); } }