Event Date
This is a ‘LIVE COURSE’ – the instructors will be delivering lectures and coaching attendees through the accompanying computer practical’s via video link, a good internet connection is essential.
TIME ZONE – UK (GMT+1) local time – however all sessions will be recorded and made available allowing attendees from different time zones to follow.
Please email oliverhooker@prstatistics.com for full details or to discuss how we can accommodate you.
Python is a dynamic, readable language that is a popular platform for all types of bioinformatics work, from simple one-off scripts to large, complex software projects. This workshop aims to give novice programmers an introduction to using Python for research in evolutionary biology and genomics by using biological examples throughout. We will use example datasets and problems themed around sequence analysis, taxonomy and ecology, with plenty of time for participants to work on their own research data.
This workshop is aimed at complete beginners and assumes no prior programming experience. It gives an overview of the language with an emphasis on practical problem solving, using examples and exercises drawn from various aspects of bioinformatics work.
After completing the workshop, students should be able to:
This workshop is aimed at all researchers and technical workers with a background in biology who want to learn programming. The syllabus has been planned with complete beginners in mind; people with previous programming experience are welcome to attend as a refresher but may find the pace a bit slow. If in doubt, take a look at the detailed session content below or drop Martin Jones (martin@pythonforbiologists.com) an email.
Students should have enough biological background to appreciate the examples and exercise problems (i.e. they should know about DNA and protein sequences, what translation is, and what introns and exons are). No previous programming experience or computer skills (beyond the ability to use a text editor) are necessary, but you’ll need to have a laptop with Python installed.
Delivered remotely
Time zone – UK (GMT+1) local time
Availability – 20
Duration – 4 days, 8 hours per day
Contact hours – Approx. 28 hours
ECT’s – Equal to 3 ECT’s
Language – English
Lectures/discussions of Python code, libraries and techniques delivered using interactive notebooks. Workshop/practical time for students to tackle carefully designed programming challenges that use the material from the discussion sessions. Usually followed up by discussion of solutions, wrap up and summarisation.
Little technical knowledge is assumed – we will be focussing more on applied problem-solving and less on statistics, mathematics and interpretation. No maths is involved beyond basic addition/subtraction/powers etc.
This course is suitable for complete beginners; all that is necessary is admin rights on a laptop in order to be able to install software. Pre course instructions will contain links to all software and data files that are necessary.
Although not absolutely necessary, a large monitor and a second screen could improve the learning experience. Participants are also encouraged to keep their webcams active to increase their interaction with the instructor and other students.
PLEASE READ – CANCELLATION POLICY
Cancellations are accepted up to 28 days before the course start date subject to a 25% cancellation fee. Cancellations later than this may be considered, contact oliverhooker@prstatistics.com. Failure to attend will result in the full cost of the course being charged. In the unfortunate event that a course is cancelled due to unforeseen circumstances a full refund of the course fees will be credited
If you are unsure about course suitability, please get in touch by email to find out more oliverhooker@prstatistics.com
Day 1 – Classes form 09:30 – 17:30
Session 1 : Introduction, environment and text manipulation
Session 2 : Files, slices and user interfaces
Day 2 – Classes form 09:30 – 17:30
Session 3 : Lists and loops
Session 4 : conditions and flow control
Day 3 – Classes from 09:30 – 17:30
Session 5 : Organizing and structuring code
Session 6 : The Python standard library and Regular expressions
Day 4 – Classes form 09:30 – 17:30
Session 7 : Dictionaries
All of the data sets that we’ve considered so far in the course fit nicely into the list paradigm. In this session, it’s time to introduce the second major data structure offered by Python: the dictionary. To do this, we’ll look at a classic bioinformatics problem – kmer counting – and see how lists aren’t a good fit before learning the new syntax that we need to make dictionaries. Comparing the list and dictionary solutions will make it clear when we should use each approach. We’ll wrap up by discussing a few more examples of key-value data and see how the problem of storing them is a common one across bioinformatics and programming in general. In the practical session we will practice writing programs that create dictionaries, and ones that use dictionaries, including another classic bioinformatics problem: DNA to protein translation. Core concepts introduced: paired data types, hashing, key uniqueness, argument unpacking and tuples.
Session 8 : File management and housekeeping scripts
This session concerns a part of the Python standard library that is boring but useful – the modules concerned with file manipulation. We will cover the tools that Python gives us to automate the common repetitive housekeeping operations that are part of many bioinformatics projects, but rarely make it into the final publication – things like renaming, moving and deleting files, creating folders, etc. The notebook part of this session is quite brief, giving us a generous amount of practical time to tackle an example of a bioinformatics data pre-processing problem: organizing a collection of DNA sequences by length. Although the problem can be stated very concisely, we’ll quickly see that there are quite a few subtleties to it, giving us a chance to think about program state of multiple runs, processing multiple files, and creating multiple output files.
Martin a freelance trainer specialising in teaching programming (mostly Python) and Linux skills to researchers in the field of biology. He trained as a biologist and completed his PhD in large-scale phylogenetics in 2007, then held a number of academic positions at the University of Edinburgh ending in a two year stint as Lecturer in Bioinformatics. I launched Python for Biologists in 2015 and have been teaching and writing full-time ever since.