Esempio n. 1
0
    def __init__(self, *args, **kwargs):
        super(RegressionTool, self).__init__(*args, **kwargs)

        self.addDataToolBar()
        self.addFigureToolBar()

        self.data.add_input('input_data')  # Add input slot

        # Setup data consumer options
        self.data.consumer_defs.append(
            DataDefinition(
                'input_data',
                {
                    #            'labels_n':   (None,['Pathway']),
                }))

        self.config.set_defaults({
            'variables': [],
        })
        self.addConfigPanel(RegressionConfigPanel, 'Settings')
    def __init__(self, **kwargs):
        super(BaselineCorrectionTool, self).__init__(**kwargs)

        self.addDataToolBar()
        self.addFigureToolBar()

        self.data.add_input('input')  # Add input slot
        self.data.add_output('output')
        self.table.setModel(self.data.o['output'].as_table)

        self.views.addView(MplSpectraView(self), 'View')

        # Setup data consumer options
        self.data.consumer_defs.append(
            DataDefinition(
                'input', {
                    'labels_n': ('>1', None),
                    'entities_t': (None, None),
                    'scales_t': (None, ['float']),
                }))

        # Define default settings for pathway rendering
        self.config.set_defaults({
            # Peak target
            'algorithm': 'median',
            # Baseline settings
            'med_mw': 24,
            'med_sf': 16,
            'med_sigma': 5.0,
            # cbf settings
            'cbf_last_pc': 10,
            # cbf_explicit settings
            'cbf_explicit_start': 0,
            'cbf_explicit_end': 100,
            # base settings
            'base_nl': [],
            'base_nw': 0,
        })

        self.addConfigPanel(BaselineCorrectionConfigPanel, 'Settings')
        self.finalise()
Esempio n. 3
0
    def __init__(self, *args, **kwargs):
        super(TwoSampleT, self).__init__(*args, **kwargs)

        self.config.set_defaults({
            'experiment_control': None,
            'experiment_test': None,
            'related_or_independent': 'Related',
            'assume_equal_variances': True,
            'plot_distribution': True,
        })

        self.data.add_input('input_data')  # Add input slot

        # We need an input filter for this type; accepting *anything*
        self.data.consumer_defs.append(
            DataDefinition('input_data', {
            })
        )

        self.addExperimentConfigPanel()
        self.addConfigPanel(TwoSampleConfigPanel, 'Extra')
Esempio n. 4
0
    def __init__(self, **kwargs):
        super(BarTool, self).__init__(**kwargs)

        self.addDataToolBar()
        self.addFigureToolBar()

        self.data.add_input('input')  # Add input slot
        self.data.add_output('output', is_public=False)  # Hidden

        self.views.addView(MplCategoryBarView(self), 'View')

        # Setup data consumer options
        self.data.consumer_defs.append(
            DataDefinition('input', {
                'entities_t': (None, ['Compound']),
            }))

        t = self.addToolBar('Bar')
        self.toolbars['bar'] = t

        self.finalise()
Esempio n. 5
0
    def __init__(self, **kwargs):
        super(AnnotateApp, self).__init__(**kwargs)
        # Annotations is a list of dicts; each list a distinct annotation
        # Targets is their mapping to the data; e.g. ('scales', 1) for scales[1]
        self._annotations = defaultdict(list)
        self._annotations_targets = dict()

        # Source object for the data
        self.addDataToolBar()

        self._field_transforms = {'scales': float, 'labels': self.str_or_none, 'classes': self.str_or_none}

        self.data.add_input('input')  # Add input slot
        self.data.add_output('output')  # Add output slot
        self.table.setModel(self.data.o['output'].as_table)

        t = self.getCreatedToolbar('Annotations', 'external-data')

        import_dataAction = QAction(QIcon(os.path.join(utils.scriptdir, 'icons', 'disk--arrow.png')), 'Load annotations from file\\u2026', self.m)
        import_dataAction.setStatusTip('Load annotations from .csv. file')
        import_dataAction.triggered.connect(self.onLoadAnnotations)
        t.addAction(import_dataAction)

        self.addExternalDataToolbar()  # Add standard source data options

        annotations_dataAction = QAction(QIcon(os.path.join(utils.scriptdir, 'icons', 'pencil-field.png')), 'Edit annotation settings\\u2026', self.m)
        annotations_dataAction.setStatusTip('Import additional annotations for a dataset including classes, labels, scales')
        annotations_dataAction.triggered.connect(self.onEditAnnotationsSettings)
        t.addAction(annotations_dataAction)

        # We need an input filter for this type; accepting *anything*
        self.data.consumer_defs.append(
            DataDefinition('input', {
                'labels_n': ('>0', '>0')
            
            })
        )

        self.finalise()
Esempio n. 6
0
    def __init__(self, *args, **kwargs):
        super(NMRLabMetabolabTool, self).__init__(*args, **kwargs)

        self.addDataToolBar()
        self.addFigureToolBar()

        self.data.add_input('input_data')  # Add input slot
        self.data.add_output('output_data')

        # Setup data consumer options
        self.data.consumer_defs.append(
            DataDefinition(
                'input_data', {
                    'labels_n': ('>0', None),
                    'entities_t': (None, None),
                    'scales_t': (None, ['float']),
                }))

        self.config.set_defaults({
            'bin_size': 0.01,
            'bin_offset': 0,
        })
