Next changeset 1:51eb02d9b17a (2024-11-05) |
Commit message:
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/seurat_v5 commit a9214c07b0cc929a51fd92a369bb89c675b6c88d |
added:
macros.xml neighbors_clusters_markers.xml |
b |
diff -r 000000000000 -r 94f1b9c7286f macros.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/macros.xml Wed Sep 11 10:21:37 2024 +0000 |
[ |
b'@@ -0,0 +1,437 @@\n+<macros>\n+ <token name="@TOOL_VERSION@">5.0</token>\n+ <token name="@VERSION_SUFFIX@">0</token>\n+ <token name="@PROFILE@">23.0</token>\n+ <xml name="requirements">\n+ <requirements>\n+ <requirement type="package" version="@TOOL_VERSION@">r-seurat</requirement>\n+ <requirement type="package" version="1.2.1">fit-sne</requirement>\n+ <requirement type="package" version="3.58.1">bioconductor-limma</requirement>\n+ <requirement type="package" version="1.28.0">bioconductor-mast</requirement>\n+ <requirement type="package" version="1.42.0">bioconductor-deseq2</requirement>\n+ <requirement type="package" version="2.1.3">r-svglite</requirement>\n+ <requirement type="package" version="1.1">r-metap</requirement>\n+ <requirement type="package" version="1.14.0">bioconductor-glmGamPoi</requirement>\n+ <requirement type="package" version="0.5.3">umap-learn</requirement> <!-- https://github.com/satijalab/seurat/issues/8283 -->\n+ <requirement type="package" version="0.10.2">leidenalg</requirement>\n+ <requirement type="package" version="1.2.0">r-harmony</requirement>\n+ <requirement type="package" version="1.18.0">bioconductor-batchelor</requirement>\n+ <requirement type="package" version="2.0.0">numpy</requirement>\n+ <requirement type="package" version="2.2.2">pandas</requirement>\n+ </requirements>\n+ </xml>\n+ <xml name="citations">\n+ <citations>\n+ <citation type="doi">10.1038/s41587-023-01767-y</citation>\n+ </citations>\n+ </xml>\n+ <xml name="sanitize_query" token_validinitial="string.printable">\n+ <sanitizer>\n+ <valid initial="@VALIDINITIAL@">\n+ <remove value="'" />\n+ </valid>\n+ </sanitizer>\n+ </xml>\n+ <xml name="sanitize_vectors" token_validinitial="string.digits">\n+ <sanitizer>\n+ <valid initial="@VALIDINITIAL@">\n+ <add value=","/>\n+ </valid>\n+ </sanitizer>\n+ </xml>\n+ <xml name="version_command">\n+ <version_command><![CDATA[\n+echo $(R --version | grep version | grep -v GNU)", Seurat version" $(R --vanilla --slave -e "library(Seurat); cat(sessionInfo()\\$otherPkgs\\$DESeq2\\$Version)" 2> /dev/null | grep -v -i "WARNING: ")\n+ ]]></version_command>\n+ </xml>\n+\n+ <token name="@CMD_imports@"><![CDATA[\n+library(Seurat)\n+ ]]>\n+ </token>\n+ <token name="@reticulate_hack@"><![CDATA[\n+library(reticulate)\n+## HACK: CI biocontainers do not contain a useable conda binary, just the env.\n+## see: https://github.com/galaxyproject/tools-iuc/issues/5585#issuecomment-1803773923\n+is_biocontainer = grepl("^# cmd: /opt/conda/bin/",\n+ paste0(reticulate:::python_info_condaenv_find("/usr/local/"),\n+ "-none"))\n+if (is_biocontainer) {\n+ ## conda detection false positive\n+ assignInNamespace("is_conda_python", function(x) FALSE, ns="reticulate")\n+ use_python("/usr/local/bin/python")\n+} else {\n+ conda_path = Sys.getenv("CONDA_PREFIX")\n+ if (conda_path != "") {\n+ ## Active conda env found\n+ use_python(file.path(conda_path, "bin", "python3"))\n+ } else {\n+ ## Not biocontainer or conda, assume system python\n+ use_python("/usr/bin/python3")\n+ }\n+}]]>\n+ </token>\n+ <xml name="input_rds">\n+ <param name="seurat_rds" type="data" format="rds" label="Input file with the Seurat object"/>\n+ </xml>\n+ <token name="@CMD_read_inputs@"><![CDATA[\n+seurat_obj = readRDS(\'seurat.rds\')\n+ ]]>\n+ </token>\n+ <token name="@CMD_read_expression_matrix@"><![CDATA[\n+counts<-read.table("matrix.tab", header=TRUE, row.names=1, sep="\\t")\n+ ]]>]\n+ </token>\n+ <token name="@CMD@"><![CDATA[\n+cp \'$seurat_rds\' seurat.rds &&\n+cat \'$script_file\' > $hidden_output &&\n+Rscript \'$script_file\' >> $hidden_output\n+ ]]>\n+ </token>\n+ '..b'le"/>\n+ </xml>\n+ <xml name="plot_2_dims">\n+ <param name="dims_1" type="integer" value="1" label="Dimension to plot on x axis"/>\n+ <param name="dims_2" type="integer" value="2" label="Dimension to plot on y axis"/>\n+ </xml>\n+ <xml name="plot_projected_and_balanced">\n+ <param argument="projected" type="boolean" truevalue="TRUE" falsevalue="FALSE" checked="false" label="Use reduction values for full dataset" help="i.e. projected dimensional reduction values"/>\n+ <param argument="balanced" type="boolean" truevalue="TRUE" falsevalue="FALSE" checked="false" label="Return an equal number of genes with + and - scores"/>\n+ </xml>\n+ <xml name="plot_disp_min_max">\n+ <param name="disp_min" type="float" optional="true" value="-2.5" label="Minimum display value" help="all values below are clipped (disp.min)"/>\n+ <param name="disp_max" type="float" optional="true" value="" label="Maximum display value" help="all values above are clipped. Defaults to 2.5 if slot is scale.data, otherwise defaults to 6 (disp.max)"/>\n+ </xml>\n+ <xml name="plot_shuffle_and_seed">\n+ <conditional name="shuffle">\n+ <param argument="shuffle" type="select" label="Randomly shuffle order of points" help="can help with crowded plots if points of interest are hidden">\n+ <option value="TRUE">Yes</option>\n+ <option value="FALSE" selected="true">No</option>\n+ </param>\n+ <when value="TRUE">\n+ <param argument="seed" type="integer" value="1" label="Set random seed for shuffling"/>\n+ </when>\n+ <when value="FALSE"></when>\n+ </conditional>\n+ </xml>\n+ <xml name="plot_order">\n+ <param argument="order" type="text" optional="true" value="" label="Specify the order of plotting for the idents" help="a full comma-separated list or the ident to be plotted last on the top">\n+ <expand macro="valid_list"/>\n+ </param>\n+ </xml>\n+ <xml name="plot_group_by">\n+ <param name="group_by" type="text" optional="true" value="" label="Factor to group cells by" help="(group.by)"/>\n+ </xml>\n+ <xml name="plot_split_by">\n+ <param name="split_by" type="text" optional="true" value="" label="Factor or identity to split the plot by" help="(split.by)"/>\n+ </xml>\n+ <xml name="plot_alpha">\n+ <param argument="alpha" type="integer" value="1" label="Alpha value for points"/>\n+ </xml>\n+ <xml name="plot_pt_size">\n+ <param name="pt_size" type="float" optional="true" value="" label="Point size for plot" help="(pt.size)"/>\n+ </xml>\n+ <xml name="plot_smooth">\n+ <param argument="smooth" type="boolean" truevalue="TRUE" falsevalue="FALSE" checked="false" label="Smooth the graph"/>\n+ </xml>\n+ <xml name="plot_ncol">\n+ <param argument="ncol" type="integer" optional="true" value="" label="Number of columns to display"/>\n+ </xml>\n+ <xml name="raster_select">\n+ <conditional name="raster">\n+ <param argument="raster" type="select" label="Convert points to raster format" help="NULL will automatically use raster if more than 100,000 points plotted">\n+ <option value="NULL" selected="true">NULL</option>\n+ <option value="TRUE">TRUE</option>\n+ <option value="FALSE">FALSE</option>\n+ </param>\n+ <when value="NULL"></when>\n+ <when value="TRUE">\n+ <param name="raster_x" type="integer" value="512" label="Horizontal length of raster plot (pixels)"/>\n+ <param name="raster_y" type="integer" value="512" label="Vertical height of raster plot (pixels)"/>\n+ </when>\n+ <when value="FALSE"></when>\n+ </conditional>\n+ </xml>\n+ <xml name="raster_boolean">\n+ <param argument="raster" type="boolean" truevalue="TRUE" falsevalue="FALSE" checked="true" label="Convert to raster format"/>\n+ </xml>\n+</macros>\n' |
b |
diff -r 000000000000 -r 94f1b9c7286f neighbors_clusters_markers.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/neighbors_clusters_markers.xml Wed Sep 11 10:21:37 2024 +0000 |
[ |
b'@@ -0,0 +1,831 @@\n+<tool id="seurat_clustering" name="Seurat Find Clusters" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">\n+ <description>- Neighbors and Markers</description>\n+ <macros>\n+ <import>macros.xml</import>\n+ </macros>\n+ <expand macro="requirements"/>\n+ <expand macro="version_command"/>\n+ <command detect_errors="exit_code"><![CDATA[\n+@CMD@\n+ ]]></command>\n+ <configfiles>\n+ <configfile name="script_file"><![CDATA[\n+@CMD_imports@\n+@CMD_read_inputs@\n+\n+#if $method.method == \'FindNeighbors\'\n+seurat_obj<-FindNeighbors(\n+ seurat_obj,\n+ #if $method.reduction != \'\'\n+ reduction = \'$method.reduction\',\n+ #end if\n+ #if $method.dims != \'\'\n+ dims = 1:$method.dims,\n+ #end if\n+ k.param = $method.k_param,\n+ nn.method = \'$method.nn_method.nn_method\',\n+ #if $method.nn_method.nn_method == \'rann\'\n+ nn.eps = $method.nn_method.nn_eps,\n+ #else if $method.nn_method.nn_method == \'annoy\'\n+ annoy.metric = \'$method.nn_method.annoy_metric\',\n+ #end if\n+ compute.snn = $method.adv.compute_snn.compute_snn,\n+ #if $method.adv.compute_snn.compute_snn == \'TRUE\'\n+ #if $method.adv.compute_snn.prune_snn\n+ prune.snn = $method.adv.compute_snn.prune_snn,\n+ #end if\n+ distance.matrix = $method.adv.compute_snn.distance_matrix,\n+ #else if $method.adv.compute_snn.compute_snn == \'FALSE\'\n+ distance.matrix = $method.adv.compute_snn.distance_matrix.distance_matrix,\n+ #if $method.adv.compute_snn.distance_matrix.distance_matrix == \'FALSE\'\n+ return.neighbor = $method.adv.compute_snn.distance_matrix.return_neighbor,\n+ #end if\n+ #end if\n+ l2.norm = $method.adv.l2_norm,\n+ n.trees = $method.adv.n_trees\n+)\n+\n+#else if $method.method == \'FindMultiModalNeighbors\'\n+seurat_obj<-FindMultiModalNeighbors(\n+ seurat_obj,\n+ reduction.list = list(\'$method.reduction_1\', \'$method.reduction_2\'),\n+ dims.list = list(1:$method.dims_1, 1:$method.dims_2),\n+ k.nn = $method.k_nn,\n+ knn.graph.name = \'$method.adv.knn_graph_name\',\n+ snn.graph.name = \'$method.adv.snn_graph_name\',\n+ weighted.nn.name = \'$method.adv.weighted_nn_name\',\n+ #if $method.adv.modality_weight_name != \'\'\n+ modality.weight.name = \'$method.adv.modality_weight_name\',\n+ #end if\n+ knn.range = $method.adv.knn_range\n+)\n+\n+#else if $method.method == \'FindClusters\'\n+@reticulate_hack@\n+seurat_obj<-FindClusters(\n+ seurat_obj,\n+ modularity.fxn = $method.modularity_fxn,\n+ resolution = $method.resolution,\n+ algorithm = $method.algorithm.algorithm,\n+ #if $method.algorithm.algorithm == \'4\'\n+ #if $method.algorithm.initial_membership\n+ initial.membership = $method.algorithm.initial_membership,\n+ #end if\n+ #if $method.algorithm.node_sizes\n+ node.sizes = $method.algorithm.node_sizes,\n+ #end if\n+ method = \'$method.algorithm.method_cluster\',\n+ #end if\n+ n.start = $method.n_start,\n+ n.iter = $method.n_iter,\n+ random.seed = $method.random_seed,\n+ #if $method.graph_name != \'\'\n+ graph.name = \'$method.graph_name\',\n+ #end if\n+ #if $method.cluster_name != \'\'\n+ cluster.name = \'$method.cluster_name\'\n+ #end if\n+)\n+\n+#else if $method.method == \'FindAllMarkers\'\n+\n+ #if $method.features\n+ features_list<-paste(readLines(\'$method.features\'), collapse=",")\n+ #end if\n+\n+seurat_obj<-FindAllMarkers(\n+ seurat_obj,\n+ #if $method.features\n+ features = c(unlist(strsplit(features_list, ","))),\n+ #end if\n+ logfc.threshold = $method.logfc_threshold,\n+ test.use = \'$method.test_use.test_use\',\n+ #if $method.test_use.test_use == \'negbinom\'\n+ #if $method.test_use.latent_vars != \'\'\n+ latent.vars = c(unlist(strsplit(gsub(" ", "", \'$method.test_use.latent_vars\'), ","))),\n+ #end if\n+ min.cells.feature = $method.test_use.min_cells_feature,\n+ #else if $method.test_use.test_use == \'poisson\'\n+ #if $method.test_use.latent'..b'ors>`__\n+\n+FindClusters\n+============\n+\n+Identify clusters of cells by a shared nearest neighbor (SNN) modularity optimization based clustering algorithm.\n+\n+First calculate k-nearest neighbors and construct the SNN graph. Then optimize the modularity function to determine clusters.\n+\n+More details on the `seurat documentation\n+<https://satijalab.org/seurat/reference/findclusters>`__\n+\n+\n+FindAllMarkers\n+==============\n+\n+Find markers (differentially expressed genes) for each of the identity classes in a dataset\n+\n+Outputs a matrix containing a ranked list of putative markers, and associated statistics (p-values, ROC score, etc.)\n+\n+Methods:\n+\n+"wilcox" : Identifies differentially expressed genes between two groups of cells using a Wilcoxon Rank Sum test (default); will use a fast implementation by Presto if installed\n+\n+"wilcox_limma" : Identifies differentially expressed genes between two groups of cells using the limma implementation of the Wilcoxon Rank Sum test; set this option to reproduce results from Seurat v4\n+\n+"bimod" : Likelihood-ratio test for single cell gene expression, (McDavid et al., Bioinformatics, 2013)\n+\n+"roc" : Identifies \'markers\' of gene expression using ROC analysis. For each gene, evaluates (using AUC) a classifier built on that gene alone, to classify between two groups of cells. An AUC value of 1 means that expression values for this gene alone can perfectly classify the two groupings (i.e. Each of the cells in cells.1 exhibit a higher level than each of the cells in cells.2). An AUC value of 0 also means there is perfect classification, but in the other direction. A value of 0.5 implies that the gene has no predictive power to classify the two groups. Returns a \'predictive power\' (abs(AUC-0.5) * 2) ranked matrix of putative differentially expressed genes.\n+\n+"t" : Identify differentially expressed genes between two groups of cells using Student\'s t-test.\n+\n+"negbinom" : Identifies differentially expressed genes between two groups of cells using a negative binomial generalized linear model. Use only for UMI-based datasets\n+\n+"poisson" : Identifies differentially expressed genes between two groups of cells using a poisson generalized linear model. Use only for UMI-based datasets\n+\n+"LR" : Uses a logistic regression framework to determine differentially expressed genes. Constructs a logistic regression model predicting group membership based on each feature individually and compares this to a null model with a likelihood ratio test.\n+\n+"MAST" : Identifies differentially expressed genes between two groups of cells using a hurdle model tailored to scRNA-seq data. Utilizes the MAST package to run the DE testing.\n+\n+"DESeq2" : Identifies differentially expressed genes between two groups of cells based on a model using DESeq2 which uses a negative binomial distribution (Love et al, Genome Biology, 2014).This test does not support pre-filtering of genes based on average difference (or percent detection rate) between cell groups. However, genes may be pre-filtered based on their minimum detection rate (min.pct) across both cell groups.\n+\n+More details on the `seurat documentation\n+<https://satijalab.org/seurat/reference/findallmarkers>`__\n+\n+FindMarkers\n+===========\n+\n+Find markers (differentially expressed genes) for identity classes (clusters) or groups of cells\n+\n+Outputs a data.frame with a ranked list of putative markers as rows, and associated statistics as columns (p-values, ROC score, etc., depending on the test used (test.use)).\n+\n+Methods - as for FindAllMarkers\n+\n+More details on the `seurat documentation\n+<https://satijalab.org/seurat/reference/findmarkers>`__\n+\n+FindConservedMarkers\n+====================\n+\n+Finds markers that are conserved between the groups\n+\n+Uses metap::minimump as meta.method.\n+\n+More details on the `seurat documentation\n+<https://satijalab.org/seurat/reference/findconservedmarkers>`__\n+\n+ ]]></help>\n+ <expand macro="citations"/>\n+</tool>\n\\ No newline at end of file\n' |