BioPHP: PHP for Biocomputing

  Last updated: November 1, 2003 (Saturday)

Welcome Message top

You have reached the new home of the BioPHP Project. This project is sponsored by Joseba Bikandi of The project aims to extend the PHP scripting language so it can be used for biology, in general, and bioinformatics, in particular. The project currently has 14 members, and 7,000+ lines of source code. Among other features, its code can read GenBank and Swissprot data files.

The project is still (and always) a work in progress. We are currently building a model for biological data that falls within the scope of the project. Work is also underway to write code that can read other files such as the Kegg Ligand and Biopathways, Prosite, and PDB. We would like to encourage people to join and contribute to the project, be it in the computing side or in the biology side. Finally, I would like to thank all the members for their efforts and sacrifices.

Sergio E. Gregorio, Jr.
Project Proponent

    [ Project Objective ] [ What can BioPHP do? ] [ BioPHP Files ] [ Various Links ] [ My Resume ]

What's New? top

  • Cayte Lindner has submitted code for parsing KEGG GLYCAN data files. We'll be posting it here soon. (Oct 31, 2003)
  • Joel Dudley has begun work on modules related to Evolution and Phylogenetics. (Oct 31, 2003)
  • Our site is slowly growing as shown by the latest stats from Sourceforge. (Oct 19, 2003)
  • Joseba Bikandi has written PHP code for Polymerase Chain Reaction (PCR) which you can find here. All we need to do now is find a way to plug them into BioPHP... (Sep 2003)
  • Finally, a site update after nearly 2 months! The site is now up courtesy of Bravepages. (Aug 15, 2003)
  • We have four new members on board! Let's welcome Anton, Joseba, Joel, and Nileshwar. (Aug 2003)
  • Whoever said we can't take criticisms? Check out these sites ( and which take a critical/skeptical view of BioPHP and see if you agree or disagree. (Aug 15, 2003)
What is Bioinformatics? top

Bioinformatics is...

What is PHP? top

PHP is...

Project Objective top

The BioPHP Project is a non-profit, open source software project that aims to extend the PHP scripting language so it can be used to develop bioinformatics applications. BioPHP per se is NOT a bioinformatics application. Rather, it is a collection of tools to help PHP developers write bioinformatics applications more rapidly than if they had to start from scratch using "vanilla PHP".

Project Members top

Project Administrator: Serge Gregorio, Jr.
    Anton Bergheim
    Elpidio Latorilla, Germany
    Frankie Asseg, Germany
    Greg Tyrell,
New South Wales, Australia
    Joel Dudley, Arizona, USA
    Joseba Bikandi, Spain
    Katherine Lindner, New England, USA
    Nico Stuurman, California, USA
    Nileshwar Dosooye, Tennessee, USA
    Rogelio Nocom, Manila, Philippines
    Sean Clark, Idaho, USA
    Serge Gregorio, Jr.
, Manila, Philippines
    Sujeevan Ratnasingham
Other Contributors:
    Brandon King, USA
    Dominik Gehl, France
    Jesus Castagnetto
    Stephan Montagnes
Bioinformatics Advisor:
    Allan Sioson, Virginia, USA

Click here for more information on the project.

What can BioPHP do? top

Before answering this question, it is better to ask, "What is BioPHP meant to do?" BioPHP, as we conceived it, is primarily a tool for developing web-based bioinformatics applications. While PHP can be used to write non-web scripts, we believe PHP's strength lies in the web. We envision BioPHP to be the "GLUE" that binds local and remote bioinformatics applications and databases together. The figure entitled BioPHP's Place in the Universe illustrates this.

Back to what it can do at the moment. Below is a short list of features of BioPHP (GenePHP) release 1.0:

  • read biological data in the GenBank, Swissprot, Fasta, and Clustal ALN formats
  • allows user to navigate data spread across several flat files.
  • can do simple sequence analysis tasks such as computing molecular weights, translating codons to amino residues, generating the charge, chemgrp, consensus strings, etc.
  • can look for patterns in sequences such as start and stop codons, mirrors and palindromes, and other more complex patterns (represented as regular expressions).
  • can digest a nucleic sequence using one or more restriction enzymes or endonucleases.
  • can interface with external programs such as Clustal, to align two or more nucleic or protein sequences

You may want to take a look at a preliminary design for BioPHP.

To the question, "Why build BioPHP when there is BioPerl, BioJava, BioPython, etc.?" Our answer to this question is another question, "Why have PHP in the first place when there is Perl, Java, Python, etc.?", or "Why can't we just have ONE universal programming language?" When you've got an answer to these questions, please let me know.

The BioPHP Files top

BioPHP (GenePHP) 1.0 was developed and tested on a PC running Windows 98, Apache 1.3.20, and PHP 4.0.6. It should work on Unix too.

Version 1.0 code was written entirely by Serge Gregorio, Jr.

BioPHP (GenePHP) 1.0 Source Code:

   Click on the VIEW  icon to view the source code online.

view seq.php    seq.php - (short for "Sequence") contains code for the Seq Class.
view seqdb.php    seqdb.php - (short for "Sequence Database") contains code for the SeqDB Class.
view resten.php    resten.php - (short for "Restriction Enzyme") contains code for the RestEn Class.
view seqalign.php    seqalign.php - (short for "sequence alignment") contains code for the SeqAlign Class.
view etc.php    etc.php - (short for "et cetera") contains miscellaneous code

You can download the source code from Sourceforge's download page.

BioPHP (GenePHP) 1.0 Documentation:

  BioPHP Online Technical Reference

  BioPHP How To - Installation and Quickstart  

BioPHP source code is covered by the GNU General Public License (GPL) Version 2.

Back to Top



Copyright © 2003 by Sergio Gregorio, Jr.

All rights reserved.