Live data from Hacker News

AlphaFold 2 is here: what’s behind the structure prediction miracle

blopig.com

11–20 of 98 posts

Re: AlphaFold 2 is here: what’s behind the structure prediction miracle

#11

> Like most bioinformatics programs, AlphaFold 2 comes equipped with a “preprocessing pipeline”, which is the discipline’s lingo for “a Bash script that calls some other codes”. Having Bioinformatics people requiring to stray a long way from their core competency to learn a scripting language from the 80's to write glue code seems... suboptimal. How many hours of expert time has been wasted figuring out how to split…

Sure there are better alternatives, but the advantage of bash / shell scripting is that it’s very easy to glue a whole collection of tools together, and that expertise in this transfers well between domains.

They probably could have achieved the same by invoking things in Python, but it would have been slower and not achieved a lot, other than “not using shell scripts”.

And once you go down the path of optimizing this enough, you’ll end up reinventing shell scripts altogether.

Re: AlphaFold 2 is here: what’s behind the structure prediction miracle

#13

> Like most bioinformatics programs, AlphaFold 2 comes equipped with a “preprocessing pipeline”, which is the discipline’s lingo for “a Bash script that calls some other codes”. Having Bioinformatics people requiring to stray a long way from their core competency to learn a scripting language from the 80's to write glue code seems... suboptimal. How many hours of expert time has been wasted figuring out how to split…

From looking at the code, Bash looks pretty clean.

I also use Bash and AWK for preprocessing a lot.

Re: AlphaFold 2 is here: what’s behind the structure prediction miracle

#14

> Like most bioinformatics programs, AlphaFold 2 comes equipped with a “preprocessing pipeline”, which is the discipline’s lingo for “a Bash script that calls some other codes”. Having Bioinformatics people requiring to stray a long way from their core competency to learn a scripting language from the 80's to write glue code seems... suboptimal. How many hours of expert time has been wasted figuring out how to split…

Bash is easier to explain and use than, eg, explaining ppl how to use Python subprocess Module Launch different apps, capture their output, etc.

I find astonishing how bad Python is as a bash replacement.

I often rather write an argument parser in bash than use Python if I have to invoke a bunch of commands.

Re: AlphaFold 2 is here: what’s behind the structure prediction miracle

#15

> Like most bioinformatics programs, AlphaFold 2 comes equipped with a “preprocessing pipeline”, which is the discipline’s lingo for “a Bash script that calls some other codes”. Having Bioinformatics people requiring to stray a long way from their core competency to learn a scripting language from the 80's to write glue code seems... suboptimal. How many hours of expert time has been wasted figuring out how to split…

Sure there are better alternatives, but the advantage of bash / shell scripting is that it’s very easy to glue a whole collection of tools together, and that expertise in this transfers well between domains. They probably could have achieved the same by invoking things in Python, but it would have been slower and not achieved a lot, other than “not using shell scripts”. And once you go down the path of optimizing thi…

Well, AlphaFold 2 generates MSA by invoking things in Python: https://github.com/deepmind/alphafold/blob/main/alphafold/da.... So the article is actually mistaken on this point.

Re: AlphaFold 2 is here: what’s behind the structure prediction miracle

#16

> Like most bioinformatics programs, AlphaFold 2 comes equipped with a “preprocessing pipeline”, which is the discipline’s lingo for “a Bash script that calls some other codes”. Having Bioinformatics people requiring to stray a long way from their core competency to learn a scripting language from the 80's to write glue code seems... suboptimal. How many hours of expert time has been wasted figuring out how to split…

From looking at the code, Bash looks pretty clean. I also use Bash and AWK for preprocessing a lot.

I used to be that guy as well, till a college convinced me that anything I can do in Bash, Awk I could probably do easier in Perl. Then everyone sort of drifted to Python. I get that if you never used Perl it’s pointless to learn it if you’re already in the Python stack, but… damn Perl’s regular expressions and how it’s so baked into the syntax of the language makes using regex in Python seem like going back to the Stone Age.

Re: AlphaFold 2 is here: what’s behind the structure prediction miracle

#18
post #14

> Like most bioinformatics programs, AlphaFold 2 comes equipped with a “preprocessing pipeline”, which is the discipline’s lingo for “a Bash script that calls some other codes”. Having Bioinformatics people requiring to stray a long way from their core competency to learn a scripting language from the 80's to write glue code seems... suboptimal. How many hours of expert time has been wasted figuring out how to split…

Bash is easier to explain and use than, eg, explaining ppl how to use Python subprocess Module Launch different apps, capture their output, etc. I find astonishing how bad Python is as a bash replacement. I often rather write an argument parser in bash than use Python if I have to invoke a bunch of commands.

Python is bad, but bash is worse as soon as you need any kind of logic.

> explaining ppl how to use Python subprocess Module Launch different apps, capture their output

There's no shame in using `os.system`.

Re: AlphaFold 2 is here: what’s behind the structure prediction miracle

#19

> Like most bioinformatics programs, AlphaFold 2 comes equipped with a “preprocessing pipeline”, which is the discipline’s lingo for “a Bash script that calls some other codes”. Having Bioinformatics people requiring to stray a long way from their core competency to learn a scripting language from the 80's to write glue code seems... suboptimal. How many hours of expert time has been wasted figuring out how to split…

There is a growing trend to include Docker (or Singularity, which is more compatible with HPC architectures common in bioinformatics) images alongside codes. In particular, AlphaFold 2 does provide a Dockerfile, and they even include a Python "launcher script" hiding all the details of running the code.

Sadly, this is very uncommon in the community. In a bioinformatics meeting, the sentence "I spent X days setting up Y software" will not raise many eyebrows

Re: AlphaFold 2 is here: what’s behind the structure prediction miracle

#20

> Like most bioinformatics programs, AlphaFold 2 comes equipped with a “preprocessing pipeline”, which is the discipline’s lingo for “a Bash script that calls some other codes”. Having Bioinformatics people requiring to stray a long way from their core competency to learn a scripting language from the 80's to write glue code seems... suboptimal. How many hours of expert time has been wasted figuring out how to split…

* Can us software people build a better tool to eliminate the need for this?

Most probably, not. Bash is currently the sweet spot. It is actually the best tool for this job. Any other option comes with increased complexity, will make the whole software less stable.

Post reply on HN