Instructor's Notes: Introduction to Bioinformatics

December 13, 2025 · View on GitHub

Welcome to the repository of the University of Bioinformatics course designed at the University of Ljubljana. This document provides a guide to our practical training material, designed with the intention of facilitating easy sharing, discovery, and efficient use by both trainers and trainees alike.

Course Overview

In this course, we take a deep dive into the fascinating world of bioinformatics. We cover everything from basic concepts to advanced techniques, preparing our students for real-world challenges in the field. While we focus here on the assignments, the full course is available to all registered students on their Moodle home page. To provide context for the assignments, we here provide a list of lectures and place the assignments after the corresponding lectures. While the assignments relate to a group of lectures, the assignments will be posted around the middle of each lecture group.

The course comprises five homework assignments, where each focuses on a specific aspect of bioinformatics. Clicking on the assignment link opens a GitHub template repository.

TypeTitleCovered Topics
Lecture 1Introduction to Molecular Biologycentral dogma of molecular biology
Lecture 2A First Look at the Genomegenome sequence, nucleotides, k-mers, multinomial model
Lecture 3Genes and open reading framesgene structure, ORF
Assignment 1A First Look at the Genomebiopython, ORF finding, precision recall
Lecture 4Sequence Alignment
Assignment 2Decoding Gene Functionglobal and local squence alignment
Lecture 5Inference of Phylogenetic Trees
Assignment 3Mapping the Family Treeneighbor joining, phylogenetic analysis, recombination
Lecture 6Machine Learning for DNA Classification
Lecture 7Estimation of Genetic Distances
Assignment 3Tracking Viral Evolutiongenetic distance, speed of mutation, variant classification
Lecture 8Genome Assembly
Lecture 9Gene Expression and Profiling
Lecture 10Gene Set Enrichment Analysis
Assignment 3The Immune Responseread mapping, gene expression analysis, GO term enrichment analysis
Lecture 11Inference of Gene Networks
Lecture 12Invited Lecture

*The reported time required is obtained from the self-reported time required for ~80% of the students to complete the homework assignment.

GitHub Classroom allows us to create private repositories for students based on assignment templates.

Metadata and Discoverability

Our materials are enriched with detailed metadata, following standards such as BioSchemas, ensuring they are easily discoverable and accessible. Each set of materials comes with clear descriptions, relevant keywords, and structured metadata for enhanced searchability.

Type of MetadataWhat to Include
TitleTeaching Bioinformatics through the Analysis of SARS-CoV-2
Contact DetailsPavlin G. Poličar (pavlin.policar@fri.uni-lj.si)
Licensing and (re)use DetailsThis work is licensed under the Creative Commons Attribution Non-Commercial Share-Alike 4.0 International license (CC BY-NC-SA 4.0 DEED).
Preferred CitationPlease cite: ISMB paper
DescriptionThis Bioinformatics course at the University of Ljubljana offers a comprehensive journey into the field, designed for master's level computer science students. It includes a blend of theoretical lectures and practical assignments over a semester, covering topics like molecular biology, genome analysis, sequence alignment, phylogenetic trees, and more. Emphasizing hands-on experience, the course uses tools like Biopython and addresses real-world problems. With no prior biology knowledge required, it's ideal for those looking to blend computer science skills with biological data analysis.
Learning OutcomesGrasp key concepts in molecular biology and bioinformatics. Gain proficiency in bioinformatics tools like Biopython for genetic data analysis. Develop skills in sequence analysis, phylogenetic inference, and gene expression analysis. Enhance problem-solving abilities in real-world bioinformatics scenarios. Improve research, collaboration, and scientific communication skills.
Target AudienceThis course is aimed at master's-level computer science students with a solid background in programming. No background knowledge in biology is required.
Required ResourcesInstalled Python with internet connection to install libraries (e.g., numpy, biopython, matplotlib).
Keywordsbioinformatics, computer science, course material, hands-on assignments
Structure and DurationThis master's level course spans one semester (14 weeks) and is comprised of lectures and five accompanying hands-on assignments.
Links and ReferencesAssignment material registered at Elixir TeSS
Date of Last RevisionJanuary 26, 2024

Usability for Trainees

We prepared detailed information on how to use the assignments using GitHub Classroom. Check out SETTING-UP-COURSE.md for more information.

Contribution Guidelines

We warmly welcome contributions from the community and appreciate your interest in enhancing our Bioinformatics course materials. Here's how you can contribute:

Reporting Issues

  • Assignment-Specific Issues: If you encounter any issues or have suggestions specific to assignments, please feel free to report them on the relevant template repositories.
  • General Issues: For broader issues or suggestions that affect the entire course, please post them to this repository.

Making Contributions

  • Contributing to Assignments: If you have specific enhancements or corrections for assignments, you are encouraged to make a pull request to the corresponding assignment template repository.
  • General Contributions: For contributions that apply to the course in general, such as improvements to the course content, additional resources, or documentation updates, please create a pull request directly to this repository.

Citation

If you use these course materials in your teaching, research, or derivative works, please cite the associated ISMB paper:

@article{10.1093/bioinformatics/btae208,
  author = {Poli\v{c}ar, Pavlin G and \v{S}pendl, Martin and Curk, Toma\v{z} and Zupan, Bla\v{z}},
  title = {Teaching bioinformatics through the analysis of SARS-CoV-2: project-based training for computer science students},
  journal = {Bioinformatics},
  volume = {40},
  number = {Supplement_1},
  pages = {i20-i29},
  year = {2024},
  month = {06},
  issn = {1367-4811},
  doi = {10.1093/bioinformatics/btae208}
}

Licence

This Bioinformatics course and its materials are licensed under the CC BY-NC-SA 4.0 DEED. This license allows others to remix, tweak, and build upon our work, even for commercial purposes, as long as they credit us for the original creation.

Keeping Content Current

Staying current is crucial in the fast-evolving field of bioinformatics. We regularly update our materials, with the last revision made on January 26, 2024. These updates reflect the latest trends and advancements, ensuring that our course remains a relevant and valuable resource.

License: CC BY-NC-SA 4.0