@jbrowse/core
Version:
JBrowse 2 core libraries used by plugins
32 lines (31 loc) • 1.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const util_1 = require("../../util");
const io_1 = require("../../util/io");
const BaseAdapter_1 = require("../BaseAdapter");
class CytobandAdapter extends BaseAdapter_1.BaseAdapter {
async getData(opts) {
const conf = this.getConf('cytobandLocation');
if (conf.uri === '' || conf.uri === '/path/to/cytoband.txt.gz') {
return [];
}
const text = await (0, util_1.fetchAndMaybeUnzipText)((0, io_1.openLocation)(conf, this.pluginManager), opts);
return text
.split(/\n|\r\n|\r/)
.filter(f => !!f.trim())
.filter(f => !f.startsWith('#'))
.map((line, i) => {
const [refName, start, end, name, type] = line.split('\t');
return new util_1.SimpleFeature({
uniqueId: `${i}`,
refName: refName,
start: +start,
end: +end,
name,
type,
gieStain: type || name,
});
});
}
}
exports.default = CytobandAdapter;