Is python the best programming language for Bioinformatics?
When your learning a programming language for bioinformatics, it’s important to pick one that will not only be useful now, but 5-10 years in the future. Currently python is the most popular scripting language for bioinformatics, and theres plenty of reasons why.
- it’s supported by a huge community so you can find an answer with a quick search, rather than spending hours scouring the internet.
- Python Syntax forces modularity, so you HAVE* write more professionally in small re-usable blocks
- It has great libraries that seamlessly integrate into it’s functionality
Speaking of great libraries, if you want to do something in python, just import it. (chances are someone has already written the low level stuff for you)
- Biopython contains hundreds of great tools to do bioinformatics
- Rpy connects python to R, the statistical modeling language, so you can run R using comfortable python syntax
- Python C, turns out Python can execute C code, or you can have your C code run your python Scripts, very useful so you can keep your scripts and still run the faster C code.
Check out this great strip from XKCD:
- Noticed up top how I said you HAVE to write modularly. If you don’t write like that in python, your going to be hurting. Remember Python is a scripting language… use it for small programs that do one task quickly and efficiently… dont build a complex system on it or you will regret it as python’s grip slithers around your neck.
- Whitespace. It’s part of the syntax. I personally don’t like this feature… why? Because you can’t see whitespace. Unless you activate invisible characters. It’s still a pain when you get an error because you indented one space too many. Or if you have a long block of code that needs an if statement at the top… better start indenting the entire block. Was this really better than just adding some brackets? I don’t think so, thats why I use perl as well. Luckily they can all work together… more on that soon.