/bionode-vcf

vcf parser using javascript

Primary LanguageJavaScriptMIT LicenseMIT

bionode logo
bionode.io

bionode-vcf

a vcf parser in javascript

npm Travis Coveralls Dependencies npm Gitter

Install

You need to install the latest Node.JS first, please check nodejs.org or do the following:

# Ubuntu
sudo apt-get install npm
# Mac
brew install node
# Both
npm install -g n
n stable

To use bionode-vcf as a command line tool, you can install it globally with -g.

npm install bionode-vcf -g

Or, if you want to use it as a JavaScript library, you need to install it in your local project folder inside the node_modules directory by doing the same command without -g.

npm i bionode-vcf # 'i' can be used as shortcut to 'install'

Usage

vcf.read

  • vcf.read takes params: path
  • The supported filetypes are vcf, zip and gz.
var vcf = require('bionode-vcf');
vcf.read("/path/sample.vcf");
vcf.on('data', function(feature){
    console.log(feature);
})

vcf.on('end', function(){
    console.log('end of file')
})

vcf.on('error', function(err){
    console.error('it\'s not a vcf', err)
})

vcf.readStream

  • vcf.readStream takes params: stream and extension
  • The supported extension are vcf, zip and gz.
var vcf = require('bionode-vcf');
var fileStream = s3.getObject({
    Bucket: [BUCKETNAME],
    Key: [FILENAME]
}).createReadStream();  // or stream data from any other source

vcf.read(filestream, 'zip'); // default value is `vcf`
vcf.on('data', function(feature){
    console.log(feature);
})

vcf.on('end', function(){
    console.log('end of file')
})

vcf.on('error', function(err){
    console.error('it\'s not a vcf', err)
})

Documentation

VCF format specifications and more information about the fileds can be found at 1000 genomes webpage and samtools github page

Contributing

We welcome all kinds of contributions at all levels of experience, please read the CONTRIBUTING.md to get started!