[Bioperl-l] ->add_tag_value()

Hilmar Lapp hlapp at gmx.net
Mon Aug 29 15:48:30 EDT 2005

On Aug 26, 2005, at 1:08 PM, Andrew Stewart wrote:

> Do many of you use bioperl-live as your primary (or exclusive) BioPerl 
> distribution, or do you keep a stable version as well?

I used to live off of bioperl-live and update regularly but I stopped 
updating about a year ago, so technically for production I'm on 
something close to 1.4.1.

I do keep a cvs head version too, for developing / fixing.

> I'd like to use bioperl-live for instances such as this (see message 
> history), but not necessarily for when I'm developing scripts that are 
> going to be used by others in my lab who do not necessarily have 
> bioperl-live installed.
> What I'm thinking is that I should maybe install a copy of 
> bioperl-live somewhere in my personal space, and then 'use' it in 
> certain scripts when needed.

What I do is I don't install Bioperl in order to avoid any precedence 
order mistakes for library paths. Since there is no compiled code 
(unless you also use bioperl-ext) you can just point PERL5LIB at the 
root of the Bioperl installation you want to work with, and if there is 
none in the standard @INC you can be sure which modules will be loaded.

>  I just have a few questions (these are probably more 'perl' questions 
> than 'bio-perl' questions)...
> 1. Once I obtain bioperl-live via 'cvs -d :pserver etc...', do I need 
> to actually go through the install routine or can I just access the 
> modules from where they are downloaded?

No and yes, respectively. See above.

> and
> 2. Would I then place code at the header of my script such as...
> use lib "/path/to/bioperl-live";
> use MODULE;
> and the updated module will (temporarily) override the other bioperl 
> modules in my @INC?
> I tried this, actually, without any noticable change in my previous 
> problem
> (_print_GenBank... still prints the feature tabs as 
> /tab="Bio::Annotation::SimpleValue=HASH(0x87f0914)" instead of 
> /tab="value"), but I don't know for certain if perl was using the 
> modules from my bioperl-live installation or the older ones.

I'm not sure about the search order. The POD for lib says:

        It is typically used to add extra directories to perl's search 
path so
        that later "use" or "require" statements will find modules which 
        not located on perl's default search path.

but also:

        The parameters to "use lib" are added to the start of the perl 
        path. Saying

            use lib LIST;

        is almost the same as saying

            BEGIN { unshift(@INC, LIST) }

Note you can easily test which version is loaded by using either the 
debugger or add some garbage to the module.


> -Andrew Stewart
> Hilmar Lapp wrote:
>>> On Aug 26, 2005, at 11:37 AM, Andrew Stewart wrote:
>>>> Would it be possible to simply update the module which contains the 
>>>> error (or are there multiple files?) rather than downgrade to 1.4 
>>>> or upgrade to the HEAD branch?
>>>> -Andrew
>> You could, e.g. using Jason's suggestion, but I don't know why you 
>> wouldn't just want to upgrade to the main trunk. Currently, this is 
>> as close as you can get to upgrading to 1.5.1., which is what you 
>> will want to do anyway immediately once it's out.
>>     -hilmar
Hilmar Lapp                            email: lapp at gnf.org
GNF, San Diego, Ca. 92121              phone: +1-858-812-1757

More information about the Bioperl-l mailing list