Hacker News new | ask | show | jobs
Ask HN: Alternative Languages to Python/R in Computational Biology?
3 points by shashankpritam 609 days ago
Rust 1.82.0 just got released (https://blog.rust-lang.org/2024/10/17/Rust-1.82.0.html), bringing some really good updates such as:

- The new cargo info subcommand - aarch64-apple-darwin is now a tier 1 target - Improvements to impl Trait syntax

This raises an interesting discussion about the programming languages used in computational biology. While Python and R are predominant, there may be other good alternatives worth considering, for example -

1. Crystal: Known for its fast compile times and ease of use, Crystal is reportedly efficient in handling large biological data files. Has anyone used it in production? Heng Li's benchmarks provide some insights: https://lh3.github.io/2020/05/17/fast-high-level-programming-languages.

2. Rust: There is robustness in context of software development, but how effective is it for everyday computational biology scripting? Heng Li offers another perspective: https://lh3.github.io/2024/03/05/what-high-performance-language-to-learn.

3. Julia: Gaining popularity, but frankly I have concerns regarding numerical precision. (Maybe I am wrong), but tooling and non-compiled language makes it not okay for me personally.

4. Zig: I do not know that it is even relevant in this topic - but I wanted to add to capture a possibility?

What programming languages do you prefer for tasks such as sequence analysis, modeling, or data processing? Are there any lesser-known languages that deserve more attention, such as Racket or Raku?

Could you please share your experiences, whether in serious production environments or personal hobby projects. I would love to hear about different languages, paradigms, and their applications.

Additionally, I am exploring new ideas for a SAM/BAM encoding scheme for biological data. If anyone is interested in collaborating on this project, please reach out.

4 comments

I see increased use of the NIM language in bioinformatics. An example would be https://github.com/telatin/bamtocov.
Oh cool. I am checking this lang out. Thank you!
Wow, I did not know Julia has evolved so much recently. Frankly, I am going to give it another spin! Thank you so much for your comment.
Could you elaborate on the numerical precision issue regarding Julia?
I vaguely remember reading about numerical precision issues in Julia from this old blog post here - http://web.archive.org/web/20150226121144/http://wizardmac.t.... But honestly, it's from 2015, and Julia's evolved a lot since then, so it might not be an issue anymore. But I wanted to confirm, hence I added the uncertainty.
That article was about handling of "Missing" values (which Julia now had natively), and a wish for inclusion of an 80-bit float type. I don't know what languages has that, but you can have 128bit, 256bit and even larger floats now, if that is relevant.
Scilab + TCL/TK
Very promising. I know where to spend my weekends now :). It is a gem. No matter how much I ask ChatGPT it never comes up with such suggestions. So, thank you!
I recommend the book by Ashok. https://wiki.tcl-lang.org/page/BOOK+The+Tcl+Programming+Lang...

Scilab has good bridge and Tcl lots of extensions