Skip to content
SDK for GPU accelerated genome assembly and analysis
C++ Cuda Python CMake Shell
Branch: master
Clone or download
tijyojwad Merge pull request #144 from clara-genomics/jdaw/add-basic-html-page
[docs] basic html page with link to C++ doc
Latest commit 07a7fe7 Sep 18, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
3rdparty cudapoa generate msa Jun 24, 2019
ci [ci] add cmake requirement to CI build Sep 4, 2019
cmake [cudaaligner] Added unit tests for Hirschberg+Myers Aug 14, 2019
common [html] update html after fixing macro doc Sep 17, 2019
cudaaligner [docs] fix doxygen formatting Sep 17, 2019
cudapoa [docs] fix doxygen formatting Sep 17, 2019
docs [html] update html after fixing macro doc Sep 17, 2019
pyclaragenomics [pycga] fixes RPATH for cmake build Sep 6, 2019
.clang-format [ci] add check for copyright header (#41) Jul 21, 2019
CMakeLists.txt [docs] updating docs with new version Aug 14, 2019
LICENSE Revert "[license] add custom EULA" Jun 24, 2019 [README] add min requirements Aug 14, 2019

Clara Genomics Analysis


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.


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)


The cudaaligner package provides GPU-accelerated global alignment.

Clone Clara Genomics Analysis

git clone --recursive

System Requirements

Minimum requirements -

  1. Ubuntu 16.04 or Ubuntu 18.04
  2. CUDA 9.0+
  3. gcc/g++ 5.4.0+
  4. Python 3.6.7+

Build Clara Genomics Analysis

To build Clara Genomics Analysis -

mkdir build
cd build
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.


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.



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

Code Formatting

C++ / CUDA

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

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


Clara Genomics Analysis follows the PEP-8 style guidelines for all its Python code. The automated CI system for Clara Genomics Analysis run flake8 to check the style.

To run style check manually, simply run the following from the top level folder.

flake8 pyclaragenomics/
You can’t perform that action at this time.