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:

Ryan Mills (RM)
Hui Jiang (HJ)


Topics:

I) Setup and Motivation [1:15 hr] HJ & RM (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] RM (Slides)

  • File editing
  • Redirecting
  • Streams & Pipes
  • Workflows for batch processing

—- Coffee Break [15 mins] —

IV) How to Get Working [1.30 hr] RM & 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

Make Install tutorial