Source code for MSQuant: frmOptions.vb, MSQuant/msquant/src/GUI/forms/frmOptions.vb.

Table of contents page.

Home page for MSQuant.

'****************************************************************************
'* Copyright (C) 2004 Peter Mortensen and Matthias Mann                     *
'* This file is part of MSQuant.                                            *
'*                                                                          *
'* MSQuant is distributed under the terms of                                *
'* the GNU General Public License. See src/COPYING.TXT or                   *
'* <http://www.gnu.org/licenses/gpl.txt> for details.                       *
'*                                                                          *
'* MSQuant is free software; you can redistribute it                        *
'* and/or modify it under the terms of the GNU                              *
'* General Public License as published by the Free                          *
'* Software Foundation; either version 2 of the                             *
'* License, or (at your option) any later version.                          *
'*                                                                          *
'* MSQuant is distributed in the hope that it will be                       *
'* useful, but WITHOUT ANY WARRANTY; without even the                       *
'* implied warranty of MERCHANTABILITY or FITNESS FOR                       *
'* A PARTICULAR PURPOSE.  See the GNU General Public                        *
'* License for more details.                                                *
'*                                                                          *
'* You should have received a copy of the GNU General                       *
'* Public License along with MSQuant; if not, write to                      *
'* the Free Software Foundation, Inc., 59 Temple                            *
'* Place, Suite 330, Boston, MA  02111-1307  USA                            *
'*                                                                          *
'* Purpose: <to be filled in>.                                              *
'*                                                                          *
'****************************************************************************

'****************************************************************************
'*                               CEBI                                       *
'*                    Software Development Group                            *
'*                         Peter Mortensen                                  *
'*                E-mail: NUKESPAMMERSdrmortensen@get2netZZZZZZ.dk          *
'*                 WWW: http://www.cebi.sdu.dk/                             *
'*                                                                          *
'*  Program for post-processing of result from search in mass               *
'*    spectrometric data.                                                   *
'*                                                                          *
'*    FILENAME:   frmOptions.vb                                             *
'*    TYPE:  VISUAL_BASIC                                                   *
'*                                                                          *
'* CREATED: PM 2003-??-??   Vrs 1.0.                                        *
'* UPDATED: PM 2004-xx-xx                                                   *
'*                                                                          *
'****************************************************************************

Option Strict On    'Changed PM_OPTIONSTRICT 2003-02-13
Option Explicit On 

Imports System.Collections.Generic 'For Dictionary


Imports App 'For class quantApplication
Imports massSpectrometryBase

Imports massSpectrometryBase.quantitation

Imports MolecularSharedStructures 'For generalisedQuantModeStructure

Imports SDUPrecalibrator 'For recalibDomainEnum


'****************************************************************************
'*    <placeholder for header>                                              *
'****************************************************************************
Public Class frmOptions
    Inherits System.Windows.Forms.Form

    Private mMainForm As frmMainForm
    Private mApplication As quantApplication

    'Changed PM_RAWFILE_PEPFILTER 2007-11-17
    Private mRawFiles() As fileSpecStructure

    Private mOptions2 As OptionsStruct2

    'Changed PM_CANCEL_ALSO_SAVES_PEPTFILT_BUG 2007-09-06
    'Local copies of peptide filters that are used until 
    'the dialog is OK'ed.
    Private mPreselPeptideFilter As peptideFilterStructure
    Private mRecalibPeptideFilter As peptideFilterStructure
    Private mValPeptideFilter As peptideFilterStructure

    'Changed PM_RECALIB_REALITY_CHECK 2008-03-26
    'Private mRecalibLimitsStructure As recalibLimitsStructure

    'Changed PM_PEPTIDEFILTER_GENERALISED 2007-08-29
    Private WithEvents mFilterForm As frmPeptideFilters

    'Changed PM_RECALIB_FILTER 2007-09-04
    Private WithEvents mRecalibFilterForm As frmPeptideFilters

    'Changed PM_VALIDATION_AS_PEPTFILTER 2007-09-05
    Private WithEvents mValidationFilterForm As frmPeptideFilters


    'Changed PM_HIDE_RECALIBVISUALISATION_WINDOW 2008-01-06
    Private WithEvents mParseEndForm As frmEndOfParseAction

    'Changed PM_RECALIB_REALITY_CHECK 2008-03-26
    Private WithEvents mRecalibRealityCheckForm As frmRecalibRealityCheck



    Friend WithEvents cbxTITLElineFormat As System.Windows.Forms.ComboBox
    Friend WithEvents Label12 As System.Windows.Forms.Label
    Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox
    Friend WithEvents btnPeptideFilter As System.Windows.Forms.Button
    Friend WithEvents GroupBox3 As System.Windows.Forms.GroupBox
    Friend WithEvents btnRecalibPeptideFilter As System.Windows.Forms.Button
    Friend WithEvents lblRecalibPeptideFilterSummary As System.Windows.Forms.Label
    Friend WithEvents btnValidationPeptideFilter As System.Windows.Forms.Button
    Friend WithEvents lblValidationPeptideFilterSummary As System.Windows.Forms.Label
    Friend WithEvents Label5 As System.Windows.Forms.Label
    Friend WithEvents cbxRecalibDomains As System.Windows.Forms.ComboBox
    Friend WithEvents btnEndOfParseAction As System.Windows.Forms.Button
    Friend WithEvents lblRecalibLimitsShortSummary As System.Windows.Forms.Label
    Friend WithEvents btnRecalibRealityCheck As System.Windows.Forms.Button
    Friend WithEvents lblPeptideFilterSummary As System.Windows.Forms.Label



