|P is for Practical|
Re: perl's long term place in bioinformatics?by bobf (Monsignor)
|on Jan 13, 2010 at 06:20 UTC||Need Help??|
Before I comment on which tool you should use, what are you trying to do with it?
Bioinformatics is a huge field of study that includes an extremely wide range of topics in both scientific domains and computer science/IT. There are as many definitions for "bioinformatics" as there are bioinformaticians, and based on my experience nearly every one of them has an educational and professional background that, combined with their current work, gives them a unique view into the field.
For example, my educational background is in biochemistry and pharmacogenomics. I started to learn to program using shell and VB scripting while in grad school. It wasn't long before I needed a more powerful tool, so on the recommendation of my colleagues I started to learn Perl. After several years in bioinformatics I transitioned to medical informatics. I have been out of the wet lab for 10 years now. Perl is the only language that I code in and I can count on one hand the number of times I needed1 to learn another language2.
Perl has a great library of modules to support bioinformatics/genomics work, and it can be integrated with other languages such as R and C (both of which are common in bioinformatics). I found it to be very intuitive and quite powerful. If you have a limited programming background I would definitely recommend starting with Perl. The recommendation of other languages depends on what you anticipate doing (e.g., statistical analyses, heavy computation, simulations, web apps, data warehousing, system integration/interoperability, etc).
IMO, you're off to a good start. Good luck, and have fun! :-)
1Due to the preferences or abilities of collaborators, or to the need to work with existing code written in another language.
2Based on conversations with those formally trained in CS, learning several different types of languages can be quite valuable. I am not discouraging this. The statement was made to lend support to the utility of Perl in this field.