The command line life

August 17, 2020 • PD Schloss • 2 min read

For today’s episode we’re going to press the pause button on our data analysis exploring the sensitivity and specificity of amplicon sequence variants in microbiome research. To this point, nearly everything we’ve done has been through the command line. Before we start using R more for our analysis, I am going to give you a broader perspective on why I find the command line interface to be such an indispensable part of my reproducible research workflow.

When I fire up my Terminal app people that don’t know me well often look on in disgust, no doubt asking themselves what century I was born in. Surely they think, this is 2020! We have touch screens! Beautiful web apps! Amazing software with graphical interfaces! Yup. They’re fun. But, if your goal is to conduct a reproducible analysis, then you need to step away from those tools and dig into the command line. Another reaction is, don’t you know about this great R package to do that? I love R! But it’s not always the right tool for the job. Sometimes using R is like using a sledgehammer to pound in a nail or worse, sometimes it’s like using a sledgehammer to pound in a screw. I could, but why? Doing the same thing at the command line with bash commands would be so much easier.

In today’s episode I’m going to give you my top 10 reasons for why I think you should learn more about your command line interface. You should definitely learn a programming language like R or Python. But after you’ve gotten your feet wet with one of those, you should really strengthen your command line skills. Today’s video will tell you why.

Every tool has its strengths and weaknesses and contexts where it makes sense to use it. By learning tools you are making an investment in your future self. If I was building a deck, I definitely wouldn’t use a hammer to pound in screws. I probably could, but I shudder to think about what the outcome would be. That’s a lot like cobbling together tools with those fancy graphical user interfaces and hoping the analysis will be reproducible. Instead, I might buy a corded electric drill and some nice bits to do the job. That’s probably where you’re at if you’re watching this video. You have a good tool, does the job, but you still have this blasted cord slowing you down and tripping you whenever you turn around. If you were building a big deck or could see other DIY projects in your future, you would probably invest in a nice cordless drill, perhaps an impact drill, with a good battery. Similarly, as you learn more about data analysis, I’d encourage you to add more tools, being mindful of where it’s appropriate to use them and where you’re trying to bang in a screw.