As a bioinformatics team grows there is huge benefit from sharing code, particularly with strong coding guidelines that promote read-ability and reuse.
But can we really pick common technology, infrastructures shared with our colleagues? Generic scripting languages like PERL, Python and Groovy are great, and each come with different strengths for common file and data marshalling or common mathematically/statically data field manipulations.
Other less generic tools, like R, KNIME, Galaxy take us down deeper applications for data analysis without becoming science application specific. And often it is specific tools for the instrumentation that is more efficient for targeted work. What is a bioinformatics team to do?
Thoughts?
I think that trifecta is missing biology and statistics.
Agreed. The trifecta of bioinformatics: Tools, shell/linux knowledge, and python/perl/other.
Excellent: that is consistent with what I have seen: instrument vendor tools, followed by common server tools, and some pretty strong sharing in perl/python. In less academic environments there are some commercial tools such as generic analysis pipe-lining.
I would say luajit offers the best combination of rapid development and high performance. You can write much shorter code which achieving an efficiency close to C, sometimes.
I would say luajit offers the best combination of rapid development and high performance. You can write much shorter code while achieving an efficiency close to C, for some tasks.
Python, with the ability to compile to C code with the Cython package (just requires adding type declarations to vars) seems like a very good choice for high productivity with optional high performance.