https://github.com/alexpreynolds/kmer-counter-boost
Count canonical kmers with Boost C++ `boost::unordered_map` hash table
https://github.com/alexpreynolds/kmer-counter-boost
bazel bazel-examples bioinformatics boost cpp hash-tables kmer kmer-counting kmer-frequency-count
Last synced: about 2 months ago
JSON representation
Count canonical kmers with Boost C++ `boost::unordered_map` hash table
- Host: GitHub
- URL: https://github.com/alexpreynolds/kmer-counter-boost
- Owner: alexpreynolds
- Created: 2018-11-11T15:43:57.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-11-11T16:47:38.000Z (over 7 years ago)
- Last Synced: 2026-01-26T21:32:37.230Z (5 months ago)
- Topics: bazel, bazel-examples, bioinformatics, boost, cpp, hash-tables, kmer, kmer-counting, kmer-frequency-count
- Language: C++
- Homepage:
- Size: 7.81 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# kmer-counter-boost
The `kfs` program reads in multiline FASTA records, counts canonical kmers using the [Boost C++ `boost::unordered_map`](https://www.boost.org/) hash table.
## Boost C++
Integration of the Boost C++ kit requires use of [`bazel`](https://www.bazel.build/), *e.g.*, on OS X:
```
$ brew cask install homebrew/cask-versions/java8
$ brew install bazel
```
## Usage
### Compilation
```
$ make kfs
$ make msl
$ make generate_fasta
```
These targets build binaries `bazel-bin/src/kfs`, `bazel-bin/src/msl`, and `bazel-bin/src/generate_fasta`, respectively.
### Test data
```
$ bazel-bin/src/generate_fasta > test.fa
```
(Or build the `generate_test_data` target.)
### Performance testing
Specify variables `K` (integer) and `FASTA` (path to FASTA sequences), before running tests with those variables, *e.g.*:
```
$ export K=29
$ export FASTA=test.fa
$ /usr/bin/time -l bazel-bin/src/kfs -k ${K} -i ${FASTA}
...
```
Etc.