#Region " Windows Form Designer generated code "

    'Note: this function is called by the New() function
    'with parameters, below.
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Public Sub New()
        MyBase.New()

        'This call is required by the Windows Form Designer.
        InitializeComponent()

        'Add any initialization after the InitializeComponent() call

    End Sub 'Constructor.


    'Form overrides dispose to clean up the component list.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    'Required by the Windows Form Designer
    Private components As System.ComponentModel.IContainer

    'NOTE: The following procedure is required by the Windows Form Designer
    'It can be modified using the Windows Form Designer.  
    'Do not modify it using the code editor.
    Friend WithEvents Label1 As System.Windows.Forms.Label
    Friend WithEvents Label3 As System.Windows.Forms.Label
    Friend WithEvents Label4 As System.Windows.Forms.Label
    Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
    Friend WithEvents chkNoIPI As System.Windows.Forms.CheckBox
    Friend WithEvents chkNoMosquito As System.Windows.Forms.CheckBox
    Friend WithEvents chkNoProteinWithoutABC As System.Windows.Forms.CheckBox
    Friend WithEvents btnCancel As System.Windows.Forms.Button
    Friend WithEvents btnOK As System.Windows.Forms.Button
    Friend WithEvents txtScoreA As System.Windows.Forms.TextBox
    Friend WithEvents txtScoreB As System.Windows.Forms.TextBox
    Friend WithEvents txtScoreC As System.Windows.Forms.TextBox
    Friend WithEvents StatusBar1 As System.Windows.Forms.StatusBar
    Friend WithEvents chkAllBoldBlackPepts As System.Windows.Forms.CheckBox
    Friend WithEvents chkCheckedRedPeptides As System.Windows.Forms.CheckBox
    Friend WithEvents chkBoldRedPeptides As System.Windows.Forms.CheckBox
    Friend WithEvents chkLightRedPeptides As System.Windows.Forms.CheckBox
    Friend WithEvents chkIncludeParensPeptides As System.Windows.Forms.CheckBox
    Friend WithEvents chkBoldBlackCheckedPepts As System.Windows.Forms.CheckBox
    Friend WithEvents Label2 As System.Windows.Forms.Label
    Friend WithEvents Label6 As System.Windows.Forms.Label
    Friend WithEvents cbxQuantMode As System.Windows.Forms.ComboBox
    Friend WithEvents ToolTip1 As System.Windows.Forms.ToolTip
    Friend WithEvents txtProtAutoValid As System.Windows.Forms.TextBox
    Friend WithEvents lblRawFile As System.Windows.Forms.Label
    Friend WithEvents cbxRawFileMode As System.Windows.Forms.ComboBox
    Friend WithEvents xyz123 As System.Windows.Forms.Label
    Friend WithEvents cbxMStypesForQuant As System.Windows.Forms.ComboBox
    Friend WithEvents grpIncludeInPreselectedPeptides As System.Windows.Forms.GroupBox
    Friend WithEvents CheckBox1 As System.Windows.Forms.CheckBox
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.components = New System.ComponentModel.Container
        Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmOptions))
        Me.Label1 = New System.Windows.Forms.Label
        Me.txtScoreA = New System.Windows.Forms.TextBox
        Me.txtScoreB = New System.Windows.Forms.TextBox
        Me.Label3 = New System.Windows.Forms.Label
        Me.txtScoreC = New System.Windows.Forms.TextBox
        Me.Label4 = New System.Windows.Forms.Label
        Me.btnCancel = New System.Windows.Forms.Button
        Me.btnOK = New System.Windows.Forms.Button
        Me.GroupBox1 = New System.Windows.Forms.GroupBox
        Me.chkNoIPI = New System.Windows.Forms.CheckBox
        Me.chkNoMosquito = New System.Windows.Forms.CheckBox
        Me.chkIncludeParensPeptides = New System.Windows.Forms.CheckBox
        Me.chkCheckedRedPeptides = New System.Windows.Forms.CheckBox
        Me.chkNoProteinWithoutABC = New System.Windows.Forms.CheckBox
        Me.StatusBar1 = New System.Windows.Forms.StatusBar
        Me.chkBoldRedPeptides = New System.Windows.Forms.CheckBox
        Me.chkBoldBlackCheckedPepts = New System.Windows.Forms.CheckBox
        Me.grpIncludeInPreselectedPeptides = New System.Windows.Forms.GroupBox
        Me.btnPeptideFilter = New System.Windows.Forms.Button
        Me.lblPeptideFilterSummary = New System.Windows.Forms.Label
        Me.chkLightRedPeptides = New System.Windows.Forms.CheckBox
        Me.chkAllBoldBlackPepts = New System.Windows.Forms.CheckBox
        Me.CheckBox1 = New System.Windows.Forms.CheckBox
        Me.Label2 = New System.Windows.Forms.Label
        Me.Label6 = New System.Windows.Forms.Label
        Me.cbxQuantMode = New System.Windows.Forms.ComboBox
        Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
        Me.cbxMStypesForQuant = New System.Windows.Forms.ComboBox
        Me.txtProtAutoValid = New System.Windows.Forms.TextBox
        Me.lblRawFile = New System.Windows.Forms.Label
        Me.cbxRawFileMode = New System.Windows.Forms.ComboBox
        Me.xyz123 = New System.Windows.Forms.Label
        Me.cbxTITLElineFormat = New System.Windows.Forms.ComboBox
        Me.Label12 = New System.Windows.Forms.Label
        Me.GroupBox2 = New System.Windows.Forms.GroupBox
        Me.btnValidationPeptideFilter = New System.Windows.Forms.Button
        Me.lblValidationPeptideFilterSummary = New System.Windows.Forms.Label
        Me.GroupBox3 = New System.Windows.Forms.GroupBox
        Me.lblRecalibLimitsShortSummary = New System.Windows.Forms.Label
        Me.btnRecalibRealityCheck = New System.Windows.Forms.Button
        Me.Label5 = New System.Windows.Forms.Label
        Me.cbxRecalibDomains = New System.Windows.Forms.ComboBox
        Me.btnRecalibPeptideFilter = New System.Windows.Forms.Button
        Me.lblRecalibPeptideFilterSummary = New System.Windows.Forms.Label
        Me.btnEndOfParseAction = New System.Windows.Forms.Button
        Me.grpIncludeInPreselectedPeptides.SuspendLayout()
        Me.GroupBox2.SuspendLayout()
        Me.GroupBox3.SuspendLayout()
        Me.SuspendLayout()
        '
        'Label1
        '
        Me.Label1.Location = New System.Drawing.Point(456, 48)
        Me.Label1.Name = "Label1"
        Me.Label1.Size = New System.Drawing.Size(88, 16)
        Me.Label1.TabIndex = 56
        Me.Label1.Text = "Category A >="
        '
        'txtScoreA
        '
        Me.txtScoreA.Location = New System.Drawing.Point(593, 48)
        Me.txtScoreA.Name = "txtScoreA"
        Me.txtScoreA.Size = New System.Drawing.Size(48, 20)
        Me.txtScoreA.TabIndex = 12
        Me.txtScoreA.Text = "33"
        Me.txtScoreA.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
        '
        'txtScoreB
        '
        Me.txtScoreB.Location = New System.Drawing.Point(593, 76)
        Me.txtScoreB.Name = "txtScoreB"
        Me.txtScoreB.Size = New System.Drawing.Size(48, 20)
        Me.txtScoreB.TabIndex = 13
        Me.txtScoreB.Text = "25"
        Me.txtScoreB.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
        '
        'Label3
        '
        Me.Label3.Location = New System.Drawing.Point(456, 76)
        Me.Label3.Name = "Label3"
        Me.Label3.Size = New System.Drawing.Size(88, 16)
        Me.Label3.TabIndex = 57
        Me.Label3.Text = "Category B >="
        '
        'txtScoreC
        '
        Me.txtScoreC.Location = New System.Drawing.Point(593, 104)
        Me.txtScoreC.Name = "txtScoreC"
        Me.txtScoreC.Size = New System.Drawing.Size(48, 20)
        Me.txtScoreC.TabIndex = 14
        Me.txtScoreC.Text = "20"
        Me.txtScoreC.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
        '
        'Label4
        '
        Me.Label4.Location = New System.Drawing.Point(456, 104)
        Me.Label4.Name = "Label4"
        Me.Label4.Size = New System.Drawing.Size(88, 16)
        Me.Label4.TabIndex = 58
        Me.Label4.Text = "Category C >="
        '
        'btnCancel
        '
        Me.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel
        Me.btnCancel.Location = New System.Drawing.Point(580, 388)
        Me.btnCancel.Name = "btnCancel"
        Me.btnCancel.Size = New System.Drawing.Size(75, 23)
        Me.btnCancel.TabIndex = 22
        Me.btnCancel.Text = "&Cancel"
        '
        'btnOK
        '
        Me.btnOK.Location = New System.Drawing.Point(497, 388)
        Me.btnOK.Name = "btnOK"
        Me.btnOK.Size = New System.Drawing.Size(75, 23)
        Me.btnOK.TabIndex = 21
        Me.btnOK.Text = "&OK"
        '
        'GroupBox1
        '
        Me.GroupBox1.Location = New System.Drawing.Point(355, 16)
        Me.GroupBox1.Name = "GroupBox1"
        Me.GroupBox1.Size = New System.Drawing.Size(303, 178)
        Me.GroupBox1.TabIndex = 55
        Me.GroupBox1.TabStop = False
        Me.GroupBox1.Text = "Classification of PSPs by Mascot score"
        '
        'chkNoIPI
        '
        Me.chkNoIPI.Location = New System.Drawing.Point(712, 54)
        Me.chkNoIPI.Name = "chkNoIPI"
        Me.chkNoIPI.Size = New System.Drawing.Size(184, 24)
        Me.chkNoIPI.TabIndex = 53
        Me.chkNoIPI.Text = "Do not show IPI protein hits"
        Me.chkNoIPI.Visible = False
        '
        'chkNoMosquito
        '
        Me.chkNoMosquito.Enabled = False
        Me.chkNoMosquito.Location = New System.Drawing.Point(712, 24)
        Me.chkNoMosquito.Name = "chkNoMosquito"
        Me.chkNoMosquito.Size = New System.Drawing.Size(200, 24)
        Me.chkNoMosquito.TabIndex = 51
        Me.chkNoMosquito.Text = "Do not show mosquito protein hits"
        Me.chkNoMosquito.Visible = False
        '
        'chkIncludeParensPeptides
        '
        Me.chkIncludeParensPeptides.Location = New System.Drawing.Point(16, 111)
        Me.chkIncludeParensPeptides.Name = "chkIncludeParensPeptides"
        Me.chkIncludeParensPeptides.Size = New System.Drawing.Size(144, 16)
        Me.chkIncludeParensPeptides.TabIndex = 6
        Me.chkIncludeParensPeptides.Text = "Parenthesized"
        '
        'chkCheckedRedPeptides
        '
        Me.chkCheckedRedPeptides.Checked = True
        Me.chkCheckedRedPeptides.CheckState = System.Windows.Forms.CheckState.Checked
        Me.chkCheckedRedPeptides.Location = New System.Drawing.Point(184, 24)
        Me.chkCheckedRedPeptides.Name = "chkCheckedRedPeptides"
        Me.chkCheckedRedPeptides.Size = New System.Drawing.Size(128, 16)
        Me.chkCheckedRedPeptides.TabIndex = 2
        Me.chkCheckedRedPeptides.Text = "Checked red only"
        '
        'chkNoProteinWithoutABC
        '
        Me.chkNoProteinWithoutABC.Checked = True
        Me.chkNoProteinWithoutABC.CheckState = System.Windows.Forms.CheckState.Checked
        Me.chkNoProteinWithoutABC.Location = New System.Drawing.Point(712, 84)
        Me.chkNoProteinWithoutABC.Name = "chkNoProteinWithoutABC"
        Me.chkNoProteinWithoutABC.Size = New System.Drawing.Size(280, 24)
        Me.chkNoProteinWithoutABC.TabIndex = 54
        Me.chkNoProteinWithoutABC.Text = "Do not show proteins without peptides in A, B or C"
        Me.chkNoProteinWithoutABC.Visible = False
        '
        'StatusBar1
        '
        Me.StatusBar1.Location = New System.Drawing.Point(0, 415)
        Me.StatusBar1.Name = "StatusBar1"
        Me.StatusBar1.Size = New System.Drawing.Size(669, 8)
        Me.StatusBar1.TabIndex = 100
        '
        'chkBoldRedPeptides
        '
        Me.chkBoldRedPeptides.Checked = True
        Me.chkBoldRedPeptides.CheckState = System.Windows.Forms.CheckState.Checked
        Me.chkBoldRedPeptides.Location = New System.Drawing.Point(16, 24)
        Me.chkBoldRedPeptides.Name = "chkBoldRedPeptides"
        Me.chkBoldRedPeptides.Size = New System.Drawing.Size(120, 16)
        Me.chkBoldRedPeptides.TabIndex = 1
        Me.chkBoldRedPeptides.Text = "Bold red"
        '
        'chkBoldBlackCheckedPepts
        '
        Me.chkBoldBlackCheckedPepts.Location = New System.Drawing.Point(184, 82)
        Me.chkBoldBlackCheckedPepts.Name = "chkBoldBlackCheckedPepts"
        Me.chkBoldBlackCheckedPepts.Size = New System.Drawing.Size(136, 16)
        Me.chkBoldBlackCheckedPepts.TabIndex = 5
        Me.chkBoldBlackCheckedPepts.Text = "Checked bold black"
        '
        'grpIncludeInPreselectedPeptides
        '
        Me.grpIncludeInPreselectedPeptides.Controls.Add(Me.btnPeptideFilter)
        Me.grpIncludeInPreselectedPeptides.Controls.Add(Me.lblPeptideFilterSummary)
        Me.grpIncludeInPreselectedPeptides.Controls.Add(Me.chkLightRedPeptides)
        Me.grpIncludeInPreselectedPeptides.Controls.Add(Me.chkAllBoldBlackPepts)
        Me.grpIncludeInPreselectedPeptides.Controls.Add(Me.chkBoldBlackCheckedPepts)
        Me.grpIncludeInPreselectedPeptides.Controls.Add(Me.chkIncludeParensPeptides)
        Me.grpIncludeInPreselectedPeptides.Controls.Add(Me.chkBoldRedPeptides)
        Me.grpIncludeInPreselectedPeptides.Controls.Add(Me.chkCheckedRedPeptides)
        Me.grpIncludeInPreselectedPeptides.Location = New System.Drawing.Point(8, 16)
        Me.grpIncludeInPreselectedPeptides.Name = "grpIncludeInPreselectedPeptides"
        Me.grpIncludeInPreselectedPeptides.Size = New System.Drawing.Size(331, 178)
        Me.grpIncludeInPreselectedPeptides.TabIndex = 60
        Me.grpIncludeInPreselectedPeptides.TabStop = False
        Me.grpIncludeInPreselectedPeptides.Text = "Include in preselected peptides (PSPs):"
        '
        'btnPeptideFilter
        '
        Me.btnPeptideFilter.Location = New System.Drawing.Point(16, 147)
        Me.btnPeptideFilter.Name = "btnPeptideFilter"
        Me.btnPeptideFilter.Size = New System.Drawing.Size(94, 23)
        Me.btnPeptideFilter.TabIndex = 7
        Me.btnPeptideFilter.Text = "&Peptide filter..."
        '
        'lblPeptideFilterSummary
        '
        Me.lblPeptideFilterSummary.AutoSize = True
        Me.lblPeptideFilterSummary.Location = New System.Drawing.Point(135, 152)
        Me.lblPeptideFilterSummary.Name = "lblPeptideFilterSummary"
        Me.lblPeptideFilterSummary.Size = New System.Drawing.Size(19, 13)
        Me.lblPeptideFilterSummary.TabIndex = 50
        Me.lblPeptideFilterSummary.Text = "<>"
        '
        'chkLightRedPeptides
        '
        Me.chkLightRedPeptides.Checked = True
        Me.chkLightRedPeptides.CheckState = System.Windows.Forms.CheckState.Checked
        Me.chkLightRedPeptides.Location = New System.Drawing.Point(16, 53)
        Me.chkLightRedPeptides.Name = "chkLightRedPeptides"
        Me.chkLightRedPeptides.Size = New System.Drawing.Size(120, 16)
        Me.chkLightRedPeptides.TabIndex = 3
        Me.chkLightRedPeptides.Text = "Light red"
        '
        'chkAllBoldBlackPepts
        '
        Me.chkAllBoldBlackPepts.Location = New System.Drawing.Point(16, 82)
        Me.chkAllBoldBlackPepts.Name = "chkAllBoldBlackPepts"
        Me.chkAllBoldBlackPepts.Size = New System.Drawing.Size(80, 16)
        Me.chkAllBoldBlackPepts.TabIndex = 4
        Me.chkAllBoldBlackPepts.Text = "Bold black"
        '
        'CheckBox1
        '
        Me.CheckBox1.Enabled = False
        Me.CheckBox1.Location = New System.Drawing.Point(712, 114)
        Me.CheckBox1.Name = "CheckBox1"
        Me.CheckBox1.Size = New System.Drawing.Size(312, 16)
        Me.CheckBox1.TabIndex = 52
        Me.CheckBox1.Text = "Use mod filter only if no peptide in protein matched"
        Me.CheckBox1.Visible = False
        '
        'Label2
        '
        Me.Label2.Location = New System.Drawing.Point(458, 136)
        Me.Label2.Name = "Label2"
        Me.Label2.Size = New System.Drawing.Size(128, 45)
        Me.Label2.TabIndex = 59
        Me.Label2.Text = "Protein is validated by default if ABC score is greater than or equal to:"
        '
        'Label6
        '
        Me.Label6.Location = New System.Drawing.Point(352, 209)
        Me.Label6.Name = "Label6"
        Me.Label6.Size = New System.Drawing.Size(112, 16)
        Me.Label6.TabIndex = 24
        Me.Label6.Text = "Quantitation mode"
        '
        'cbxQuantMode
        '
        Me.cbxQuantMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
        Me.cbxQuantMode.Location = New System.Drawing.Point(469, 209)
        Me.cbxQuantMode.MaxDropDownItems = 20
        Me.cbxQuantMode.Name = "cbxQuantMode"
        Me.cbxQuantMode.Size = New System.Drawing.Size(192, 21)
        Me.cbxQuantMode.TabIndex = 16
        Me.ToolTip1.SetToolTip(Me.cbxQuantMode, "Select how the application should quantify the experiment")
        '
        'cbxMStypesForQuant
        '
        Me.cbxMStypesForQuant.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
        Me.cbxMStypesForQuant.Items.AddRange(New Object() {"All MS spectra", "SIM spectra (LTQ-FT only)", "Full scan spectra (LTQFT only)"})
        Me.cbxMStypesForQuant.Location = New System.Drawing.Point(469, 314)
        Me.cbxMStypesForQuant.Name = "cbxMStypesForQuant"
        Me.cbxMStypesForQuant.Size = New System.Drawing.Size(192, 21)
        Me.cbxMStypesForQuant.TabIndex = 19
        Me.ToolTip1.SetToolTip(Me.cbxMStypesForQuant, "Select how the application should quantify the experiment")
        '
        'txtProtAutoValid
        '
        Me.txtProtAutoValid.Location = New System.Drawing.Point(593, 157)
        Me.txtProtAutoValid.Name = "txtProtAutoValid"
        Me.txtProtAutoValid.Size = New System.Drawing.Size(48, 20)
        Me.txtProtAutoValid.TabIndex = 15
        Me.txtProtAutoValid.Text = "60"
        Me.txtProtAutoValid.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
        '
        'lblRawFile
        '
        Me.lblRawFile.Location = New System.Drawing.Point(352, 279)
        Me.lblRawFile.Name = "lblRawFile"
        Me.lblRawFile.Size = New System.Drawing.Size(88, 16)
        Me.lblRawFile.TabIndex = 26
        Me.lblRawFile.Text = "Raw file type"
        '
        'cbxRawFileMode
        '
        Me.cbxRawFileMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
        Me.cbxRawFileMode.Items.AddRange(New Object() {"LTQ-FT / LTQ Orbitrap (.raw)", "QSTAR (.wiff)", "Qtof (.dat)"})
        Me.cbxRawFileMode.Location = New System.Drawing.Point(469, 279)
        Me.cbxRawFileMode.Name = "cbxRawFileMode"
        Me.cbxRawFileMode.Size = New System.Drawing.Size(192, 21)
        Me.cbxRawFileMode.TabIndex = 18
        '
        'xyz123
        '
        Me.xyz123.Location = New System.Drawing.Point(352, 314)
        Me.xyz123.Name = "xyz123"
        Me.xyz123.Size = New System.Drawing.Size(125, 16)
        Me.xyz123.TabIndex = 34
        Me.xyz123.Text = "Type(s) for quantitation"
        '
        'cbxTITLElineFormat
        '
        Me.cbxTITLElineFormat.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
        Me.cbxTITLElineFormat.Location = New System.Drawing.Point(469, 244)
        Me.cbxTITLElineFormat.Name = "cbxTITLElineFormat"
        Me.cbxTITLElineFormat.Size = New System.Drawing.Size(192, 21)
        Me.cbxTITLElineFormat.TabIndex = 17
        '
        'Label12
        '
        Me.Label12.Location = New System.Drawing.Point(352, 244)
        Me.Label12.Name = "Label12"
        Me.Label12.Size = New System.Drawing.Size(100, 16)
        Me.Label12.TabIndex = 36
        Me.Label12.Text = "MGF file generator"
        '
        'GroupBox2
        '
        Me.GroupBox2.Controls.Add(Me.btnValidationPeptideFilter)
        Me.GroupBox2.Controls.Add(Me.lblValidationPeptideFilterSummary)
        Me.GroupBox2.Location = New System.Drawing.Point(8, 326)
        Me.GroupBox2.Name = "GroupBox2"
        Me.GroupBox2.Size = New System.Drawing.Size(331, 55)
        Me.GroupBox2.TabIndex = 37
        Me.GroupBox2.TabStop = False
        Me.GroupBox2.Text = "Validation of PSPs"
        '
        'btnValidationPeptideFilter
        '
        Me.btnValidationPeptideFilter.Location = New System.Drawing.Point(16, 22)
        Me.btnValidationPeptideFilter.Name = "btnValidationPeptideFilter"
        Me.btnValidationPeptideFilter.Size = New System.Drawing.Size(94, 23)
        Me.btnValidationPeptideFilter.TabIndex = 11
        Me.btnValidationPeptideFilter.Text = "Pep&tide filter..."
        '
        'lblValidationPeptideFilterSummary
        '
        Me.lblValidationPeptideFilterSummary.AutoSize = True
        Me.lblValidationPeptideFilterSummary.Location = New System.Drawing.Point(135, 27)
        Me.lblValidationPeptideFilterSummary.Name = "lblValidationPeptideFilterSummary"
        Me.lblValidationPeptideFilterSummary.Size = New System.Drawing.Size(19, 13)
        Me.lblValidationPeptideFilterSummary.TabIndex = 63
        Me.lblValidationPeptideFilterSummary.Text = "<>"
        '
        'GroupBox3
        '
        Me.GroupBox3.Controls.Add(Me.lblRecalibLimitsShortSummary)
        Me.GroupBox3.Controls.Add(Me.btnRecalibRealityCheck)
        Me.GroupBox3.Controls.Add(Me.Label5)
        Me.GroupBox3.Controls.Add(Me.cbxRecalibDomains)
        Me.GroupBox3.Controls.Add(Me.btnRecalibPeptideFilter)
        Me.GroupBox3.Controls.Add(Me.lblRecalibPeptideFilterSummary)
        Me.GroupBox3.Location = New System.Drawing.Point(8, 205)
        Me.GroupBox3.Name = "GroupBox3"
        Me.GroupBox3.Size = New System.Drawing.Size(331, 115)
        Me.GroupBox3.TabIndex = 38
        Me.GroupBox3.TabStop = False
        Me.GroupBox3.Text = "Recalibration of PSPs (precursor mass)"
        '
        'lblRecalibLimitsShortSummary
        '
        Me.lblRecalibLimitsShortSummary.AutoSize = True
        Me.lblRecalibLimitsShortSummary.Location = New System.Drawing.Point(135, 86)
        Me.lblRecalibLimitsShortSummary.Name = "lblRecalibLimitsShortSummary"
        Me.lblRecalibLimitsShortSummary.Size = New System.Drawing.Size(19, 13)
        Me.lblRecalibLimitsShortSummary.TabIndex = 62
        Me.lblRecalibLimitsShortSummary.Text = "<>"
        '
        'btnRecalibRealityCheck
        '
        Me.btnRecalibRealityCheck.Location = New System.Drawing.Point(16, 81)
        Me.btnRecalibRealityCheck.Name = "btnRecalibRealityCheck"
        Me.btnRecalibRealityCheck.Size = New System.Drawing.Size(94, 23)
        Me.btnRecalibRealityCheck.TabIndex = 10
        Me.btnRecalibRealityCheck.Text = "Reality &check..."
        '
        'Label5
        '
        Me.Label5.Location = New System.Drawing.Point(13, 24)
        Me.Label5.Name = "Label5"
        Me.Label5.Size = New System.Drawing.Size(52, 16)
        Me.Label5.TabIndex = 61
        Me.Label5.Text = "Domain:"
        '
        'cbxRecalibDomains
        '
        Me.cbxRecalibDomains.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
        Me.cbxRecalibDomains.ItemHeight = 13
        Me.cbxRecalibDomains.Items.AddRange(New Object() {"Mass (classic)", "Frequency, 1/f (LTQ-FT)", "Time/TOF (QSTAR/Qtof)", "Frequency, 1/f^0.5 (Orbitrap)"})
        Me.cbxRecalibDomains.Location = New System.Drawing.Point(71, 21)
        Me.cbxRecalibDomains.Name = "cbxRecalibDomains"
        Me.cbxRecalibDomains.Size = New System.Drawing.Size(167, 21)
        Me.cbxRecalibDomains.TabIndex = 8
        '
        'btnRecalibPeptideFilter
        '
        Me.btnRecalibPeptideFilter.Location = New System.Drawing.Point(16, 52)
        Me.btnRecalibPeptideFilter.Name = "btnRecalibPeptideFilter"
        Me.btnRecalibPeptideFilter.Size = New System.Drawing.Size(94, 23)
        Me.btnRecalibPeptideFilter.TabIndex = 9
        Me.btnRecalibPeptideFilter.Text = "Peptide fi<er..."
        '
        'lblRecalibPeptideFilterSummary
        '
        Me.lblRecalibPeptideFilterSummary.AutoSize = True
        Me.lblRecalibPeptideFilterSummary.Location = New System.Drawing.Point(135, 57)
        Me.lblRecalibPeptideFilterSummary.Name = "lblRecalibPeptideFilterSummary"
        Me.lblRecalibPeptideFilterSummary.Size = New System.Drawing.Size(19, 13)
        Me.lblRecalibPeptideFilterSummary.TabIndex = 64
        Me.lblRecalibPeptideFilterSummary.Text = "<>"
        '
        'btnEndOfParseAction
        '
        Me.btnEndOfParseAction.Location = New System.Drawing.Point(355, 348)
        Me.btnEndOfParseAction.Name = "btnEndOfParseAction"
        Me.btnEndOfParseAction.Size = New System.Drawing.Size(122, 23)
        Me.btnEndOfParseAction.TabIndex = 20
        Me.btnEndOfParseAction.Text = "&End of parse action..."
        '
        'frmOptions
        '
        Me.AcceptButton = Me.btnOK
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.CancelButton = Me.btnCancel
        Me.ClientSize = New System.Drawing.Size(669, 423)
        Me.Controls.Add(Me.btnEndOfParseAction)
        Me.Controls.Add(Me.GroupBox3)
        Me.Controls.Add(Me.CheckBox1)
        Me.Controls.Add(Me.GroupBox2)
        Me.Controls.Add(Me.cbxTITLElineFormat)
        Me.Controls.Add(Me.Label12)
        Me.Controls.Add(Me.txtProtAutoValid)
        Me.Controls.Add(Me.txtScoreC)
        Me.Controls.Add(Me.txtScoreB)
        Me.Controls.Add(Me.txtScoreA)
        Me.Controls.Add(Me.cbxRawFileMode)
        Me.Controls.Add(Me.lblRawFile)
        Me.Controls.Add(Me.cbxQuantMode)
        Me.Controls.Add(Me.Label6)
        Me.Controls.Add(Me.Label2)
        Me.Controls.Add(Me.StatusBar1)
        Me.Controls.Add(Me.chkNoProteinWithoutABC)
        Me.Controls.Add(Me.chkNoMosquito)
        Me.Controls.Add(Me.chkNoIPI)
        Me.Controls.Add(Me.btnOK)
        Me.Controls.Add(Me.btnCancel)
        Me.Controls.Add(Me.Label4)
        Me.Controls.Add(Me.Label3)
        Me.Controls.Add(Me.Label1)
        Me.Controls.Add(Me.GroupBox1)
        Me.Controls.Add(Me.grpIncludeInPreselectedPeptides)
        Me.Controls.Add(Me.cbxMStypesForQuant)
        Me.Controls.Add(Me.xyz123)
        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
        Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
        Me.MaximizeBox = False
        Me.MaximumSize = New System.Drawing.Size(675, 999)
        Me.MinimizeBox = False
        Me.MinimumSize = New System.Drawing.Size(675, 418)
        Me.Name = "frmOptions"
        Me.Text = "Application Options"
        Me.grpIncludeInPreselectedPeptides.ResumeLayout(False)
        Me.grpIncludeInPreselectedPeptides.PerformLayout()
        Me.GroupBox2.ResumeLayout(False)
        Me.GroupBox2.PerformLayout()
        Me.GroupBox3.ResumeLayout(False)
        Me.GroupBox3.PerformLayout()
        Me.ResumeLayout(False)
        Me.PerformLayout()

    End Sub

