UNPKG

vitessce

Version:

Vitessce app and React component library

159 lines (149 loc) 3.84 kB
import expect from 'expect'; import { dataToCellSetsTree } from './CellSetsZarrLoader'; describe('loaders/CellSetsZarrLoader', () => { it('dataToCellSetsTree constructs a hierarchy from an array of columns', async () => { const data = [ ['cell_1', 'cell_2', 'cell_3', 'cell_4'], [ [ ['Immune', 'Immune', 'Immune', 'Neuron'], ['B cell', 'B cell', 'B cell', 'Excitatory neuron'], ['CD19+', 'CD19-', 'CD19-', 'Retinal bipolar neuron'], ], ], [undefined], ]; const options = [ { groupName: 'Subclass Levels', setName: ['obs/L1', 'obs/L2', 'obs/L3'] }, ]; const tree = dataToCellSetsTree(data, options); expect(tree).toEqual({ version: '0.1.3', datatype: 'cell', tree: [ { name: 'Subclass Levels', children: [ { name: 'Immune', children: [ { name: 'B cell', children: [ { name: 'CD19-', set: [ ['cell_2', null], ['cell_3', null], ], }, { name: 'CD19+', set: [ ['cell_1', null], ], }, ], }, ], }, { name: 'Neuron', children: [ { name: 'Excitatory neuron', children: [ { name: 'Retinal bipolar neuron', set: [ ['cell_4', null], ], }, ], }, ], }, ], }, ], }); }); it('dataToCellSetsTree creates a flat tree from a single column', async () => { const data = [ ['cell_1', 'cell_2', 'cell_3', 'cell_4'], [ ['Immune', 'Immune', 'Immune', 'Neuron'], ], [undefined], ]; const options = [ { groupName: 'Subclass Level 1', setName: 'obs/L1' }, ]; const tree = dataToCellSetsTree(data, options); expect(tree).toEqual({ version: '0.1.3', datatype: 'cell', tree: [ { name: 'Subclass Level 1', children: [ { name: 'Immune', set: [ ['cell_1', null], ['cell_2', null], ['cell_3', null], ], }, { name: 'Neuron', set: [ ['cell_4', null], ], }, ], }, ], }); }); it('dataToCellSetsTree creates a flat tree from a single column with scores', async () => { const data = [ ['cell_1', 'cell_2', 'cell_3', 'cell_4'], [ ['Immune', 'Immune', 'Immune', 'Neuron'], ], [ [0.25, 0.5, 0.6, 0.1], ], ]; const options = [ { groupName: 'Subclass Level 1', setName: 'obs/L1' }, ]; const tree = dataToCellSetsTree(data, options); expect(tree).toEqual({ version: '0.1.3', datatype: 'cell', tree: [ { name: 'Subclass Level 1', children: [ { name: 'Immune', set: [ ['cell_1', 0.25], ['cell_2', 0.5], ['cell_3', 0.6], ], }, { name: 'Neuron', set: [ ['cell_4', 0.1], ], }, ], }, ], }); }); });