{"id":13743959,"url":"https://github.com/NVIDIA-Genomics-Research/GenomeWorks","last_synced_at":"2025-05-09T02:32:11.280Z","repository":{"id":37643873,"uuid":"189638733","full_name":"NVIDIA-Genomics-Research/GenomeWorks","owner":"NVIDIA-Genomics-Research","description":"SDK for GPU accelerated genome assembly and analysis","archived":false,"fork":false,"pushed_at":"2024-05-03T19:45:20.000Z","size":21665,"stargazers_count":290,"open_issues_count":75,"forks_count":75,"subscribers_count":17,"default_branch":"dev","last_synced_at":"2025-04-26T22:20:30.718Z","etag":null,"topics":["alignment","cuda","genomics","gpu","mapping","nvidia","partial-order-alignment","poa","python-api"],"latest_commit_sha":null,"homepage":"https://clara-parabricks.github.io/GenomeWorks/","language":"Cuda","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NVIDIA-Genomics-Research.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-05-31T18:14:14.000Z","updated_at":"2025-04-25T21:50:32.000Z","dependencies_parsed_at":"2024-10-23T07:19:09.162Z","dependency_job_id":"fc48b996-91f2-4368-9edc-dbb9b42d4461","html_url":"https://github.com/NVIDIA-Genomics-Research/GenomeWorks","commit_stats":{"total_commits":2136,"total_committers":29,"mean_commits":73.65517241379311,"dds":0.7851123595505618,"last_synced_commit":"baab566885cd9c631f4f941c99d0ce37f9b10ecf"},"previous_names":["clara-parabricks/genomeworks","clara-genomics/claragenomicsanalysis"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NVIDIA-Genomics-Research%2FGenomeWorks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NVIDIA-Genomics-Research%2FGenomeWorks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NVIDIA-Genomics-Research%2FGenomeWorks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NVIDIA-Genomics-Research%2FGenomeWorks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NVIDIA-Genomics-Research","download_url":"https://codeload.github.com/NVIDIA-Genomics-Research/GenomeWorks/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253177775,"owners_count":21866400,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alignment","cuda","genomics","gpu","mapping","nvidia","partial-order-alignment","poa","python-api"],"created_at":"2024-08-03T05:01:00.473Z","updated_at":"2025-05-09T02:32:08.496Z","avatar_url":"https://github.com/NVIDIA-Genomics-Research.png","language":"Cuda","readme":"# GenomeWorks \n\n## Overview\n\nGenomeWorks is a GPU-accelerated library for biological sequence analysis. This section provides a brief overview of the different components of GenomeWorks.\nFor more detailed API documentation please refer to the [documentation](#enable-doc-generation).\n\n* Modules\n    * [cudamapper](cudamapper/README.md) - CUDA-accelerated sequence to sequence mapping\n    * [cudapoa](cudapoa/README.md) - CUDA-accelerated partial order alignment\n    * [cudaaligner](cudaaligner/README.md) - CUDA-accelerated pairwise sequence alignment\n    * [cudaextender](cudaextender/README.md) - CUDA-accelerated seed extension\n* Setup GenomeWorks\n    * [Clone GenomeWorks](#clone-genomeworks)\n    * [System Requirements](#system-requirements)\n    * [GenomeWorks Installation](#genomeworks-setup)\n* [Python API](#genomeworks-python-api)\n* [Development Support](#development-support)\n\n## Clone GenomeWorks \n\n### Latest released version\nThis will clone the repo to the `master` branch, which contains code for latest released version\nand hot-fixes.\n\n```\ngit clone --recursive -b master https://github.com/clara-parabricks/GenomeWorks.git\n```\n\n### Latest development version\nThis will clone the repo to the default branch, which is set to be the latest development branch.\nThis branch is subject to change frequently as features and bug fixes are pushed.\n\n```bash\ngit clone --recursive https://github.com/clara-parabricks/GenomeWorks.git\n```\n\n## System Requirements\nMinimum requirements -\n\n1. Ubuntu 16.04 or Ubuntu 18.04\n2. CUDA 10.0+ (official instructions for installing CUDA are available [here](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html))\n3. GPU generation Pascal and later (compute capability \u003e= 6.0)\n4. gcc/g++ 5.4.0+ / 7.x.x\n5. Python 3.6.7+\n6. CMake (\u003e= 3.10.2)\n7. autoconf (required to output SAM/BAM files)\n8. automake (required to output SAM/BAM files)\n\n## GenomeWorks Setup\n\n### Build and Install\nTo build and install GenomeWorks -\n\n```bash\nmkdir build\ncd build\ncmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install -Dgw_cuda_gen_all_arch=OFF\nmake -j install\n```\n\nNOTE : The `gw_cuda_gen_all_arch=OFF` option pre-generates optimized code only for the GPU(s) on your system.\nFor building a binary that pre-generates opimized code for all common GPU architectures, please remove the option\nor set it to `ON`.\n\nNOTE : (OPTIONAL) To enable outputting overlaps in SAM/BAM format, pass the `gw_build_htslib=ON` option.\n\n### Package generation\nPackage generation puts the libraries, headers and binaries built by the `make` command above\ninto a `.deb`/`.rpm` for portability and easy installation. The package generation itself doesn't\nguarantee any cross-platform compatibility.\n\nIt is recommended that a separate build and packaging be performed for each distribution and\nCUDA version that needs to be supported.\n\nThe type of package (deb vs rpm) is determined automatically based on the platform the code\nis being run on. To generate a package for the SDK -\n\n```bash\nmake package\n```\n\n## genomeworks Python API \nThe python API for the GenomeWorks SDK is available through the `genomeworks` python package. More details\non how to use and develop `genomeworks` can be found in the README under `pygenomeworks` folder.\n\n## Development Support\n### Enable Unit Tests\nTo enable unit tests, add `-Dgw_enable_tests=ON` to the `cmake` command in the build step.\n\nThis builds GTest based unit tests for all applicable modules, and installs them under\n`${CMAKE_INSTALL_PREFIX}/tests`. These tests are standalone binaries and can be executed\ndirectly.\ne.g.\n\n```\ncd $INSTALL_DIR\n./tests/cudapoatests\n```\n\n### Enable Benchmarks\nTo enable benchmarks, add `-Dgw_enable_benchmarks=ON` to the `cmake` command in the build step.\n\nThis builds Google Benchmark based microbenchmarks for applicable modules. The built benchmarks\nare installed under `${CMAKE_INSTALL_PREFIX}/benchmarks/\u003cmodule\u003e` and can be run directly.\n\ne.g.\n```\n#INSTALL_DIR/benchmarks/cudapoa/multibatch\n```\n\nA description of each of the benchmarks is present in a README under the module's benchmark folder.\n\n### Enable Doc Generation\nTo enable document generation for GenomeWorks, please install `Doxygen` on your system.\nOnce`Doxygen` has been installed, run the following to build documents.\n\n```bash\nmake docs\n```\n\nDocs are also generated as part of the default `all` target when `Doxygen` is available on the system.\n\nTo disable documentation generation add `-Dgw_generate_docs=OFF` to the `cmake` command in the [build step](#build).\n\n### Code Formatting\n\nGenomeWorks makes use of `clang-format` to format it's source and header files. To make use of\nauto-formatting, `clang-format` would have to be installed from the LLVM package (for latest builds,\nbest to refer to http://releases.llvm.org/download.html).\n\nOnce `clang-format` has been installed, make sure the binary is in your path.\n\nTo add a folder to the auto-formatting list, use the macro `gw_enable_auto_formatting(FOLDER)`. This\nwill add all cpp source/header files to the formatting list.\n\nTo auto-format, run the following in your build directory.\n\n```bash\nmake format\n```\n\nTo check if files are correct formatted, run the following in your build directory.\n\n```bash\nmake check-format\n```\n\n### Running CI Tests Locally\nPlease note, your git repository will be mounted to the container, any untracked files will be removed from it.\nBefore executing the CI locally, stash or add them to the index.\n\nRequirements:\n1. docker (https://docs.docker.com/install/linux/docker-ce/ubuntu/)\n2. nvidia-docker (https://github.com/NVIDIA/nvidia-docker)\n3. nvidia-container-runtime (https://github.com/NVIDIA/nvidia-container-runtime)\n\nRun the following command to execute the CI build steps inside a container locally:\n```bash\nbash ci/local/build.sh -r \u003cGenomeWorks repo path\u003e\n```\nci/local/build.sh script was adapted from [rapidsai/cudf](https://github.com/rapidsai/cudf/tree/branch-0.11/ci/local)\n\nThe default docker image is **clara-genomics-base:cuda10.0-ubuntu16.04-gcc5-py3.7**.\nOther images from [gpuci/clara-genomics-base](https://hub.docker.com/r/gpuci/clara-genomics-base/tags) repository can be used instead, by using -i argument\n```bash\nbash ci/local/build.sh -r \u003cGenomeWorks repo path\u003e -i gpuci/clara-genomics-base:cuda10.0-ubuntu18.04-gcc7-py3.6\n```\n","funding_links":[],"categories":["Cuda"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNVIDIA-Genomics-Research%2FGenomeWorks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNVIDIA-Genomics-Research%2FGenomeWorks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNVIDIA-Genomics-Research%2FGenomeWorks/lists"}