There are several reasons why there isn't as much software written in Go for bioinformatics. The primary reason is historical — Languages like Python and R have historically been popular in the bioinformatics community due to their ease of use, extensive libraries, and strong community support. Many existing bioinformatics tools and workflows are already written in these languages, making it easier for new projects to build on top of existing solutions.
However, Go's simplicity, performance, and concurrency make it a strong fit for compute-heavy pipelines and portable command- line tools. This list curates Go-based bioinformatics software that is actively maintained and useful in practice.
See CONTRIBUTING.md for curation and audit policy, and ARCHIVED.md for inactive projects. Contributions are welcome via pull requests or issues.
See also awesome-biology and Awesome-Bioinformatics.
- Awesome Bioinformatics Software in Go
- Table of Contents
- Workflow and Pipeline Management
- General Bioinformatics Libraries
- Proteomics and Genomics Analysis
- Sequence Analysis and Manipulation
- Phylogenetics and Alignments
- Variant Analysis and Manipulation
- Data Manipulation and Querying
- DICOM Parsing
- Name and Taxonomy Analysis
- Biochemistry
- Archived Projects
- License
- SciPipe — Workflow library embedded in the Go programming language, focusing on complex workflow constructs, compiling to a single binary, and providing powerful file naming and comprehensive audit reports for every output. [ Lampa et al., 2019 | web ]
- Reflow — A language and runtime for distributed, incremental data processing in the cloud
- bíogo — Bioinformatics library for Go. [ Kortschak et al., 2017 ]
- Gonetics — Go bioinformatics library.
- Gonomics — Toolkit and Go library for genomics and population genetics. [ Au et al., 2023 ]
- Grail Bioinformatics tools — Bioinformatic infrastructure libraries.
- Philosopher — PeptideProphet, PTMProphet, ProteinProphet, iProphet, Abacus, and FDR filtering. [ da Veiga Leprevost et al., 2020 ]
- samql — SQL-like query language for the SAM/BAM file format. [ Lee and Maragkakis, 2021 ]
- SeqKit — Cross-platform and ultrafast toolkit for FASTA/Q file manipulation. [ Shen et al., 2016 ]
- KMCP — Accurate metagenomic profiling and fast large-scale sequence/genome searching. [ Shen et al., 2022 ]
- bio — Lightweight and high-performance bioinformatics package in Golang.
- unikmer — A versatile toolkit for k-mers with taxonomic information.
- bwt — Burrows-Wheeler Transform and FM-index in Golang.
- gTaxon — Fast, cross-platform NCBI taxonomy query tool with CLI and REST API; supports gi2taxid, taxid2taxon, name2taxid, and LCA.
- Gotranseq — Translate nucleic acid sequences to peptide sequences (like EMBOSS transeq).
- gofasta — Command-line utilities for genomic epidemiology. [ Jackson, 2022 ]
- spexs2 — An exhaustive sequence pattern search tool. [ Rahni et al., 2022 ]
- gotree — Command-line tools and API to manipulate phylogenetic trees. [ Lemoine and Gascuel, 2021 ]
- goalign — Command-line tools and API to manipulate multiple sequence alignments. [ Lemoine and Gascuel, 2021 ]
- smoove — Structural variant calling and genotyping with existing tools, but smoothly.
- vcfanno — Annotate a VCF with other VCFs/BEDs/tabixed files. [ Pedersen et al., 2016 ]
- vcfgo — Golang library to read, write, and manipulate files in the variant call format.
- goleft — Collection of bioinformatics tools distributed under the MIT license in a single static binary.
- excord — Extract SV signal from a BAM.
- bcf — BCF parsing in Golang.
- taxonkit — Practical and efficient NCBI Taxonomy Toolkit, supports creating NCBI-style taxdump files for custom taxonomies like GTDB/ICTV. [ Shen and Ren, 2021 ]
- bget — Portable command-line tool to query bioinformatics APIs, data, databases, and files.
- countminsketch — Implementation of Count-Min Sketch in Golang.
- csvtk — Cross-platform, efficient, and practical CSV/TSV toolkit in Golang. [ Shen et al., 2023 ]
- dicom — High-performance DICOM medical image parser with library and CLI.
- GNfinder — Finds scientific names in UTF8 texts, PDF files, MS Word/Excel documents, URLs, etc. [ Mozzherin et al., 2024 ]
- goChem — A library for Computational Chemistry in the Go programming language. [ Dominguez et al., 2025 ]
See ARCHIVED.md for projects that are archived, unmaintained, or removed.