diff --git a/lib/galaxy/datatypes/interval.py b/lib/galaxy/datatypes/interval.py
index 9ad9822b4cb..eb6d1bd47fe 100644
--- a/lib/galaxy/datatypes/interval.py
+++ b/lib/galaxy/datatypes/interval.py
@@ -66,7 +66,7 @@ class Interval(Tabular):
MetadataElement(name="chromCol", default=1, desc="Chrom column", param=metadata.ColumnParameter)
MetadataElement(name="startCol", default=2, desc="Start column", param=metadata.ColumnParameter)
MetadataElement(name="endCol", default=3, desc="End column", param=metadata.ColumnParameter)
- MetadataElement(name="strandCol", desc="Strand column (click box & select)", param=metadata.ColumnParameter, optional=True, no_value=0)
+ MetadataElement(name="strandCol", default=0, desc="Strand column (click box & select)", param=metadata.ColumnParameter, optional=True, no_value=0)
MetadataElement(name="nameCol", desc="Name/Identifier column (click box & select)", param=metadata.ColumnParameter, optional=True, no_value=0)
MetadataElement(name="columns", default=3, desc="Number of columns", readonly=True, visible=False)
@@ -386,7 +386,7 @@ class Bed(Interval):
MetadataElement(name="chromCol", default=1, desc="Chrom column", param=metadata.ColumnParameter)
MetadataElement(name="startCol", default=2, desc="Start column", param=metadata.ColumnParameter)
MetadataElement(name="endCol", default=3, desc="End column", param=metadata.ColumnParameter)
- MetadataElement(name="strandCol", desc="Strand column (click box & select)", param=metadata.ColumnParameter, optional=True, no_value=0)
+ MetadataElement(name="strandCol", default=0, desc="Strand column (click box & select)", param=metadata.ColumnParameter, optional=True, no_value=0)
MetadataElement(name="columns", default=3, desc="Number of columns", readonly=True, visible=False)
MetadataElement(name="viz_filter_cols", desc="Score column for visualization", default=[4], param=metadata.ColumnParameter, optional=True, multiple=True)
# do we need to repeat these? they are the same as should be inherited from interval type
@@ -567,7 +567,7 @@ class BedStrict(Bed):
MetadataElement(name="chromCol", default=1, desc="Chrom column", readonly=True, param=metadata.MetadataParameter)
MetadataElement(name="startCol", default=2, desc="Start column", readonly=True, param=metadata.MetadataParameter) # TODO: start and end should be able to be set to these or the proper thick[start/end]?
MetadataElement(name="endCol", default=3, desc="End column", readonly=True, param=metadata.MetadataParameter)
- MetadataElement(name="strandCol", desc="Strand column (click box & select)", readonly=True, param=metadata.MetadataParameter, no_value=0, optional=True)
+ MetadataElement(name="strandCol", default=0, desc="Strand column (click box & select)", readonly=True, param=metadata.MetadataParameter, no_value=0, optional=True)
MetadataElement(name="nameCol", desc="Name/Identifier column (click box & select)", readonly=True, param=metadata.MetadataParameter, no_value=0, optional=True)
MetadataElement(name="columns", default=3, desc="Number of columns", readonly=True, visible=False)
@@ -1423,7 +1423,7 @@ class ENCODEPeak(Interval):
MetadataElement(name="chromCol", default=1, desc="Chrom column", param=metadata.ColumnParameter)
MetadataElement(name="startCol", default=2, desc="Start column", param=metadata.ColumnParameter)
MetadataElement(name="endCol", default=3, desc="End column", param=metadata.ColumnParameter)
- MetadataElement(name="strandCol", desc="Strand column (click box & select)", param=metadata.ColumnParameter, optional=True, no_value=0)
+ MetadataElement(name="strandCol", default=0, desc="Strand column (click box & select)", param=metadata.ColumnParameter, optional=True, no_value=0)
MetadataElement(name="columns", default=3, desc="Number of columns", readonly=True, visible=False)
def sniff(self, filename):
diff --git a/lib/galaxy/tools/__init__.py b/lib/galaxy/tools/__init__.py
index d3277abfbda..ab45a8ab687 100644
--- a/lib/galaxy/tools/__init__.py
+++ b/lib/galaxy/tools/__init__.py
@@ -1147,7 +1147,7 @@ class Tool(Dictifiable):
if getattr(self, 'tool_shed', None):
tool_dir = Path(self.tool_dir)
for repo_dir in itertools.chain([tool_dir], tool_dir.parents):
- if repo_dir.name == self.repository_name:
+ if repo_dir.name == self.repository_name and repo_dir.parent.name == self.installed_changeset_revision:
return str(repo_dir)
else:
log.error(f"Problem finding repository dir for tool '{self.id}'")
diff --git a/test/functional/tools/metadata_bed.xml b/test/functional/tools/metadata_bed.xml
new file mode 100644
index 00000000000..e8b354fc2be
--- /dev/null
+++ b/test/functional/tools/metadata_bed.xml
@@ -0,0 +1,28 @@
+
+
+ $out_file1 &&
+ echo "startCol $input1.metadata.startCol" >> $out_file1 &&
+ echo "endCol $input1.metadata.endCol" >> $out_file1 &&
+ echo "strandCol $input1.metadata.strandCol" >> $out_file1
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/functional/tools/samples_tool_conf.xml b/test/functional/tools/samples_tool_conf.xml
index 8eeb4238f5e..10b81527d57 100644
--- a/test/functional/tools/samples_tool_conf.xml
+++ b/test/functional/tools/samples_tool_conf.xml
@@ -64,6 +64,7 @@
+