nimpylib
scikit-bio
Our great sponsors
nimpylib | scikit-bio | |
---|---|---|
1 | 2 | |
182 | 833 | |
- | 2.5% | |
3.4 | 8.7 | |
3 months ago | about 21 hours ago | |
Nim | Python | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nimpylib
-
Why I Use Nim instead of Python for Data Processing
Another nim & python thread that has not been mentioned yet here
https://news.ycombinator.com/item?id=28506531 - project allows creating pythonic bindings for your nim libraries pretty easily, which can be useful if you still want to write most of your toplevel code in python, but leverage nim's speed when it matters.
If you want to make your nim code even more "pythonic" there is a https://github.com/Yardanico/nimpylib, and for calling some python code from nim there is a https://github.com/yglukhov/nimpy
scikit-bio
- What are some of the bioinformatic projects I could do on python as a beginner?
-
Why I Use Nim instead of Python for Data Processing
You make a fair point that using optimized numerical libraries instead of string methods will be ridiculously fast because they're compiled anyway. For example, scikit-bio does just this for their reverse complement operation [1]. However, they use an 8 bit representation since they need to be able to represent the extended IUPAC notation for ambiguous bases, which includes things like the character N for "aNy" nucleotide [2]. One could get creative with a 4 bit encoding and still end up saving space (assuming you don't care about the distinction between upper versus lowercase characters in your sequence [2]). Or, if you know in advance your sequence is unambiguous (unlikely in DNA sequencing-derived data) you could use the 2 bit encoding. When dealing with short nucleotide sequences, another approach is to encode the sequence as an integer. I would love to see a library—Python, Nim, or otherwise—that made using the most efficient encoding for a sequence transparent to the developer.
[1] https://github.com/biocore/scikit-bio/blob/b470a55a8dfd054ae...
[2] https://en.wikipedia.org/wiki/Nucleic_acid_notation
[3]
What are some alternatives?
nimpy - Nim - Python bridge
PrimesResult - The results of the Dave Plummer's Primes Drag Race
Primes - Prime Number Projects in C#/C++/Python
nimtorch - PyTorch - Python + Nim
nim-playground-frontend - The front-end for https://play.nim-lang.org
viroiddb - A curated database of all available viroid-like RNA sequences
boomer - Zoomer application for Linux
biofast - Benchmarking programming languages/implementations for common tasks in Bioinformatics
nim-fswatch - Nim wrapper for the fswatch library
RecursiveFactorization.jl