genomic-reader
Version:
A Typescript library for reading BigWig, BigBed, 2bit, and Bam files. Capable of streaming. For use in the browser or on Node.js.
169 lines • 4.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseBigBedIdrPeak = exports.parseBigBedTssPeak = exports.parseBigBedMethyl = exports.parseBigBedBroadPeak = exports.parseBigBedNarrowPeak = void 0;
exports.parseBigBedNarrowPeak = function (chrom, startBase, endBase, rest) {
const entry = {
chr: chrom,
start: startBase,
end: endBase
};
let tokens = rest.split("\t");
if (tokens.length > 0) {
entry.name = tokens[0];
}
if (tokens.length > 1) {
entry.score = parseFloat(tokens[1]);
}
if (tokens.length > 2) {
entry.strand = tokens[2];
}
if (tokens.length > 3) {
entry.signalValue = parseInt(tokens[3]);
}
if (tokens.length > 4) {
entry.pValue = parseInt(tokens[4]);
}
if (tokens.length > 5) {
entry.qValue = parseInt(tokens[5]);
}
if (tokens.length > 6) {
entry.peak = parseInt(tokens[6]);
}
return entry;
};
exports.parseBigBedBroadPeak = function (chrom, startBase, endBase, rest) {
const entry = {
chr: chrom,
start: startBase,
end: endBase
};
let tokens = rest.split("\t");
if (tokens.length > 0) {
entry.name = tokens[0];
}
if (tokens.length > 1) {
entry.score = parseFloat(tokens[1]);
}
if (tokens.length > 2) {
entry.strand = tokens[2];
}
if (tokens.length > 3) {
entry.signalValue = parseInt(tokens[3]);
}
if (tokens.length > 4) {
entry.pValue = parseInt(tokens[4]);
}
if (tokens.length > 5) {
entry.qValue = parseInt(tokens[5]);
}
return entry;
};
exports.parseBigBedMethyl = function (chrom, startBase, endBase, rest) {
const entry = {
chr: chrom,
start: startBase,
end: endBase
};
let tokens = rest.split("\t");
if (tokens.length > 0) {
entry.name = tokens[0];
}
if (tokens.length > 1) {
entry.score = parseInt(tokens[1]);
}
if (tokens.length > 2) {
entry.strand = tokens[2];
}
if (tokens.length > 3) {
entry.thickStart = parseInt(tokens[3]);
}
if (tokens.length > 4) {
entry.thickEnd = parseInt(tokens[4]);
}
if (tokens.length > 5) {
entry.reserved = parseInt(tokens[5]);
}
if (tokens.length > 6) {
entry.readCount = parseInt(tokens[6]);
}
if (tokens.length > 7) {
entry.percentMeth = parseInt(tokens[7]);
}
return entry;
};
exports.parseBigBedTssPeak = function (chrom, startBase, endBase, rest) {
const entry = {
chr: chrom,
start: startBase,
end: endBase
};
let tokens = rest.split("\t");
if (tokens.length > 0) {
entry.name = tokens[0];
}
if (tokens.length > 1) {
entry.score = parseFloat(tokens[1]);
}
if (tokens.length > 2) {
entry.strand = tokens[2];
}
if (tokens.length > 3) {
entry.count = parseFloat(tokens[3]);
}
if (tokens.length > 4) {
entry.gene_id = tokens[4];
}
if (tokens.length > 5) {
entry.gene_name = tokens[5];
}
if (tokens.length > 6) {
entry.tss_id = tokens[6];
}
if (tokens.length > 7) {
entry.peak_cov = tokens[7];
}
return entry;
};
exports.parseBigBedIdrPeak = function (chrom, startBase, endBase, rest) {
const entry = {
chr: chrom,
start: startBase,
end: endBase
};
let tokens = rest.split("\t");
if (tokens.length > 0) {
entry.name = tokens[0];
}
if (tokens.length > 1) {
entry.score = parseInt(tokens[1]);
}
if (tokens.length > 2) {
entry.strand = tokens[2];
}
if (tokens.length > 3) {
entry.localIDR = parseFloat(tokens[3]);
}
if (tokens.length > 4) {
entry.globalIDR = parseFloat(tokens[4]);
}
if (tokens.length > 5) {
entry.rep1_chromStart = parseInt(tokens[5]);
}
if (tokens.length > 6) {
entry.rep1_chromEnd = parseInt(tokens[6]);
}
if (tokens.length > 7) {
entry.rep1_count = parseFloat(tokens[7]);
}
if (tokens.length > 8) {
entry.rep2_chromStart = parseInt(tokens[8]);
}
if (tokens.length > 9) {
entry.rep2_chromEnd = parseInt(tokens[9]);
}
if (tokens.length > 10) {
entry.rep2_chromEnd = parseFloat(tokens[10]);
}
return entry;
};
//# sourceMappingURL=encodeBigBed.js.map