This repository contains material for the second installment (July 2014) of a programming course for scientists organised by the department of Human Genetics of the Leiden University Medical Center.
The course is targeted at PhD students, Postdocs, or anyone willing to learn how to program in Python. Students are assumed to have some experience with programming, but not necessarily in Python, and the UNIX shell.
The program consists of four mornings with lessons and some assignments to be done in your own time (i.e., during the afternoons).
See the Trac Wiki for more information.
- Date: 18-21 September, 2017
- Time: 10:00 - 17:00
- Location: 01-J-01-083
- Registration via www.medgencentre.nl. Direct access to the registration form.
Please note that the above mentioned date and location are subject to change.
See the instructions in
The top-level directory contains materials for the following lessons:
- Welcome (slides)
- Introduction to Python (slides 1, slides 2, slides 3)
- More Python Goodness (notebook 1, notebook 2)
- Working with NumPy arrays (slides)
- IPython Notebook (notebook)
- Plotting with matplotlib (notebook)
- Painting Pandas (slides)
- Object-oriented programming (slides)
- A sip of Biopython (notebook 1, notebook 2)
As indicated, some of the lessons are slideshows, whereas others are just notebooks we scroll through during class. The links above are all one-page static renderings on IPython Notebook Viewer.
We also have a repository with material for the assignments.
We apply some custom styling to the notebooks (e.g., body width, font), which
is loaded in the last cell. This loads
styles/notebook.css.small is provided that is more suitable for
use on low-resolution displays. To use it, manually change the reference to
this file in the bottom cell, and rerun it.
The sources for the slideshows are also IPython notebooks and you can edit them by starting a notebook server:
Choose Slideshow in the Cell Toolbar menu.
Some aditional information on editing slides in the Notebook can be found here in this presentation.
We also apply some custom styling to the slideshows, which is loaded in the last cell.
Live rendering of the slides
You can use nbconvert to convert the slides to HTML and serve them. For example:
ipython nbconvert --to slides --post serve numpy.ipynb
This will open the slides in a new browser window. If you don't want that, add this argument:
To serve on another IP address than the default 127.0.0.1, use the
configuration of the serve postprocessing. For example, to listen on all IP
Changing the port can be done similarly with
By default, the reveal.js library is loaded over the internet from a CDN. I think it's usually not a good idea to rely on internet connectivity for your slides, so you can also place a copy of reveal.js on your local computer and specify the location like this:
This would look for the reveal.js library in the
reveal.js directory. A Git
submodule is already setup for this, so you can just do:
git submodule init git submodule update
(Unfortunately, there are other online dependencies such Font Awesome, so without an internet connection, not everything will look ok, but it will work.)
Also, if you just want to compile the slides to HTML without serving them to
your browser, leave out the
--post serve argument.