A modern, lightweight bioinformatics toolkit for Node.js --- designed as an alternative to BioPython for the JavaScript ecosystem.
organique is a modular bioinformatics library built for JavaScript and
TypeScript.
It offers tools for DNA validation, transcription, translation, and
protein extraction, with a clean and intuitive API.
The project was created as part of a bioinformatics course, but it is structured as a real open-source package suitable for developers and researchers.
- DNA validation and sanitization
- DNA → RNA transcription
- Configurable codon translation
- ORF parsing
- Protein extraction from DNA strands
- Pattern Matching utilities
- Knuth-Morris-Pratt Algorithm implementation (prefer native
RegExpwhen possible)
- Knuth-Morris-Pratt Algorithm implementation (prefer native
- Sequence Alignment
- Global alignment with Needleman-Wunsh
- Local alignment with Smith-Waterman
- TypeScript-first API
- Works with Node 20+ (ESM)
- CLI application (
npx organique -h) exposing some useful one-shot functions (e.g., DNA stats) - BLAST remote computation (NCBI servers)
- Phylogenetic Analysis
- Tree, Matrices and Phylogenetic Trees user-friendly logs
- UPGMA algorithm implementation
npm install organiqueTODO
npm test- FASTA and FASTQ file support
- RNA secondary structure tools
- Codon usage tables
- Alignment utilities
- Additional genetic codes (mitochondrial, bacterial, etc.)
- Restriction Enzymes patterns
- Expose functions and services as a REST API web server
- Add more substitution matrix for sequence alignment:
- BENNER22, BENNER6, BENNER74, BLOSUM45, BLOSUM80, BLOSUM90, DAYHOFF, FENG, GENETIC, GONNET1992, HOXD70, JOHNSON, JONES, LEVIN, MCLACHLAN, MDM78, NUC.4.4, PAM250, PAM30, PAM70, RA0, RISLER, SCHNEIDER, STR, TRANS
- Version
/streamsof all the algorithms to handle huge on-the-fly processing
Contributions are welcome. Please fork the repo, create a feature branch, add tests, and submit a pull request.
MIT License.
Developed educational and research purposes, with the goal of making bioinformatics more accessible in the JavaScript ecosystem.