[Bioperl-l] CPAN/Bioperl can't find modules
Chris Fields
cjfields at illinois.edu
Wed Jan 5 15:45:49 UTC 2011
On Jan 5, 2011, at 8:41 AM, Mike Williams wrote:
> On Tue, Jan 4, 2011 at 11:16 PM, Chris Fields <cjfields at illinois.edu> wrote:
>> On Jan 4, 2011, at 6:56 PM, Darwin Sorento Dichmann wrote:
>>
>>> Wet biologist here trying to get into NGS/bioperl/gbrowse. Something funky is going on in my gbrowse2 installation and in an attempt to fix it I reinstalled bioperl as well as other perl modules through CPAN (default settings, OSX 10.6).
>>>
>>> When I run CPAN -O to test if all modules are up to date I get a lot of errors like this (excerpt):
>>>
>>> ------
>>> Macintosh:~ darwin$ cpan -O
>>> CPAN: Storable loaded ok (v2.25)
>>> Going to read '/Users/darwin/Library/Application Support/.cpan/Metadata'
>>> Database was generated on Tue, 04 Jan 2011 07:05:20 GMT
>>> Module Name Local CPAN
>>>
>>> Bio::DB::SeqFeature 0.0000 1.0060
>>> Bio::DB::SeqFeature::NormalizedFeature 0.0000 1.0060
>>> Bio::DB::SeqFeature::NormalizedFeatureI 0.0000 1.0060
>>> Bio::DB::SeqFeature::NormalizedTableFeatureI 0.0000 1.0060
>>> Bio::DB::SeqFeature::Segment 0.0000 1.0060
>> Might be, or it might be that BioPerl has a funky way of assigning the module version that's causing the noise; it's defined in Bio::Root::Version and exported to every module. This isn't the only module that does this (I get the same problem for DateTime). I have seen this in some instances; the best way to check for the version is Bio::Root::Version.
>>
>> Also, the version output here is chopped via printf (only reports to four decimal places). Tell the truth, I wouldn't worry about it if the correct version is showing up via the debugger or command line.
>
> I've seen the same thing with version numbers and CPAN. This is a
> snippet from a fedora 13 system that had Bio::Perl installed via CPAN.
> cpan -O reports:
>
> Bio::Align::AlignI 0.0000 1.0060
> Bio::Align::DNAStatistics 0.0000 1.0060
> Bio::Align::PairwiseStatistics 0.0000 1.0060
> Bio::Align::ProteinStatistics 0.0000 1.0060
> Bio::Align::StatisticsI 0.0000 1.0060
> Bio::Align::Utilities 0.0000 1.0060
> Bio::AlignIO 0.0000 1.0060
>
> The same results are repeated for all Bio::Perl modules.
>
> I usually use perl -MCPAN -e shell instead of using the cpan script.
> With the CPAN module shell I get similar results:
>
> cpan[1]> r /Bio::Perl/
> Going to read '/root/.cpan/Metadata'
> Database was generated on Tue, 04 Jan 2011 07:05:20 GMT
>
> Package namespace installed latest in CPAN file
> Bio::Perl undef 1.006001 CJFIELDS/BioPerl-1.6.1.tar.gz
> 1 installed module has no parsable version number
>
> I once tried to use the upgrade command from the CPAN shell and it
> re-installed all of Bio::Perl because of the version number issue.
>
> Mike
I would view this as a bug, then. The best way to fix it, from my perspective, is to have a single reference point for the version number, either Bio::Perl or Bio::Root::Version, and not export versions (which I believe is causing the module version inconsistency), or to make sure the version gets exported properly into the module namespace when called. Funny thing is, when looking at the versions listed in CPAN in the monolithic release, they all indicate 1.006001 (or 1.6.1):
http://search.cpan.org/~cjfields/BioPerl-1.6.1/
Anyway, at some future point this may end up becoming somewhat moot as we have been talking about modularizing bioperl to allow faster bug fix releases (likely for 1.7), thus requiring each focused module to have an independent versioning scheme. This will require a bit of coordination with the CPAN folks, though, but is on the slate, just need the time to get it rolling.
chris
More information about the Bioperl-l
mailing list