Git Product home page Git Product logo

noriakis / nvbio Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nvlabs/nvbio

0.0 1.0 0.0 6.67 MB

NVBIO is a library of reusable components designed to accelerate bioinformatics applications using CUDA.

License: BSD 3-Clause "New" or "Revised" License

C++ 55.72% Perl 0.05% C 26.50% CSS 0.10% Cuda 16.13% Makefile 0.59% HTML 0.03% CMake 0.36% DIGITAL Command Language 0.33% Roff 0.19%

nvbio's Introduction

Change log

  • Fixed typo in nvBowtie (--max-ins) as reported here.
  • Make nvBowtie accept FASTA containing multiple sequences (the original repository only reads the first sequence, as reported here)
  • For unmapped reads, the SAM flag will be all set to 4, as reported here. Also, sequences are outputted as reverse complements of the original sequences for all the alignments as reported here. I modified SAM output source for the try to output the appropriate flag for unmapped reads (such as 77 and 141), and output the appropriate sequences (WIP).

Current implementation outputs SAM flag as follows. The input was the metagenomic reads (subset of SRR8114009, by seqkit sample -p 0.01), aligned to GRCh38. Note the mate flag is not the same number of the corresponding flag.

nvbio

NVBIO is a library of reusable components designed by NVIDIA Corporation to accelerate bioinformatics applications using CUDA.

Though it is specifically designed to unleash the power of NVIDIA GPUs, most of its components are completely cross-platform and can be used both from host C++ and device CUDA code.

The purpose of NVBIO is twofold: it can be thought of both as a solid basis to build new, modern applications targeting GPUs, which deferring the core computations to a library will always automatically and transparently benefit from new advances in GPU computing, and as example material to design novel bioinformatics algorithms for massively parallel architectures.

Additionally, NVBIO contains a suite of applications built on top of it, including a re-engineered implementation of the famous Bowtie2 short read aligner. Unlike many prototypes, nvBowtie is an attempt to build an industrial strength aligner, reproducing most of Bowtie2's original features as well as adding a few more, such as efficient support for direct BAM (and soon CRAM) output.

NVBIO is hosted on GitHub at http://nvlabs.github.io/nvbio/.

Compilation

To compile, you first need to acquire submodules.

You can do this while cloning using:

git clone --recursive [email protected]:vmiheer/nvbio.git

You can do this after having cloned using:

git submodule update --init --recursive

After this, you must build. To do so, enter the nvbio base directory and perform the following:

mkdir build
cd build
cmake ..
make -j8

For CUDA 9, you must use GCC6 or less:

CXX=g++-6 CC=gcc-6 cmake ..

For CUDA 10, you can use up to GCC8.2.

CMake options:

  • -DGPU_ARCHITECTURE=sm_XX - By default NVBIO will use sm_35.
  • -DCMAKE_BUILD_TYPE=Debug - Compiles with debugging flags. By default full optimizations are used.

Testing

Running ./nvbio-test/nvbio-test will give the following error: warning : unable to open bwt "./data/human.NCBI36/Human.NCBI36.bwt" error : failed opening file "./data/SRR493095_1.fastq.gz"

You can obtain the file here https://www.ncbi.nlm.nih.gov/sra/SRX145461

Credits

The main contributors of NVBIO are:

nvbio's People

Contributors

jpantaleoni avatar nsubtil avatar r-barnes avatar vmiheer avatar noriakis avatar chen-zhihui avatar foertter avatar hrehfeld avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.