This project implements a DNA sequence minimizer algorithm using a monotonic queue. It identifies the minimal k-mers within sliding windows of a given DNA sequence, which is useful in bioinformatics for sequence analysis and comparison. The algorithm is described in the following paper: Zheng et al 2023.
Ensure you have a C++ compiler installed. Clone the repository and navigate to its directory.
git clone https://github.com/myprogrammerpersonality/Minimizers
cd Minimizers
Compile the source code using the following command:
g++ -O3 -o minimizer minimizer.cpp
Run the program with a DNA sequence file, specifying the k-mer size and window size:
./minimizer <filepath> <k> <w>
filepath: Path to the file containing the DNA sequence. k: Size of the k-mer. w: Size of the sliding window.
./minimizer input.txt 3 5
The program outputs the minimizers found in the sequence. If there are more than 10 minimizers, it shows the first 10.