GithubHelp home page GithubHelp logo

cschin / claragenomicsanalysis Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nvidia-genomics-research/genomeworks

0.0 1.0 0.0 6.51 MB

SDK for GPU accelerated genome assembly and analysis

License: Apache License 2.0

CMake 5.74% Shell 2.88% C++ 46.13% Cuda 38.14% Python 7.10%

claragenomicsanalysis's Introduction

Clara Genomics Analysis

Overview

Clara Genomics Analysis is a GPU-accelerated library for biological sequence analysis. This section provides a brief overview of the different components of ClaraGenomicsAnalysis. For more detailed API documentation please refer to the documentation.

cudapoa

The cudapoa package provides a GPU-accelerated implementation of the Partial Order Alignment algorithm. It is heavily influenced by SPOA and in many cases can be considered a GPU-accelerated replacement. Features include:

  1. Generation of consensus sequences
  2. Generation of multi-sequence alignments (MSAs)

cudaaligner

The cudaaligner package provides GPU-accelerated global alignment.

Clone Clara Genomics Analysis

git clone --recursive [email protected]:clara-genomics/ClaraGenomicsAnalysis.git

Build Clara Genomics Analysis

To build Clara Genomics Analysis -

mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install
make -j install

Enable Unit Tests

To enable unit tests, add -Dcga_enable_tests=ON to the cmake command in the build step.

This builds GTest based unit tests for all applicable modules, and installs them under ${CMAKE_INSTALL_PREFIX}/tests. These tests are standalone binaries and can be executed directly. e.g.

cd $INSTALL_DIR
./tests/cudapoatests

Enable Benchmarks

To enable benchmarks, add -Dcga_enable_benchmarks=ON to the cmake command in the build step.

This builds Google Benchmark based microbenchmarks for applicable modules. The built benchmarks are installed under ${CMAKE_INSTALL_PREFIX}/benchmarks/<module> and can be run directly.

e.g.

#INSTALL_DIR/benchmarks/cudapoa/multibatch

A description of each of the benchmarks is present in a README under the module's benchmark folder.

Enable Doc Generation

To enable document generation for Clara Genomics Analysis, please install Doxygen on your system. Once Doxygen has been installed, run the following to build documents.

make docs

Enable Auto-Formatting

Clara Genomics Analysis makes use of clang-format to format it's source and header files. To make use of auto-formatting, clang-format would have to be installed from the LLVM package (for latest builds, best to refer to http://releases.llvm.org/download.html).

Once clang-format has been installed, make sure the binary is in your path.

To add a folder to the auto-formatting list, use the macro cga_enable_auto_formatting(FOLDER). This will add all cpp source/header files to the formatting list.

To auto-format, run the following in your build directory.

make format

To check if files are correct formatted, run the following in your build directory.

make check-format

claragenomicsanalysis's People

Contributors

ahehn-nv avatar akkamesh avatar lanzju76 avatar larsbishop avatar mimaric avatar nvericx avatar vellamike 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.