Live data from Hacker News

A look at the Mojo language for bioinformatics

viralinstruction.com

61–70 of 124 posts

Re: A look at the Mojo language for bioinformatics

#61
post #30

Great post. I think Mojo's claims like the speedup over Rust are a problem, like the 65000x speedup over Python. How can we differentiate between good new tech and Silicon Valley shenanigans when they use claims like that? They do nice titles and slogans but are shady in substance

I can't take this language or company serious after reading stuff like: "Mojo may be the biggest programming language advance in decades" https://www.fast.ai/posts/2023-05-03-mojo-launch.html

Hard to remember the last language that felt so obviously sold by something other than an actual community. Even Swift tried its best to exist outside of xcode and mac/i os

EDIT: perhaps I'm being too harsh—this was literally just announced. I'm just taken aback by the blatant marketing as everyone else is.

Re: A look at the Mojo language for bioinformatics

#62
post #48

Earlier quoted context omitted.

> I really wish Julia had easy AOT compilation and no GC, that would be perfect I pretty strongly disagree with the no gc part of this. A well written GC has the same throughout (or higher) than reference counting for most applications, and the Rust approach is very cool, but a significant usability cliff for users that are domain first, CS second. A GC is a pretty good compromise for 99% of users since it is a minor…

Too bad Julia doesn't have this theoretical "well written GC". I do not like GCs, so I agree with OP's sentiment. Why solve such a hard problem when you don't have to? I don't find ownership models that difficult. It's things one should be thinking of anyway. I think this provides a good example of where stricter checking/an ownership model like Rust has makes it easier than languages that do not have it (in this cas…

It's unfortunate indeed if Julia does not have a well-written GC as you imply.

While I feel like I have my head wrapped around ownership well enough to write (dare I say idiomatic) Rust without too much difficulty, I do find myself often in a position where I wish I just had a GC.

I think this speaks to what your parent comment is saying: I think there are many situations where the performance improvement over having fine-grained control of my code's memory management is not worth the extra time I have to spend thinking about it. As it stands, I will sometimes give up and slap a bunch of clones or Rcs on my code so it compiles, then fix it up later. But the performance usually is good enough for my use even with all of these "inefficiencies," which makes me sometimes wish I could instead just have a GC.

Re: A look at the Mojo language for bioinformatics

#63

How does a software engineer transition into bioinformatics or computational biology? I've taken some online courses on bioinformatics and have some experience in large distributed jobs but these jobs seem few and far in between and generally want M.S/PhDs in bioinformatics. Is it really a field that's not viable to enter without an MS?

Doing a Master's and/or PhD in bioinformatics is probably the easiest way. It's a pretty specialized field, and the first couple of years are usually spent learning the basics. You are unlikely to find anyone willing to hire you to a real job to do that.

Re: A look at the Mojo language for bioinformatics

#64

Earlier quoted context omitted.

As someone who is considering a switch from generic software engineering towards bioinformatics, what would you say the pain points are? If this is not the way to remove workflow friction, what is?

Would like to second this question. I'm very interested in getting into this world, but it feels like there isn't a clear path (especially for someone self-taught like me). Bioinformatics feels pretty inaccessible without a computer science or biology degree, even with substantial R and Python experience.

I couldn't speak to careers, but my curiosity was enough for me to ask a biochemist to join his bioinformatics class despite lacking a great many prerequisites.

I was quite helpful to him and the other students (who mostly struggled with packaging: conda, pip, apt, etc). In turn, they were quite patient with my lack of biochemistry background. It was nice to get a taste without having to take what would've been 2.5 years worth of prerequisites.

Re: A look at the Mojo language for bioinformatics

#65
post #59

Earlier quoted context omitted.

Got the same general impression, TL;DR: wrote a benchmark article without...running it? Then you conclude with "the language I use is faster!!!" based on a one-off run on your machine, which surely isn't the same machine Mojo used to run bechmarks for their website copy? It's odd to read something that's pretty well-versed with some relatively complex CS concepts, i.e. it's not just a PhD with a blank text editor. Bu…

>TL;DR: wrote a benchmark article without...running it? He benchmarks against the rust implementation, which, unless benchmarks have zero meaning, should be sufficient to get a general sense of the scale of the difference. The post is obviously not meant as the last word on this benchmark, it's meant to show that the benchmark is kinda meaningless. >Then you conclude with "the language I use is faster!!!" If this is…

> He benchmarks against the rust implementation.

