-
Notifications
You must be signed in to change notification settings - Fork 418
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
Mothur Unique.seqs -- fails when an optional input is not provided at ORG #5163
Comments
This could occur only on .org because of being run in a container. |
Okay, I should have read a bit more closely - the [g2main@galaxy-web-03 49203482]$ ls -lh working/names.dat
lrwxrwxrwx. 1 g2main G-803372 4 Mar 28 16:01 working/names.dat -> None
[g2main@galaxy-web-03 49203482]$ grep names.dat tool_script.sh
set -o pipefail; export TERM=vt100; ln -s 'None' names.dat && ln -s '/corral4/main/objects/a/d/b/dataset_adbdf650-a1a8-4569-86ee-e01f34eccc24.dat' fasta.dat && echo 'unique.seqs( name=names.dat, fasta=fasta.dat, format=name )' | sed 's/ //g' | mothur | tee mothur.out.log However, that is indeed the case with the particular bug report history I tried - there is no selectable |
usegalaxy.eu is experiencing this now after upgrading to 23.0. The issue is with the handling of the optional In 23.0, the first branch is evaluating
|
Thanks Nate, that block is where I thought the problem was too. ping @shiltemann and @bernt-matthias -- could either of you help? Or, suggest a someone else? This will impact the Smorg event -- would only work at AU (22.05) and only if they don't upgrade. |
I don't think the warning is related, but it should be straightforward to bisect the change. I'll take a look tomorrow |
I'm already bisecting, I'll let you know what I find. |
I'm trying as well .. can't reproduce so far :(
|
Fancy.. if I change the if to |
The first breaking commit is 130b97b539689591b20c941a7ba907f75f9944a0 #14356 |
Same here 130b97b539689591b20c941a7ba907f75f9944a0 |
Specifically this bit: diff --git a/lib/galaxy/tools/evaluation.py b/lib/galaxy/tools/evaluation.py
index 2e112cd710..ae211ecf0e 100644
--- a/lib/galaxy/tools/evaluation.py
+++ b/lib/galaxy/tools/evaluation.py
@@ -330,7 +330,7 @@ class ToolEvaluator:
dataset = input_values[input.name]
wrapper_kwds = dict(
datatypes_registry=self.app.datatypes_registry,
- tool=self,
+ tool=self.tool,
name=input.name,
compute_environment=self.compute_environment,
)
@@ -343,7 +343,7 @@ class ToolEvaluator:
wrapper_kwds = dict(
datatypes_registry=self.app.datatypes_registry,
compute_environment=self.compute_environment,
- tool=self,
+ tool=self.tool,
name=input.name,
)
wrapper = DatasetCollectionWrapper(job_working_directory, dataset_collection, **wrapper_kwds)
@@ -390,7 +390,7 @@ class ToolEvaluator:
if not isinstance(param_dict_value, (DatasetFilenameWrapper, DatasetListWrapper)):
wrapper_kwds = dict(
datatypes_registry=self.app.datatypes_registry,
- tool=self,
+ tool=self.tool,
name=name,
compute_environment=self.compute_environment,
) |
Yep, undoing this seemed to fix it for me. |
It'll presumably break type checking though... @nsoranzo? |
xref galaxyproject/galaxy#15870 .. so far the test case .. will add the potential fix once we see the test failing .. This particular change implemented in the commit seems correct but still broke something. My next guess is that in the following part
|
I believe you're right, if you apply the diff --git a/lib/galaxy/tools/wrappers.py b/lib/galaxy/tools/wrappers.py
index ecf61b4e24..8e23375a5e 100644
--- a/lib/galaxy/tools/wrappers.py
+++ b/lib/galaxy/tools/wrappers.py
@@ -337,11 +337,7 @@ class DatasetFilenameWrapper(ToolParameterValueWrapper):
formats: Optional[List[str]] = None,
) -> None:
if not dataset:
- try:
- # TODO: allow this to work when working with grouping
- ext = tool.inputs[name].extensions[0] # type: ignore[union-attr]
- except Exception:
- ext = "data"
+ ext = "data"
self.dataset = cast(
DatasetInstance,
wrap_with_safe_string( |
I would say that
just makes no sense (it would assume the first dataset format defined by the parameter) .. and our luck was that it never worked so far .. until @nsoranzo fixed it :) I will try to replace the part with |
Tools may check for `is_of_type` if optional datasets to determine if the dataset has been provided. We should probably also drop the `tool` and `name` arguments that aren't consumed anywhere.
Tools may check for `is_of_type` if optional datasets to determine if the dataset has been provided. We should probably also drop the `tool` and `name` arguments that aren't consumed anywhere.
Tools may check for `is_of_type` if optional datasets to determine if the dataset has been provided. We should probably also drop the `tool` and `name` arguments that aren't consumed anywhere.
The fix was merged in galaxyproject/galaxy#15871 and has been deployed to usegalaxy.org, I have tested a previously failing job and it is working now. |
MTS https://toolshed.g2.bx.psu.edu/view/iuc/mothur_unique_seqs/d466580cd706
Tool_id toolshed.g2.bx.psu.edu/repos/iuc/mothur_unique_seqs/mothur_unique_seqs/1.39.5.0
Fails when the optional name/count file is not provided at ORG https://usegalaxy.org/u/jen-galaxyproject/h/mothurthruuniqueseqs
Success when the same is run at EU https://usegalaxy.eu/u/jenj/h/training-16s-rrna-sequencing-with-mothur-main-tutorial-imported-from-url-1
Is the version of the tool installed different between the servers? Appears to be the same but with different behavior, and is why I am posted here.
This tool form might also need to be adjusted: an input name/count is not required for the "name" output choice but it is required for the "count" output choice. Was this introduced when the option for "count" output was added in? The form doesn't change based on that toggle, and probably should.
If the form is updated, could we please have the "name" option be the default instead of "count" -- that is how students following the tutorial use it first: https://training.galaxyproject.org/training-material/topics/metagenomics/tutorials/mothur-miseq-sop/tutorial.html#optimize-files-for-computation
One of the test cases reports an error with automated tests: mvdbeek/usegalaxy-tests#79
Message from the error:
The text was updated successfully, but these errors were encountered: