I found bioperl should depend on staden package being installed through let's say 'staden' USE flag. The staden package is used to convert file formats at least. From SeqIO documentaion I can quote: <quote> Specify the format of the file. Supported formats include: AB1 ABI tracefile format ABI ABI tracefile format ALF ALF tracefile format CTF CTF tracefile format EMBL EMBL format EXP Staden tagged experiment tracefile format Fasta FASTA format Fastq Fastq format GCG GCG format GenBank GenBank format PIR Protein Information Resource format PLN Staden plain tracefile format SCF SCF tracefile format ZTR ZTR tracefile format ace ACeDB sequence format game GAME XML format locuslink LocusLink annotation (LL_tmpl format only) phd phred output qual Quality values (get a sequence of quality scores) raw Raw format (one sequence per line, no ID) swiss Swissprot format If no format is specified and a filename is given then the module will attempt to deduce the format from the filename suffix. If this is unsuccessful then Fasta format is assumed. The format name is case insensitive. 'FASTA', 'Fasta' and 'fasta' are all valid suffixes. Currently, the tracefile formats (except for SCF) require installation of the external Staden "io_lib" package, as well as the Bio::SeqIO::staden::read package available from the bioperl-ext repository. </quote> $ PATH=$PATH:/usr/local/staden-linux-1-6-0/linux-bin perl reformat.pl ABI Fasta < /mnt/smartmedia/notch2/pSN_1-579.str ------------- EXCEPTION Bio::Root::SystemException ------------- MSG: Bio::SeqIO::staden::read is not available; make sure the bioperl-ext package has been installed successfully! STACK Bio::SeqIO::abi::_initialize /usr/lib/perl5/vendor_perl/5.8.8/Bio/SeqIO/abi.pm:84 STACK Bio::SeqIO::new /usr/lib/perl5/vendor_perl/5.8.8/Bio/SeqIO.pm:358 STACK Bio::SeqIO::new /usr/lib/perl5/vendor_perl/5.8.8/Bio/SeqIO.pm:378 STACK Bio::SeqIO::newFh /usr/lib/perl5/vendor_perl/5.8.8/Bio/SeqIO.pm:399 STACK toplevel reformat.pl:8 ---------------------------------------------------------------- $ $ cat reformat.pl #!/usr/bin/perl -w $format1 = shift; $format2 = shift || die "Usage: reformat format1 format2 < input > output"; use Bio::SeqIO; $in = Bio::SeqIO->newFh(-format => $format1 ); $out = Bio::SeqIO->newFh(-format => $format2 ); #note: you might want to quote -format to keep older perl's from complaining. print $out $_ while <$in>; $
This is a bit like Biopython. An enormous number of wrapper modules are provided for programs that are not in the dependencies, or even in Portage. I do not want to depend on everything in sci-biology just to install the bio${your_favorite_language} packages. They are developer libraries, not end-user packages, so I think this is reasonable. I will try to have a look at bioperl-ext soon. If you have an ebuild handy, please post. ;-)
Unfortunately, I did not bother to create the ebuild. Truly said I have uninstalled even bioperl and use bioperl-live from CVS directly with bioperl-ext again installed from their CVS (probably less often updated). Regarding the dependencies, here is a possibly currently growing list of dependencies: http://www.bioperl.org/wiki/Installing_Bioperl_for_Unix#DEPENDENCIES_AND_Bundle::BioPerl Myself, I rather get overwhelmingly complete package (development suite) than a partial bioperl installation which on occassions reveals it cannot do _this_ and _that_ unless I install _that_ and re-compile.
No progress for over 1 year, closing WONTFIX. Feel free to reopen with an ebuild.