Exemple #1
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            List<string> raw_filepaths = new List<string>(lstRawFiles.Items.Count);
            foreach(string filename in lstRawFiles.Items)
            {
                raw_filepaths.Add(filename);
            }
            int minimum_assumed_precursor_charge_state = 2; //(int)numMinimumAssumedPrecursorChargeState.Value;
            int maximum_assumed_precursor_charge_state = 2; // (int)numMaximumAssumedPrecursorChargeState.Value;
            if(minimum_assumed_precursor_charge_state > maximum_assumed_precursor_charge_state)
            {
                MessageBox.Show("Minimum assumed precursor charge state (" + minimum_assumed_precursor_charge_state.ToString() + ") cannot be larger than maximum asssumed precursor charge state (" + maximum_assumed_precursor_charge_state.ToString() + ')');
                return;
            }
            bool clean_precursor = chkCleanPrecursor.Checked;
            bool enable_etd_preprocessing = chkEnableEtdPreProcessing.Checked;
            bool clean_tmt_duplex = chkCleanTmtDuplex.Checked;
            bool clean_itraq_4plex = chkCleanItraq4Plex.Checked;
            bool clean_tmt_6plex = chkCleanTmt6Plex.Checked;
            bool clean_itraq_8plex = chkCleanItraq8Plex.Checked;
            bool group_by_activation_energy_time = chkGroupByActivationEnergyTime.Checked;
            bool sequest_dta_output = chkSequestDtaOutput.Checked;
            bool omssa_text_output = chkOmssaTxtOutput.Checked;
            bool mascot_mgf_output = chkMascotMgfOutput.Checked;
            bool includeLog = includeLogCB.Checked;
            string output_folder = txtOutputFolder.Text;

            double clnPrecursorLowMZ = (double)numericUpDown1.Value;
            double clnPrecursorHighMZ = (double)numericUpDown2.Value;

            double etdLowDa = (double)numericUpDown3.Value;
            double etdHighDa = (double)numericUpDown4.Value;

            if(output_folder == string.Empty)
            {
                MessageBox.Show("Output folder must be specified");
                return;
            }
            List<double> nlmass = new List<double>();
            //foreach(KeyValuePair<string, double> kvp in checkedListBox2.CheckedItems) {
            //    nlmass.Add(kvp.Value);
            //}

            List<MzRange> rangesToRemove = listBox1.Items.Cast<MzRange>().ToList();

            DtaGenerator dta_generator = new DtaGenerator(raw_filepaths,
                minimum_assumed_precursor_charge_state, maximum_assumed_precursor_charge_state,
                clean_precursor, enable_etd_preprocessing,
                clean_tmt_duplex, clean_itraq_4plex, clean_tmt_6plex, clean_itraq_8plex,
                group_by_activation_energy_time,
                sequest_dta_output, omssa_text_output, mascot_mgf_output,
                output_folder,
                nlmass,
                rangesToRemove,
                includeLog,
                clnPrecursorLowMZ, clnPrecursorHighMZ,
                etdLowDa, etdHighDa);

            dta_generator.StartingFile += handleStartingFile;
            dta_generator.UpdateProgress += handleUpdateProgress;
            dta_generator.ThrowException += handleThrowException;
            dta_generator.FinishedFile += handleFinishedFile;
            dta_generator.Finished += handleFinished;

            lstRawFiles.SelectedItem = null;
            prgProgress.Value = prgProgress.Minimum;

            btnOK.Enabled = false;
            Thread generate_dtas = new Thread(dta_generator.GenerateDtas);
            generate_dtas.IsBackground = true;
            generate_dtas.Start();
        }