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 them). 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...)