Advanced Unix & Python for Bioinformaticians
Overall Course Objectives
The student should be able to solve major bioinformatic problems in a structured manner using Python in a Unix environment applying advanced programming and proper testing methods.
See course description in Danish
Learning Objectives
- Navigate the Unix file system and perform basic text file manipulations.
- Apply advanced Unix commands and create simple bash scripts for automation.
- Utilize Git for versioning and collaboration.
- Explain and use various argument parsing methods, scope, and namespace management.
- Construct and apply advanced data structures using relations between names, references and objects.
- Explain the principles behind basic and advanced iteration, including comprehensions and generators.
- Implement new classes using magic methods, encapsulation and inheritance.
- Conduct unit testing using parameterization, fixtures and external files.
- Evaluate a program’s running time scales based on input size using the Big-O notation.
- Evaluate existing code bases, aiming to improve or extend functionality and maintainability.
Course Content
This course provides an introduction to Unix, which is widely used in bioinformatics. You learn basic commands, file manipulation, input / output redirection, file system structure and process manipulation. The course builds on the existing knowledge of Python, and you learn about advanced data structures, functions, Python’s object model, classes, unit tests, and runtime evaluation. This is done under an umbrella of exercises based on bioinformatics and data analysis problems.
The exercises must be peer-evaluated. Students in groups of two will get a minor programming project during the course, possibly a project of their own design. Individual contributions to the project must be stated to facilitate individual assessment. A student will also peer-evaluate another group’s project.
Possible start times
- 6 – 20 (Mon 13-17)
Teaching Method
Lectures med weekly mandatory exercises.



