Hello. There are programs of all kinds for online bioinformatics analysis (blast, alignments, dotplot, phylogenetics, genetic diagnosis, etc) so I would like someone to explain why it is necessary to know some programming language (python, perl, C +) in the field of bioinformatics. What tasks can we perform through a programming language that can not be done in a program that we have online? Can you give me some examples? Thank you very much.
Ready-to-use tools (online or not) won't do everything for you. For example, a tool would only accept data in a particular format and your data is structured in a non-standard way that no tool knows about so you'll have to write a conversion tool yourself. Or you need to clean up your data before processing it otherwise the processing tool would crash or give incorrect results, for example remove all the samples that are not of type X when the type information for each sample is spread across different files or possibly in a database. You may be able to get by without programming in your current job but what about the next one in which the project will require you to perform tasks/analyses for which no ready-to-use tool exists or you need to add functionality to existing tools or you're asked to build one of these online tools. Nowadays, it's not just bioinformaticians who need to have basic programming skills, every biologist should. It's simply not scalable to have a computational person behind every biologist producing data. Every biologist should at the minimum be able to clean up and reformat their data, extract relevant information from large data sets or databases, automate basic tasks, compose workflows using available tools and be able to run simple and standard statistical analyses. This is how it works in other scientific areas so why not in biology.
This might not qualify as an answer, however I'm tempted to write one as something similar discussion happened today.
A guy sitting next to me is a pro (good) in excel. I'm not (but I'm good at some scripting and command line tools). This guy said excel is easy to calculate some basic number like mean, sum etc. I said, IMO, unix command line tools are far better than excel.
We started a timer to check who calculates some
summary value using a text file. He opened the file in excel and selected a column and came up with the answer. He won. No worries. Mean while I figured out how to do it with a simple combination of unix commands.
Interesting part is, now we have a folder with ~100 files to repeat the task. And I went out for a coffee running 3 lines of code I figured out and this guy is opening and closing excel files.
This is exactly what @Pierre's graph summarizes. It's not mandatory to learn programming unless one wants to be (more) productive in a given time compared to a non-programmer, especially in bioinformatics.