#End Region


    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Sub New( _
      ByVal aOptions As OptionsStruct2, _
      ByRef aMainForm As frmMainForm, _
      ByRef anApp As quantApplication, _
      ByRef anInRawFiles() As fileSpecStructure)

        Me.New()

        mOptions2 = aOptions
        mMainForm = aMainForm

        'Changed PM_GENERALISED_QUANT_MODE 2003-12-06
        mApplication = anApp

        'Changed PM_RAWFILE_PEPFILTER 2007-11-17
        mRawFiles = anInRawFiles

        If True Then
            'Changed PM_QUANTMODESTR_DISPLAY 2003-09-29
            Me.cbxQuantMode.Items.Clear()
            Dim qStrings As Generic.List(Of String) = _
              frmOptions.quantStrings(mApplication)
            Dim curStr As String
            For Each curStr In qStrings
                Me.cbxQuantMode.Items.Add(curStr)
            Next
        End If

        'Changed PM_TITLELINEPARSING 2007-06-08
        If True Then
            'Changed PM_TITLELINEPARSING 2007-06-08
            Me.cbxTITLElineFormat.Items.Clear()
            Dim tStrings As Generic.List(Of String) = _
              frmOptions.tStrings(mApplication)
            Dim curStr2 As String
            For Each curStr2 In tStrings
                Me.cbxTITLElineFormat.Items.Add(curStr2)
            Next
        End If

        If True Then
            txtScoreA.Text = aOptions.scoreA.ToString
            txtScoreB.Text = aOptions.scoreB.ToString
            txtScoreC.Text = aOptions.scoreC.ToString
            chkNoIPI.Checked = aOptions.dontShowIPI
            chkNoMosquito.Checked = aOptions.dontShowMosquito
            chkNoProteinWithoutABC.Checked = aOptions.dontShowProtWithNoPeptInABC
            chkBoldRedPeptides.Checked = aOptions.inclBoldRedPepts
            chkLightRedPeptides.Checked = aOptions.inclLightRedPepts
            chkCheckedRedPeptides.Checked = aOptions.inclRedPeptsIfCheckedOnly
            chkBoldBlackCheckedPepts.Checked = aOptions.inclBoldBlackPeptsIfChecked
            chkAllBoldBlackPepts.Checked = aOptions.inclBoldBlackPepts
            chkIncludeParensPeptides.Checked = aOptions.inclPeptsInParens
            txtProtAutoValid.Text = aOptions.protDefaultValidationScoreThr.ToString

            'cbxQuantMode.SelectedIndex = aOptions.quantMode - ENUM_OFFSET_QUANTMODE 'This assumes

            'Changed PM_EVENMORE_GENERALISED_QUANTMODES 2005-04-08
            'cbxQuantMode.SelectedIndex = QuantModeCode2ListIndex( _
            '  .quantModeCode, mApplication.getQuantitationModesObject())
            cbxQuantMode.SelectedIndex = QuantModeCode2ListIndex( _
              aOptions.quantModeCode, mApplication.getQuantModes())

            'Changed PM_FINNEGAN_RAWFILEMODE 2003-08-18
            cbxRawFileMode.SelectedIndex = _
              rawFileModeEnum2ListIndex(aOptions.rawFileMode)

            If aOptions.rawFileMode = rawFileModeEnum.enumFinnegan Then
                cbxMStypesForQuant.SelectedIndex = _
                  MStypesEnum2ListIndex(aOptions.MStypes2)
                'cbxMStypesForQuant.Enabled = True
            Else
                cbxMStypesForQuant.SelectedIndex = _
                  MStypesEnum2ListIndex(QuantMSTypesEnum.enumAllMStypes)
                cbxMStypesForQuant.Enabled = False
            End If

            'Changed PM_DOMAINS_RECALIBRATION 2007-11-06
            cbxRecalibDomains.SelectedIndex = _
              recalibDomainEnum2ListIndex(aOptions.recalibDomain)

            'Changed PM_TITLELINEPARSING 2007-06-08
            cbxTITLElineFormat.SelectedIndex = _
              TITLElineDefCode2ListIndex( _
                aOptions.TITLEparseDefsCode, mApplication)

            updatePeptideFilterSummary( _
              aOptions.peptideFilters(peptideFilterEnum.enumParsing2))

            'Changed PM_RECALIB_FILTER 2007-09-04
            updateCalibPeptideFilterSummary( _
              aOptions.peptideFilters(peptideFilterEnum.enumRecalibParse))

            'Changed PM_VALIDATION_AS_PEPTFILTER 2007-09-05
            updateValidationPeptideFilterSummary( _
              aOptions.peptideFilters(peptideFilterEnum.enumValidationParse))


            'Changed PM_RECALIB_REALITY_CHECK 2008-03-27
            updateRecalibRealityCheckSummary(aOptions.recalibLimits)


            'Changed PM_CANCEL_ALSO_SAVES_PEPTFILT_BUG 2007-09-06
            'Take local copies that are used until the dialog 
            'is OK'ed.
            mPreselPeptideFilter = _
              aOptions.peptideFilters( _
                peptideFilterEnum.enumParsing2).deepCopy2()
            mRecalibPeptideFilter = _
              aOptions.peptideFilters( _
                peptideFilterEnum.enumRecalibParse).deepCopy2()
            mValPeptideFilter = _
              aOptions.peptideFilters( _
                peptideFilterEnum.enumValidationParse).deepCopy2()

            'Changed PM_RECALIB_REALITY_CHECK 2008-03-26
            'We use field recalibLimits directly. No copy needed.
        End If


        'Changed PM_PEPTIDEFILTER_GENERALISED 2007-08-24. Moved to the 
        'other dialog.
        ''Dim modFilter As Generic.List(Of Integer) = _
        ''  mOptions.peptideModificationFilter2
        'Dim pepFilter As peptideFilterSpecificationStructure = _
        '  mOptions.peptideFilters(peptideFilterEnum.enumParsing)
        'Dim modFilter As Generic.List(Of Integer) = _
        '  pepFilter.peptideModificationFilter
        ''lblModFilter.Text = Me.formatShortModStr(modFilter)
    End Sub 'New, frmOptions.


    '***************************************************
    'A region here....
