Welcome to the Web Development for Bioinformatics Web Book

A beginner’s course for Biologists 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 from scratch, 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 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 and we strongly encourage you to do so.

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, tools and libraries 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 indeed 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 so as 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.

We should maybe mention that although you will learn many things from this book, there are important topics that are not covered. For instance, usage and interaction with databases, quite an important aspect in Bioinformatics programming, are 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 this and other additional topics in a future edition.


This document is currently work in progress

Official address (URL – How to link)

To link to this document please use the following permanent address: http://www.cellbiol.com/bioinformatics_web_development/ as the internal addresses of the various pages might change while we explore the use of different document management systems for building the tutorial.

Feedback and interaction most welcome!

If you have something to contribute to the pages contents, or just wish 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 online book.

Copyright notice

The “Web development for Bioinformatics” document is a copyrighted work of cellbiol.com. 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 .

You can start reading from the Introduction