There is a lot to be said about bioinformatic tools, and a lot of angles to take. I think on the discussion of Command Line Interfaces (CLI) vs Graphical User Interfaces (GUI), the following applies:
Almost all bioinformatic tools need a CLI, whereas only some bioinformatic tools need a GUI.
Now, a lot is riding on my use of “need” in the above description. What I mean, is the tool would not be usable in its most basic state without it. So a tool that requires a lot of human intervention and interaction, a GUI might very well be needed to be functional. While a CLI can add a different way of doing it, the GUI is the tool. I think of tools like IGV for viewing read alignments.
The GUI is the tool. Sure a CLI makes certain methods of getting screenshots of various regions nice to have, but it’s not the main reason for the tool. It’s to visualise the alignments and various annotations. Meanwhile, a tool like minimap2 needs a CLI but doesn’t need a GUI. Sure, having one might make some applications of the tool more intuitive or nicer to use for some users, but the core function of the tool is around its CLI and ability to be used in pipelines.
This brings me to why someone might want a GUI or CLI. There are many people in the bioinformatics space. Tool builders, tool users, scripters, pipeliners, and a variety of wet lab/dry lab use and exploration. Many people sit in multiple areas too. In some cases, a point-and-click GUI is going to be best for some users, while for others, a CLI is a must, and a GUI-only version of a tool is going to make it impossible to automate/implement in a pipeline.
Bioinformatics is a broad field with many people with varying expertise, writing and using tools in a variety of applications. So there is no one answer for everyone. That being said, I personally think all tools should have their basic functions accessible via a CLI, and if the tool has some visual aspect, wrapping that in some kind of GUI can make a lot of sense and make the user experience much nicer.
One thing you won’t catch me doing, however, is slamming tool builders for not building a GUI on their tool.
So to say it again, my position on CLI vs GUI in bioinformatics : Almost all bioinformatic tools need a CLI, whereas only some bioinformatic tools need a GUI.
Comments