#Region "quant mode conversions"


    'Changed PM_EVENMORE_GENERALISED_QUANTMODES 2005-04-08
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Shared Function QuantModeCode2ListIndex( _
      ByVal aQuantModeCode As Integer, _
      ByRef aQuantitationModes As QuantitationModes_moreGeneral) As Integer

        Dim result As Integer = -1

        'Changed PM_OPTIONSDIALOG_PROBLEM_AFTER_QUANTSPECCHANGE 2004-03-19
        Dim defaultResult As Integer = -1

        Dim quantSpecList2 As Generic.List(Of generalisedQuantModeStructure) = _
          aQuantitationModes.getQuantSpecificationList_GUIIndexOrder()

        'Changed PM_GUINAMEINDEX_SENSITIVITY 2007-03-14
        Dim index As Integer = 0 'Do not depend on actual value
        '  of GUInameIndex - only use that field for sorting.

        Dim quantModeItem As generalisedQuantModeStructure
        For Each quantModeItem In quantSpecList2
            If quantModeItem.uniqueID = aQuantModeCode Then

                'Changed PM_GUINAMEINDEX_SENSITIVITY 2007-03-14
                'result = quantModeItem.GUInameIndex
                result = index
                Exit For
            End If

            'Changed PM_OPTIONSDIALOG_PROBLEM_AFTER_QUANTSPECCHANGE 2004-03-19
            If defaultResult < 0 Then
                'Changed PM_GUINAMEINDEX_SENSITIVITY 2007-03-14
                'defaultResult = quantModeItem.GUInameIndex
                defaultResult = index
            End If

            index += 1
        Next

        'Changed PM_OPTIONSDIALOG_PROBLEM_AFTER_QUANTSPECCHANGE 2004-03-19
        'Trace.Assert(result >= 0, _
        '  "PIL ASSERT. Unknown quantitation code: " & aQuantModeCode)
        If result < 0 Then
            'This can happen when the currently user selected quantitation was
            'removed from the list of quantitation modes.
            result = defaultResult
        End If

        Return result
    End Function 'QuantModeCode2ListIndex()


    'Changed PM_TITLELINEPARSING 2007-06-08
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Shared Function TITLElineDefCode2ListIndex( _
      ByVal aTITLEdefCode As Integer, _
      ByRef anApplication2 As quantApplication) _
      As Integer

        Dim result As Integer = -1

        Dim TITLEdefs As TITLElineDefinitions = _
          anApplication2.getMiscSettings().TITLElineDefs2

        Dim defaultResult As Integer = -1

        Dim tList As Generic.List(Of TITLElineParsingStructure) = _
          TITLEdefs.getTITLEdefs_GUIIndexOrder()

        Dim index As Integer = 0 'Do not depend on actual value
        '  of GUInameIndex - only use that field for sorting.

        Dim someItem As TITLElineParsingStructure
        For Each someItem In tList
            If someItem.ID3 = aTITLEdefCode Then
                result = index
                Exit For
            End If

            'If we can't find it then we pick another - the first.
            If defaultResult < 0 Then
                defaultResult = index
            End If
            index += 1
        Next

        If result < 0 Then
            'This can happen when the currently user selected format was
            'removed from the list of TITLE parse defs.
            result = defaultResult
        End If

        Return result
    End Function 'TITLElineDefCode2ListIndex()


    'Changed PM_EVENMORE_GENERALISED_QUANTMODES 2005-04-08
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Shared Function quantModeListIndex2QuantModeCode( _
      ByVal aListIndex As Integer, _
      ByRef aQuantitationModes As QuantitationModes_moreGeneral) As Integer

        Dim result As Integer = -1

        Dim quantSpecList2 As Generic.List(Of generalisedQuantModeStructure) = _
          aQuantitationModes.getQuantSpecificationList_GUIIndexOrder()


        'Changed PM_GUINAMEINDEX_SENSITIVITY 2007-03-14
        Dim index As Integer = 0 'Do not depend on actual value
        '  of GUInameIndex - only use that field for sorting.

        Dim quantModeItem As generalisedQuantModeStructure
        For Each quantModeItem In quantSpecList2

            'Changed PM_GUINAMEINDEX_SENSITIVITY 2007-03-14
            'If quantModeItem.GUInameIndex = aListIndex Then
            If index = aListIndex Then
                result = quantModeItem.uniqueID
                Exit For
            End If

            index += 1
        Next
        Trace.Assert(result >= 0, _
          "PIL ASSERT. No quantitation mode corresponding to GUI index of: " & _
          aListIndex)
        Return result
    End Function 'quantModeListIndex2QuantModeCode()


    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Shared Function ListIndex2TITLElineDefCode( _
      ByVal aListIndex2 As Integer, _
      ByRef anApplication2 As quantApplication) _
      As Integer

        Dim result As Integer = -1

        Dim TITLEdefs As TITLElineDefinitions = _
          anApplication2.getMiscSettings().TITLElineDefs2

        Dim tList As Generic.List(Of TITLElineParsingStructure) = _
          TITLEdefs.getTITLEdefs_GUIIndexOrder()

        Dim index As Integer = 0 'Do not depend on actual value
        '  of GUInameIndex - only use that field for sorting.

        Dim someItem As TITLElineParsingStructure
        For Each someItem In tList

            'Changed PM_GUINAMEINDEX_SENSITIVITY 2007-03-14
            'If quantModeItem.GUInameIndex = aListIndex Then
            If index = aListIndex2 Then
                result = someItem.ID3
                Exit For
            End If

            index += 1
        Next
        Trace.Assert(result >= 0, _
          "PIL ASSERT. No quantitation mode corresponding to GUI index of: " & _
          aListIndex2)
        Return result
    End Function 'ListIndex2TITLElineDefCode


    'Changed PM_QUANTMODESTR_DISPLAY 2003-09-29
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Public Shared Function quantStrings( _
      ByRef anApplication As quantApplication) _
      As Generic.List(Of String)

        Dim toReturn As Generic.List(Of String) = New Generic.List(Of String)

        'Changed PM_EVENMORE_GENERALISED_QUANTMODES 2005-04-08
        'Dim quantitationModesObject As QuantitationModes = _
        '  anApplication.getQuantitationModesObject()
        Dim quantitationModesObject As QuantitationModes_moreGeneral = _
          anApplication.getQuantModes()

        Dim quantSpecList2 As Generic.List(Of generalisedQuantModeStructure) = _
          quantitationModesObject.getQuantSpecificationList_GUIIndexOrder()

        'Changed PM_EVENMORE_GENERALISED_QUANTMODES 2005-04-08
        'Dim quantModeItem As MolecularSharedStructures.quantitationModeStructure
        Dim quantModeItem As generalisedQuantModeStructure
        For Each quantModeItem In quantSpecList2
            toReturn.Add(quantModeItem.GUIname)
        Next

        Return toReturn
    End Function 'quantStrings


    'Changed PM_TITLELINEPARSING 2007-06-08
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Public Shared Function tStrings( _
      ByRef anApplication As quantApplication) _
      As Generic.List(Of String)

        Dim toReturn As Generic.List(Of String) = New Generic.List(Of String)

        Dim TITLEdefs As TITLElineDefinitions = _
          anApplication.getMiscSettings().TITLElineDefs2

        Dim tList As Generic.List(Of TITLElineParsingStructure) = _
          TITLEdefs.getTITLEdefs_GUIIndexOrder()

        Dim someItem As TITLElineParsingStructure
        For Each someItem In tList
            toReturn.Add(someItem.formatName)
        Next

        Return toReturn
    End Function 'quantStrings


