COMPUTER LAB 3

Academic Year 2025/2026 - Teacher: ROBERTO PATANE'

Expected Learning Outcomes

Knowledge and understanding
Acquire the fundamental concepts of computer science, gaining a comprehensive overview of programming systems and the reasoning process. Students will be able to understand the concept of algorithms and identify their associated principles, while mastering the basics of Python programming and bioinformatics tools to comprehend the central role of computer science in the analysis and interpretation of biological data.

Applying knowledge and understanding
Apply the acquired knowledge to develop programs and algorithms in Python, mastering computational methods applied to the modeling of biological systems. Students will be able to utilize the core functionalities of the BioPython library to address problems related to the management, processing, and analysis of biological data.

Making judgements
Critically evaluate the efficacy of various computational approaches for solving bioinformatics problems. Students will be able to interpret the obtained results, acknowledging the limitations, potential, and reliability of the procedures employed, while maintaining a rigorous analytical approach toward implemented solutions.

Communication skills
Clearly describe procedures, algorithms, and analysis results using appropriate terminology. Students will be able to demonstrate the ability to adapt the level of detail according to the audience, thereby facilitating interdisciplinary communication between individuals with varying expertise in biology and computer science.

Learning skills
Develop the necessary competencies to independently explore programming languages, bioinformatics tools, and computational methodologies. Students will be capable of continuous professional updating and autonomous learning of increasingly advanced techniques within the field of biotechnology.

Course Structure

The course includes 30 hours of lectures delivered by the professor in a laboratory-based format, adopting both theoretical and practical approaches. Each explanatory session will be followed by a practical exercise phase, during which solutions will be analyzed, corrected, and explained. If the course is delivered in blended or remote mode, appropriate adjustments may be made to the above, in order to ensure consistency with the syllabus.

Information for students with disabilities and / or SLD: To guarantee equal opportunities and in compliance with the laws in force, interested students can ask for a personal interview in order to plan any compensatory and / or dispensatory measures, based on the teaching objectives and specifications needs. It is also possible to contact the CInAP contact person (Center for Active and Participatory Integration - Services for Disabilities and / or SLD) of the department

Required Prerequisites

None

Attendance of Lessons

Mandatory 

Detailed Course Content

  1. Algorithms, flowcharts and programming languages 
  2. Python language 
  3. Elements of bioinformatics 
  4. Biopython modules

Textbook Information

All teaching materials will be provided by the professor.

Course Planning

 SubjectsText References
1Introduction to the course.
2Algorithms, flowcharts, structured programming, variables and constants, input/output instructions, assignment, seqeunce, selection. Boolean algebra in programming. Multiple selection. Iterative loops, pre- and post-condition loops, enumerative loops. Programming languages, low-level and high-level languages, compiler and interpreter.
3Python language, syntax, variables and data types, operators selection constructs (if … else, elif), multiple selection (match case). Iterative loops (while, for). Functions and modules. Strings, lists, sets, tuples, dictionaries and text files.
4Elements of bioinformatics, sequences, central dogma of molecular biology, genetic code, comparison, similarity and distance between sequences, sequence alignments, BLAST, CLUSTALW/Omega, FASTA/FASTQ formats, GenBank, NCBI and primary biological databases.
5Biopython, Bio.Seq module, Seq and MutableSeq objects, complement(), reverse_complement(), transcribe(), and translate() methods, Bio.Align module, PairwiseAligner configuration, Bio.SeqIO module, FASTA/FASTQ file parsing, Bio.Entrez module, esearch() and efetch() methods.

Learning Assessment

Learning Assessment Procedures

Analysis of the exercises completed during the course, questions on the Python programming language and the Biopython modules. Practical programming exercises.

The assessment of learning may also be carried out electronically, should the circumstances so require.

Information for students with disabilities and / or SLD: To guarantee equal opportunities and in compliance with the laws in force, interested students can ask for a personal interview in order to plan any compensatory and / or dispensatory measures, based on the teaching objectives and specifications needs. It is also possible to contact the CInAP contact person (Center for Active and Participatory Integration - Services for Disabilities and / or SLD) of the department

Examples of frequently asked questions and / or exercises

  1. .replace() method in Python 
  2. Dictionaries in Python
  3. Difference between FASTA and FASTQ formats 
  4. Seq object in Biopython 
  5. DNA to RNA transcription exercise with Biopython 
  6. Protein translation exercise with Biopython 
  7. Pairwise alignment exercise with Biopython
  8. Exercise on accessing the NCBI databases via Entrez with Biopython 
VERSIONE IN ITALIANO