ucsc-xena-client
Version:
UCSC Xena Client. Functional genomics visualizations.
31 lines (25 loc) • 1.04 kB
JavaScript
var multi = require('./multi');
var denseMatrix = require('./models/denseMatrix');
var mutationVector = require('./models/mutationVector');
var segmented = require('./models/segmented');
var Rx = require('./rx');
var fetch = multi(function (settings, samples) {
return samples.length > 0 ? settings.fetchType : 'empty';
});
var xenaFetch = multi(function (x) {
return x.fieldType + '-' + x.valueType;
}); // make this fieldType?
xenaFetch.add("probes-float", denseMatrix.fetch);
xenaFetch.add("geneProbes-float", denseMatrix.fetchGeneOrChromProbes);
xenaFetch.add("genes-float", denseMatrix.fetchGene);
xenaFetch.add("clinical-float", denseMatrix.fetch);
xenaFetch.add("clinical-coded", denseMatrix.fetchFeature);
xenaFetch.add('segmented-segmented', segmented.fetch);
xenaFetch.add('mutation-mutation', mutationVector.fetch);
xenaFetch.add('SV-mutation', mutationVector.fetch);
fetch.add('xena', xenaFetch);
fetch.add('empty', function () {
return Rx.Observable.of(null, Rx.Scheduler.asap);
});
module.exports = fetch;
;