Day 1. Introduction to UNIX
Most bioinformatics happens on Unix/Linux platforms but why and how do we use Unix?
Increasingly, the raw output of biological research exists as in silico data, usually in the form of large text files. Unix is particularly suited to working with such files and has many powerful (and flexible) commands that can process your data for you.
The real strength of learning Unix is that most of these commands can be combined in an almost unlimited fashion. So if you can learn just five Unix commands, you will be able to do a lot more than just five things. Our objective here is to learn a subset of Unix and to become a productive Unix user without knowing or using every program and feature.
Schedule:
Session | Time | Topics |
---|---|---|
I | 9:00-10:15 AM | Setup and Motivation |
10:15-10:30AM | Coffee Break | |
II | 10:30-12:00 AM | Beginning Unix |
12:00-1:00PM | Lunch | |
III | 1:00-2:15 PM | Working with Unix |
2:15-2:30 PM | Coffee Break | |
IV | 2:30-4:00 PM | How to Get Working |
Instructors:
Barry Grant (BG)
Hui Jiang (HJ)
Assistants:
Sean Caron (SC)
Topics:
I) Setup and Motivation [1:15 hr] HJ & BG (Slides) (Example data)
- Setup
- Motivation (Why do we use Unix?)
- Modularity, workflows, programmability, existing tools, and the Unix philosophy
- Learning Objectives
—- Coffee Break [15 mins] —
II) Beginning Unix [1:30 hr] HJ (Slides)
- Beginning Unix (shell vs terminal, common commands)
- Understanding processes (Listing, suspending, killing and background processes)
- File system structure
- File permissions
- Connecting to remote servers
- File transfer
—- Lunch Break [1 hr] —
III) Working with Unix [1.15 hr] BG (Slides)
- File editing
- Redirecting
- Streams & Pipes
- Workflows for batch processing
—- Coffee Break [15 mins] —
IV) How to Get Working [1.30 hr] BG & HJ
- Project organization
- Compiling software
—- End/Wrap-Up —
Reference material
Example data: bootcamp_01_unix.tar.gz [13M]
Slides-1.1
Slides-1.2
Slides-1.3
A Quick Guide to Organizing Computational Biology Projects (Noble 2009)
Unix Referene Commands and Glossary
Introduction to Bash Shell Scripting