[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Digressions (Re: Bio-Linux 9)





2018-07-06 5:16 GMT+03:00 Charles Plessy <plessy@debian.org>:
Le Sun, Jun 24, 2018 at 11:26:32AM +0100, Tony Travis a écrit :
> On 24/06/18 01:21, Charles Plessy wrote:
> >
> > Very much agreed.  I see how bioconda is slowly overtaking us, just by
> > providing an essential feature: the ability to install software via a
> > package manager without having to ask a busy sysadmin to run a sudo apt
> > install command.
>
> A very important aspect of "Bioconda" is that it provides a solution to
> 'dependency hell' in which conflicting versions of supporting software
> for a given pipeline can't be installed on the same system. The issue of
> having to ask a system admin to install packages is not the main issue.

Hi Tony,

the problem with system-wide installations is important enough to be
mentionned multiple times in the Bioconda paper just published in
Nature Methods:

"Importantly, it obviates reliance on system-wide administration
privileges by allowing users to generate isolated software
environments in which they can manage software versions by project,
without generating incompatibilities and side-effects"

"The alternatives can be categorized into system-wide (Debian-Med,
Genotoo Science, Biolinux, and Homebrew) and per-user (EasyBuild, GNU
Guix, and BioBuilds) installation mechanisms. The system-wide
approaches lack the ability to put the scientist in control of the
installed software stack, and thus do not meet the requirements for
reproducibility outlined above."

"With its ability to maintain isolated software environments,
integration into major workflow management systems, and lack of
requirement for any administration privileges for use, the Conda
package manager is the ideal tool to ensure sustainable and
reproducible software management."

https://www.nature.com/articles/s41592-018-0046-7

In Debian we do not have native tools for making userland
compartimentalised environments, but still, it would be really nice to
be able to run install commands in the shape of:

    apt install --local thispackage/thatversion

and get the version from snapshot.d.o if needed.

Or some light tooling to do the equivalent using a software container (Docker or the flavor of the month), no changes to APT needed.

"virtualenv for Debian packages"

1. Given a package name (and optionally a version): download a matching container (or worse case, build one) into a cache
2. For each /usr/bin/ entry in the package, install a script to either the XDG user bin directory, or a user defined directory. These scripts call the software container engine with all the appropriate options so that the user's data is still accessible, the output is written as the user, etc..
 

Have a nice day,

Charles

--
Charles Plessy
Debian Med packaging team,
http://www.debian.org/devel/debian-med
Tsurumi, Kanagawa, Japan




--
Michael R. Crusoe
Co-founder & Lead, Common Workflow Language project
Direktorius, VšĮ "Darbo eigos", Vilnius, Lithuania

Reply to: