Return to Teaching

Special course in Computer Science: Molecular Computing

Fall, Period 1, 2015


During this course we will discuss a novel fast developing interdisciplinary area called Molecular Computing and will consider both its theoretical and experimental aspects. In this area biological systems and living organisms are regarded from the Computer Science perspective, molecular-scale biological processes are considered as computations, manipulations with biologically derived materials are being designed (both in theory as well as in the lab) to perform computational functions.

This course presents the computational aspects of DNA manipulation in vitro (DNA computing) as well as in vivo (an example, gene assembly in ciliates). We review briefly the basics of DNA molecular structure and manipulation, the basic biology of ciliates and especially the gene assembly process. We then investigate several computational models to reason about DNA manipulation in vitro as well as in vivo, and will study their computational properties, including: DNA splicing and insertion/deletion, self-assembly of nano-structures by DNA, gene assembly strategies in ciliates as well as parallelism and concurrency, computing with ciliates, etc. We overview the field of Membrane Computing as a computational paradigm describing multi-compartmental membranar structure as well as distributed computations and information fluxes between different places within living systems.

In particular we will discuss:

  1. the benefits of this research for computer scientists – novell and challenging problems and paradigms which lead to broader and deeper understanding of the notion of computation;
  2. the benefits of this research for biologists – novel and uniform explanation of experimental results, new insights into DNA manipulation in vivo and in vitro, new suggestions for experiments.



  • Introduction to DNA Computing;
  • Formal models for DNA Computing;
  • DNA-based computational devices;
  • Introduction to gene assembly in ciliates;
  • Formal models for gene assembly in ciliates;
  • Computing through gene assembly;
  • Introduction to Membrane Computing.



  • The course book is Grzegorz Rozenberg, Thomas Bäck, Joost N. Kok“Handbook of Natural Computing”, Volume II, Section IV “Molecular Computation”, Springer, ISBN 978-3-540-92910-9, 2012
  • Reference on Formal Language Theory and Computability: Arto Salomaa“Computation and Automata”, Cambridge University Press, Mathematics, 2011



  • 5 study points



  • 28h lectures,
  • final examination


Time schedule:

  • 1st term of the academic year 2015-2016: weeks 36 – 43
  • First lecture: Monday 31.09.2015, 15:15, ICT Building, Cobol (map)
  • Last lecture: Thursday 22.10.2015, 10:15, ICT Building, Algol (map)
  • Lectures twice per week:
    • on Mondays: 15:15 – 16:45 in ICT Building, Cobol (map)
    • on Thursdays: 10:15 – 11:45 in ICT Building, Algol (map)
  • Exams:
    • TBD



  • No background on Biology is required, as this will be provided throughout the course, when needed.
  • Some notions and concepts of discrete mathematics and computer science, especially permutations, strings, graphs, formal languages and computability may be useful. However, those will be briefly introduced when needed.



  • Vladimir Rogojin,
  • Department of IT,
  • Åbo Akademi University,
  • vrogojin at, room B5050, ICT-house



Slides 2013

Introduction – 04.11.2013 Notions of Biochemistry and Molecular Biology Manipulating DNA – 06.11.2013 Notions of Biochemistry and Molecular Biology Manipulating DNA – 11.11.2013 Introduction to DNA Computing – 13.11.2013 DNA Complementarity and Formal Language Theory – 18.11.2013 DNA Complementarity and Formal Language Theory – 20.11.2013 DNA Computing by Splicing and by Insertion-Deletion, basics of formal languages and computability – 25.11.2013 DNA …