#End Region


    '***************************************************
    'A region here....
#Region "raw file mode conversions"
    'Changed PM_FINNEGAN_RAWFILEMODE 2003-08-18
    Private Const LISTINDEX_FINNEGAN As Integer = 0
    Private Const LISTINDEX_ANALYST As Integer = 1
    Private Const LISTINDEX_MICROMASS As Integer = 2

    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Shared Function rawFileModeListIndex2enum( _
      ByVal aListIndex As Integer) As rawFileModeEnum

        Dim result As rawFileModeEnum
        Select Case aListIndex
            Case LISTINDEX_FINNEGAN
                result = rawFileModeEnum.enumFinnegan
            Case LISTINDEX_ANALYST
                result = rawFileModeEnum.enumAnalyst
            Case LISTINDEX_MICROMASS
                result = rawFileModeEnum.enumMicromass
            Case Else
                Trace.Assert(False, "Select Case never fall-through")
        End Select
        Return result
    End Function 'rawFileModeListIndex2enum()


    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Shared Function rawFileModeEnum2ListIndex( _
      ByVal aQuantMode As rawFileModeEnum) _
      As Integer

        Dim result As Integer
        Select Case aQuantMode
            Case rawFileModeEnum.enumFinnegan
                result = LISTINDEX_FINNEGAN
            Case rawFileModeEnum.enumAnalyst
                result = LISTINDEX_ANALYST
            Case rawFileModeEnum.enumMicromass
                result = LISTINDEX_MICROMASS
            Case Else
                Trace.Assert(False, "Select Case never fall-through")
        End Select
        Return result
    End Function 'rawFileModeEnum2ListIndex()

