Ejemplo n.º 1
0
        private void filter_btn_clk(object sender, RoutedEventArgs e)
        {
            string ac = protein_filter_AC_tb.Text;
            string de = protein_filter_DE_tb.Text;
            string group = protein_filter_Group_tb.Text;
            int    pep_number = 0, sq_number = 0;
            int    target_index = this.target_comboBox.SelectedIndex;
            bool   is_con       = (bool)this.con_need_cbx.IsChecked;

            if (protein_peptide_number_tb.Text == "")
            {
                pep_number = 0;
            }
            else
            {
                if (!Config_Help.IsIntegerAllowed(protein_peptide_number_tb.Text))
                {
                    MessageBox.Show(Message_Help.PROTEIN_PEP_NUMBER);
                    return;
                }
                else
                {
                    pep_number = int.Parse(protein_peptide_number_tb.Text);
                }
            }
            if (protein_sq_number_tb.Text == "")
            {
                sq_number = 0;
            }
            else
            {
                if (!Config_Help.IsIntegerAllowed(protein_sq_number_tb.Text))
                {
                    MessageBox.Show(Message_Help.PROTEIN_PEP_NUMBER);
                    return;
                }
                else
                {
                    sq_number = int.Parse(protein_sq_number_tb.Text);
                }
            }

            ObservableCollection <Protein> proteins = mainW.protein_panel.identification_proteins;

            proteins = filter_by_AC(ac, proteins);
            proteins = filter_by_DE(de, proteins);
            proteins = filter_by_Group(group, proteins);
            proteins = filter_by_Pep_number(pep_number, proteins);
            proteins = filter_by_Sq_number(sq_number, proteins);
            proteins = filter_byTarget(target_index, proteins);
            proteins = filter_byContaminant(is_con, proteins);
            mainW.protein_data.ItemsSource = proteins;
            mainW.display_size.Text        = proteins.Count.ToString();

            this.Close();
        }
Ejemplo n.º 2
0
        private void filter_btn(object sender, RoutedEventArgs e)
        {
            try
            {
                string       title_str          = this.title_subStr_txt.Text;
                int          title_regular_flag = this.title_cbb.SelectedIndex;
                string       sq_str             = this.sq_subStr_txt.Text;
                int          sq_regular_flag    = this.sq_cbb.SelectedIndex;
                ComboBoxItem selected_item      = (ComboBoxItem)this.mods_comboBox.SelectedItem;
                ComboBoxItem selected_item_flag = (ComboBoxItem)this.mods_comboBox2.SelectedItem;
                string       mod_name           = selected_item.Content.ToString();
                string       mod_name1          = mod_name;
                string       mod_flag           = selected_item_flag.Content.ToString();
                if (mod_name == "Show All")
                {
                    mod_name = "";
                }

                if (mod_flag != "Show All")
                {
                    int index = 0;
                    for (int i = 0; i < Config_Help.mod_label_name.Count(); ++i)
                    {
                        if (Config_Help.mod_label_name[i] == mod_flag)
                        {
                            index = i;
                            break;
                        }
                    }
                    mod_name = mod_name + "#" + index;
                }
                ComboBoxItem selected_item2 = (ComboBoxItem)this.specific_comboBox.SelectedItem;
                string       specific_name  = selected_item2.Content.ToString();

                if (this.filter_mix_num.Text != "" && !Config_Help.IsIntegerAllowed(this.filter_mix_num.Text))
                {
                    MessageBox.Show(Message_Help.MIXED_NUMBER_BE_INTEGER);
                    return;
                }
                int mix_num = 0;
                if (this.filter_mix_num.Text != "")
                {
                    mix_num = int.Parse(this.filter_mix_num.Text);
                }
                if (this.ratio_tbx.Text != "" && !Config_Help.IsDecimalAllowed(this.ratio_tbx.Text) &&
                    this.ratio_tbx2.Text != "" && !Config_Help.IsDecimalAllowed(this.ratio_tbx2.Text))
                {
                    MessageBox.Show(Message_Help.RATIO_NUMBER_BE_DOUBLE);
                    return;
                }
                ComboBoxItem selected_item3 = (ComboBoxItem)this.label_comboBox.SelectedItem;
                string       label_name     = selected_item3.Content.ToString();
                string       label_name1    = label_name;
                if (label_name == "Show All")
                {
                    label_name = "";
                }

                double ratio  = 1024.0;
                double ratio2 = 0.0;
                double sigma  = 1.0;
                double sigma2 = 0.0;
                if (this.ratio_tbx.Text != "")
                {
                    ratio = double.Parse(this.ratio_tbx.Text);
                }
                if (this.ratio_tbx2.Text != "")
                {
                    ratio2 = double.Parse(this.ratio_tbx2.Text);
                }
                if (this.sigma_tbx.Text != "")
                {
                    sigma = double.Parse(this.sigma_tbx.Text);
                }
                if (this.sigma_tbx2.Text != "")
                {
                    sigma2 = double.Parse(this.sigma_tbx2.Text);
                }

                ObservableCollection <PSM> display_psms = new ObservableCollection <PSM>();
                ObservableCollection <PSM> all_psms     = new ObservableCollection <PSM>();
                if (!(bool)mainW.other_psms_cbx.IsChecked)
                {
                    all_psms = mainW.psms;
                }
                else
                {
                    for (int i = 0; i < mainW.all_psms.Count; ++i)
                    {
                        if (mainW.all_psms[i].Q_value > Config_Help.fdr_value)
                        {
                            all_psms.Add(mainW.all_psms[i]);
                        }
                    }
                }
                ComboBoxItem selected_item_target = (ComboBoxItem)this.target_comboBox.SelectedItem;
                string       target_string        = selected_item_target.Content.ToString();
                int          target_index         = 0;
                if (target_string == "Show All")
                {
                    target_index = 0;
                }
                else if (target_string == "Target")
                {
                    target_index = 1;
                }
                else if (target_string == "Decoy")
                {
                    target_index = 2;
                }
                display_psms                = filter_byTarget(target_index, all_psms);
                display_psms                = filter_bySQ_or_Title(title_str, 0, display_psms, title_regular_flag);
                display_psms                = filter_bySQ_or_Title(sq_str, 1, display_psms, sq_regular_flag);
                display_psms                = filter_byMod(mod_name, display_psms);
                display_psms                = filter_bySpecific(specific_name, display_psms);
                display_psms                = filter_byLabelName(label_name, display_psms);
                display_psms                = filter_byRatio_Less(ratio, display_psms);
                display_psms                = filter_byRatio_Bigger(ratio2, display_psms);
                display_psms                = filter_bySigma_Less(sigma, display_psms);
                display_psms                = filter_bySigma_Bigger(sigma2, display_psms);
                display_psms                = filter_byContaminant((bool)this.con_need_cbx.IsChecked, display_psms);
                display_psms                = filter_byUnqiue((bool)this.unique_cbx.IsChecked, display_psms);
                display_psms                = filter_byMix_Bigger(mix_num, display_psms);
                mainW.display_psms          = display_psms;
                mainW.data.ItemsSource      = display_psms;
                mainW.display_size.Text     = display_psms.Count.ToString();
                Config_Help.psm_filter_bean = new PSM_Filter_Bean(mix_num, title_str, title_regular_flag, sq_str, sq_regular_flag, mod_name1, mod_flag, specific_name, label_name1, target_string,
                                                                  (bool)this.con_need_cbx.IsChecked, (bool)this.unique_cbx.IsChecked, ratio, ratio2, sigma, sigma2);
                //this.Close();
            }
            catch (Exception exe)
            {
                MessageBox.Show(exe.ToString());
            }
        }