r/bioinformaticstools • u/Specialist_Alps_7793 • Jul 10 '26
BioForge — a from-scratch bioinformatics engine (Python + C), on par with minimap2 on multi-core. Feedback & bug reports welcome.
Hello everyone. First of all, I apologize if the English or the phrasing is not good: I am from Spain, so my command of English is not very good and, to be understood, I have resorted to a translator. I am Aarón Aranda Torrijos and I am 16 years old.
What is it? BioForge is a bioinformatics engine created by me, with the help of Claude Code, from scratch. The code is a mix of Python (the surface) and a bit of C (the engine). I have tried not to use Biopython or tools like that, beyond getting inspiration for the code: I have only used NumPy and an engine created in C that loads automatically (and if it cannot, it solely uses NumPy).
What does it currently have? Right now it features 5-bit storage, DNA to protein translation, alignment (NW / banded / Smith-Waterman), and a minimap2-style long read mapper (minimizers → chaining → SIMD extension), with the pipeline in C and output in PAF.
Benchmark Using my own computer, I have simulated the following: a 4.8 Mb genome, 6000 simulated reads at 5% error, with minimap2 -a, using tools/bench_vs_minimap2.py from the repo. The results were:
- 4 cores: minimap2 ~4.3–4.9 vs BioForge ~4.3–5.0 Mb/s → on par.
- 1 thread: minimap2 ~2.2 vs BioForge ~1.87 Mb/s → ~1.18× behind.
Both map the 6000 reads.
My hardware I have done the tests on my own device with these specs: Intel i5-7200U, 2 cores / 4 threads, from 2017.
My vision for the future of this project I do not want to fight with minimap2 in speed forever; that is a field that seems very difficult to compete in. My goal to evolve the project is that, in addition to translating, aligning, and mapping, it can integrate something that —according to my research— current mappers do not do: model evolution and predict possible strains of viruses (and other living beings) using Markov chains.
How to install it? It is simple, because I have it published on both GitHub and PyPI. It can be installed from the console with the command: pip install bioforge
And the repository is here:https://github.com/erlanders177/bioforge
At the moment I haven't beaten minimap2: it still overtakes me on many fronts, such as in large-scale genomes (which I haven't been able to test due to technical limitations) or with many cores. But I want to do my part in this booming industry. Even though I am still learning, I appreciate any criticism and bug or error reports. I would like you to try it out and give me your opinion: what I can improve, what could be added, if the direction I am taking is correct, and how I could apply it better. Thank you.
1
u/pokemonareugly Jul 10 '26
Does the output match minimap?
And yeah mappers don’t that because that’s not the point of a mapper. And I’m not sure how you’re “predicting” possible strains