SBIA10210U Applied Programming for Biosciences
MSc Programme in Biology-Biotechnology - semi-compulsory
MSc Programme in Animal-Science
Many different areas of biosciences struggle with two large challenges. Firstly the amount of data that can be generated by just one experiment in very short time can be huge and a meaningful filtering can only be carried out by computational means. Secondly, processing of data can often at best be made with existing webservers, but even in that case output data from one webserver often needs to be converted and filtered to be suitable for input to another and given the quantities of data this is often not feasible to do by hand. Knowing basic programming is therefore an essential skill for a person working in the biosciences.
The aim of the course is to make the students able to analyze
and process large biological data sets by writing and running Perl
The course gives an introduction to data processing and filtering using the
programming language Perl. Thus the course also introduce the programming language Perl itself. The course is aimed at students with no prior programming experience.
The course will cover how to learn new concepts in the Perl
The outset is specific cases of biosciences by analyzing and redesigning existing pre-designed code that process data from the specific cases. Various ways to acquire information (for example perldoc)
With outset in the cases the pre-designed code will be analyzed
and concepts introduced as the different code pieces are introduced
through their specific applications. The cases will complement each
other concepts and the technical level will be increased from case
to case. Through the cases it will also be demonstrated how to
design a modular chain of programs of which some can be used in
multiple contexts. Some Perl programs can for example be general by
converting one data format to another and can therefore be reused
multiple contexts. Overall the most common and useful features of the language will be introduced. Including:
* Printing to the screen.
* Single value variables (scalars).
* Multivalue variables like arrays and hashes.
* The if else control structure.
* The while, for and foreach loops.
* Reading data into the program using the general operator '<>', or reading from a file.
* Writing results to a file.
* A basic introduction to using Perl's powerful pattern matching method called regular expressions.
The course will also introduce how to write well structured code. This will include splitting code into smaller subroutines and the usage of packages.
To perfectly comply with the course requirements the students
should be able to acquire the following:
Read and understand Perl scripts for analysing biological data. Search for information about parts of the Perl language the student is not familiar with.
Design the flow of how data can be processed and identify which Perl programs are needed. Write Perl scripts and solve problems by modifing existing Perl code which solves similar problems. Solve small novel problems.
Work with basic Perl syntax. Design of a flow where consequtive Perl program are needed to process the flow and where a Perl program can be used multiple contexts.
* Selections from Learning Perl by Randal L. Schwartz, brian d foy and Tom Phoenix
In the last half of the course the students will work on a project where they will be able to use own data (or on data provided). In this part they will have to write their own Perl programs and possibly integrate them with existing modules and programs. In addition to learning how to make small Perl programs the students will also build up a library of tools to solve specific problems with in their studies. The students will be able to use the Windows, Apple, or Linux systems as they see fit.
Open for credit transfer students. Apply here:
- 7,5 ECTS
- Type of assessment
- Written assignmentThe exam consist of a report, containing the following sections:
1: Introduction (a brief background and motivation to the problem addressed)
2: Materials (a through description of the data analyzed)
3: Methods (an in depth description of the PERL scripts developed in the project)
4: Results (an overview of what came out of executing the scripts on the data)
- All aids allowed
- Marking scale
- passed/not passed
- Censorship form
- No external censorship
More than one internal examiner
Criteria for exam assesment
As described in "Learning outcome" as well as how the report has been written up and fullfill the listed criteria.
- Theory exercises
- Project work