User Tools

Site Tools


introduction

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

introduction [2013/01/21 18:06]
cellbiol
introduction [2013/03/13 14:49] (current)
cellbiol
Line 1: Line 1:
-====== Introduction ======+====== ​Web Development for Bioinformatics: ​Introduction ======
  
-This tutorial ​aims at teachingfrom scratchall the skills needed to setup a fully working Linux web server and to develop and deploy web applications for Bioinformatics. No previous programming knowledge is assumed, so by following this tutorial you will learn the fundamental concepts of programming by using scripting languages: variables, types, arrays, cycles, conditional statements, functions, objects, regular expressions,​ files reading and manipulation et-cetera. ​+Web skills are an increasingly important part of the "​technology toolbox"​ that any Bioinformatics student and researcher should be constantly building and maintaining up to date ([[http://​www.ploscompbiol.org/​article/​info%3Adoi%2F10.1371%2Fjournal.pcbi.1000589#​pcbi.1000589-Mount1|ref]]). 
 + 
 +This web development course, targeted at Biology and Bioinformatics students, ​aims at teaching from scratch all the skills needed to setup a fully working Linux web server and to develop and deploy web applications for Bioinformatics. ​ 
 + 
 +No previous programming knowledge is assumed. By following this tutorial you will learn the fundamental concepts of programming by using scripting languages: variables, types, arrays, cycles, conditional statements, functions, objects, regular expressions,​ files reading and manipulation et-cetera. ​
  
 Since this course aims at teaching software development for the web, we have chosen, among the various programming languages most used to write bioinformatics applications (Perl, Python, Ruby and others), to focus on PHP. When first released, PHP was sometimes viewed as somewhat slow in execution, as compared to other languages, and with limited vocabulary. It was regarded for a while as a language with limited scope, only good to add some dynamic features to web pages. Since this course aims at teaching software development for the web, we have chosen, among the various programming languages most used to write bioinformatics applications (Perl, Python, Ruby and others), to focus on PHP. When first released, PHP was sometimes viewed as somewhat slow in execution, as compared to other languages, and with limited vocabulary. It was regarded for a while as a language with limited scope, only good to add some dynamic features to web pages.
Line 7: Line 11:
 Things have now progressed and changed. At the time of this writing, PHP is available as version 5 (PHP5) and constitutes a full featured programming language that allows basically every kind of Bioinformatics web application to be developed with relative ease, thanks to the rich set of buil-in functions and features. When required, PHP can make system calls to external applications and scripts, maybe written in different languages, for specialized tasks. Things have now progressed and changed. At the time of this writing, PHP is available as version 5 (PHP5) and constitutes a full featured programming language that allows basically every kind of Bioinformatics web application to be developed with relative ease, thanks to the rich set of buil-in functions and features. When required, PHP can make system calls to external applications and scripts, maybe written in different languages, for specialized tasks.
  
-Last but not least, the learning curve of PHP is much "​softer"​ that the one of other, maybe more complex languagessuch as Python, allowing the student to concentrate on the basic programming concepts ​rather than on the syntactic subtleties sometimes required in other languages. +Last but not least, the learning curve of PHP is much "​softer"​ that the one of other, maybe more complex languages such as Python, allowing the student to concentrate on the basic programming concepts ​that once acquired, can be easily applied to the learning of other languages. A function is a function in PHP, Python, Perl. The syntax may change, but the basic concepts stick in the different languages. The syntax in PHP is often quite simple. These are all good reasons for starting with PHP, and maybe move to PerlPythonRuby and cgi at a later stage.
- +
-Once the basic programming concepts are acquired, ​they can easily ​be applied to the learning of other languages. A function is a function in PHP, Python, Perl. The syntax may change, but the basic concepts stick in the different languages, and the syntax in PHP is often quite simple. These are all good reasons for starting with PHP, and maybe move to cgiwhen required, at a later stage.+
  
-Although this tutorial is aimed at web development for Bioinformatics,​ anyone who wish to learn how to setup a web server and develop a web site can take advantage of this course. In particular, the information in the first chapters is not really specific to Bioinformatics and applies to the development of any kind of website and web application, ​and will not require ​any particular understanding of biological concepts ​to be followed and applied to any web development project.+Although this tutorial is aimed at web development for Bioinformatics,​ anyone who wishes ​to learn how to setup a web server and develop a web site can take advantage of this course. In particular, the information in the first chapters is not really specific to Bioinformatics and applies to the development of any kind of website and web application,​ not requiring ​any particular understanding of biological concepts.
  
-===== Web applications ​=====+===== Bioinformatics ​Web Applications ​=====
  
 We can broadly define a bioinformatics application as a software that will process some kind of biological data, either obtained directly from a user, or from other sources, and output the result of the elaboration (again either to a user, in human readable format, or maybe to another application):​ We can broadly define a bioinformatics application as a software that will process some kind of biological data, either obtained directly from a user, or from other sources, and output the result of the elaboration (again either to a user, in human readable format, or maybe to another application):​
Line 23: Line 25:
 == Figure 1: The NCBI BLAST web form == == Figure 1: The NCBI BLAST web form ==
  
-{{ :​blast_form2.jpeg |}}+{{ :​blast_form2.png |}}
  
 Web forms include a SUBMIT button (see Figure 1). On pressing this button, the data collected in the web form are sent to a script (written in Perl, PHP, Python, Ruby or other languages). ​ Web forms include a SUBMIT button (see Figure 1). On pressing this button, the data collected in the web form are sent to a script (written in Perl, PHP, Python, Ruby or other languages). ​
introduction.1358809563.txt.gz · Last modified: 2013/01/21 18:06 by cellbiol