I put some effort this weekend in PEARifying parts of biophp. As a consequence, a couple of classes have undergone substantial rearrangements. The most important is the Seq class. All the nucleotide specific stuff has been moved to the NucSeq class (extending class Seq), and the protein specific things were moved into the ProteinSeq class (also extending class Seq). Thanks for suggesting this very logical organization Can! Functions/methods have been - when possible - moved into files in the directory functions/ and are only included when needed. An important change occurred in the method $NucSeq->translate(). The variable $readframe used to be 0,1, or 2. It has been renamed to $frame and can be 1,2,3,-1,-2,-3 (which is the convention in biology). I included the function hydropathy from Can in functions/protein.inc.php. I was confused by the two last variables, which - I later realized - are only used to return values. I guess I would prefer to return an array holding the results as one or two arrays. To make it easier for people not familiar with cvs, I put the current code for download at: http://valelab.ucsf.edu:/~nico/biophpcvs.tgz Also, the documentation generated by phpdocumentor is available at: http://valelab.ucsf.edu:/~nico/biophpdoc/ Don't forget to click on the 'biophp' link on the right, which contains the part I worked on. If it is OK with everyone, I'll try to go through all classes and do something similar with them. We can then also move this outoff directory 'genephp' up to the root level 'biophp'. Best, Nico