def peptide_length(self): '''Sets the minimum peptide length for spectral searching''' label = widgets.Label("Peptide Length Range") self.layout.addWidget(label, 3, 0, 1, 5) storage = updating.Storage('minimum_peptide_length') minimum = updating.SpinBox( self, storage, minimum=3, maximum=10, tooltip="Minimum peptide length included during spectral searches", width=50) self.layout.addWidget(minimum, 3, 8, 1, 1) storage = updating.Storage('maximum_peptide_length') maximum = updating.SpinBox( self, storage, minimum=20, maximum=70, tooltip="Maximum peptide length included during spectral searches", width=50) self.layout.addWidget(maximum, 3, 9, 1, 1)
def charge_range(self): '''Sets the charges to consider above the identified charge''' hlayout = self.add_layout(QtGui.QHBoxLayout) label = widgets.Label("Charge Range") hlayout.addWidget(label) storage = updating.Storage('minus_charge_range') minus = updating.SpinBox(self, storage, minimum=0, maximum=5, tooltip="Number of charges below the identified charge to " "include during XIC extraction.", width=50, prefix='-') hlayout.addWidget(minus) storage = updating.Storage('plus_charge_charge') plus = updating.SpinBox(self, storage, minimum=0, maximum=5, tooltip="Number of charges above the identified charge to " "include during XIC extraction.", width=50, prefix='+') hlayout.addWidget(plus)
def missed_cleavages(self): '''Sets the minimum missed cleavages during spectral searching''' label = widgets.Label("Missed Cleavage Range") self.layout.addWidget(label, 4, 0, 1, 5) storage = updating.Storage('minimum_missed_cleavages') minimum = updating.SpinBox( self, storage, minimum=0, maximum=5, tooltip="Minimum number of missed cleavages from " "proteolytic digestion", width=50) self.layout.addWidget(minimum, 4, 8, 1, 1) storage = updating.Storage('maximum_missed_cleavages') maximum = updating.SpinBox( self, storage, minimum=0, maximum=10, tooltip="Maximum number of missed cleavages from " "proteolytic digestion", width=50) self.layout.addWidget(maximum, 4, 9, 1, 1)
def global_search(self): '''Sets checkbox to include mixed isotope-labeling populations''' storage = updating.Storage('quantify_globally') globally = updating.CheckBox("Search in all Files", self, storage, tooltip="Extract XICs from identified crosslinks in all files.") self.layout.addWidget(globally)
def filtering_intensity(self): '''Sets whether to filter by intensity during export''' storage = updating.Storage('filter_transitions_byintensity') filter_ = updating.CheckBox("Filter by Intensity", self, storage, tooltip="Filter exported XIC ratios by intensity.") self.layout.addWidget(filter_)
def hierarchical(self): '''Sets whether to write hierarchical or flattened modifications''' storage = updating.Storage('write_hierarchical_modifications') hierarchical = updating.CheckBox("Hierarchical", self, storage, tooltip="Write Hierarchical (not flattened) modifications.") self.layout.addWidget(hierarchical)
def isotope_labels(self): '''Whether to add isotope labels to the crosslinker''' storage = updating.Storage('add_isotopic_labels') labels = updating.CheckBox("Crosslinker Isotope Labels", self, storage, tooltip="Add isotope labels to the crosslinkers.") self.layout.addWidget(labels)
def __init__(self, parent): store = updating.Storage('current_reporterions') values = sorted(chemical_defs.REPORTER_IONS) self.names = {} super(CurrentReporterIonBox, self).__init__(parent, values, store) self.setToolTip('Current reporter ions used for quantitation')
def concatenate(self): '''Sets whether to join modifications at the same position''' storage = updating.Storage('concatenate_hybrid_modifications') concatenate = updating.CheckBox("Concatenate", self, storage, tooltip="Join modifications at the same position.") self.layout.addWidget(concatenate)
def opengl(self): '''Sets checkbox to use OpenGL during visualization''' storage = updating.Storage('useOpenGL', qt_config.RENDERING) opengl = updating.CheckBox("Use OpenGL", self, storage, tooltip="Use OpenGL during rendering. Provides performance\n" "enhancements, however, is buggy on most systems.") self.layout.addWidget(opengl)
def launch(self): '''Sets checkbox to include mixed isotope-labeling populations''' storage = updating.Storage('launch', qt_config.TRANSITIONS) launch = updating.CheckBox("Launch Running Window", self, storage, tooltip="Launch the window to validate during\nCrosslink " "Discoverer prior to OpenOffice spreadsheet generation.") self.layout.addWidget(launch)
def filtering_metrics(self): '''Sets whether to filter by identification score during export''' storage = updating.Storage( 'filter_transitions_byscore') metrics = updating.CheckBox("Filter by Score", self, storage, tooltip="Filter exported XIC ratios by identification score.") self.layout.addWidget(metrics)
def variable_modifications(self): '''Creates a QListWidget to select variable modifications''' header = widgets.Label("Variable", font=qt.BOLD_FONT) self.layout.addWidget(header) storage = updating.Storage('variable_modifications') self.variable = ModificationView(self, storage, self.engine) self.layout.addWidget(self.variable)
def weighted_ratio(self): '''Sets whether to use a weighted or unweighted ratio''' storage = updating.Storage('weighted_comparative_ratio') weighted = updating.CheckBox("Weighted Ratios", self, storage, tooltip="Weight quantitative ratios when merging\n" "cross-linked peptide linkages.") self.layout.addWidget(weighted)
def __set_conditions(self): '''Set updating checkboxes describing search parameters''' storage = updating.Storage('search_case_sensitive') self.casesensitive = updating.CheckBox( "Case Sensitive", self, storage, tooltip="Force case matches during search queries") self.layout.addWidget(self.casesensitive, 6, 0, 6, 3) storage = updating.Storage('search_in_selection') self.inselection = updating.CheckBox( "In Selection", self, storage, tooltip="Search exclusively within the current selection") self.layout.addWidget(self.inselection, 6, 3, 6, 3)
def mixed_populations(self): '''Sets checkbox to include mixed isotope-labeling populations''' storage = updating.Storage('include_mixed_populations') mixed = updating.CheckBox("Include Mixed Populations", self, storage, tooltip="Include crosslinked peptides where each peptide " "comes from a different isotope-labeled population.") self.layout.addWidget(mixed)
def constant_modifications(self): '''Creates a QListWidget to select constant modifications''' header = widgets.Label("Constant", font=qt.BOLD_FONT) self.layout.addWidget(header) storage = updating.Storage('constant_modifications') self.constant = ModificationView(self, storage, self.engine) self.layout.addWidget(self.constant)
def antialias(self): '''Sets checkbox to use antialiasing during visualization''' storage = updating.Storage('use_antialiasing') antialias = updating.CheckBox("Use Antialising", self, storage, tooltip="Use antialiasing during rendering, default True.\n" "Not available with OpenGL and some hardware") self.layout.addWidget(antialias)
def expand_charges(self): '''Sets the checkbox for whether or not to expand the charge range''' storage = updating.Storage('expand_charges') expand = updating.CheckBox("Expand Charges", self, storage, tooltip="Expand the charges included for XIC extraction " "to the +/- range") self.layout.addWidget(expand)
def __init__(self, parent, spinbox): storage = updating.Storage('reporterion_error_mode') values = ['PPM', 'Da'] super(ErrorComboBox, self).__init__( parent, values, storage, tooltip="Maximum mass error for reporter ion identification.") self.spinbox = spinbox
def set_filtering(self): '''Adds a line edit for a search query filter from the taxonomy''' label = widgets.Label("Filter Query: ") self.layout.addWidget(label, 2, 0, 1, 3) storage = updating.Storage('taxonomy_filter') searchquery = updating.LineEdit( self, storage, tooltip="String filter for download queries.") self.layout.addWidget(searchquery, 2, 3, 1, 7)
def __set_replace(self): '''Set replace bar and QLineEdit form''' label = widgets.Label("Replace With:") self.layout.addWidget(label, 12, 0, 6, 2) storage = updating.Storage('replace_form') self.replaceform = updating.LineEdit(self, storage, tooltip="Search query.") self.layout.addWidget(self.replaceform, 12, 2, 6, 4)
def verify(self): '''Sets a checkbox for whether to verify the precursor scan or not''' storage = updating.Storage('check_precursor') verify = updating.CheckBox( "Verify Precursor", self, storage, tooltip="Verify the precursor m/z exists in precursor scan") self.layout.addWidget(verify)
def __set_search(self): '''Set search bar and QLineEdit form''' label = widgets.Label("Search For:") self.layout.addWidget(label, 0, 0, 6, 2) storage = updating.Storage('search_form') self.searchform = updating.LineEdit(self, storage, tooltip="Search query.") self.layout.addWidget(self.searchform, 0, 2, 6, 4)
def active(self): '''Sets whether product-level quantitation is set active''' storage = updating.Storage('reporterion_quantitation') self.quantitation = updating.CheckBox( "Reporter Ion Quantitation", self, storage, tooltip="Use product scans-level reporter ions for quantitation.") self.quantitation.clicked.connect(self.toggle) self.layout.addWidget(self.quantitation)
def default_label(self): '''Whether to add isotope labels to the crosslinker''' hlayout = self.add_layout(QtGui.QHBoxLayout) label = widgets.Label("Default Isotope Label") hlayout.addWidget(label) storage = updating.Storage('default_isotopic_label') default = updating.LineEdit(self, storage, tooltip="Default isotope label for the crosslinker (if no " "isotope-labeled modifications exist on the peptide).") hlayout.addWidget(default)
def comparative_order(self): '''Sets the default order for the comparative report''' hlayout = self.add_layout(QtGui.QHBoxLayout) label = widgets.Label("Comparative") hlayout.addWidget(label) storage = updating.Storage('order', self.comparative.other) values = ['File', 'Crosslinker'] order = updating.ComboBox(self, values, storage, tooltip="Hierarchical header order for the comparative report.") hlayout.addWidget(order)
def named_comparative_counts(self): '''Sets the default counts for the named comparative report''' hlayout = self.add_layout(QtGui.QHBoxLayout) label = widgets.Label("Named Comparative") hlayout.addWidget(label) storage = updating.Storage('counts', self.named_comparative.other) values = ['Unique', 'Redundant'] order = updating.ComboBox(self, values, storage, tooltip="Counts format for the named comparative report.") hlayout.addWidget(order)
def set_taxon(self): '''Adds a line edit for the taxonomy download''' label = widgets.Label("Taxonomy: ") self.layout.addWidget(label, 0, 0, 1, 3) storage = updating.Storage('taxonomy') taxonomy = updating.LineEdit( self, storage, tooltip="Taxonomy ID for the UniProt KB database query.", validator=QtGui.QIntValidator()) self.layout.addWidget(taxonomy, 0, 3, 1, 7)
def non_specific(self): '''Sets the default non-specific cleavage sites for the experiment''' label = widgets.Label("Non-Specific") self.layout.addWidget(label, 2, 0, 1, 5) values = ['0', 'N', 'C', '1', '2'] storage = updating.Storage('nonspecific_cleavage') nonspecific = updating.ComboBox( self, values, storage, tooltip='Non-specific cleavage sites during proteolytic cleavage') self.layout.addWidget(nonspecific, 2, 5, 1, 5)