Esempio n. 7
0
    def __init__(self, *args, **kwargs):
        super(PLSDATool, self).__init__(*args, **kwargs)
        # Define automatic mapping (settings will determine the route; allow manual tweaks later)

        self.addDataToolBar()
        self.addExperimentToolBar()
        self.addFigureToolBar()

        self.data.add_input('input_data')  # Add input slot

        self.config.set_defaults({
            'number_of_components': 2,
            'autoscale': False,
            'algorithm': 'NIPALS',
        })

        self.addConfigPanel(PLSDAConfigPanel, 'PLSDA')

        # Setup data consumer options
        self.data.consumer_defs.append(
            DataDefinition('input_data', {})
        )
Esempio n. 8
0
    def __init__(self, *args, **kwargs):
        super(FilterApp, self).__init__(*args, **kwargs)

        self.addDataToolBar()
        self.addFigureToolBar()

        self.data.add_input('input_data')  # Add input slot
        self.data.add_output('output_data')  # Add output slot

        # Setup data consumer options
        self.data.consumer_defs.append(
            DataDefinition(
                'input_data',
                {  # Accept anything!
                }))

        self.config.set_defaults({
            'target': 'Class',
            'match': '.*',
        })

        self.addConfigPanel(FilterConfigPanel, 'Settings')
Esempio n. 9
0
    def __init__(self, *args, **kwargs):
        super(SpectraNormApp, self).__init__(*args, **kwargs)

        self.addDataToolBar()
        self.addFigureToolBar()

        self.data.add_input('input_data')  # Add input slot
        self.data.add_output('output_data')

        # Setup data consumer options
        self.data.consumer_defs.append(
            DataDefinition(
                'input_data', {
                    'labels_n': ('>0', None),
                    'entities_t': (None, None),
                    'scales_t': (None, ['float']),
                }))

        self.config.set_defaults({
            'algorithm': 'PQN',
        })

        self.addConfigPanel(SpectraNormConfigPanel, 'Settings')
Esempio n. 10
0
    def __init__(self, **kwargs):
        super(FoldChangeApp, self).__init__(**kwargs)
        # Define automatic mapping (settings will determine the route; allow manual tweaks later)

        self.addDataToolBar()
        self.addExperimentToolBar()

        self.data.add_output('output')
        self.table = QTableView()
        self.table.setModel(self.data.o['output'].as_table)

        self.views.addView(self.table, 'Table')

        self.register_url_handler(self.url_handler)

        self.data.add_input('input')  # Add input slot
        # Setup data consumer options
        self.data.consumer_defs.append(
            DataDefinition(
                'input',
                {
                    'classes_n': (">1", None),  # At least one class
                }))

        self.config.set_defaults({
            'use_baseline_minima': True,
        })

        t = self.addToolBar('Fold change')
        t.cb_baseline_minima = QCheckBox('Auto minima')
        self.config.add_handler('use_baseline_minima', t.cb_baseline_minima)
        t.cb_baseline_minima.setStatusTip(
            'Replace zero values with half of the smallest value')
        t.addWidget(t.cb_baseline_minima)
        self.toolbars['fold_change'] = t

        self.finalise()
Esempio n. 11
0
    def __init__(self, *args, **kwargs):
        super(PCATool, self).__init__(*args, **kwargs)
        # Define automatic mapping (settings will determine the route; allow manual tweaks later)

        self.data.add_input('input_data')  # Add input slot

        self.data.add_output('scores')
        self.data.add_output('weights')
        self.data.add_output('filtered_data')

        # Setup data consumer options
        self.data.consumer_defs.append(
            DataDefinition(
                'input_data',
                {
                    #            'labels_n':   (None,['Pathway']),
                }))

        self.config.set_defaults({
            'number_of_components': 2,
            'plot_sample_numbers': False,
        })

        self.addConfigPanel(PCAConfigPanel, 'PCA')
Esempio n. 12
0
    def __init__(self, **kwargs):
        super(SpectraNormApp, self).__init__(**kwargs)

        self.addDataToolBar()
        self.addFigureToolBar()

        self.data.add_input('input')  # Add input slot
        self.data.add_output('output')
        self.table.setModel(self.data.o['output'].as_table)

        self.views.addView(MplSpectraView(self), 'View')
        self.views.addView(MplDifferenceView(self), 'Difference')

        # Setup data consumer options
        self.data.consumer_defs.append(
            DataDefinition(
                'input', {
                    'labels_n': ('>1', None),
                    'entities_t': (None, None),
                    'scales_t': (None, ['float']),
                }))

        th = self.addToolBar('Spectra normalisation')

        self.algorithms = {
            'PQN': self.pqn,
            'TSA': self.tsa,
        }

        self.config.set_defaults({
            'algorithm': 'PQN',
        })

        self.addConfigPanel(SpectraNormConfigPanel, 'Settings')

        self.finalise()