Earlier quoted context omitted.
Perl was the only language on the block with strong built-in text-processing capabilities. For many a biologist the Camel book was the only programming book they read before moving on to solve real biological problems instead of fiddling with programs.
From the bit of Bioinformatics work I did in college, that actually seemed a problem rather than a boon. Genes are not ascii sequences, and Perl is not really made to manipulate them. Perl is however an excellent scripting language, and though it's ugly, it's just as easy as Python to pick up and use. Thus its danger.
How Perl Saved the Human Genome Project
21–28 of 28 posts
Re: How Perl Saved the Human Genome Project
#22Re: How Perl Saved the Human Genome Project
#23Earlier quoted context omitted.
A paragraph very similar to this one occurs in the article.
From the article: "Perl is forgiving. Biological data is often incomplete, fields can be missing, a field that is expected to be present once occurs several times (because, for example, an experiment was run in triplicate) or the data gets entered by hand and doesn't quite fit the expected format. Perl doesn't particularly mind if a value is empty or contains odd characters. Regular expressions can be written to dete…
Re: How Perl Saved the Human Genome Project
#24Earlier quoted context omitted.
Python, perl and ruby are roughly the same language. The differences between them are primarily cultural, rather than technical. I suspect the reason perl flourished here was a combination of luck and the cultural fit. Culture here includes the newbie-friendly online help (e.g. perlmonks), the ease of "publish and re-use components" (CPAN).
Also, remember that when the project started, Python and Ruby didn't exist yet. Perl still wasn't the only dynamic scripting language on the block, but it probably the most mature and best-suited to this problem domain. I wonder if perl would still be used if the project was started today.
I wonder if perl would still be used if the project was started today.
I think so. But would that be perl5 or perl6? :)
Re: How Perl Saved the Human Genome Project
#25Alternate title: How it happened to be Perl instead of any other just as capable language that saved the Human Genome Project (in the land of Dangling Participles and Allusion Errors).
Because at the time Perl was probably the only capable dynamic/scripting language.
Re: How Perl Saved the Human Genome Project
#26Slightly related video presentations Curing Cancer with Perl by David Dooling of the Washington University Genome Center: * part 1 - http://blip.tv/file/1997719/ * part 2 - http://blip.tv/file/1998152 * part 3 - http://blip.tv/file/2000983/
Wow, I filmed that video! I cannot speak officially for the Genome Center, but I'll throw out there that the ORM that powers much of the GC's analysis platform is out on Github and CPAN. It's actually more than an ORM in that it also supports features like automated creation/smart rewriting of class files based on database tables, quick and easy command modules that get turned into hierarchical command-line tools for…
Re: How Perl Saved the Human Genome Project
#27Earlier quoted context omitted.
From the bit of Bioinformatics work I did in college, that actually seemed a problem rather than a boon. Genes are not ascii sequences, and Perl is not really made to manipulate them. Perl is however an excellent scripting language, and though it's ugly, it's just as easy as Python to pick up and use. Thus its danger.
Can you elaborate a bit on "genes are not ascii sequences"? My understanding is that genes are regularly computer stored as ascii sequences e.g. GATTACA.
There are other facilities of Perl though, in general its quick scripting, that make it as good a tool as any other, just so you don't get sucked into the idea that regexes are a good tool here.
Re: How Perl Saved the Human Genome Project
#28Earlier quoted context omitted.
Can you elaborate a bit on "genes are not ascii sequences"? My understanding is that genes are regularly computer stored as ascii sequences e.g. GATTACA.
Yes. I think I came off as more negative towards Perl than I meant to. The point is that they are far simpler than ascii. They are quaternary data, and as such Regexes aren't really a good tool for modifying them any more than Regexes are a good tool for modifying raw binary, even if your binary is stored as a string of ascii characters. There are other facilities of Perl though, in general its quick scripting, that…