[ensembl-dev] Perl Version Upgrade

Fields, Christopher J cjfields at illinois.edu
Thu Jan 9 22:28:51 GMT 2014


I completely agree.  FWIW, this is what we also do locally here in Illinois (UIUC).  Can’t recommend perlbrew and cpanm enough; these in combination with env. modules are quite nice on the maintenance end as well (e.g. in cases where some applications need a thread-compiled vs. non-thread-compiled perl, for instance).  I also recommend a look into Pinto and Carton.

re: Task modules, for Bioperl, we intend on splitting core into components and bundling them into tasks for various purposes.  The eventual intent is to make it so you only install the components you need, instead of

I do want to point out something: IIRC, one of the intents from the Ensembl developers on requiring a newer version of perl is to take advantage of newer language functionality (smart match, switch statements, state variables, etc).  I should point out that these are now marked as ‘experimental’ in the latest version of perl (v5.18), so they will trigger warnings unless you set up the proper pragma for using them.

chris

On Jan 9, 2014, at 3:51 PM, Jan Vogel <jan.vogel at gmail.com<mailto:jan.vogel at gmail.com>> wrote:


Hi Andy, Jennifer et al,

performing a OS upgrade just to upgrade the perl version seems like overkill to me.

We here in San Francisco use a set up which allows us to run ensembl related analyses on
various perl version, i.e. 5.14.2, 5.16.3 and most recently 5.18.1

The whole perl environments are controlled via so called "furlani" modules - a system which
has been developed by John Furlani and Peter Osel - see http://modules.sourceforge.net/

In a multi-user environment, the Furlani modules help a lot to organize and set up environments for various different tasks and users - I strongly recommend to check this out.

The system can be easily extended to load other environments as well  - it provides dynamic modification
of the user's environment - not only for perl, but also for users who like to set up their R environment or other.
Of course you have to build and install the perl version you fancy yourself - and you have to use the correct version of bioperl.

There are quite a few perl installation management tools and ways to install CPAN modules available, like


  *   perlbrew http://perlbrew.pl/
  *   cpanm http://www.cpan.org/modules/INSTALL.html

Once you've built your main perl version, you can use Tasks<http://search.cpan.org/~adamk/Task-1.04/lib/Task.pm> - the successor to Bundle::,  l to build a list of recommended modules -
example tasks are here :

Task::Moose - http://search.cpan.org/~doy/Task-Moose-0.03/lib/Task/Moose.pm
Task::Catalyst - http://search.cpan.org/~bobtfish/Task-Catalyst-4.02/lib/Task/Catalyst.pm
Task::Kensho - http://search.cpan.org/~ether/Task-Kensho-0.33/lib/Task/Kensho.pm
Task::Jenkins …

Maybe one day we even have a Task::Ensembl on CPAN ? Or even Ensembl itself ?


That's my 5 cents worth of insights,

    Jan Vogel




On Jan 9, 2014, at 10:16 AM, Jennifer Staab <jstaab at cs.unc.edu<mailto:jstaab at cs.unc.edu>> wrote:

Hi Andy, I work with Ed and have been following the thread about the upgrade from Perl 5.8 to 5.14 with Ensembl version 75.

We are running Ubuntu 11.10 (Oneiric) which upgrades to Perl 5.12.4 using standard Ubuntu methods.  We use the Perl Ensembl API, regularly.  Since 11.10 is no longer supported by Ubuntu, we would have to force the upgrade to 5.14 – via CPAN.  My issue with this is that it's possible there are incompatibilities with Perl  5.14 and Ubuntu 11.10 that exist and won’t be fixed because 11.10 is no longer supported.

I believe a staged upgrade to 5.10 would solve things because what we use now (5.12.4) should be compatible (?) with any changes regarding upgrade to Perl 5.10.  This staged upgrade would give us (and others) time to do necessary upgrades to OS (like 11.10 to 12.04) at a less than rushed pace.

Thanks,

-Jennifer

Sent from my Verizon Wireless 4G LTE DROID


Andy Yates <ayates at ebi.ac.uk<mailto:ayates at ebi.ac.uk>> wrote:

Hi Ed,

Thanks for the response as this is useful information to know. So I have a number of questions:

1). What kind of user are you primarily? Are you a Perl API, website or tool (VEP) user?
2). Would a two release delay in upgrade (75 & 76) give adequate reaction time?
3). AFAIK Ubuntu Lucid ships with Perl 5.10.1. Would you be more comfortable with a staged migration. This could be useful for us as it would minimise the amount of changes we would have to back-out and minimise the chances of APIs breaking

We do want to move away from perl 5.8 as quickly as possible since we do not maintain a Perl 5.8 distribution internally. It is not possible for us to detect when we make 5.8+ only changes to the API ATMO*.

Cheers,

Andy

* Now our projects are hosted at GitHub we are looking into using TravisCI. This can test multiple Perl versions. However not all areas of the project will have this level of continuous integration

------------
Andrew Yates - Ensembl Support Coordinator
European Bioinformatics Institute (EMBL-EBI)
European Molecular Biology Laboratory
Wellcome Trust Genome Campus
Hinxton
Cambridge CB10 1SD
Tel: +44-(0)1223-492538
Fax: +44-(0)1223-494468
http://www.ensembl.org/

On 9 Jan 2014, at 02:39, Ed Gray <gray_ed at hotmail.com<mailto:gray_ed at hotmail.com>> wrote:

