B1833 - Bioinformatics with Programming Fundamentals

Academic Year 2026/2027

  • Moduli: Cristian Forestan (Modulo 1) Marco Russo (Modulo 2)
  • Teaching Mode: In-person learning (entirely or partially) (Modulo 1); In-person learning (entirely or partially) (Modulo 2)
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Plant and Agricultural Biotechnology (cod. 6787)

Learning outcomes

Upon successful completion of the course, students will acquire the knowledge and practical skills required to address common bioinformatics problems and computational analyses. They will gain a solid understanding of the fundamental principles of programming, including the use of the main languages adopted in bioinformatics (Python, R, and Bash/Unix), as well as the algorithms and software tools commonly employed for biological data analysis.

Students will learn how to access, query, and analyze biological databases, process next-generation sequencing (NGS) data, perform genome and transcriptome analyses, and understand the computational approaches underlying sequence alignment, genome assembly, and functional genomics.

Course contents

The course introduces the main computational methods and algorithms used in modern genomics, transcriptomics, and epigenomics through a combination of lectures and hands-on laboratory sessions. Practical activities are entirely conducted in a computer laboratory, where each student has access to a Linux (Ubuntu) virtual machine and an R computing environment.

1. Introduction to Bioinformatics and Programming
  • Introduction to the Unix operating system and the Bash shell
  • Basic programming concepts for bioinformatics using Bash and R
  • Design and implementation of bioinformatics analysis pipelines
  • Introduction to the Galaxy platform
  • Management of sequencing and alignment file formats (FASTA, FASTQ, SAM/BAM, GTF, etc.)
2. Sequence Alignment and Similarity Search
  • Local and global sequence alignment algorithms
  • Substitution matrices (PAM and BLOSUM)
  • Heuristic algorithms for sequence similarity searches (BLAST)
  • Multiple sequence alignment
  • Phylogenetic tree reconstruction
3. DNA Read Mapping and Genome Assembly
  • Algorithms for short- and long-read alignment against reference genomes
  • Genome assembly algorithms (greedy graph-based, Overlap-Layout-Consensus, and De Bruijn graph approaches)
  • Genome assembly quality assessment
  • Contig ordering and scaffolding methods
  • Annotation of repetitive elements and protein-coding genes in eukaryotic genomes
4. SNP Calling and Genetic Variation Analysis
  • Genomic variation file formats (VCF, HapMap, Geno)
  • Variant calling algorithms for whole-genome sequencing data
  • Population genetics and genetic diversity analyses
  • Population structure and detection of genomic regions under selection
  • Functional annotation and prediction of SNP effects
5. Gene Expression Analysis
  • Transcriptome analysis methods
  • RNA-seq experimental design and computational workflow
  • Gene expression quantification methods
  • Differential gene expression analysis
  • Gene co-expression network analysis
  • Functional annotation and Gene Ontology enrichment analysis
6. Epigenomics
  • Introduction to genome regulatory elements
  • Methods for studying regulatory regions
  • ChIP-seq and CUT&RUN technologies
7. Biological Databases
  • Major biological repositories (NCBI, Ensembl, Entrez, SRA)
  • Database querying and data retrieval
  • Biological data visualization
  • Genome browsers (UCSC Genome Browser and Integrative Genomics Viewer, IGV)

Readings/Bibliography

Recommended textbook

Citterich M.H., Ferrè F., Pavesi G., Romualdi C., Pesole G.
Fundamentals of Bioinformatics. Zanichelli, 2018 (Italian edition).

Brown, Terry A, Genomes 5, CRC Press 2023 (textbook in English)

Additional lecture slides, notes, software manuals, tutorials, scientific papers, videos, and online resources are made available through the university e-learning platform.

Teaching methods

The course consists of 36 hours of lectures and 24 hours of practical laboratory sessions.

Lectures introduce the theoretical foundations of bioinformatics and computational genomics, while laboratory sessions provide hands-on experience through case studies involving crop plant datasets.

All activities take place in a computer laboratory equipped with Linux (Ubuntu) virtual machines and an R programming environment, allowing students to immediately apply the concepts introduced during lectures.

Additional teaching materials, including lecture slides, scientific papers, software documentation, tutorials, videos, and online resources, are provided through the university Virtual Learning Environment.

Assessment methods

Learning outcomes are assessed through a written examination designed to evaluate both theoretical knowledge and practical understanding of the topics covered during lectures and laboratory sessions.

The examination consists of:

  • 20 multiple-choice questions (1 point for each correct answer; 0 points for incorrect or unanswered questions)
  • 4 open-ended questions, each worth up to 3 points, evaluating scientific accuracy, completeness of the answer, and appropriate technical terminology.

The maximum score is 30/30 cum laude, while the minimum passing grade is 18/30.

 

Students with Specific Learning Disabilities (SLD/DSA) or Temporary/Permanent Disabilities

Students with specific learning disabilities (SLD) or temporary or permanent disabilities are encouraged to contact the University's competent support office well in advance (https://site.unibo.it/studenti-con-disabilita-e-dsa/en ). The office will propose any appropriate accommodations for the students concerned. These accommodations must, however, be submitted to the course instructor for approval at least 15 days before the examination, and will be evaluated with due consideration of the learning objectives of the course.

 

Academic Integrity and the Use of Artificial Intelligence

The use of artificial intelligence (AI) tools during the assessment is not permitted. Any use of AI in the examination constitutes a violation of the University's academic integrity policy.

Teaching tools

The course is delivered in a computer laboratory equipped with desktop computers running Linux (Ubuntu) virtual machines, an R computing environment, and multimedia projection facilities for lectures and demonstrations.

Office hours

See the website of Cristian Forestan

See the website of Marco Russo