This package tries to provide a lot of the most useful data structures and algorithms needed in the different subfields of bioinformatics
The apis for most of the algorithms we be quite unstable until version 1.0.0 is reached, also this package will grrow quite a lot in the next few months
Requires Nim to be installed on your system. See https://nim-lang.org/
Installation with the nimble package manager is recommended:
nimble install bionim
To run test just run nimble test
in the bionim directory
- FASTA Alignments, those are fasta files with added constraint that all sequences must be of the same length
- General FASTA Files
- Reading FastQ files
Currently implemented algorithms and data structures
Algorithms and data structures usefull in the alignment of genomic and protein based sequences.
- Needleman-Wunsch Basic algorithm used for global alignment
- Smith-Waterman Basic algorithm used for local alignment.
- Fitch's algorithm for constructing phylogenetic trees from aligned sequences.
- DeBruijn Graph building and rendering
- Paired-End DeBruijn grap building and rendering
All algorithms and data structures are documented in the projects wiki.
Documentation for PhylogeNi
and bio_seq
can be found on their respective git hub readme's
In this section are all packages listed on which bionim depends and which were not created by me.
- PhylogeNi A library for working with phylogenetic trees
- bio_seq A library for working with bioinformatic sequence types
If you want to contribute or think that a specific algorithm or data structure should be included in this package just create an issue. Also I am always happy if someone suggest code improvements and stuff like that.
If you have any questions or just want to contact me regarding this package. Please write to [email protected]
- FASTQ parsing
- Calculation of all possible optimal alignment for Needleman-Wunsch
- Usage of similiarity matrices in Needleman-Wunsch
- Customizable gap penalties for Needleman-Wunsch