'Pandora's Modules' is the place to start, if you want to shock someone with the speed, quality and reusability of your bioinformatics programs. This is a collection of some of the best modules released under MIT/BSD type license (no copy-left ones) available online. We added or are in the process of adding a few missing blocks here and there and released all of them under MIT license.
All codes are written in C, as we usually try to stay away from C++. Therefore, we are in the process of readopt some of the available modules.
- Klib by Heng Li (attractivechaos)
https://github.com/attractivechaos/klib
This module provides a number of C routines for speedy processing of nucleotide data. It also includes a number of useful data structures. The README file at the above link explains how to use them in the code.
- Hashlib - various hash related functions
i) Hash functions
OneAtATime
FNV
SuperFastHash
lookup3
MurmurHash
ii) Bloom filter
iii) KM-sketch
iv) Perfect hash
- HPClib
i) pthreads code
ii) shared memory code
iii) compare-and-swap
iv) queues
v) client-server codes
- minimizer
- alignment-related codes
i) oND
ii) siren
iii) smem
iv) smith-waterman
- assembly-related codes
i) alex-bowe
ii) bcalm
iii) rect-graph
- bwt-related codes
i) BWT construction
ii) BWT search
- kmers
- Bit level operations