import * as React from 'react'; import { ObservableMap, observable, makeObservable } from 'mobx'; import { observer } from 'mobx-react'; import GenesetsJsTree from './GenesetsJsTree'; import GenesetsHierarchyFilterForm, { validPercentile, } from './GenesetsHierarchyFilterForm'; import { getServerConfig } from 'config/config'; import { SampleList } from 'cbioportal-ts-api-client'; export interface GenesetsHierarchySelectorProps { initialSelection: string[]; gsvaProfile: string; sampleList: SampleList | undefined; onSelect: (map_geneSet_selected: ObservableMap) => void; } @observer export default class GenesetsHierarchySelector extends React.Component< GenesetsHierarchySelectorProps, {} > { @observable percentile: validPercentile = 75; @observable pvalueThreshold = getServerConfig() .skin_geneset_hierarchy_default_p_value; @observable scoreThreshold = getServerConfig() .skin_geneset_hierarchy_default_gsva_score; @observable searchValue = ''; constructor(props: GenesetsHierarchySelectorProps) { super(props); makeObservable(this); this.updateSelectionParameters = this.updateSelectionParameters.bind( this ); } updateSelectionParameters( percentile: validPercentile, pvalueThreshold: number, scoreThreshold: number ) { this.percentile = percentile; this.pvalueThreshold = pvalueThreshold; this.scoreThreshold = scoreThreshold; } render() { return (
Selected sample set:{' '} {this.props.sampleList?.name} ( {this.props.sampleList?.sampleCount})
The outcome of score-based selection depends on the geneset scores of samples included in the analysis.
Search hierarchy
(this.searchValue = event.target.value) } />
); } }