On Monday 28 April 2003 12:37 am, Serge Gregorio wrote: > Nico, > > Wonderful to hear you're making good progress! I've been > doing a lot of thinking about the design and organization > of Gene/BioPHP and here's what I've come up with: > > http://genephp.sourceforge.net/genephp_design.html [...] > I've also attached a code snippet from GenePHP 2.0's IO > class, in which the "parser class" you were mentioning > earlier are its methods. The general idea here is that > people only use ONE AND ONLY ONE class to read/write > data from WHATEVER SOURCE (console, variable, file, SQL > DB, etc.) to WHATEVER DESTINATION. > > Also, with this, I'd like to push your idea of auto- > detection of file format one step further. Not only > will the IO class (thru its autodetect_IO() function) > detect the format used (e.g. GenBank, Swissprot), but > it will also detect WHAT KIND OF DATA (e.g. genephp > class) it contains or represents. [...] > What you guys think? =) That seems like a very monolithic approach (which of course has both benefits and drawbacks). To me this does suggest a natural place to delineate between GenePHP and BioPHP - with GenePHP you appear to be moving towards almost a pre-written application for handling gene and protein sequences, while I've been focussed more on individual components that can be assembled in different ways almost completely independent of each other (I have also been planning to go beyond sequences at some point to include, e.g. phylogenetic trees [indepedent of sequences, i.e. pre-calculated "newick" format trees], potentially HPLC Chromatograms and Mass Spectra, and so on). This suggests to me then that BioPHP serve as a "component repository", while GenePHP remains the "implementation repository" where assembled collections of components and components that are incorporated directly into the GenePHP framework would go there. Someone who wants to build a "custom" application or focussed "mini program" (i.e. for a public web page) would do so with BioPHP components. Someone looking for a "drop-in" framework for a sequence-handling application would instead just use GenePHP. Does that make any sense?...