{"id":27160323,"url":"https://github.com/alexyzha/cuda-bioinformatics","last_synced_at":"2026-04-26T23:31:12.805Z","repository":{"id":281096782,"uuid":"944167473","full_name":"alexyzha/CUDA-Bioinformatics","owner":"alexyzha","description":"A CUDA-Accelerated Bioinformatics Toolchain ","archived":false,"fork":false,"pushed_at":"2025-04-08T05:37:03.000Z","size":224,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-08T06:27:45.979Z","etag":null,"topics":["bioinformatics","bioinformatics-tool","cplusplus","cuda"],"latest_commit_sha":null,"homepage":"https://github.com/alexyzha/CUDA-Bioinformatics/wiki","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alexyzha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2025-03-06T22:33:33.000Z","updated_at":"2025-04-08T05:37:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"f41cdcd9-2e24-4bb4-8ced-3f21ce7ed065","html_url":"https://github.com/alexyzha/CUDA-Bioinformatics","commit_stats":null,"previous_names":["alexyzha/cuda-bioinformatics"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexyzha%2FCUDA-Bioinformatics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexyzha%2FCUDA-Bioinformatics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexyzha%2FCUDA-Bioinformatics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexyzha%2FCUDA-Bioinformatics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexyzha","download_url":"https://codeload.github.com/alexyzha/CUDA-Bioinformatics/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247947823,"owners_count":21023058,"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":["bioinformatics","bioinformatics-tool","cplusplus","cuda"],"created_at":"2025-04-08T23:41:18.817Z","updated_at":"2026-04-26T23:31:12.751Z","avatar_url":"https://github.com/alexyzha.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# About This Project\n\nAll documentation can be found [here](https://github.com/alexyzha/CUDA-Bioinformatics/wiki). \n\n## Why?\n\nI decided to write a bioinformatics toolchain because even though I am a Quantitative/Computational Biology major, we don't get to work with that much code in class. The things I've done with code so far have mostly been statistics/data related, and I have a lot more fun coding from the ground up. Additionally, I wanted to get more experience coding in `CUDA`, and algorithms used in bioinformatics are 1. massively parallel and 2. somewhat familiar to me. Finally, I also wanted to gain more experience setting up things like unit/integration tests and CI/CD pipelines. \n\n## What's in it? \n\nThe code in this repository is written to parse, format/package, and analyze `.fasta`, `.fastq`, and `.sam` files. The regular `C++` code supports all 3 of these files. However, the `CUDA` code only supports operations on `.fastq` file data. However, all of the `CUDA` code is neatly wrapped in `__host__` code wrappers: you don't actually have to process/format data to use the `CUDA` kernels I wrote.\n\n## Compiling\n- Use CMake to compile any projects.\n- An example template can be found in the root directory (`./CMakeLists.txt`). It compiles all `CUDA` code with all `CUDA` tests.\n- To build, from the root directory:\n```{bash}\nmkdir \u0026\u0026 cd build\ncmake ..\nmake\n./[EXEC_NAME]\n```\n- For compiling with the pure `C++` part of this project, you can also just use a makefile. A template can be found at `./tests/cpu/Makefile`. It compiles all `C++` code with all CPU tests (`GTEST`).\n\n## Developing Environment\n\n- Docker base image: `cuda:12.1.1-devel-ubuntu22.04`. On my Mac, I use `Ubuntu:LATEST` since I don't have an NVIDIA GPU on there.\n- Docker packages: `GTEST`, `sra-toolkit`, `valgrind`, `gdb`, `cmake`, `build-essential`, and some other not super important ones (see `./Dockerfile`).\n- On my desktop, I use `nvidia-ctk` to run `CUDA` code inside a Docker container with a `RTX 4060`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexyzha%2Fcuda-bioinformatics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexyzha%2Fcuda-bioinformatics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexyzha%2Fcuda-bioinformatics/lists"}