KoNuSeg is a C++ tool for fast, efficient repeat detection using k-mer counting and Bloom filters, backed by btllib.
Before building KoNuSeg, ensure your system meets the following software and library requirements:
- Compiler: GCC / G++ version 11 or higher (must support
C++17and OpenMP). - Dependencies:
- btllib: Library for bioinformatics data structures (Bloom filters, sequence parsing, etc.). This library is included in this repository (version 1.4.9).
git clone git@github.com:BilkentCompGen/KoNuSeg.git
cd KoNuSegThe project includes a Makefile to simplify compilation and testing. Ensure g++-11 is available at /usr/bin/g++-11 on your system, or update the CC variable in the Makefile to match your local compiler path.
To compile the optimized production binary:
makeBefore running KoNuSeg on your own dataset, execute the included test suite as a sanity check to verify that the binary was built correctly and all bundled dependencies function properly:
make run_testmake clean./bin/konuseg.out -fq <fastq> -fa <fasta> -o <bed> [options]| Parameter | Description |
|---|---|
-fq |
Path to input FASTQ file |
-fa |
Path to input FASTA file |
-o |
Path to output BED file |
| Option | Default | Description |
|---|---|---|
-g |
3000000000 |
Genome size |
-s |
10010111001110100101110011101001 |
Seed value |
-k |
32 |
K-mer length |
-fpr |
0.01 |
False positive rate |
-w |
5 |
Filtering window size |
-minseg |
500 |
Minimum segment length for merging |
-c_thresh |
1 |
Count threshold for merging |
-anum |
1500000000 |
Distinct number of k-mers in assembly/reference |
-knum |
1500000000 |
Distinct number of k-mers in reads |
If -anum and -knum are not known, the size of the genome can be used.
./bin/konuseg.out \
-fa sample_ref.fa \
-fq sample_reads.fq \
-o output_segments.bed \
-g 100000000 \
-s 11111111111111111111111111111111 \
-k 32 \
-fpr 0.01 \
-w 5 \
-minseg 64 \
-c_thresh 1