https://github.com/abought/tabix-reader

Read Tabix files in JS. Extracted from Biodalliance.

https://github.com/abought/tabix-reader

Science Score: 10.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: ncbi.nlm.nih.gov
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.9%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Read Tabix files in JS. Extracted from Biodalliance.

Basic Info
  • Host: GitHub
  • Owner: abought
  • License: bsd-2-clause
  • Language: JavaScript
  • Default Branch: master
  • Size: 1010 KB
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • Open Issues: 4
  • Releases: 0
Created over 7 years ago · Last pushed over 3 years ago
Metadata Files
Readme License

README.md

Tabix Reader

Purpose

Tabix is a popular tool that enables fast access to compressed data. A stated goal of the tool is to "enable genome viewers to support huge data files and remote custom tracks over networks".

This library allows web applications to use the power of tabix directly, without the need for a server to mediate reading or decompressing of data. It is extracted from BioDalliance to support standalone usage and modern modular build tools.

Usage

Currently, the API is a mix of Promises (to create the reader) and callbacks (to fetch data). In the future this may be refactored for consistency.

Two modes are supported: urlReader (from remote URLs that support HTTP Range requests) and blobReader (from a local file). In both cases, the target must have been processed via tabix first, and the path to the index file must be explicitly specified.

If you are using the pre-built dist/main.js version, symbols can be accessed under the global window.tabix variable.

js tabix.urlReader(url, indexUrl).then((reader) => { var callback = (rows, error) => { console.log(rows); }; reader.fetch("1", 546375, 1046375, callback); });

Or they can be imported via ES6 modules and then used as normal: js import { blobReader } from 'tabix-reader';

Credits

This code is adapted from the BioDalliance genome viewer with minor changes, making its data access capabilities easily available to other libraries.

Owner

  • Name: Andy Boughton
  • Login: abought
  • Kind: user
  • Location: United States
  • Company: @statgen

GitHub Events

Total
Last Year

Dependencies

package-lock.json npm
  • 748 dependencies
package.json npm
  • parcel-bundler ^1.12.3 development
  • eslint ^5.16.0
  • jszlib git+https://github.com/dasmoth/jszlib.git#4e562c7