User Tools

Site Tools


Chapter 1: Internet, Networks and TCP/IP

Chapter 2: The LINUX operating system - Setting up a Linux Web Server

Chapter 3: Your first webpage, Learning HTML and CSS

Chapter 4: Building Dynamic Websites with PHP in progress

Chapter 5: Web forms under construction

Chapter 6: Developing your first Bioinformatics web application under construction

Chapter 7: The PHP programming language: strings, arrays, functions, cycles, conditional statements, regular expressions under construction

Chapter 8: Sample Bioinformatics Web Applications under construction


Web Development for Bioinformatics

A Beginners Course for Biology and Bioinformatics Students

By Andrea Cabibbo, Ph.D.

This online book is a 101 web development and programming course mainly aimed at Biology students that are planning to direct their career toward Bioinformatics and/or to deploy web sites, web applications or web-based resources for their research projects.

It can also serve as source of ideas, slides, teaching material for teachers and lecturers in the field of web development and/or Bioinformatics. For this purpose, images are always provided in full size.

Bioinformatics researchers or programmers that have been “away from the web” for a while, might quickly get a handle on the recent trends in basic web development tools such as HTML5, CSS2 and 3, PHP and more by jumping straight to chapter 3.

The basics of the Internet, Linux Systems management, web servers installation and configuration, web development, programming including the principles of Object Oriented Programming (OOP) are covered, assuming no previous knowledge about these topics. To this end, great care was taken in never leaving logical gaps in the development flow of the treated arguments. Should you spot any gaps, thanks for pointing them out by using the discussion tools present at the bottom of each page or sending us an e-mail.

We should maybe mention that although you will learn many things from this book, there are important topics that are not covered.

Usage and interaction with databases, quite an important aspect in Bioinformatics programming, is considered out of the scope of this edition of the book. Unfortunately our “from scratch” approach makes it difficult to cover everything, we will however consider to include such a topic in a future edition.

CGI, the way Perl, Python, Ruby and other languages interact with web data, is not addressed explicitly, as we use PHP as our working language. Since PHP is natively a web programming language, it has an extremely gentle learning curve that makes it excellent for learning the basic concepts of programming from scratch and being immediately productive, which are among the main objectives of this course. Once programming basics are learned in PHP, adding another programming language “to your toolbox” will be relatively easy.

Finally, during this course you will probably learn more about web development than about Bioinformatics itself, that is still an important presence in particular throughout the second part of the book where we discuss programming and web applications.

Many have reasoned along the lines “do we need specific web development frameworks for Bioinformatics” and the short answer is generally no (link). There is an extremely rich variety of programming languages, web development frameworks (Ruby on Rails is very popular lately), tools for general web development that are perfectly fit to handle Bioinformatics data, Bioinformatics web servers and applications, Bioinformatics and Biological web databases. We do have extensive Bioinformatics specific libraries anyway (bioperl, biopython, bioruby, biophp) that can be used in the deployment of web Bioinformatics applications.

The duty of the Bioinformatics student is to acquire solid basis in web development, become familiar with the available general technologies and then combine them with his knowledge about the various Bioinformatics methods and algorithms, to develop great Bioinformatics web projects and applications. In this book we focus on the first part of this process, while constantly keeping an eye on the second part.


This document is currently under development, this is work in progress!

Please navigate the contents by using the sidebar to the left of all pages of the site, including this one, or go to the index.

Unlabeled sections: finished (pending revision)

In progress: we are working on it

Under Construction: we are still not working on it, but will

To link to this document please use the following permanent address:

as the internal addresses of the various pages might change while we explore the use of different document management systems for building the tutorial.

Contribute and Comment!

If you have something to contribute to the pages contents, or just want to provide some feedback, this is great and we'd love to hear from you: don't refrain from leaving a comment, you can do so on each page of this tutorial. Relevant comments and suggestions will be included and acknowledged in the next online or print editions of this book.

The “Web development for Bioinformatics” document is a copyrighted work of Reproducing this material, as a whole or in part, in print, on other web sites or by other means is not allowed without explicit permission of the author. The licensing type might change to an open model in the future, depending on the development of the project. If you have question or feedback about this or other issues please contact us at the e-mail address at the bottom of this page.

You can start reading from the Introduction

You could leave a comment if you were logged in.
start.txt · Last modified: 2013/03/02 11:15 by cellbiol