diff --git a/tools/interactive/interactivetool_cellxgene_1.1.1.xml b/tools/interactive/interactivetool_cellxgene_1.1.1.xml
index 08edd9273b4d..c8c6c4cb72bc 100644
--- a/tools/interactive/interactivetool_cellxgene_1.1.1.xml
+++ b/tools/interactive/interactivetool_cellxgene_1.1.1.xml
@@ -15,20 +15,23 @@
/>
@@ -44,21 +47,31 @@ def rn(df, field, suffix = '-duplicate-'):
adata = ad.read_h5ad(sys.argv[1])
output = sys.argv[2]
gene_symbol_field = sys.argv[3]
-if gene_symbol_field not in adata.var.keys():
- sys.exit(f"Field {gene_symbol_field} set as var_name does not exist in the var object. AnnData object will be used as it was given")
-
-adata.var = rn(adata.var, gene_symbol_field, suffix = "_d")
+make_unique = (sys.argv[4].lower() == "true")
+layer = sys.argv[5]
-adata.var["extra_gene_id"] = adata.var.index
-adata.var = adata.var.set_index(f"{gene_symbol_field}_u")
+if gene_symbol_field and make_unique:
+ if gene_symbol_field not in adata.var.keys():
+ sys.exit(f"Field {gene_symbol_field} set as var_name does not exist in the var object. AnnData object will be used as it was given")
+
+ adata.var = rn(adata.var, gene_symbol_field, suffix = "_d")
+ adata.var["extra_gene_id"] = adata.var.index
+ adata.var = adata.var.set_index(f"{gene_symbol_field}_u")
+if layer:
+ if layer not in adata.layers.keys():
+ sys.exit(f"Layer {layer} is not present in AnnData, only available layers are: {', '.join(adata.layers.keys())}")
+ else:
+ adata.X = adata.layers[layer]
-adata.write_h5ad(output, compression="gzip")
+adata.write_h5ad(output)
]]>
-
+
+
+
@@ -80,9 +93,20 @@ Selecting the Var name
----------------------
It can happen that the main index for the var element of AnnData is not the
gene symbol field, in which case search by genes will probably be by identifier.
-You can choose a different field (which contains the gene symbols) so that
+You can choose a different field and celxgene will use this. If in addition you choose "Make unique",
the AnnData is modified (in a new copy) so that that field is made unique and
-it is indexed by it. Then cellxgene will allow searches by genes in that field.
+it is indexed by it. Making it unique entails though loading the object into memory,
+modifying and writing it back, which can delay the execution of cellxgene.
+
+Then cellxgene will allow searches by genes in that field.
+
+Selecting the layer
+-------------------
+
+It can happen that the AnnData object contains multiple layers, for example
+one with the raw counts and another with the normalised counts. You can select
+which layer to use as the matrix for cellxgene. By default cellxgene will use the X slot, but
+that slot might not contain the matrix that you want to visualise.
Outputs
-------
diff --git a/tools/interactive/interactivetool_guacamole_desktop.xml b/tools/interactive/interactivetool_guacamole_desktop.xml
index 665f4d33eb81..dacf1589b276 100644
--- a/tools/interactive/interactivetool_guacamole_desktop.xml
+++ b/tools/interactive/interactivetool_guacamole_desktop.xml
@@ -3,7 +3,7 @@
quay.io/bgruening/guacamole-desktop
-
+
8080
diff --git a/tools/interactive/interactivetool_jupyter_notebook_1.0.0.xml b/tools/interactive/interactivetool_jupyter_notebook_1.0.0.xml
index c7e4c9bb8508..5b5e91e16144 100644
--- a/tools/interactive/interactivetool_jupyter_notebook_1.0.0.xml
+++ b/tools/interactive/interactivetool_jupyter_notebook_1.0.0.xml
@@ -1,9 +1,9 @@
-
+
quay.io/bgruening/docker-jupyter-notebook:2021-03-05
-
+
8888
ipython/lab
@@ -14,6 +14,7 @@
8080
$__galaxy_url__
+ jupytool
@@ -80,6 +81,7 @@ except FileNotFoundError:
export GALAXY_WORKING_DIR=`pwd` &&
mkdir -p ./jupyter/outputs/collection &&
mkdir -p ./jupyter/galaxy_inputs &&
+ export PROXY_PREFIX=\${EP_PATH%/ipython*} &&
## change into the directory where the notebooks are located
cd ./jupyter/ &&
diff --git a/tools/interactive/interactivetool_mgnify_notebook.xml b/tools/interactive/interactivetool_mgnify_notebook.xml
index ea26f7c25f3f..5b2f93e17cfe 100644
--- a/tools/interactive/interactivetool_mgnify_notebook.xml
+++ b/tools/interactive/interactivetool_mgnify_notebook.xml
@@ -1,6 +1,6 @@
-
+
- quay.io/microbiome-informatics/emg-notebooks.dev:v1.0.1
+ quay.io/microbiome-informatics/emg-notebooks.dev:v1.2.2
diff --git a/tools/interactive/interactivetool_openrefine.xml b/tools/interactive/interactivetool_openrefine.xml
index e7dde3d47eed..1c8d9d96fb89 100644
--- a/tools/interactive/interactivetool_openrefine.xml
+++ b/tools/interactive/interactivetool_openrefine.xml
@@ -4,7 +4,7 @@
ylebras/openrefine-docker
-
+
3333
@@ -17,7 +17,7 @@
&1)
@@ -81,4 +81,3 @@ Example input file (TAB separated)::
]]>
-
diff --git a/tools/interactive/interactivetool_pangeo_notebook.xml b/tools/interactive/interactivetool_pangeo_notebook.xml
index 831a224514fd..b3c521d1c8cb 100644
--- a/tools/interactive/interactivetool_pangeo_notebook.xml
+++ b/tools/interactive/interactivetool_pangeo_notebook.xml
@@ -1,6 +1,6 @@
- quay.io/nordicesmhub/docker-pangeo-notebook:2023.02.27
+ quay.io/nordicesmhub/docker-pangeo-notebook:1c0f66b
diff --git a/tools/interactive/interactivetool_rstudio.xml b/tools/interactive/interactivetool_rstudio.xml
index df344e444232..ee987d7c2c2f 100644
--- a/tools/interactive/interactivetool_rstudio.xml
+++ b/tools/interactive/interactivetool_rstudio.xml
@@ -3,14 +3,13 @@
quay.io/galaxy/docker-rstudio-notebook:23.1
-
+
8787
/
${__app__.security.encode_id($jupyter_notebook.history_id)}
- ${__app__.config.galaxy_infrastructure_url}
8080
$__galaxy_url__
true