Schedule
Week 1
Reading:
- Lecture notes: chapter 1 Preface
- Lecture notes: chapter 2 Before you begin
- Lecture notes: chapter 3 Appendix: Conda environment for BSF
- Lecture notes: chapter 4 Writing a program
- Lecture notes: chapter 5 Dealing with values
- Lecture notes: chapter 6 The order of events
- Lecture notes: chapter 7 Course tools
Make sure you have installed Python and VScode for the first lecture.
Lectures:
- In the first lecture, I will outline how the course is organized and how you will get the most out of your efforts in learning programming.
- In the first lecture, I will also talk about how a Python program works and about values, math, and logic.
- In the second lecture, I will talk about variables, operators, substitution, and reduction.
Exercises:
If you have yet to do so at home, you will install Python and the text editor. To do this, follow the instructions in 2 Before you begin. Then, start doing the exercises in chapter 4 Writing a program, chapter 5 Dealing with values, and chapter 6 The order of events. You will also have time to do these exercises in the TA session of week two, so go slow. It is important to properly absorb the basic concepts at the beginning of the course; otherwise, it will become too difficult later on. Have a look
And make sure to familiarize yourself with the Myiagi game and the print-steps tool described in chapter 7 Course tools. These are useful companions in the course.
Week 2
Reading:
- Lecture notes: chapter 8 Controlling behavior
- Lecture notes: chapter 9 Organizing code
I will cover chapters 8-9 in the lecture notes.
Lectures:
- In the first lecture, I will talk about how to use logic to control which statements in your program that get executed.
- In the first lecture, I will also talk about how you can efficiently organize your code using functions.
- In the second lecture, I will talk more about functions.
Exercises:
The topics for this week’s exercises are statements, variables, operators, expressions, substitution, reduction, and logic. You will work on the rest of the exercises in chapter 4 Writing a program, chapter 5 Dealing with values, chapter 6 The order of events, and chapter 7 Course tools. Do what you can at home and do the rest at the TA session.
Week 3
Reading:
- Lecture notes: chapter 10 Values are objects
- Lecture notes: chapter 11 Lists of things
- Lecture notes: chapter 12 Pairs of things
- Lecture notes: chapter 13 Grouping values
Lectures:
- In the first lecture, I will talk about objects and methods.
- In the first lecture, I will also talk about lists.
- In the second lecture, I will talk about dictionaries and a bit about tuples.
Exercises:
The topics for this week’s exercises are if, else, logic, and functions. You are meant to complete all the exercises in chapter 8 Controlling behavior and chapter 9 Organizing code. Do what you can at home and do the rest at the TA session.
Week 4
Reading:
- Lecture notes: chapter 14 Iterating values
- Lecture notes: chapter 15 Working with files
Lectures:
- In the first lecture, I will talk about iteration and lists.
- In the second lecture, I will talk about how your code can interact with files on your computer.
Exercises:
Only MO and Bio classes attend the exercises this week. MM classes do not. The exercise is repeated next week for the MM classes to attend*
The topics for this week are objects, methods, strings, lists, tuples, and dictionaries. You are meant to complete all the exercises in chapters 10 Values are objects, 11 Lists of things, 12 Pairs of things, and 13 Grouping values. Do what you can at home and do the rest at the TA session.
Week 5
Reading:
- Lecture notes: chapter 16 Structuring data
- Lecture notes: chapter 17 Recursion
- Lecture notes: chapter 18 Testing your code
- Chapter 11: Genomewide Association Studies
- Benefits and limitations of genomewide association studies
Lectures:
- In the first lecture, I will talk about databases, genotyping arrays, and genomewide association studies (GWAS).
- In the first lecture, I will also talk about building simple data strutures in Python.
- In the second lecture, I will talk about how to use recursion in Python.
Exercises:
Only MM classes attend the exercises this week. MO and Bio classes do not. The exercise is repeated from last week*.
The topics for this week are iteration and data structures. You are meant to complete all the exercises in chapter 14 Iterating values and chapter 15 Working with files.
Week 6
Reading:
- Lecture notes: chapter 19 Translating ORFs
- Understanding Bioinformatics 127-141
Lectures:
- In the first lecture, I will talk about global pairwise alignment In the first lecture
- In the first lecture, I will also talk about the weekly programming project.
- In the second lecture, I will talk about local pairwise alignment and more realistic gap scoring.
Exercises:
- The programming project described in chapter 19 Translating ORFs.
From the project files page, you can download the files you need for programming projects. There will be lots of work, so do what you can at home and do the rest at the TA session.
Chapter 19 Translating ORFs is a mandatory assignment. The deadline for handing it in (on Brightspace) is the night before your exercise class in week 41.
Week 7
Reading:
- Lecture notes: chapter 20 Primer analysis
- Understanding Bioinformatics: 117-127
- Alignment methods: strategies, challenges, benchmarking, and comparative overview (don’t do the exercises).
Lectures:
- In the first lecture, I will talk about protein substitution matrices and how to score protein alignments. - In the first lecture, I will also talk Python classes and the weekly programming project.
- In the second lecture, I will talk about multiple alignment.
Exercises:
- The web exercise: GWAS candidates
- The programming project described in chapter 20 Primer analysis (not a mandatory assignment).
From the project files page, you can download the files you need for both programming projects and web exercises. There will be lots of work, so do what you can at home and do the rest at the TA session.
Week 8
Reading:
- Lecture notes: chapter 21 Pairwise alignment
- Bioinformatics Explained: BLAST
- Biological Sequence Analysis pp. 192-197
Lectures:
- In the first lecture, I will talk about how to search for matches in a sequence database and how to asses alignment significance.
- In the first lecture, I will also talk about programming topics and the weekly programming project.
- In the second lecture, I will talk about models of DNA evolution and how to measure evolutionary distance between sequences.
Exercises:
- The web exercise: CCR5-delta32
- The programming project described in chapter 21 Pairwise alignment (not a mandatory assignment).
From the project files page, you can download the files you need for both programming projects and web exercises. There will be lots of work, so do what you can at home and do the rest at the TA session.
Week 9
Reading:
- Lecture notes: chapter 22 Codon usage
- Biological Sequence Analysis pp. 165-179
Lectures:
- In the first lecture, I will talk about methods for sequence clustering.
- In the first lecture, I will also talk about the programming project.
- In the second lecture, I will talk about bioinformatics code libraries for Python, such as BioPython, and the Master in Bioinformatics that we offer at the Bioinformatics Centre.
Exercises:
- The web exercise: MRSA
- The programming project described in chapter 22 Codon usage (not a mandatory assignment).
From the project files page, you can download the files you need for both programming projects and web exercises. There will be lots of work, so do what you can at home and do the rest at the TA session.
Week 10
Reading:
- Lecture notes: chapter 23 HIV sub-groups
- Biological Sequence Analysis pp. 192-202
Lectures:
- In the first lecture, I will talk about phylogenetic trees.
- In the first lecture, I will also talk about Python topics and the weekly programming project.
- In the second lecture, I will talk about gene prediction in prokaryotes.
Exercises:
- The web exercise: Aardvark?
- The programming project described in chapter 23 HIV sub-groups.
From the project files page, you can download the files you need for both programming projects and web exercises. There will be lots of work, so do what you can at home and do the rest at the TA session.
Chapter 23 HIV sub-groups is a mandatory assignment. The deadline for handing it in is the night before your exercise class in week 46.
Week 11
Reading:
- Lecture notes: chapter 24 Sequence trees
- Biological Sequence Analysis pp. 46-66
Lectures:
- In the first lecture, I will talk about hidden Markov models (HMMs).
- In the first lecture, I will also talk about python topics and the weekly programming project.
- In the second lecture, I will talk about more about HMMs
Exercises:
- The programming project described in chapter 24 Sequence trees (not a mandatory assignment).
From the project files page, you can download the files you need for both programming projects and web exercises. There will be lots of work, so do what you can at home and do the rest at the TA session.
Week 12
Reading:
- Lecture notes: chapter 25 Finding genes
- Understanding Bioinformatics pp. 438-448
- Automatic generation of gene finders for Eukaryotic species
- The Theory and Practice of Genome Sequence Assembly
Lectures
- In the first lecture, I will talk about applications of hidden Markov models gene finding and protein annotation.
- In the first lecture, I will also talk about Python topics and the weekly programming project.
- In the second lecture, I will talk genome assembly.
Exercises:
- The web exercise: Plasmid ORFs
- The programming project described in chapter 25 Finding genes (not a mandatory assignment).
From the project files page, you can download the files you need for both programming projects and web exercises. There will be lots of work, so do what you can at home and do the rest at the TA session.
Week 13
Reading:
- Lecture notes: chapter 26 Genome assembly
- Understanding Bioinformatics pp. 494-496
Exploring Bioinformatics pp. 242-248
Lectures:
- In the first lecture, I will talk about neural networks
- In the first lecture, I will also talk about the programming project.
- In the second lecture, I will talk about applications of HMMs
RNA secondary structure prediction.
Exercises:
- The web exercise: Read mapping
- The programming project described in chapter 26 Genome assembly (not a mandatory assignment).
From the project files page, you can download the files you need for both programming projects and web exercises. There will be lots of work, so do what you can at home and do the rest at the TA session.
Week 14
Reading:
- None this week.
Lectures:
- In the first lecture, I will talk about python and algorithms. You will also hear a guest talk by about bioinformatics outside the class room.
- In the last lecture, we will evaluate the course and review the exam’s practicalities.
Exercises:
- The web exercise: Neural networks
From the project files page, you can download the files you need for both programming projects and web exercises. There will be lots of work, so do what you can at home and do the rest at the TA session.