Galaxy v17.09 Local install.
After installation of samtools_sort which installed samtools 1.3.1 through Conda, I am seeing unexpected and incorrect behavior when running tools that use samtools where regardless of version specified in the tool dependencies, version 1.3.1 from Conda is always used.
Example: looking at tophat from Devteam, I see tool dependencies listed as following:
Dependency Resolver Details
samtools 0.1.18 Tool_Shed_Package True Green checkbox
bowtie 0.12.7 Tool_Shed_Package True Green checkbox
tophat 1.4.0 Tool_Shed_Package True Green checkvox
Dependencies of this repository
tophat 1.4.0 package Installed
bowtie 0.12.7 package Installed
samtools 0.1.18 package Installed
The tool_dependencies.xml shows the following:
<tool_dependency>
<package name="bowtie" version="0.12.7">
<repository changeset_revision="9f9f38617a98" name="package_bowtie_0_12_7" owner="devteam" toolshed="<a href=" https:="" toolshed.g2.bx.psu.edu"="" rel="nofollow">https://toolshed.g2.bx.psu.edu" />
</package>
<package name="samtools" version="0.1.18">
<repository changeset_revision="171cd8bc208d" name="package_samtools_0_1_18" owner="devteam" toolshed="<a href=" https:="" toolshed.g2.bx.psu.edu"="" rel="nofollow">https://toolshed.g2.bx.psu.edu" />
</package>
<package name="tophat" version="1.4.0">
<repository changeset_revision="0fea0c8cc6cf" name="package_tophat_1_4_0" owner="devteam" toolshed="<a href=" https:="" toolshed.g2.bx.psu.edu"="" rel="nofollow">https://toolshed.g2.bx.psu.edu" />
</package>
</tool_dependency>
But when running the tool, I get an error and on the error page saying that I need to use samtools >0.1.17 and I see the following: Job Dependencies
Dependency Dependency Type Version
bowtie galaxy_package e1c59c194b7b
tophat galaxy_package 1.4.1
samtools conda 1.3.1
The log reflects this behavior:
...
galaxy.tools.deps DEBUG 2018-03-30 15:53:28,242 Using dependency bowtie version e1c59c194b7b of type galaxy_package
galaxy.tools.deps DEBUG 2018-03-30 15:53:28,243 Using dependency tophat version 1.4.1 of type galaxy_package
galaxy.tools.deps DEBUG 2018-03-30 15:53:28,243 Using dependency samtools version 1.3.1 of type conda
Similar issue is with other tools that have various versions of samtools specified.
When running bamtools2, the running log is even more interesting, as initially correct version 1.2 is referenced, but then 1.3.1 is used:
galaxy.tools.deps DEBUG 2018-03-30 15:59:21,075 Using dependency bowtie2 version 2.2.6 of type tool_shed_package
galaxy.tools.deps DEBUG 2018-03-30 15:59:21,075 Using dependency samtools version 1.2 of type tool_shed_package
galaxy.jobs.command_factory INFO 2018-03-30 15:59:21,126 Built script [/galaxy/data/jobs/010/10829/tool_script.sh] for tool command [PACKAGE_BASE=/galaxy/dependencies/bowtie2/2.2.6/devteam/bowtie2/a9d4f71dbfb0; export PACKAGE_BASE; . /galaxy/dependencies/bowtie2/2.2.6/devteam/bowtie2/a9d4f71dbfb0/env.sh; PACKAGE_BASE=/galaxy/dependencies/samtools/1.2/devteam/bowtie2/a9d4f71dbfb0; export PACKAGE_BASE; . /galaxy/dependencies/samtools/1.2/devteam/bowtie2/a9d4f71dbfb0/env.sh; bowtie2 --version > /galaxy/data/tmp/GALAXY_VERSION_STRING_34829 2>&1; bowtie2 -p ${GALAXY_SLOTS:-4} -x /galaxy/data/ce10/bowtie2_index/ce10 -U "/galaxy/data/files/056/dataset_56586.dat" | samtools view -Su - | samtools sort -o - - > /galaxy/data/files/056/dataset_56608.dat]
galaxy.tools.deps DEBUG 2018-03-30 15:59:21,226 Using dependency samtools version 1.3.1 of type conda
Thanks for your help!
cd
into one of the job working directories and look at the tool script. It will have a section where it activates the various environments. Run that as the galaxy user, runhash -r
and thenwhich samtools
. My guess is that for some reason one or more of the conda packages didn't get installed correctly. You'll be able to discern that by see whichsamtools
ends up getting used. If that's the case, you cansource activate
the appropriate environments and fix them withconda install -c bioconda -c conda-forge whatever the missing packages are
.BTW, don't use tophat unless you need to maintain consistency with a long-running project.