Bash for beginners
General information
Who is this course for
This course is for biologists aiming to learn how to use the Linux Command Line to perform bioinformatics analyses. It requires no prior knowledge of the command line.
Avoid this course if...
If you are already able to use basic shell commands, and in particular to tell programs where your file are, you probably don't need this course.
How we will work
You'll have full access to a Linux Server, so the course heavily relies on this website to provide you workshop notes to follow at your pace from your office (or living room ). Each lesson introduce the concepts and let us review the problems found during the previous session and to begin working on the new assignment. You'll have 24/7 access to the remote Linux server, so the time we spend together is mainly to introduce concepts and to discuss problems, while the real “tutorial” can be self paced and done during the week when you have some spare time.
The course spans across three weeks, the the first with two lessons, then one lesson for the last two.
Bring your laptop (any model will work). The course will be fully accessible also from non-NBI laptops.
A small "preview"
Watch a short video describing the content of the course.
Signup
Please fill this form to Sign Up!
Program
Each day we will meet in a room at QIB (details to be confirmed), from 9.30 to 12.00. Bring your own laptop, if you need one contact Andrea in advance to arrange an alternative.
Day1: The first tour
A brief introduction to the core concepts of the command line as a good environment for bioinformatics analysis. A hands-on tutorial to log in into a remote Linux server using each participants laptop, and test the first commands. Our main goal is the set up of your clients, in order to allow you off-site access to the workshop!
- What is a terminal: the “terminal prompt”
- Accessing a remote server using
ssh
(Mac or Linux) or the program PuTTY (from Windows) - Using
screen
to set up a persistent session on a remote server - The filesystem: using
pwd
andls
to interact with it from the terminal. Tab completion. mkdir
to create directories- A command line text editor:
nano
Day 2: basic commands
Understanding the "file system", relative and absolute paths, and the commands to organize the directories, to list files, to copy and move files and directories. Introduction to commands to interact with text files and view them. We will use the FASTA and FASTQ file formats as examples.
ls
(with some parameters), wildcards,cd
,rmdir
,find
- Interactive visualization of text files:
less
- Viewing text files with
cat
,head
andtail
- Counting lines and characters with
wc
- Selecting lines with patterns using
grep
- Redirecting a command output into a text file
Day 3: Extracting data from text files
Using terminal commands to interact with bioinformatics files. We'll introduce the SAM file format used to store NGS mapping, the VCF format (for SNP calling), and some tabular annotation files (GFF, GTF).
- Recap of previous commands to be used with for SAM files
- Downloading datasets with
wget
- The
sort
,uniq
,cut
commands - Command pipes: combining multiple commands
Day 4: The bioinformatician's perspective
Using short reads alignment as a theme, we'll introduce how to install new software to be used from the command line, users and file permissions, and of course the alignment program bwa and samtools the swiss army knife to manipulate SAM files.
- Using
bwa
to align short reads - Using
samtools
to operate with SAM/BAM files