Summary and Schedule

Command line interface (CLI) and graphic user interface (GUI) are different ways of interacting with a computer’s operating system. They have different pros and cons. Most people are familiar with the GUI as it is the default interface for most software, particularly on Windows and Mac OS. When using the GUI, you see and interact with visual representations of files, folders, applications, and most other functions of your computer. When using the CLI, you work largely with text representations of software, files, folders, input and output. The shell is a program that allows you to control your computer by typing instructions on the CLI with a keyboard.

There are several reasons to learn how to use the CLI:

  • For most bioinformatics tools, there are no graphical interfaces. If you want to work in metagenomics or genomics, you’re going to need to use the CLI/ shell.
  • The shell gives you power. The command line allows you to work more efficiently. Tasks that are repetitive (e.g. renaming hundreds of files) can be automated. Tasks that are tedious (e.g. testing a range of input parameters) can be simplified.
  • To use remote computers or cloud computing, you often need to use the shell.

Getting Started

This lesson assumes no prior experience with the tools covered in the workshop. However, learners are expected to have some familiarity with biological concepts. Participants should bring their laptops and plan to participate actively.

For Instructors

If you are teaching this lesson in a workshop, please see the Instructor notes.

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.

Setup

To participate in this lesson, you will need a working Unix-like shell environment. We will be using Bash (Bourne Again Shell) which is standard on Linux and macOS. Some macOS users (Catalina or later) will have zsh (Z shell) as their default version. Even if you are a Windows user, learning Bash will open up a powerful set of tools on your personal machine, and familiarize you with the standard remote interface used on most servers and supercomputers.

For the workshop, we will use the Broad’s login servers. To access those machines, your laptop needs to be on the Broad-Internal wireless network when you are on-site OR on the Broad VPN if you have a non-Broad-issued computer or are off-site.

Prerequisite

To reach to the Broad login servers when you are off-site, you will connect to the Broad VPN to access internal Broad resources.

VPN Installation

You will also need to set up DUO two-factor authentication or Google 2FA to use the Broad VPN. Contact BITS for troubleshooting if you have a Broad-issued machine.

If you can’t access the documentation linked above or can’t connect to the Broad VPN using your Broad credentials, please let the workshop organizers know so we can assess whether you will be able to participate in the workshop.

Prerequisite

Bash is the default shell on most Linux distributions and older versions of macOS. Windows users will need to install WSL to provide a Unix-like environment.

Testing Broad Login Server access

If you are on-site, connect to the Broad-Internal wireless network. If you are off-site, connect to the Broad VPN.

Show your successful access

  1. Type touch /broad/hptmp/computing_basics/<username>_was_here
  2. Type ls /broad/hptmp/computing_basics Did you leave your mark?
  3. Type exit to leave the server.

If you were unable to access the Broad login servers, please let the workshop organizers know so we can help you troubleshoot before the start of the workshop.