> Hi Andy,
>
> Frankly for many of us, we have smallish teams that need a bit more time to react to discontinuing support for the old perl.  Many of us are still on Ubuntu 11.
>
> Ed
>
>
> > From: ap5 at sanger.ac.uk<mailto:ap5 at sanger.ac.uk>
> > Date: Wed, 8 Jan 2014 13:30:18 +0000
> > To: dev at ensembl.org<mailto:dev at ensembl.org>
> > Subject: Re: [ensembl-dev] Perl Version Upgrade
> >
> > Not as far as I know - the new BLAST code doesn't use it, and that was our only outstanding dependency. We'll confirm that, though, when we're sure that the new interface will make it into 75.
> >
> > Cheers
> >
> > Anne
> >
> >
> > On 8 Jan 2014, at 13:27, Hans-Rudolf Hotz <hrh at fmi.ch<mailto:hrh at fmi.ch>> wrote:
> >
> > > Hi Andy
> > >
> > >
> > > Thank you very much for the 'heads-up'
> > >
> > > Just a quick question in order to double check: Ensembl 75 will still require the old BioPerl version (i.e. BioPerl 1.2.3) ?
> > >
> > > Regards, Hans
> > >
> > >
> > >
> > > On 01/08/2014 03:33 AM, dev-request at ensembl.org<mailto:dev-request at ensembl.org> wrote:
> > >
> > >>
> > >> Message: 1
> > >> Date: Tue, 7 Jan 2014 16:14:39 +0000
> > >> From: Andy Yates <ayates at ebi.ac.uk<mailto:ayates at ebi.ac.uk>>
> > >> Subject: [ensembl-dev] Perl Version Upgrade
> > >> To: Ensembl developers list <dev at ensembl.org<mailto:dev at ensembl.org>>
> > >> Message-ID: <8918159B-5D53-435F-8DFD-EB235DC877AB at ebi.ac.uk<mailto:8918159B-5D53-435F-8DFD-EB235DC877AB at ebi.ac.uk>>
> > >> Content-Type: text/plain; charset=us-ascii
> > >>
> > >> Dear all,
> > >>
> > >> In 2013 the Ensembl team spent a significant amount of time upgrading our internal Perl version from 5.8 to 5.14 (totalling a 9 year development gap). This was in part motivated by the improved runtime and memory consumption seen in later versions of Perl especially in the 5.14 development tree. We were also motivated by some new language constructs only available with later versions of Perl (smart match operators, non-destructive regular expressions, defined OR operators).
> > >>
> > >> From release 75 we wish to increase the minimal Perl version for Ensembl from 5.8 to 5.14.
> > >>
> > >> Many OS ship with compatible versions of Perl out of the box; to check what version of Perl you are currently running you should execute the following from your command line (anything with 5.14 or above is great):
> > >>
> > >> $ perl -v
> > >> This is perl 5, version 14, subversion 4 (v5.14.4) built for darwin-thread-multi-2level
> > >>
> > >> Should you have any questions or concerns about this move please get in touch ASAP either here on dev or via helpdesk.
> > >>
> > >> All the best,
> > >>
> > >> Andy
> > >>
> > >> ------------
> > >> Andrew Yates - Ensembl Support Coordinator
> > >> European Bioinformatics Institute (EMBL-EBI)
> > >> European Molecular Biology Laboratory
> > >> Wellcome Trust Genome Campus
> > >> Hinxton
> > >> Cambridge CB10 1SD
> > >> Tel: +44-(0)1223-492538
> > >> Fax: +44-(0)1223-494468
> > >> http://www.ensembl.org/
> > >>
> > >>
> > >>
> > >
> > > --
> > >
> > >
> > >
> > > Hans-Rudolf Hotz, PhD
> > > Bioinformatics Support
> > >
> > > Friedrich Miescher Institute for Biomedical Research
> > > Maulbeerstrasse 66
> > > 4058 Basel/Switzerland
> > >
> > > _______________________________________________
> > > Dev mailing list Dev at ensembl.org<mailto:Dev at ensembl.org>
> > > Posting guidelines and subscribe/unsubscribe info: http://lists.ensembl.org/mailman/listinfo/dev
> > > Ensembl Blog: http://www.ensembl.info/
> >
> > Anne Parker
> > Ensembl Web Production Manager
> > http://www.ensembl.org
> >
> >
> >
> >
> > _______________________________________________
> > Dev mailing list Dev at ensembl.org<mailto:Dev at ensembl.org>
> > Posting guidelines and subscribe/unsubscribe info: http://lists.ensembl.org/mailman/listinfo/dev
> > Ensembl Blog: http://www.ensembl.info/
> _______________________________________________
> Dev mailing list    Dev at ensembl.org<mailto:Dev at ensembl.org>
> Posting guidelines and subscribe/unsubscribe info: http://lists.ensembl.org/mailman/listinfo/dev
> Ensembl Blog: http://www.ensembl.info/


_______________________________________________
Dev mailing list    Dev at ensembl.org<mailto:Dev at ensembl.org>
Posting guidelines and subscribe/unsubscribe info: http://lists.ensembl.org/mailman/listinfo/dev
Ensembl Blog: http://www.ensembl.info/
_______________________________________________
Dev mailing list    Dev at ensembl.org<mailto:Dev at ensembl.org>
Posting guidelines and subscribe/unsubscribe info: http://lists.ensembl.org/mailman/listinfo/dev
Ensembl Blog: http://www.ensembl.info/

_______________________________________________
Dev mailing list    Dev at ensembl.org<mailto:Dev at ensembl.org>
Posting guidelines and subscribe/unsubscribe info: http://lists.ensembl.org/mailman/listinfo/dev
Ensembl Blog: http://www.ensembl.info/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ensembl.org/pipermail/dev_ensembl.org/attachments/20140109/aad7865d/attachment.html>


More information about the Dev mailing list