• Header of Statistics at Transmitting Science

Advanced Courses in Life Sciences

1st Edition

Introduction to Python for Biology

July 13th-17th, 2020, Crete (Greece)

Statistics and Bioinformatics

Statistics and Bioinformatics Logo


We realise that, due to the COVID-19 virus outbreak, making travel arrangements during this time is difficult. Therefore, registration for this course is open, but it does not require payment at this moment. We will only receive payments once the outbreak has calmed down and travel restrictions have been lifted.

Introduction to Python for Biology

Course Overview

Python is a user-friendly and powerful programming language commonly used in scientific computing, from simple scripting to large projects. This workshop will provide hands-on practice in a biological context for beginners, with very limited prior programming experience. This course is designed to be very applied, and we will explore Python tools of immediate help to the working scientist. 

After completing this course, participants will be able to apply Python programming automation to their own research problems and should be equipped to continue their own Python learning. While this course will focus on data analysis using Python, participants will gain language-agnostic principles of programming, like automation with loops and encapsulation with functions, that will serve as best practices for their scientific computing.


Alexander Hotel

Gerakári, Municipality of Amari, 74 061
Crete, Greece


July 13th-17th, 2020




35 hours on-site.

This course is equivalent to 2 ECTS (European Credit Transfer System) at the Life Science Zurich Graduate School.

The recognition of ECTS by other institutions depends on each university or school.


Places are limited to 25 participants and will be occupied by strict registration order. If the course fills up there will be an assistant instructor to help during the practise time.

Participants who have completed the course will receive a certificate at the end of it.


Nichole Bennett instructor fro Transmitting Science

Nichole Bennett
The University of Texas at Austin
United States of America


Haris Saslis coordinator for Transmitting Science

Dr. Haris Saslis
Transmitting Science


Graduate or postgraduate degree in Life Sciences. This is a course for beginners so previous Python knowledge is not necessary. Some experience in programming will be useful, but not required.

All participants must bring their own personal laptop (Windows, Macintosh, Linux).



Introduction to Python

  • Overview of Python as a programming language
  • Understand why we use Python for scientific computing
  • Differentiate between tasks that Python is suitable for and not
  • Become familiar with Python syntax and formatting
  • Installing Python
  • Setting up your environment
  • Differentiate between a Python script and a Jupyter Notebook
  • Edit and run simple Python scripts using the command line
  • Use Jupyter Notebooks to create and run both Markdown and Python cells
  • How to read the documentation to get help

Variables and Assignment

  • Assign values to variables
  • Perform calculations with variables
  • Differentiate between different Python variable types
  • Use built-in functions to convert between Python variable types
  • Import a Python library and use the functions it contains.
  • Read tabular data from a file into a program.
  • Select individual values and subsections from data.
  • Perform operations on arrays of data
  • Use comments to annotate code
  • Plot simple graphs from data.

Looping and Repeating Actions

  • Understand what a for loop does
  • Understand what a while loop does and when to use it
  • Write for loops to repeat calculations
  • Trace changes to both the loop variable and other variables as a loop runs

Lists and Dictionaries

  • Create and index a list of values
  • Change the values of a list
  • Add values to an existing list
  • Reorder lists
  • Slice list elements
  • Create and manipulate nested lists
  • Store paired data in dictionaries
  • Iterate over dictionaries

Control Flow

  • Write conditional statements using if, else, and elif branches
  • Use Boolean operations to test conditions
  • Evaluate complex conditionals using and, not, and or


Manipulating Text

  • Dealing with special characters in Python
  • Use Python’s in-built string manipulation tools

Reading Text from a File

  • Opening files for reading text
  • Opening files for writing text
  • Closing files
  • Understanding paths and folders


  • Explain what software libraries are and why programmers create and use them
  • Write programs that import and use libraries from Python’s standard library
  • Find and read the documentation for standard libraries both interactively and online

Working with Files in Pandas

  • Use Pandas to load tabular data sets
  • Get basic information about the Pandas DataFrame
  • Select individual values from a Pandas dataframe
  • Select entire or a subset of rows or columns from a dataframe
  • Create dataframes
  • Filter and sort dataframes
  • Handling missing values
  • Split-apply-combine methods with Pandas

File Contents and Manipulation

  • Delete files and folders
  • List folder contents
  • Run external programs
  • Add flexibility to programs by taking user input
  • Use command-line arguments in a program
  • Handle flags and files separately in a command-line program
  • Read data from standard input in a program so that it can be used in a pipeline



  • Explain the purpose of functions
  • Differentiate between defining functions and calling functions
  • Define functions that take parameters
  • Return values from functions
  • Identify local and global variable scope
  • Test and debug functions
  • Set default values for function parameters
  • Discuss best practices on how to divide programs into small, single-purpose functions


  • Read a traceback, determine where an error took place, and identify the type of error that took place
  • Describe the situations in which syntax errors, indentation errors, name errors, index errors, and missing file errors occur

