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, 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 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.
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. 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 the e-mail address at the bottom of this page.
You can start reading from the Introduction