/bionode

A Node.js JavaScript library for client and server side bioinformatics.

Primary LanguageCSSMIT LicenseMIT

bionode logo
bionode.io

# bionode > A Node.js JavaScript library for client and server side bioinformatics.

NPM version Build Status Coveralls Status Dependency Status Gitter chat

Install

Install bionode with npm:

$ npm install bionode

You can also install it for client side with bower

$ bower install bionode

Alternatively, just include bionode.min.js via a <script/> in your page.

Usage

If you're using bionode with Node.js, you can require the module:

var bionode = require('bionode')

In-browser, bionode is available as a global variable.

Please read the documentation for the methods exposed by bionode.

Contributing

To contribute to bionode, clone this repo locally and commit your code on a separate branch.

Please write unit tests for your code, and check that everything works by running the following before opening a pull-request:

$ npm test

Please also check for code coverage:

$ npm run coverage

To rebuild and minify the module for the browser:

$ npm run build-browser

To rebuild the documentation using the comments in the code:

$ npm run build-docs

One way you can contribute to this project could be by checking other similar projects like biopython, bioruby, biohaskell, bioperl, etc, and reimplementing some of their methods in JavaScript.

Currently, this project seeks methods to manipulate biological data and not to visually represent it, unlike BioJS which is a project of "Reusable components for presenting Biological data". Update: BioJS 2.0 is aiming to also work server side and currently collaborating with Bionode (see issue 9).

Contributors

Please see the file contributors.md for a list.

Purpose

Having bioinformatic methods available in JavaScript is useful for many reasons, one of them is for integration with genome viewers in the browser.

We intend to use this module in the afra project.

Project Status

These are the features we have in mind to have first in short/medium term:

  1. Databases

    1. NCBI (already released, still getting improvements)
    2. EBI (1-2 devs started working on it)
    3. ENSEMBL (1-2 devs started working on it)
  2. Wrappers

    1. BLAST (to do)
    2. BLAT (to do)
    3. Bowtie (to do)
    4. HMMER (to do)
    5. SRAToolkit (mostly done, needs cleanup/testing before release)
    6. SAMTOOLS (mostly done, needs cleanup/testing before release)
    7. BWA (mostly done, needs cleanup/testing before release)
  3. Parsers

    1. FASTQ
    2. FASTA
    3. SAM/BAM (might be adapted from Dalliance by Thomas Down)
    4. VCF/BCF (same as above)
    5. BED (same as above)
    6. GFF (could come from JBrowse)
  4. Wrangling

    1. Minimum needed to ensure connectivity between all modules
    2. Minimum needed to ensure integration with Dat and NoFlo
  5. Module/ easy extensibility mechanism

Support

If you find a bug please use the issues tracker to report it.
If you need help with this particular module, you can use the respective gitter chat room.
For general help or discussion about the bionode project, you can use the IRC channel #bionode on Freenode.
Bionode is collaborating with BioJS which also has a IRC channel at #biojs.

Contacts

Bruno Vieira <mail@bmpvieira.com> @bmpvieira
Yannick Wurm (yannick.poulet.org) @yannick__

License

bionode is licensed under the MIT license.
Check ChooseALicense.com for details.

Bitdeli Badge