Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re: perl's long term place in bioinformatics?

by BioLion (Curate)
on Jan 13, 2010 at 11:49 UTC ( #817155=note: print w/replies, xml ) Need Help??

in reply to perl's long term place in bioinformatics?

In addition to what other people have already said, maybe it is worth pointing out a few things. Just by way of explanation, I have worked in bioinformatics for a few years now, specifically in genomics, so my take may be different to other peoples.

  • Perl is undoubtedly the munging King (/Queen), as other people have said there are a lot of parsers already out there, and the speed of development makes rolling your own much easier for whatever extra source of data you find. For me this is a great boost, because a lot of modern day bioinformatics involves integrating, often quite disparate(sp?), datasets. As such will probably be the go-to language on a day-to-day basis.
  • Perl facilitates data fetching, for example through APIs for BioMart. Perl also can interact with a wide variety of databases ( DBI etc...) which further facilitates gaining access to and integrating data.
  • Done well, Perl is capable of some fairly heavy lifting. Here you'd have to think about the implications of development time, maintainability, running time etc... which could influence your choice of language for a given project/customer.
  • There are other technical things, but one thing i think is worth thinking about is *Jobs*... Perl is probably the most widespread in the community, and this can work both for and against you - it is sort of expected that you'll know some at least, to work with existing code, but having another string in your bow can be a boost for job hunting.
  • Finally, and this is specific to genomics I guess, and this is sort of a negative - the sheer scale of the datasets means that Perl is often not the best choice, either in terms of running time, or memory use ( I find this especially applies to BioPerl objects ). However, like Ruby, Perl objects can be very lightweight, if you don't mind writing your own. Ruby also has a growing BioRuby community, though it is not as large or well funded as the BioPerl community.

    My second caveat is graphics and GUIs - users generally want to see and interact with their data, and I personally find Java the best option here, though Python is good too.

    For a first language and for picking up the basics look no further than Perl, there have been discussions here and elsewhere before (Super Search and google will find them) about choice of a first language, so i won't go on... Then once your are more experienced and involved in bigger projects, you may well want to start thinking about Ruby or Java. But Perl is and will remain for some time, the industry standard.

    Just a something something...
    • Comment on Re: perl's long term place in bioinformatics?

    Replies are listed 'Best First'.
    Re^2: perl's long term place in bioinformatics?
    by helgi (Hermit) on Jan 13, 2010 at 14:14 UTC
      I agree with everything you say, but when I worked in bioinformatics (caveat, >5 years ago), we did a lot of graphical stuff in Perl/Tk and it was simple and worked well. Large scale things were indeed done in Java, C++ or Delphi, but for quick and dirty, Perl was (and is) King. I still find it amazing what it can do in a few lines.

      Helgi Briem
      hbriem AT f-prot DOT com

    Log In?

    What's my password?
    Create A New User
    Node Status?
    node history
    Node Type: note [id://817155]
    [LanX]: They should teach Scottish in continental schools after Brexit !!!
    [marto]: I'm all for that
    [choroba]: Trainspotting without OV is just a half of the movie!
    LanX just single handedly stopped Brexit!

    How do I use this? | Other CB clients
    Other Users?
    Others imbibing at the Monastery: (6)
    As of 2018-02-19 10:47 GMT
    Find Nodes?
      Voting Booth?
      When it is dark outside I am happiest to see ...

      Results (262 votes). Check out past polls.