[Biophp-dev] Bioinformatics.org's PHP

Dong Gregorio biophp-dev@bioinformatics.org
Thu, 10 Apr 2003 11:54:55 +0800

>If Greg doesn't mind, I can also upload the sample code he sent me
>somewhere for perusal (or he can do it himself presuming I get
>"adding developers to the project" worked out...)

Yes, I guess we should Greg's advice and have folders for each
developer alongside a shared folder.  Later on, we can move to
integrate our works.

>>I, on the other hand, am one of those people who insists on >compiling up from source myself for maximum optimization, and I 
>tend to include every "optional" feature that I think I MIGHT use >someday...but then again, I recognize that I am a strange person, >and MOST people don't do that...

Well, I used to do that with my FreeBSD server, and found out
that the more optional features I put in, the harder it was to
maintain the system and keep it secure.  Since then, I have
learned NOT to put features that I don't need.

>> Personally, I think (Bio)PHP is better suited for web apps.  It
>> suffers from two limitations when it comes to developing (non-web)
>> applications: 1) it falls short in its OO features, 2) it's a lot slower
>> than compiled languages like Java (although there is the
>> Zend PHP compiler, but its steep price is a definite turn off!).

>Well, I would tend to counter with "better than WHAT for web apps?", 

Better than most of 'em, I'd say!  Well, one advantage of PHP over
say Perl is that PHP is a lot easier to learn and the code is a lot
readable.  I do not want to start a "religious war" of languages
here, but whoever said that Perl is a write-once language should 
be canonized a saint/prophet.  

By the way, this is coming from someone who knows Perl too.  =)

Database access in PHP is a breeze compared to Java's clumsy 
jdbc::yourdatabase::etc URL string, which gave me a lot of
headache.  =)

>funcion REALLY did...), but I know Python is supposed to be much more
>strongly Object Oriented.  I don't know that this is a MANDATORY >issue, though - after all, a lot of the "famous" tools (e.g. >clustal) seem to be written in plain old C.  On the other hand, I >also get the impression that PHP5 will be addressing many of the OO >shortcomings that people complain about.

To cite two examples, PHP4 does not support data protection.  
You can get/set class properties without going through any 
get/set methods you might have written.

Another limitation is that PHP4 does not support multiple
inheritance.  I originally wanted to try a setup where a 
Sequence class was a child class of BOTH the NUCLEIC ACID 
class and the PROTEIN CLASS, but couldn't do it.

While I am no die-hard OO person (sometimes the OO hierarchy
can get ridiculously complicated like your DOG::ACTIVITY::
OO has its advantages (code reuse, easier maintenance) and 
I look forward to seeing stronger OO features in PHP5.

>It's that specific idea that makes me so intrigued about PHP's >support for access to Java classes, and the possibility of >a "BioJavaPHP" (Doo dah, doo dah) sub-project 

Or a BioPerlPHP or a BioPythonPHP perhaps?  BioCobolPHP?

>> Oh well, but that's just my opinion.

>How dare you have an opinion!?!?  Shame on you!  You should only >have the same opinion as everyone else!  Oh, wait a minute, this >isn't propietary software.  Never mind. :-)

Hahaha... sorry, I thought there was only ONE PHP WAY in Redmond.

>I wouldn't want to have people waiting for an hour while their >browser waits for a BioPHP-based script to do an identification, >multiple alignment, and phylogenetic tree of 50 18S rDNA sequences.

Ah yes, now we go the topic of human-computer interface (just
a fancy term for "how the hell are people gonna use BioPHP?")

Since you and Greg have more bio experience than I do, I would
like to know how bio people would use BioPHP, as you see it.

Perhaps you can come up with a list like this:

   1) To search for bio data from a variety of sources using
      one interface/web page; (ONLINE)

   2) To write custom-made algorithms for sequence alignment,
      gene prediction, etc. (OFFLINE) 

   3) To be a teaching aid/tool for people who want to learn
      bioinformatics. (ONLINE/OFFLINE)

Et cetera, et cetera.  The list would be a significant input
into the design of BioPHP.  How about it guys?



Need a new email address that people can remember
Check out the new EudoraMail at