Software Carpentry Workshop for NHS Clinical Bioinformatics

09-10 November 2015, 09:00-17:00

PC Cluster 2 bay D, Stopford Building, Oxford Road, Manchester, M13 9PT

Workshop 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 is a part of the programming module MEDN68400 for the NHS Clinical Bioinformatics course. 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.

Date: 09-10 November 2015, 09:00-17:00

Location: PC Cluster 2 bay D, Stopford Building, Oxford Road, Manchester, M13 9PT. Get directions with Google Maps.

Instructors: Aleksandra Pawlik, Niall Beard, Ian Dunlop

Helpers: TBC

Requirements: Participants will work on the Software Carpentry Virtual Machines provided by the University of Manchester so no setup is required prior to workshop. They are also required to abide by the Software Carpentry's Code of Conduct.

Etherpad: http://pad.software-carpentry.org/2015-11-09-manchester.
We will use this Etherpad for chatting, taking and sharing notes, URLs and other useful bits.

Contact: Please email a.nenadic@manchester.ac.uk for more information.


Acknowledgement and support

This workshop is supported by ELIXIR-UK.


Schedule

Day 1, Monday 9th November

9:00 Introduction
9:30 Working effectively with command line - part 1
10:45 Coffee break
11:00 Working effectively with the command line - part 2
12:00 Lunch break
13:00 Version control with Git - part 1
14:30 Coffee break
15:00 Version control with Git - part 2
16:45 Wrap-up

Day 2, Tuesday 10th November

09:00 Command line and Git recap
09:45 Introduction to Elab notebooks
10:00 Building programs with python - part 1
10:30 Coffee break
11:00 Building programs with python - part 2
12:00 Lunch
13:00 Collaborative work using Git and Github
14:30 Coffee break
15:00 Building programs with Python - part 3
16:45 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

Introduction to eLab Notebooks and Integrated Environments


Setup

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

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 2.5 GigaByte, so please download it before coming to your workshop.
  3. Load the VM into VirtualBox by selecting "Import Appliance" and loading the .ova file.