-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conda dependency resolver can break Galaxy's set metadata process #2541
Comments
I discussed yesterday with @jmchilton a little bit if it would be feasible to have the set_metadata function as separate tool, with it's own dependencies. What do you think is this likely? TS datatypes might be a problem? |
The set metadata function is actually already its own tool (with a non-versioned samtools requirement: A significant issue is that we don't always know an output's datatype until after the tool finishes and the files have been created, e.g. created due to pattern matching. |
I can't replicate this in dev - is it possible that tool separation between metadata and tool execution wasn't enabled when this was seen? Does someone have logging around and the scripts generated during this error? On my local machine if I let samtools get resolved with conda - the job script has a line that starts like this:
and then the Python 3 environment inside conda looks like this:
I don't understand how this could cause this problem. That is being sourced inside of tool_script.sh and conda is being resourced outside of tool_script.sh with the correct environment. When this problem occurs - is tool_script.sh not being generated? Is the problem maybe that the conda samtools environment is getting Python 3 instead of the tool's?
On a machine that has this problem, can someone source the metadata environment and check the resulting Python version? |
@blankenberg that was exactly my motivation for #2253. |
Can we backport #2253 to 16.04? I have a similar problem:
when testing |
Thanks for the work on this all. |
If a tool creates and uses a conda environment that contains
python
, and a defaultsamtools
installation is not specified, the set metadata process will fail causing a tool failure.What appears to be happening is that the set metadata process is run under an environment containing both the tool's conda deps and the samtools conda dependency. Errors that I've seen include:
(probably using e.g. python2.7)
These are due to conda env containing python 3:
and (after fixing the exception syntax not valid in py3):
etc.
The work around is to define a default samtools dependency, e.g. on a cloudman instance:
this prevents the conda environment from being sourced prior to the set metadata tool process being called.
The text was updated successfully, but these errors were encountered: