PrimesResult
scikit-bio
Our great sponsors
PrimesResult | scikit-bio | |
---|---|---|
6 | 2 | |
28 | 833 | |
- | 3.0% | |
0.0 | 8.8 | |
almost 2 years ago | 3 days ago | |
Python | ||
- | 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.
PrimesResult
-
The Sad True
https://github.com/luizsol/PrimesResult People give golang crap for being slower than C. Python is 8.6% of the speed of golang.
-
.NET vs Go vs Node
Possible place to start: https://github.com/luizsol/PrimesResult
-
Best Lisp dialect?
The Performance of CL is much better than Scheme. One example is here https://github.com/luizsol/PrimesResult. Lisp is 11, Chez scheme implementation is 40
-
Why I Use Nim instead of Python for Data Processing
The thing with Python is it's usually pretty easy to optimise quite impressively.
E.g. random example:
Sprinkle some cdef's in your python and suddenly you're faster than c++
https://github.com/luizsol/PrimesResult
https://github.com/PlummersSoftwareLLC/Primes/blob/drag-race...
-
Common Lisp still beats Java, Rust, Julia, Dart in 2021 on benchmarks based on phone number encoding from the famous paper "Lisp as an alternative to Java" from 21 years ago
Sure, but never discount compile time code that can work wonders for your performance (which Rust doesn't really fully have) - https://github.com/luizsol/PrimesResult. Zig is so high up in the results precisely (I'd wager) because of compile time semantics.
- The results of the Dave Plummer's Programming Languages Drag Race.
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?
sb-simd - A convenient SIMD interface for SBCL.
nimpylib - Some python standard library functions ported to Nim
Primes - Prime Number Projects in C#/C++/Python
nimtorch - PyTorch - Python + Nim
RecursiveFactorization.jl
viroiddb - A curated database of all available viroid-like RNA sequences
biofast - Benchmarking programming languages/implementations for common tasks in Bioinformatics
libpython-clj - Python bindings for Clojure
sb-simd - A convenient SIMD interface for SBCL.