Defensive Programming

  • Understand what an assertion is
  • Add assertions to check whether or not a program’s state is correct
  • Add pre- and post-condition assertions to functions
  • Understand test-driven development and use it when creating functions


  • Debug code with errors using systematic processes
  • Discuss ways of making code less error-prone and more easily tested


  • Understand the reasoning behind the basic rules of coding style
  • Refactor programs to make them more readable
  • Use Python community coding standards (PEP-8)


Plotting in Python

  • Choose appropriate plots for different purposes
  • Understand the Matplotlib library basic plotting formula
  • Understand Matplotlib object hierarchy
  • Create line plots, scatter plots, histograms, box plots, and bar charts using the Matplotlib library
  • Combine multiple plots
  • Use Pandas to do basic plotting on dataframes
  • Use Seaborn to create higher-level Python plots


Regular Expressions

  • Identify instances when regular expressions will speed up workflow
  • Understand what a regular expression is and how it is used
  • Use the re library methods in Python
  • Search for patterns in strings using regular expression operators
  • Extract matched patterns in strings as groups


  • Course Fee
  • {{content-1}}
  • Early bird (until April 30th, 2020):
  • 490 *

    (392 for Ambassador Institutions)

  • Regular (after April 30th, 2020):
  • 620 *

    (496 for Ambassador Institutions)

  • This includes course material, coffee breaks and lunches (VAT included).
    * Participants from companies/industry will have an extra charge of 100 €.
  • Course Fee + Accommodation Package
  • {{content-1}}
  • Early bird (until April 30th, 2020):
  • 840 *

    (742 for Ambassador Institutions)

  • Regular (after April 30th, 2020):
  • 970 *

    (846 for Ambassador Institutions)

  • This includes course material, coffee breaks, transportation between the Venue and Heraklion city, accommodation from Sunday to Friday, breakfasts, lunches and dinners (VAT included).
    * Participants from companies/industry will have an extra charge of 100 €.

You can check the list of Ambassador Institutions HERE. If you want your institution to become a Transmitting Science Ambassador please contact us at communication@transmittingscience.org.

Discounts (see Funding below) are not cumulative and apply only on the fee.

We offer the possibility of paying in two instalments (contact the course coordinators).


If you choose the Accommodation Package you will be hosted at Alexander Hotel in Gerakári village (take a look at the venue), in shared en-suite twin rooms, although you will only share rooms with other course participants. There is a possibility that the rooms will be mixed. If this is an inconvenience for you, and you would prefer to stay in an all-female or all-male room, please indicate so in the “Comments” field of the Registration form (below).

If you prefer to stay in a single en-suite room, you can do so with a supplementary charge.

The Accommodation Package includes transportation from the centre of Heraklion to the venue and back, at the start and end of the course, respectively. The trip takes around 1 hour 50 minutes each way. If you require transportation from or to Chania (the other city of Crete with an airport), please contact the course coordinator who can arrange it at an additional cost.

If you do not wish to take the Accommodation Package, you can find a few other options in the surrounding area. However, please be aware that access to and travelling around the area requires a private vehicle as public transport is scarce. Therefore, course participants will find choosing the Accommodation Package more convenient.

Alexander Hotel, Gerakári

Alexander Hotel 1

Alexander Hotel twin room

Alexander Hotel, Gerakári

Alexander Hotel 2

Alexander Hotel, Gerakári

Alexander Hotel 3


Course Schedule

Monday to Friday:

  • 9:30 to 13:30 Lessons.
  • 13:30 to 15:00 Lunch (included).
  • 15:00 to 18:00 Lessons.

The schedule is approximate; it is possible that the content of one day may run into the next and a working day may be longer than advertised.

Accommodation Package Schedule


  • 18:30 Meeting at Heraklion Archaeological Museum to take the bus to Gerakári.
  • 20:15 Check-in at Alexander Hotel.
  • 20:45 Dinner.

Monday to Thursday:

  • 8:30 to 9:00 Breakfast.
  • 20:30 Dinner.


  • 8:30 to 9:00 Breakfast.
  • 18:30 Meeting at Alexander Hotel to take the bus to Heraklion.
  • 20:15 Arrival at Heraklion Archaeological Museum.



Former participants will have a 5 % discount on the Course Fee.

Furthermore, a 20 % discount on the Course Fee is offered for members of some organizations (Organizations with discount). If you want to apply to this discount please indicate it in the Registration form (proof will be asked later).

Unemployed scientists living in Greece, as well as PhD students based in Greece without any grant or scholarship to develop their PhD, could benefit from a 40 % discount on the Course Fee. If you want to ask for this discount, please contact the course coordinator. That would apply for a maximum of 2 places and they will be covered by strict inscription order.

Discounts are not cumulative and apply only on the fee, not to Accommodation Package or other options.


Transmitting Science Logo


Colegio Oficial de Biólogos de Castilla y León Logo
Colegio Oficial de Biólogos de Euskadi Logo
Colexio Oficial de Biólogos de Galicia Logo
Col·legi Oficial de Biòlegs de la Comunitat Valenciana Logo