No he doesn't.

The post is Mojo for Bioinformatics.

They ran a completely different library, in a different language, on their machine.

They did not run anything in Mojo.

You are asserting one data point of a Rust bioinformatics library on a random machine contributes information about Mojo, and berating me about reading comprehension to cling to that.

> If this is...

"If this is your take-home from my post, it's pretty clear you didn't read it, or your reading comprehension needs some work. That sentence was obviously facetious, poking a little fun at the author of the original piece."

^ seriously, right back at you. With a wink, and hopeful understanding I'm saying subtly "relax partner." Your first reaction should be curiosity when you're confused, not name-calling.

Re: A look at the Mojo language for bioinformatics

#66
post #26

For what it's worth, I couldn't reproduce the benchmarks cited in the post, which claimed a 50% speedup over Rust on M1. The rust implementation was consistently about two to three times as fast as Mojo with the provided test scripts and datasets. It's possible I was compiling the Mojo program suboptimally, though. hyperfine -N --warmup 5 test/test_fastq_record 'needletail_test/target/release/rust_parser data/fastq_t…

It was later noted on Twitter/X by someone that the rust version was not compiled with `--release`

Re: A look at the Mojo language for bioinformatics

#67
post #62
post #48

Earlier quoted context omitted.

Too bad Julia doesn't have this theoretical "well written GC". I do not like GCs, so I agree with OP's sentiment. Why solve such a hard problem when you don't have to? I don't find ownership models that difficult. It's things one should be thinking of anyway. I think this provides a good example of where stricter checking/an ownership model like Rust has makes it easier than languages that do not have it (in this cas…

It's unfortunate indeed if Julia does not have a well-written GC as you imply. While I feel like I have my head wrapped around ownership well enough to write (dare I say idiomatic) Rust without too much difficulty, I do find myself often in a position where I wish I just had a GC. I think this speaks to what your parent comment is saying: I think there are many situations where the performance improvement over having…

I think Julia's GC is quite good now, it can even multithread.

Re: A look at the Mojo language for bioinformatics

#68
post #37

Earlier quoted context omitted.

True, but the title of the blog is about Bioinformatics, and like another comment said: > Bioinformatics is like 0.1% dealing with FASTQ files and the rest is using the ecosystem of libraries for statistics and plotting. Many of them in R Considering that, do you need AOT, memory ownership for doing plotting and statistics? I'd argue not, and that's why R and Python are so popular in Bio.

doesn't this make more sense to have a python like language then for speed? and python for all that other stuff. so learn one'ish language and get it all?

That seems to be exactly what Mojo is/wants to be. At least that's how I understand their landing page: https://www.modular.com/max/mojo

Re: A look at the Mojo language for bioinformatics

#69
post #30

Great post. I think Mojo's claims like the speedup over Rust are a problem, like the 65000x speedup over Python. How can we differentiate between good new tech and Silicon Valley shenanigans when they use claims like that? They do nice titles and slogans but are shady in substance

I can't take this language or company serious after reading stuff like: "Mojo may be the biggest programming language advance in decades" https://www.fast.ai/posts/2023-05-03-mojo-launch.html

[deleted]

Re: A look at the Mojo language for bioinformatics

#70
post #3

As someone who practices bioinformatics, it doesn’t seem appealing. Bioinformatics is like 0.1% dealing with FASTQ files and the rest is using the ecosystem of libraries for statistics and plotting. Many of them in R, by the way.

To disagree, I'm a computational biologist and it's my firm belief 99% of the scientifically important stuff happens before the stats and plotting. That's not to say I dismiss those things and haven't done my fair share of stats, but just that the difference between real results and incorrect results most often happens before that step. I'm a microbiologist though, for stuff like human RNA-Seq I understand that it's…

>To disagree, I'm a computational biologist and it's my firm belief 99% of the scientifically important stuff happens before the stats and plotting.

I'm a microbiologist too, but the kind that uses mostly off-the-shelf tools to do the taxonomic/functional assignment on metagenomes, and then stats/data science on the features. I kinda didn't know what you mean by "99% of the scientifically important stuff happens before the stats and the plotting".

I mean, give me a 500x2.6x10^6 sparse matrix of gene function abundances and tell me that you've done anything scientifically meaningful. Or on the other side, let me hand you a fastq file from sequencing a poorly extracted DNA sample, and you give me the best algorithm in the world, and there's nothing scientifically meaningful that's going to come out of that.

Post reply on HN