Fork me on GitHub

The Nowgen Centre, University of Manchester

Nov 10-14, 2014

9:00 am - 5:00 pm

Instructors: Aleksandra Pawlik, Aleksandra Nenadic

Helpers: Andy Brass, Mike Cornell

General Information

Software Carpentry's mission is to help scientists and engineers become more productive by teaching them basic lab skills for computing like program design, version control, data management, and task automation. This workshop (lasting 3 days: 10-12th November) is a part of the 5-day MSc Clinical Bioinformatics programme (10-14th November). During the hands-on training sessions we will cover core skills such as effectively working with command line, structured software development and version control. The participants will be encouraged to help one another and to apply what they have learned to their own research problems.

Who: The course is aimed at the postgraduate students of the MSc Clinical Bioinformatics course at the University of Manchester.

Where: 29 Grafton Street, Manchester, M13 9WU. Get directions with OpenStreetMap or Google Maps.

Requirements: Participants will work on the Software Carpentry Virtual Machines provided by the University. They are also required to abide by Software Carpentry's Code of Conduct.

Contact: Please mail admin-uk@software-carpentry.org for more information.

Etherpad: https://swcuk.etherpad.mozilla.org/23

Etherpad is an on-line collaboration environment which will be used for sharing information and notes during the workshop.


Schedule

Day 1, Monday 10th November

9:00 iPad induction
10:30 Coffee break
11:00 Introduction and learning objectives
12:00 Lunch break
13:00 Working effectively with command line - part 1
15:00 Coffee break
15:30 Working effectively with command line - part 2
16:45 Wrap-up

Day 2, Tuesday 11th November

09:00 Version control with Git - part 1
10:30 Coffee break
11:00 Version control with Git - part 2
12:00 Lunch break
13:00 Collaborative work using Git and GitHub
14:00 Introduction to IPython Notebook
14:15 Building programs with Python - part 1
15:00 Coffee break
15:30 Building programs with Python - part 2
16:45 Wrap-up

Day 3, Wednesday 12th November

09:00 Building programs with Python - part 3
10:30 Coffee break
11:00 Running Python programs from command line
12:00 Lunch break
13:00 Testing your Python code
15:00 Coffee break
15:30 Working with XML files in Python
16:15 Feedback
16:30 Summary and wrap up

Day 4, Thursday 13th November

09:00 User requirements gathering and testing - part 1
10:30 Coffee break
11:00 User requirements gathering and testing - part 2
12:00 Lunch break
13:00 ELIXIR requirements gathering
14:00 Case study – design and implementation of a gene file parser - part 1
15:00 Coffee break
15:30 Case study - design and implementation of a gene file parser - part 2
16:45 Wrap-up

Day 5, Friday 14th November

09:00 Case study (continued) - complete the writing and documentation of a parser appropriate for a clinical bioinformatics lab in the NHS
10:30 Coffee break
11:00 Case study - part 4
12:00 Lunch break
13:00 Case study - part 5
15:00 Coffee break
15:30 Case study - part 6
16:00 Wrap-up

Syllabus

The Unix Shell

  • Files and directories: pwd, cd, ls, mkdir, ...
  • History and tab completion
  • Pipes and redirection
  • Looping over files
  • Creating and running shell scripts
  • Finding things: grep, find, ...
  • Reference...

Lessons

Programming in Python

  • Using libraries
  • Working with arrays
  • Reading and plotting data
  • Creating and using functions
  • Loops and conditionals: for, if, else, ...
  • Defensive programming
  • Using Python from the command line
  • Reference...

Lessons

Version Control with Git

  • Creating a repository
  • Recording changes to files: add, commit, ...
  • Viewing changes: status, diff, ...
  • Ignoring files
  • Working on the web: clone, pull, push, ...
  • Resolving conflicts
  • Open licenses
  • Where to host work, and why

Lessons


Setup

The participants will be working on the Software Carpentry Virtual Machines setup up on the computers at the university lab.

Overview

Virtual Machine

If you wish to try out the Virtual Machine on your own laptop/desktop, please follow these steps:

  1. Install VirtualBox.
  2. Download our VM image. Warning: this file is 1.7 GByte, so please download it before coming to your workshop.
  3. Load the VM into VirtualBox by selecting "Import Appliance" and loading the .ova file.