#End Region

    'Changed PM_MSTYPES_FOR_QUANT_OPTION 2004-09-13
    Private Const LISTINDEX_ALLMS As Integer = 0
    Private Const LISTINDEX_SIM As Integer = 1
    Private Const LISTINDEX_FULLSCAN As Integer = 2

    'Changed PM_DOMAINS_RECALIBRATION 2007-11-06
    Private Const LISTINDEX_DOMAIN_MASS As Integer = 0
    Private Const LISTINDEX_DOMAIN_FREQ As Integer = 1 'E.g. LTQ-FT.
    Private Const LISTINDEX_DOMAIN_TIME As Integer = 2
    Private Const LISTINDEX_DOMAIN_SQRT_FREQ As Integer = 3 'E.g. LTQ-Orbitrap.


    'Changed PM_MSTYPES_FOR_QUANT_OPTION 2004-09-13
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Shared Function MStypesIndex2enum( _
      ByVal aListIndex As Integer) As QuantMSTypesEnum

        Dim result As QuantMSTypesEnum
        Select Case aListIndex
            Case LISTINDEX_ALLMS
                result = QuantMSTypesEnum.enumAllMStypes
            Case LISTINDEX_SIM
                result = QuantMSTypesEnum.enumMS_SIM
            Case LISTINDEX_FULLSCAN
                result = QuantMSTypesEnum.enumMSFullScan
            Case Else
                Trace.Assert(False, "Select Case never fall-through")
        End Select
        Return result
    End Function 'MStypesIndex2enum()


    'Changed PM_MSTYPES_FOR_QUANT_OPTION 2004-09-13
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Shared Function MStypesEnum2ListIndex( _
      ByVal aQuantMode As QuantMSTypesEnum) As Integer

        Dim result As Integer
        Select Case aQuantMode
            Case QuantMSTypesEnum.enumAllMStypes
                result = LISTINDEX_ALLMS
            Case QuantMSTypesEnum.enumMS_SIM
                result = LISTINDEX_SIM
            Case QuantMSTypesEnum.enumMSFullScan
                result = LISTINDEX_FULLSCAN
            Case Else
                Trace.Assert(False, "Select Case never fall-through")
        End Select
        Return result
    End Function 'MStypesEnum2ListIndex()


    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Sub bttnCancel_Click(ByVal sender As System.Object, _
      ByVal anEvent As System.EventArgs) Handles btnCancel.Click

        Me.Close()
    End Sub 'bttnCancel_Click


    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Sub btnOK_Click(ByVal sender As System.Object, _
      ByVal anEvemt As System.EventArgs) Handles btnOK.Click

        Dim scoreA As Integer
        Dim scoreB As Integer
        Dim scoreC As Integer

        'Changed PM_STRUCTURED_PROGRAMMING 2005-12-05
        If Not ( _
            IsNumeric(txtScoreA.Text) And _
            IsNumeric(txtScoreB.Text) And _
            IsNumeric(txtScoreC.Text) _
          ) Then

            MsgBox("Peptide scores need to be numbers")
        Else
            If Not IsNumeric(txtProtAutoValid.Text) Then
                MsgBox("Protein auto valid score needs to be a number")
                txtProtAutoValid.SelectAll()
            Else
                scoreA = CInt(txtScoreA.Text)
                scoreB = CInt(txtScoreB.Text)
                scoreC = CInt(txtScoreC.Text)

                If Not (scoreC <= scoreB And scoreB <= scoreA) Then
                    MsgBox( _
                      "Score A needs to be higher than score B and " & _
                      "score B higher than score C")
                    Exit Sub
                End If

                'Changed PM_PEPTIDE_FILTER 2006-03-20
                'Use the saved options, mOptions, from the constructor as we
                'need to leave some fields unchanged.
                'Dim mascOpts As OptionsStruct2

                With mOptions2
                    .scoreA = scoreA
                    .scoreB = scoreB
                    .scoreC = scoreC
                    .dontShowIPI = chkNoIPI.Checked
                    .dontShowMosquito = chkNoMosquito.Checked
                    .dontShowProtWithNoPeptInABC = chkNoProteinWithoutABC.Checked
                    .inclBoldRedPepts = chkBoldRedPeptides.Checked
                    .inclLightRedPepts = chkLightRedPeptides.Checked
                    .inclRedPeptsIfCheckedOnly = chkCheckedRedPeptides.Checked
                    .inclBoldBlackPeptsIfChecked = chkBoldBlackCheckedPepts.Checked
                    .inclBoldBlackPepts = chkAllBoldBlackPepts.Checked
                    .inclPeptsInParens = chkIncludeParensPeptides.Checked
                    .protDefaultValidationScoreThr = CInt(txtProtAutoValid.Text)

                    'Changed PM_EVENMORE_GENERALISED_QUANTMODES 2005-04-08
                    '.quantModeCode = quantModeListIndex2QuantModeCode( _
                    '  cbxQuantMode.SelectedIndex, _
                    '  mApplication.getQuantitationModesObject())
                    .quantModeCode = quantModeListIndex2QuantModeCode( _
                      cbxQuantMode.SelectedIndex, _
                      mApplication.getQuantModes())

                    'Changed PM_PEPTIDE_FILTER 2006-03-20. Not needed anymore...
                    ''Changed PM_PERSIST_OPTIONS 2003-04-14
                    '.checkSum = mStartOptions.checkSum

                    'Changed PM_FINNEGAN_RAWFILEMODE 2003-08-18
                    .rawFileMode = _
                      rawFileModeListIndex2enum(cbxRawFileMode.SelectedIndex)

                    'Changed PM_MSTYPES_FOR_QUANT_OPTION 2004-09-13
                    If .rawFileMode = rawFileModeEnum.enumFinnegan Then
                        .MStypes2 = MStypesIndex2enum( _
                          cbxMStypesForQuant.SelectedIndex)
                    Else
                        .MStypes2 = QuantMSTypesEnum.enumAllMStypes 'Reset to 
                        '  include all spectra.
                    End If

                    'Changed PM_DOMAINS_RECALIBRATION 2007-11-06
                    .recalibDomain = _
                      recalibDomainListIndex2enum( _
                        cbxRecalibDomains.SelectedIndex)

                    'Changed PM_TITLELINEPARSING 2007-06-08
                    .TITLEparseDefsCode = ListIndex2TITLElineDefCode( _
                      cbxTITLElineFormat.SelectedIndex, mApplication)

                    'Changed PM_CANCEL_ALSO_SAVES_PEPTFILT_BUG 2007-09-06
                    .peptideFilters(peptideFilterEnum.enumParsing2) = _
                      mPreselPeptideFilter
                    .peptideFilters(peptideFilterEnum.enumRecalibParse) = _
                      mRecalibPeptideFilter
                    .peptideFilters(peptideFilterEnum.enumValidationParse) = _
                      mValPeptideFilter

                    'Changed PM_RECALIB_REALITY_CHECK 2008-03-26
                    'Note: field recalibLimits is already set.
                End With

                'Changed PM_PEPTIDE_FILTER 2006-03-20. Not needed anymore...
                ''Changed PM_MODIFICATION_FILTER 2004-12-07
                'mascOpts.peptideModificationFilter = _
                '  mStartOptions.peptideModificationFilter

                mMainForm.setOptions(mOptions2)

                Me.Close()
            End If
        End If
    End Sub 'btnOK_Click()


    'Help status messages for the options:
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Sub chkCheckedRedPeptides_MouseEnter( _
      ByVal sender As Object, ByVal e As System.EventArgs) _
      Handles chkCheckedRedPeptides.MouseEnter

        StatusBar1.Text = "Use in addition to 'Bold red peptides' and 'Light red peptides'"
    End Sub 'chkCheckedRedPeptides_MouseEnter


    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Sub chkCheckedRedPeptides_MouseLeave( _
      ByVal sender As Object, ByVal e As System.EventArgs) _
      Handles chkCheckedRedPeptides.MouseLeave

        StatusBar1.Text = ""
    End Sub 'chkCheckedRedPeptides_MouseLeave


    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Sub chkIncludeParensPeptides_MouseEnter( _
      ByVal sender As Object, ByVal e As System.EventArgs) _
      Handles chkIncludeParensPeptides.MouseEnter

        StatusBar1.Text = _
          "If checked, " & AppConstants.LONG_APP & _
          " will not exclude peptide scores in parentheses"
    End Sub 'chkIncludeParensPeptides_MouseEnter


    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Sub chkIncludeParensPeptides_MouseLeave( _
      ByVal sender As Object, ByVal e As System.EventArgs) _
      Handles chkIncludeParensPeptides.MouseLeave

        StatusBar1.Text = ""
    End Sub 'chkIncludeParensPeptides_MouseLeave


    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Sub chkBoldBlackCheckedPepts_MouseEnter( _
      ByVal sender As Object, ByVal e As System.EventArgs) _
      Handles chkBoldBlackCheckedPepts.MouseEnter

        StatusBar1.Text = "Use in addtion to 'Bold black peptides'"
    End Sub 'chkBoldBlackCheckedPepts_MouseEnter


    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Sub chkBoldBlackCheckedPepts_MouseLeave( _
      ByVal sender As Object, ByVal e As System.EventArgs) _
      Handles chkBoldBlackCheckedPepts.MouseLeave

        StatusBar1.Text = ""
    End Sub 'chkBoldBlackCheckedPepts_MouseLeave


    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Sub chkLightRedPeptides_MouseEnter( _
      ByVal sender As Object, ByVal e As System.EventArgs) _
      Handles chkLightRedPeptides.MouseEnter

        StatusBar1.Text = "All light red peptides can contribute to A,B,C unless 'Checked red peptides only' is selected"
    End Sub 'chkLightRedPeptides_MouseEnter


    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Sub chkLightRedPeptides_MouseLeave( _
      ByVal sender As Object, ByVal e As System.EventArgs) _
      Handles chkLightRedPeptides.MouseLeave

        StatusBar1.Text = ""
    End Sub 'chkLightRedPeptides_MouseLeave


    'Changed PM_SAVING_OPTIONS 2004-09-15
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Sub cbxRawFileMode_SelectedIndexChanged( _
      ByVal aSender As Object, ByVal anEvent As System.EventArgs) _
      Handles cbxRawFileMode.SelectedIndexChanged

        Dim idx As Integer = cbxRawFileMode.SelectedIndex
        Dim rawFile As rawFileModeEnum = rawFileModeListIndex2enum(idx)
        If rawFile = rawFileModeEnum.enumFinnegan Then
            cbxMStypesForQuant.Enabled = True
        Else
            cbxMStypesForQuant.SelectedIndex = _
              MStypesEnum2ListIndex(QuantMSTypesEnum.enumAllMStypes)
            cbxMStypesForQuant.Enabled = False
        End If
    End Sub 'cbxRawFileMode_SelectedIndexChanged


    'Changed PM_PEPTIDEFILTER_GENERALISED 2007-08-24. Moved to a sub
    '  dialog under the peptide filter.
    ''Changed PM_MODIFICATION_FILTER 2004-12-07
    ''****************************************************************************
    ''*    <placeholder for header>                                              *
    ''****************************************************************************
    'Private Sub btnChangeModificationFilter_Click( _
    '  ByVal sender As System.Object, ByVal e As System.EventArgs) _
    '  Handles btnChangeModificationFilter.Click

    '    Dim modFilterForm As New frmModificationFilter( _
    '      mOptions.peptideModificationFilter2, Me, mApplication)
    '    modFilterForm.Show()
    'End Sub 'btnChangeModificationFilter_Click


    'Changed PM_PEPTIDEFILTER_GENERALISED 2007-08-24. Moved to a sub
    '  dialog under the peptide filter.
    ''Changed PM_MODIFICATION_FILTER 2004-12-07
    ''Changed PM_MODIFICATION_FILTER 2004-12-07
    ''****************************************************************************
    ''*    <placeholder for header>                                              *
    ''****************************************************************************
    'Public Sub newModFilterList( _
    '  ByRef anInModIDlist2 As Generic.List(Of Integer))

    '    'Store it here for now...
    '    mOptions.peptideModificationFilter2 = anInModIDlist2

    '    lblModFilter.Text = _
    '      Me.formatShortModStr(mOptions.peptideModificationFilter2)
    'End Sub 'newModFilterList


    'Changed PM_MARKER_DELETE 2007-03-14
    ' Delete at any time
    '
    ' 'TODO2:     obsolete it
    ' '****************************************************************************
    ' '*    <placeholder for header>                                              *
    ' '****************************************************************************
    ' Private Shared Function QuantModeCode2ListIndex2( _
    '   ByVal aQuantModeCode As Integer, _
    '   ByRef aQuantitationModes As QuantitationModes) As Integer
    ' 
    '     Dim result As Integer = -1
    ' 
    '     'Changed PM_OPTIONSDIALOG_PROBLEM_AFTER_QUANTSPECCHANGE 2004-03-19
    '     Dim defaultResult As Integer = -1
    ' 
    '     Dim quantSpecList2 As Generic.List(Of quantitationModeStructure) = _
    '       aQuantitationModes.getQuantSpecificationList_GUIIndexOrder()
    ' 
    ' 
    '     'Changed PM_GUINAMEINDEX_SENSITIVITY 2007-03-14
    '     Dim index As Integer = 0 'Do not depend on actual value
    '     '  of xxxGUInameIndex - only use that field for sorting.
    ' 
    '     Dim quantModeItem As MolecularSharedStructures.quantitationModeStructure
    '     For Each quantModeItem In quantSpecList2
    ' 
    '         If quantModeItem.uniqueID = aQuantModeCode Then
    ' 
    '             'Changed PM_GUINAMEINDEX_SENSITIVITY 2007-03-14
    '             'result = quantModeItem.xxxGUInameIndex
    '             result = index
    '             Exit For
    '         End If
    ' 
    '         'Changed PM_OPTIONSDIALOG_PROBLEM_AFTER_QUANTSPECCHANGE 2004-03-19
    '         If defaultResult < 0 Then
    ' 
    '             'Changed PM_GUINAMEINDEX_SENSITIVITY 2007-03-14
    '             'defaultResult = quantModeItem.xxxGUInameIndex
    '             defaultResult = index
    '         End If
    ' 
    '         index += 1
    '     Next
    ' 
    '     'Changed PM_OPTIONSDIALOG_PROBLEM_AFTER_QUANTSPECCHANGE 2004-03-19
    '     'Trace.Assert(result >= 0, _
    '     '  "PIL ASSERT. Unknown quantitation code: " & aQuantModeCode)
    '     If result < 0 Then
    '         'This can happen when the currently user selected quantitation was
    '         'removed from the list of quantitation modes.
    '         result = defaultResult
    '     End If
    ' 
    '     Return result
    ' End Function 'QuantModeCode2ListIndex2


    'Changed PM_MARKER_DELETE 2007-03-14
    ' Delete at any time
    '
    ' 'TODO2: obsolete it
    ' '****************************************************************************
    ' '*    <placeholder for header>                                              *
    ' '****************************************************************************
    ' Private Shared Function quantModeListIndex2QuantModeCode2( _
    '   ByVal aListIndex As Integer, _
    '   ByRef aQuantitationModes As QuantitationModes) _
    '   As Integer
    ' 
    '     Dim result As Integer = -1
    ' 
    '     Dim quantSpecList2 As Generic.List(Of quantitationModeStructure) = _
    '       aQuantitationModes.getQuantSpecificationList_GUIIndexOrder()
    ' 
    '     'Changed PM_GUINAMEINDEX_SENSITIVITY 2007-03-14
    '     Dim index As Integer = 0 'Do not depend on actual value
    '     '  of xxxGUInameIndex - only use that field for sorting.
    ' 
    '     Dim quantModeItem As MolecularSharedStructures.quantitationModeStructure
    '     For Each quantModeItem In quantSpecList2
    ' 
    '         'Changed PM_GUINAMEINDEX_SENSITIVITY 2007-03-14
    '         'If quantModeItem.xxxGUInameIndex = aListIndex Then
    '         If index = aListIndex Then
    '             result = quantModeItem.uniqueID
    '             Exit For
    '         End If
    ' 
    '         index += 1
    '     Next
    '     Trace.Assert(result >= 0, _
    '       "PIL ASSERT. No quantitation mode corresponding to GUI index of: " & _
    '       aListIndex)
    '     Return result
    ' End Function 'quantModeListIndex2QuantModeCode2


    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Sub btnPeptideFilter_Click( _
      ByVal aSender As System.Object, ByVal anEvent As System.EventArgs) _
      Handles btnPeptideFilter.Click

        Dim key As peptideFilterEnum = peptideFilterEnum.enumParsing2
        Dim programDefaults As peptideFilterStructure = _
          quantApplication.defaultPeptideFilters2()(key)

        'Changed PM_SILAC_AWARE_PEPTIDEFILTERDIALOG 2008-10-05
        Dim SILACmods As Dictionary(Of Integer, Integer) = _
          Me.constructSILACmods()

        mFilterForm = New frmPeptideFilters( _
          mPreselPeptideFilter, mApplication, False, False, _
          programDefaults, _
          "preselected peptides (PSPs)", _
          mRawFiles, _
          SILACmods)
        mFilterForm.Show()

        'Note: the call-back is the function that handles
        '      event "mFilterForm.pepFilterDismissed".
    End Sub 'btnPeptideFilter_Click


    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Public Sub updatePeptideFilterSummary( _
      ByVal anInPeptideFilterSpecification As _
        peptideFilterStructure)

        Dim summaryStr As String = _
          someStatic.pepFilterShortSummary(anInPeptideFilterSpecification, mApplication)
        lblPeptideFilterSummary.Text = summaryStr
    End Sub 'updatePeptideFilterSummary


    'Changed PM_PEPTIDEFILTER_GENERALISED 2007-08-29
    ' '****************************************************************************
    ' '*    <placeholder for header>                                              *
    ' '****************************************************************************
    ' Public Sub setPeptideFilterSpecification( _
    '   ByVal anInPeptideFilterSpecification As _
    '     peptideFilterSpecificationStructure)
    ' 
    '     'mOptions.peptideFilterSpecification = anInPeptideFilterSpecification
    '     mOptions.peptideFilters(peptideFilterEnum.enumParsing2) = _
    '       anInPeptideFilterSpecification
    ' 
    '     updatePeptideFilterSummary(anInPeptideFilterSpecification)
    ' End Sub 'setPeptideFilterSpecification
    ' 
    ' 
    'From sub-dialog, peptide filter.
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '*    Call-back from peptide filter form.                                   *
    '****************************************************************************
    Private Sub mFilterForm_dialogDismissed2( _
      ByVal aSender As Object, _
      ByVal anEvent As pepFilterEventArgs) _
      Handles mFilterForm.pepFilterDismissed

        mPreselPeptideFilter = anEvent.getFilter()
        updatePeptideFilterSummary(mPreselPeptideFilter)
    End Sub 'mFilterForm_dialogDismissed2


    'Changed PM_RECALIB_FILTER 2007-09-04
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Public Sub updateCalibPeptideFilterSummary( _
      ByVal anInPeptideFilterSpecification As peptideFilterStructure)

        Dim summaryStr As String = _
          someStatic.pepFilterShortSummary( _
            anInPeptideFilterSpecification, mApplication)

        lblRecalibPeptideFilterSummary.Text = summaryStr
    End Sub 'updatePeptideFilterSummary


    'Changed PM_VALIDATION_AS_PEPTFILTER 2007-09-05
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Public Sub updateValidationPeptideFilterSummary( _
      ByVal anInPeptideFilterSpecification As peptideFilterStructure)

        Dim summaryStr As String = _
          someStatic.pepFilterShortSummary( _
            anInPeptideFilterSpecification, mApplication)

        lblValidationPeptideFilterSummary.Text = summaryStr
    End Sub 'updatePeptideFilterSummary


    'Changed PM_VALIDATION_AS_PEPTFILTER 2007-09-05
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Sub btnValidationPeptideFilter_Click( _
      ByVal aSender As System.Object, _
      ByVal anEvent As System.EventArgs) _
      Handles btnValidationPeptideFilter.Click

        Dim key As peptideFilterEnum = peptideFilterEnum.enumValidationParse
        Dim programDefaults As peptideFilterStructure = _
          quantApplication.defaultPeptideFilters2()(key)

        'Changed PM_SILAC_AWARE_PEPTIDEFILTERDIALOG 2008-10-05
        Dim SILACmods As Dictionary(Of Integer, Integer) = _
          Me.constructSILACmods()

        mValidationFilterForm = New frmPeptideFilters( _
          mValPeptideFilter, mApplication, False, True, _
          programDefaults, _
          "validation of preselected peptides (PSPs)", _
          mRawFiles, _
          SILACmods)
        mValidationFilterForm.Show()
    End Sub 'btnValidationPeptideFilter_Click


    'Changed PM_VALIDATION_AS_PEPTFILTER 2007-09-05
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Sub mValidationFilterForm_pepFilterDismissed( _
      ByVal aSender As Object, ByVal anEvent As pepFilterEventArgs) _
      Handles mValidationFilterForm.pepFilterDismissed

        mValPeptideFilter = anEvent.getFilter()
        updateValidationPeptideFilterSummary(mValPeptideFilter)
    End Sub 'mValidationFilterForm_pepFilterDismissed


    'Changed PM_DOMAINS_RECALIBRATION 2007-11-06
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Shared Function recalibDomainListIndex2enum( _
      ByVal aListIndex As Integer) _
      As recalibDomainEnum

        Dim result As recalibDomainEnum
        Select Case aListIndex
            Case LISTINDEX_DOMAIN_MASS
                result = recalibDomainEnum.enumRecalibDomainMass
            Case LISTINDEX_DOMAIN_FREQ
                result = recalibDomainEnum.enumRecalibDomainFreq2
            Case LISTINDEX_DOMAIN_TIME
                result = recalibDomainEnum.enumRecalibDomainTOFtime

            Case LISTINDEX_DOMAIN_SQRT_FREQ
                result = recalibDomainEnum.enumRecalibDomainSqrtFreq

            Case Else
                Trace.Assert(False, "Select Case never fall-through")
        End Select
        Return result
    End Function 'recalibDomainListIndex2enum()


    'Changed PM_DOMAINS_RECALIBRATION 2007-11-06
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Shared Function recalibDomainEnum2ListIndex( _
      ByVal aRecalibDomain As recalibDomainEnum) _
      As Integer

        Dim result As Integer
        Select Case aRecalibDomain
            Case recalibDomainEnum.enumRecalibDomainMass
                result = LISTINDEX_DOMAIN_MASS

            Case recalibDomainEnum.enumRecalibDomainFreq2
                result = LISTINDEX_DOMAIN_FREQ

            Case recalibDomainEnum.enumRecalibDomainTOFtime
                result = LISTINDEX_DOMAIN_TIME

            Case recalibDomainEnum.enumRecalibDomainSqrtFreq
                result = LISTINDEX_DOMAIN_SQRT_FREQ

            Case Else
                Trace.Assert(False, "Select Case never fall-through")
        End Select
        Return result
    End Function 'recalibDomainEnum2ListIndex()


    'Changed PM_DOMAINS_RECALIBRATION 2007-11-06
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Sub cbxRecalibDomains_SelectedIndexChanged( _
      ByVal aSender As System.Object, ByVal anEvent As System.EventArgs) _
      Handles cbxRecalibDomains.SelectedIndexChanged

        Dim idx As Integer = cbxRecalibDomains.SelectedIndex
        Dim domain As recalibDomainEnum = recalibDomainListIndex2enum(idx)

        'Later: some rules. E.g. frequency domain does not make sense
        '       for TOF instruments.

        'For now: issue warning.

        Select Case domain
            Case recalibDomainEnum.enumRecalibDomainMass
                'OK

            Case recalibDomainEnum.enumRecalibDomainFreq2
                'OK

            Case recalibDomainEnum.enumRecalibDomainTOFtime
                MsgBox("Sorry, not implemented.")

                'Changed PM_ORBI_AWARE_RECALIB 2008-02-14
            Case recalibDomainEnum.enumRecalibDomainSqrtFreq
                'MsgBox("Sorry, not implemented.")
                'OK

            Case Else
                Trace.Assert(False, "Select Case never fall-through")
        End Select 'recalib domain

    End Sub 'cbxRecalibDomains_SelectedIndexChanged


    'Changed PM_HIDE_RECALIBVISUALISATION_WINDOW 2008-01-06
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Sub btnEndOfParseAction_Click( _
      ByVal aSender As System.Object, ByVal anEvent As System.EventArgs) _
      Handles btnEndOfParseAction.Click

        mParseEndForm = New frmEndOfParseAction(mOptions2.endOfParseAction)
        mParseEndForm.Show()
    End Sub 'btnEndOfParseAction_Click


    'From sub-dialog, end of parse action settings.
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Sub mParseEndForm_dialogDismissed( _
      ByVal aSender As Object, _
      ByVal anEvent As endOfParseActionEventArgs) _
      Handles mParseEndForm.endOfParseActionDialogDismissed

        mOptions2.endOfParseAction = anEvent.getEndOfParseActionSettings()
    End Sub 'mParseEndForm_dialogDismissed


    'Changed PM_RECALIB_FILTER 2007-09-04
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Sub btnRecalibPeptideFilter_Click( _
      ByVal aSender As System.Object, _
      ByVal anEvent As System.EventArgs) _
      Handles btnRecalibPeptideFilter.Click

        Dim key As peptideFilterEnum = peptideFilterEnum.enumRecalibParse
        Dim programDefaults As peptideFilterStructure = _
          quantApplication.defaultPeptideFilters2()(key)


        'Changed PM_SILAC_AWARE_PEPTIDEFILTERDIALOG 2008-10-05
        Dim SILACmods As Dictionary(Of Integer, Integer) = _
          Me.constructSILACmods()

        mRecalibFilterForm = New frmPeptideFilters( _
          mRecalibPeptideFilter, mApplication, False, False, _
          programDefaults, _
          "recalibration from preselected peptides (PSPs)", _
          mRawFiles, _
          SILACmods)
        mRecalibFilterForm.Show()

        'Note: the call-back is the function that handles
        '      event "mRecalibFilterForm.pepFilterDismissed".
    End Sub 'btnRecalibPeptideFilter_Click


    'Changed PM_RECALIB_FILTER 2007-09-04
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Sub mRecalibFilterForm_pepFilterDismissed( _
      ByVal aSender As Object, ByVal anEvent As pepFilterEventArgs) _
      Handles mRecalibFilterForm.pepFilterDismissed

        mRecalibPeptideFilter = anEvent.getFilter()
        updateCalibPeptideFilterSummary(mRecalibPeptideFilter)
    End Sub 'mRecalibFilterForm_pepFilterDismissed


    'Changed PM_RECALIB_REALITY_CHECK 2008-03-26
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Sub btnRecalibRealityCheck_Click( _
      ByVal aSender As System.Object, ByVal anEvent As System.EventArgs) _
      Handles btnRecalibRealityCheck.Click

        mRecalibRealityCheckForm = _
          New frmRecalibRealityCheck(mOptions2.recalibLimits)
        mRecalibRealityCheckForm.Show()

    End Sub 'btnRecalibRealityCheck_Click


    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Public Sub updateRecalibRealityCheckSummary( _
      ByVal anInRecalibLimits As recalibLimitsStructure)

        Dim summaryStr As String = _
          SDUPrecalibrator.recalibLimitsShortSummary(anInRecalibLimits)

        lblRecalibLimitsShortSummary.Text = summaryStr
    End Sub 'updatePeptideFilterSummary


    'Changed PM_RECALIB_REALITY_CHECK 2008-03-27
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Sub mRecalibRealityCheckForm_realityCheckDialogDismissed( _
      ByVal aSender As Object, ByVal anEvent As realityCheckEventArgs) _
      Handles mRecalibRealityCheckForm.realityCheckDialogDismissed

        'Update immediately. This should be fine as long
        'as recalibLimitsStructure does not contain any
        'reference members (they are all value types).
        mOptions2.recalibLimits = anEvent.getFilter()

        updateRecalibRealityCheckSummary(mOptions2.recalibLimits)
    End Sub 'mRecalibRealityCheckForm_realityCheckDialogDismissed


    'Changed PM_SILAC_AWARE_PEPTIDEFILTERDIALOG 2008-10-05
    '****************************************************************************
    '*    <placeholder for header>                                              *
    '****************************************************************************
    Private Function constructSILACmods() _
      As Dictionary(Of Integer, Integer)

        'Note: we can't cache the list of SILAC modifications as it
        '      should change if the user choses another quantitation
        '      mode.
        Dim quantitationModesObject As QuantitationModes_moreGeneral = _
          mApplication.getQuantModes()


        'Note: we can not use mOptions2.quantModeCode as it not set only the
        '      user OKs this dialog. Instead we read the quantitation mode
        '      of the drop-down box in this dialog.
        Dim quantModeCode2 As Integer = quantModeListIndex2QuantModeCode( _
          cbxQuantMode.SelectedIndex, _
          quantitationModesObject)

        Dim SILACmods As Dictionary(Of Integer, Integer) = _
          quantitationModesObject.modificationIDsForQuantitationMode( _
            quantModeCode2)

        Return SILACmods
    End Function 'constructSILACmods()


End Class 'frmOptions


    

    

Generated by script codePublish.pl at 2009-01-05T15:20:59.