[Biophp-dev] CVS and memberlist

S Clark biophp-dev@bioinformatics.org
Mon, 28 Apr 2003 15:07:20 -0600

On Monday 28 April 2003 01:25 pm, Serge Gregorio wrote:
> Oh okay.  I'll use the SF repository to post my experimental
> code then (the equivalent perhaps of Sean's point-and-laugh?)
> and to further my knowledge of CVS, and the BioPHP CVS for
> major releases so there won't be any confusion.  =)

Are you able to login to bioinformatics.org with the "flipmozart"
name?  I tried to add you to the developers list but the system 
complained that it didn't recognize the login name...

> The main rationale behind the IO class is to simplify things
> for the user. And one way is to reduce the number of classes
> we have. Biology is complicated enough (would require a good
> number of classes) that I wouldn't want to "punish" the user
> further by adding more task-related classes.
> Having said that, may I clarify that the IO clas is still a
> rough proposal, which shouldn't be grounds for a "religious
> schism" or delineation as mentioned by Sean.

I didn't mean to sound like I was going to THAT extreme :-)

It just seems we have two different approaches going on at
the same time - with GenePHP it has more of a "Windows" type
approach of tying things together into larger sets of easy-to-use
segments (but at the expense of making it more difficult to
use the components individually to build new, unrelated things),
while I have been going for more of a "Unix" type of approach of
lots of small, independent modules that can be assembled in many
different ways, and it is also easy for someone to contribute just
small, self-contained component if they want to help. (but at the expense
that it takes more knowledge and effort to build an "end-user" program from

The two approaches aren't OPPOSITE, they are COMPLEMENTARY - that
was why I was suggesting the dual focus (not really a SPLIT - I would
still think that both use the same codebase).

Rather than suggesting that either GenePHP or BioPHP abandon their respective
webpages or CVS repositories, that the BioPHP site would focus on the
"independent components" (such as the standalone stream-based FASTA parser, 
standalone CLUSTAL parser, etc.), while the GenePHP site would focus on the 
"complete assemblages" of components (such as the "uber-IO" class and
the "parse anything" parser class, and fully-written examples and
applications, and such).

It was only a thought - I don't know that it's NECESSARY, it just
seemed like a natural way to spread the efforts between the two existing
sites while both are working on the same thing (compatible modules and
applications in PHP for bioinformatics) and of course reaping the
benefits of both approaches.

> In designing BioPHP, I heartily recommend taking a look at the
> other BioXXX languages out there.  I'm not suggesting we copy
> them wholesale, but we can LEARN from them.

I've learned that it's not always obvious what you can and can't do
with BioPerl nor what parts you use if you can :-)

For example, I still cannot tell from their layout if they have a module
that supports sending BLAST queries to NCBI's online BLAST databases (though I
see they have modules for formatting BLAST results and presumably a frontend
to local BLAST, I just haven't yet found it in the structure...)

In fairness, this is at least partly (if not MOSTLY) due to the fact that
I've not played much with other people's code, nor done deep OO design, so
it's not obvious to me what the "right" way to structure it is.  I am 
hoping what I've written so far will be of some interest to someone who
might comment on the "correctness" of my designs and how easy or 
difficult they are to use and understand (preferably BEFORE I churn
out a large codebase if it turns out that I should go back and
re-do it...)