Mercurial > repos > iuc > ggplot2_heatmap2
comparison heatmap2.xml @ 5:f4899d509faa draft
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/heatmap2 commit b04b237daba99e6992b27d1b65524744feb07d7d"
| author | iuc |
|---|---|
| date | Tue, 12 Apr 2022 15:53:08 +0000 |
| parents | b718455b9541 |
| children | 0a2a2e19bf2d |
comparison
equal
deleted
inserted
replaced
| 4:b718455b9541 | 5:f4899d509faa |
|---|---|
| 1 <tool id="ggplot2_heatmap2" name="heatmap2" version="@VERSION@"> | 1 <tool id="ggplot2_heatmap2" name="heatmap2" version="@VERSION@"> |
| 2 <macros> | 2 <macros> |
| 3 <token name="@VERSION@">3.0.1</token> | 3 <token name="@VERSION@">3.1.1</token> |
| 4 </macros> | 4 </macros> |
| 5 <requirements> | 5 <requirements> |
| 6 <requirement type="package" version="@VERSION@">r-gplots</requirement> | 6 <requirement type="package" version="@VERSION@">r-gplots</requirement> |
| 7 <requirement type="package" version="1.1_2">r-rcolorbrewer</requirement> | 7 <requirement type="package" version="1.1_3">r-rcolorbrewer</requirement> |
| 8 </requirements> | 8 </requirements> |
| 9 <command detect_errors="exit_code"><![CDATA[ | 9 <command detect_errors="exit_code"><![CDATA[ |
| 10 cat '$script' && | 10 cat '$script' && |
| 11 Rscript '$script' | 11 Rscript '$script' |
| 12 ]]></command> | 12 ]]></command> |
| 37 linput <- log10(mat_input) | 37 linput <- log10(mat_input) |
| 38 #elif $transform == "log10plus1" | 38 #elif $transform == "log10plus1" |
| 39 linput <- log10(mat_input+1) | 39 linput <- log10(mat_input+1) |
| 40 #end if | 40 #end if |
| 41 | 41 |
| 42 #if $colorscheme == "whrd" | 42 #if $zscore_cond.zscore == "rows": |
| 43 colorscale = colfunc <- colorRampPalette(c("white", "red")) | 43 linput <- t(apply(linput, 1, scale)) |
| 44 #elif $colorscheme == "whblu" | 44 colnames(linput) <- colnames(input) |
| 45 colorscale = colfunc <- colorRampPalette(c("white", "blue")) | 45 rownames(linput) <- input[,1] |
| 46 #elif $colorscheme == "blwhre" | 46 scale <- "none" |
| 47 colorscale = colfunc <- colorRampPalette(c("blue","white", "red")) | 47 #elif $zscore_cond.zscore == "cols": |
| 48 #end if | 48 linput <- apply(linput, 2, scale) |
| 49 | 49 rownames(linput) <- input[,1] |
| 50 #if $labels== "both" | 50 scale <- "none" |
| 51 rlabs = NULL | 51 #elif $zscore_cond.zscore == "none": |
| 52 clabs = NULL | 52 scale <- "$zscore_cond.scale" |
| 53 #elif $labels== "rows" | 53 #end if |
| 54 rlabs = NULL | 54 |
| 55 clabs = FALSE | 55 srtCol <- 45 |
| 56 #elif $labels== "columns" | 56 #if $labels == "both" |
| 57 rlabs = FALSE | 57 rlabs <- NULL |
| 58 clabs = NULL | 58 clabs <- NULL |
| 59 #elif $labels== "none" | 59 #elif $labels == "rows" |
| 60 rlabs = FALSE | 60 rlabs <- NULL |
| 61 clabs = FALSE | 61 clabs <- FALSE |
| 62 #end if | 62 srtCol <- NULL |
| 63 | 63 #elif $labels == "columns" |
| 64 pdf(file='$output1') | 64 rlabs <- FALSE |
| 65 colorscale | 65 clabs <- NULL |
| 66 | 66 #elif $labels == "none" |
| 67 #if $cluster_cond.cluster: | 67 rlabs <- FALSE |
| 68 hclust_fun = function(x) hclust(x, method='$cluster_cond.clustering') | 68 clabs <- FALSE |
| 69 dist_fun = function(x) dist(x, method='$cluster_cond.distance') | 69 srtCol <- NULL |
| 70 #if $cluster_cond.cluster_cols_rows=="rows": | 70 #end if |
| 71 heatmap.2(linput, dendrogram="row", Colv=FALSE, Rowv=TRUE, | 71 |
| 72 distfun=dist_fun, hclustfun=hclust_fun, scale = '$scale', labRow = rlabs, labCol = clabs, | 72 #if $cluster_cond.cluster == "yes": |
| 73 col=colfunc(50), trace="none", density.info = "none", margins=c(8,8), | 73 dendrogramtoplot <- "$cluster_cond.cluster_cols_rows" |
| 74 main = '$title', key.xlab='$key', keysize=1, cexCol=0.8, cexRow = 0.8, srtCol=45) | 74 #if $cluster_cond.cluster_cols_rows == "both" |
| 75 #elif $cluster_cond.cluster_cols_rows=="columns": | 75 reorder_cols <- TRUE |
| 76 heatmap.2(linput, dendrogram="column", Colv=TRUE, Rowv=FALSE, | 76 reorder_rows <- TRUE |
| 77 distfun=dist_fun, hclustfun=hclust_fun, scale = '$scale', labRow = rlabs, labCol = clabs, | 77 #elif $cluster_cond.cluster_cols_rows == "row" |
| 78 col=colfunc(50), trace="none", density.info = "none", margins=c(8,8), | 78 reorder_cols <- FALSE |
| 79 main = '$title', key.xlab='$key', keysize=1, cexCol=0.8, cexRow = 0.8, srtCol=45) | 79 reorder_rows <- TRUE |
| 80 #else | 80 #elif $cluster_cond.cluster_cols_rows == "column" |
| 81 heatmap.2(linput, | 81 reorder_cols <- TRUE |
| 82 distfun=dist_fun, hclustfun=hclust_fun, scale = '$scale', labRow = rlabs, labCol = clabs, | 82 reorder_rows <- FALSE |
| 83 col=colfunc(50), trace="none", density.info = "none", margins=c(8,8), | |
| 84 main = '$title', key.xlab='$key', keysize=1, cexCol=0.8, cexRow = 0.8, srtCol=45) | |
| 85 #end if | 83 #end if |
| 86 #else | 84 hclust_fun <- function(x) hclust(x, method='$cluster_cond.clustering') |
| 87 heatmap.2(linput, | 85 #if $cluster_cond.distance == 'pearson_correlation': |
| 88 dendrogram="none", Colv=FALSE, Rowv=FALSE, scale = '$scale', labRow = rlabs, labCol = clabs, | 86 dist_fun <- function(x) as.dist(1 - cor(t(x))) |
| 89 col=colfunc(50), trace="none", density.info = "none", margins=c(8,8), | 87 #elif $cluster_cond.distance == 'spearmann_correlation': |
| 90 main='$title', key.xlab='$key', keysize=1, cexCol=0.8, cexRow = 0.8, srtCol=45) | 88 dist_fun <- function(x) as.dist(1 - cor(t(x), method="spearman")) |
| 91 #end if | 89 #else: |
| 90 dist_fun <- function(x) dist(x, method='$cluster_cond.distance') | |
| 91 #end if | |
| 92 #else: | |
| 93 dendrogramtoplot <- "none" | |
| 94 reorder_cols <- FALSE | |
| 95 reorder_rows <- FALSE | |
| 96 hclust_fun <- hclust | |
| 97 dist_fun <- dist | |
| 98 #end if | |
| 99 | |
| 100 ncolors <- 50 | |
| 101 #if $colorchoice.type == "palettes": | |
| 102 colused <- brewer.pal(ncolors, "$colorchoice.name") | |
| 103 #elif $colorchoice.type == "two" | |
| 104 colused <- colorRampPalette(c("$colorchoice.color1", "$colorchoice.color2"))(ncolors) | |
| 105 #elif $colorchoice.type == "three" | |
| 106 colused <- colorRampPalette(c("$colorchoice.color1", "$colorchoice.color2", "$colorchoice.color3"))(ncolors) | |
| 107 #end if | |
| 108 | |
| 109 #if $image_file_format == "pdf": | |
| 110 pdf(file='$output1') | |
| 111 #else: | |
| 112 png(file='$output1') | |
| 113 #end if | |
| 114 | |
| 115 heatmap.2(linput, dendrogram=dendrogramtoplot, Colv=reorder_cols, Rowv=reorder_rows, | |
| 116 distfun=dist_fun, hclustfun=hclust_fun, scale = scale, labRow = rlabs, labCol = clabs, | |
| 117 col=colused, trace="none", density.info = "none", margins=c(8,8), | |
| 118 main = '$title', key.xlab='$key', keysize=1, cexCol=0.8, cexRow = 0.8, srtCol=srtCol) | |
| 92 | 119 |
| 93 dev.off() | 120 dev.off() |
| 94 ]]></configfile> | 121 ]]></configfile> |
| 95 </configfiles> | 122 </configfiles> |
| 96 | 123 |
| 97 <inputs> | 124 <inputs> |
| 98 <param name="input1" type="data" format="tabular" label="Input should have column headers - these will be the columns that are plotted"/> | 125 <param name="input1" type="data" format="tabular" |
| 126 label="Input should have column headers - these will be the columns that are plotted and row names."/> | |
| 99 <param name="title" type="text" format="txt" label="Plot title"/> | 127 <param name="title" type="text" format="txt" label="Plot title"/> |
| 100 <param name="key" type="text" format="txt" label="key title"/> | 128 <param name="key" type="text" format="txt" label="key title"/> |
| 101 <param name="transform" type="select" label="Data transformation"> | 129 <param name="transform" type="select" label="Data transformation"> |
| 102 <option value="none">Plot the data as it is</option> | 130 <option value="none">Plot the data as it is</option> |
| 103 <option value="log2">Log2(value) transform my data</option> | 131 <option value="log2">Log2(value) transform my data</option> |
| 104 <option value="log2plus1">Log2(value+1) transform my data</option> | 132 <option value="log2plus1">Log2(value+1) transform my data</option> |
| 105 <option value="log10">Log10(value) transform my data</option> | 133 <option value="log10">Log10(value) transform my data</option> |
| 106 <option value="log10plus1">Log10(value+1) transform my data</option> | 134 <option value="log10plus1">Log10(value+1) transform my data</option> |
| 107 </param> | 135 </param> |
| 136 <conditional name="zscore_cond"> | |
| 137 <param name="zscore" type="select" label="Compute z-scores prior to clustering"> | |
| 138 <option value="none">Do not compute z-scores</option> | |
| 139 <option value="rows">Compute on rows</option> | |
| 140 <option value="cols">Compute on columns</option> | |
| 141 </param> | |
| 142 <when value="none"> | |
| 143 <param name="scale" type="select" label="Scale data on the plot (after clustering)" > | |
| 144 <option value="none" selected="true">Do not scale my data</option> | |
| 145 <option value="row">Scale my data by row</option> | |
| 146 <option value="column">Scale my data by column</option> | |
| 147 </param> | |
| 148 </when> | |
| 149 <when value="rows"/> | |
| 150 <when value="cols"/> | |
| 151 </conditional> | |
| 108 <conditional name="cluster_cond"> | 152 <conditional name="cluster_cond"> |
| 109 <param name="cluster" type="select" label="Enable data clustering"> | 153 <param name="cluster" type="select" label="Enable data clustering"> |
| 110 <option value="true">Yes</option> | 154 <option value="yes">Yes</option> |
| 111 <option value="">No</option> | 155 <option value="no">No</option> |
| 112 </param> | 156 </param> |
| 113 <when value="true"> | 157 <when value="yes"> |
| 114 <param name="cluster_cols_rows" type="select" label="Clustering columns and rows"> | 158 <param name="cluster_cols_rows" type="select" label="Clustering columns and rows"> |
| 115 <option value="both" selected="true">Cluster rows and columns</option> | 159 <option value="both" selected="true">Cluster rows and columns</option> |
| 116 <option value="rows">Cluster rows and not columns</option> | 160 <option value="row">Cluster rows and not columns</option> |
| 117 <option value="columns">Cluster columns and not rows</option> | 161 <option value="column">Cluster columns and not rows</option> |
| 118 </param> | 162 </param> |
| 119 <param name="distance" type="select" label="Distance method" help="The method used to compute the distance (dissimilarity) between both rows and columns. Default: Euclidean" > | 163 <param name="distance" type="select" label="Distance method" help="The method used to compute the distance (dissimilarity) between both rows and columns. Default: Euclidean" > |
| 120 <option value="euclidean" selected="true">Euclidean</option> | 164 <option value="euclidean" selected="true">Euclidean</option> |
| 121 <option value="maximum">Maximum</option> | 165 <option value="maximum">Maximum</option> |
| 166 <option value="manhattan">Manhattan</option> | |
| 167 <option value="canberra">Canberra</option> | |
| 168 <option value="binary">Binary</option> | |
| 169 <option value="minkowski">Minkowski</option> | |
| 170 <option value="pearson_correlation">Pearson's correlation (1 - correlation coefficient)</option> | |
| 171 <option value="spearmann_correlation">Spearmann's correlation (1 - correlation coefficient)</option> | |
| 122 </param> | 172 </param> |
| 123 <param name="clustering" type="select" label="Clustering method" help="The method used to compute the hierarchical clustering. Default: Complete" > | 173 <param name="clustering" type="select" label="Clustering method" help="The method used to compute the hierarchical clustering. Default: Complete" > |
| 124 <option value="complete" selected="true">Complete</option> | 174 <option value="complete" selected="true">Complete</option> |
| 125 <option value="average">Average</option> | 175 <option value="average">Average (= UPGMA)</option> |
| 126 </param> | 176 <option value="ward.D">ward.D</option> |
| 127 </when> | 177 <option value="ward.D2">ward.D2</option> |
| 128 <when value=""/> | 178 <option value="single">single</option> |
| 179 <option value="mcquitty">mcquitty (= WPGMA)</option> | |
| 180 <option value="median">median (= WPGMC)</option> | |
| 181 <option value="centroid">centroid (= UPGMC)</option> | |
| 182 </param> | |
| 183 </when> | |
| 184 <when value="no"/> | |
| 129 </conditional> | 185 </conditional> |
| 130 <param name="labels" type="select" label="Labeling columns and rows" > | 186 <param name="labels" type="select" label="Labeling columns and rows" > |
| 131 <option value="both" selected="true">Label my columns and rows</option> | 187 <option value="both" selected="true">Label my columns and rows</option> |
| 132 <option value="rows">Label rows and not columns</option> | 188 <option value="rows">Label rows and not columns</option> |
| 133 <option value="columns">Label columns and not rows</option> | 189 <option value="columns">Label columns and not rows</option> |
| 134 <option value="none">Do not label rows or columns</option> | 190 <option value="none">Do not label rows or columns</option> |
| 135 </param> | 191 </param> |
| 136 <param name="colorscheme" type="select" label="Coloring groups" > | 192 <conditional name="colorchoice"> |
| 137 <option value="whrd" selected="true">White to red</option> | 193 <param name="type" type="select" label="Type of colormap to use"> |
| 138 <option value="whblu">White to blue</option> | 194 <option value="palettes">RColorBrewer palettes</option> |
| 139 <option value="blwhre">Blue to white to red</option> | 195 <option value="two">Gradient with 2 colors</option> |
| 140 </param> | 196 <option value="three">Gradient with 3 colors</option> |
| 141 <param name="scale" type="select" label="Data scaling" > | 197 </param> |
| 142 <option value="none" selected="true">Do not scale my data</option> | 198 <when value="palettes"> |
| 143 <option value="row">Scale my data by row</option> | 199 <param name="name" type="select" label="Name of the colormap"> |
| 144 <option value="column">Scale my data by column</option> | 200 <option value="BrBG">BrBG</option> |
| 201 <option value="PiYG">PiYG</option> | |
| 202 <option value="PRGn">PRGn</option> | |
| 203 <option value="PuOr">PuOr</option> | |
| 204 <option value="RdBu">RdBu</option> | |
| 205 <option value="RdGy">RdGy</option> | |
| 206 <option value="RdYlBu">RdYlBu</option> | |
| 207 <option value="RdYlGn">RdYlGn</option> | |
| 208 <option value="Spectral">Spectral</option> | |
| 209 <option value="Blues">Blues</option> | |
| 210 <option value="BuGn">BuGn</option> | |
| 211 <option value="BuPu">BuPu</option> | |
| 212 <option value="GnBu">GnBu</option> | |
| 213 <option value="Greens">Greens</option> | |
| 214 <option value="Greys">Greys</option> | |
| 215 <option value="Oranges">Oranges</option> | |
| 216 <option value="OrRd">OrRd</option> | |
| 217 <option value="PuBu">PuBu</option> | |
| 218 <option value="PuBuGn">PuBuGn</option> | |
| 219 <option value="PuRd">PuRd</option> | |
| 220 <option value="Purples">Purples</option> | |
| 221 <option value="RdPu">RdPu</option> | |
| 222 <option value="Reds">Reds</option> | |
| 223 <option value="YlGn">YlGn</option> | |
| 224 <option value="YlGnBu">YlGnBu</option> | |
| 225 <option value="YlOrBr">YlOrBr</option> | |
| 226 <option value="YlOrRd">YlOrRd</option> | |
| 227 </param> | |
| 228 </when> | |
| 229 <when value="two"> | |
| 230 <param name="color1" type="color" value="#ffffff" label="First color" /> | |
| 231 <param name="color2" type="color" value="#ff0000" label="Second color" /> | |
| 232 </when> | |
| 233 <when value="three"> | |
| 234 <param name="color1" type="color" value="#0000ff" label="First color" /> | |
| 235 <param name="color2" type="color" value="#ffffff" label="Second color" /> | |
| 236 <param name="color3" type="color" value="#ff0000" label="Third color" /> | |
| 237 </when> | |
| 238 </conditional> | |
| 239 <param name="image_file_format" type="select" label="Output format"> | |
| 240 <option value="pdf">PDF</option> | |
| 241 <option value="png">PNG</option> | |
| 145 </param> | 242 </param> |
| 146 </inputs> | 243 </inputs> |
| 147 <outputs> | 244 <outputs> |
| 148 <data name="output1" format="pdf"/> | 245 <data name="output1" format="pdf"> |
| 246 <change_format> | |
| 247 <when input="image_file_format" value="png" format="png" /> | |
| 248 </change_format> | |
| 249 </data> | |
| 149 </outputs> | 250 </outputs> |
| 150 <tests> | 251 <tests> |
| 151 <test> | 252 <test> |
| 152 <param name="input1" value="mtcars.txt"/> | 253 <param name="input1" value="mtcars.txt"/> |
| 153 <param name="cluster" value="true"/> | 254 <param name="cluster" value="yes"/> |
| 255 <param name="type" value="two"/> | |
| 154 <output name="output1" file="result1.pdf" compare="sim_size"/> | 256 <output name="output1" file="result1.pdf" compare="sim_size"/> |
| 155 </test> | 257 </test> |
| 156 <test> | 258 <test> |
| 157 <param name="input1" value="mtcars.txt"/> | 259 <param name="input1" value="mtcars.txt"/> |
| 158 <param name="cluster" value=""/> | 260 <param name="cluster" value="no"/> |
| 159 <output name="output1" file="result2.pdf" compare="sim_size"/> | 261 <param name="image_file_format" value="png"/> |
| 262 <output name="output1" file="result2.png" compare="sim_size"/> | |
| 263 </test> | |
| 264 <test> | |
| 265 <param name="input1" value="mtcars.txt"/> | |
| 266 <param name="zscore" value="cols"/> | |
| 267 <param name="cluster" value="yes"/> | |
| 268 <param name="cluster_cols_rows" value="row"/> | |
| 269 <param name="labels" value="rows"/> | |
| 270 <param name="type" value="three"/> | |
| 271 <param name="image_file_format" value="png"/> | |
| 272 <output name="output1" file="result3.png" compare="sim_size"/> | |
| 273 </test> | |
| 274 <test> | |
| 275 <param name="input1" value="mtcars.txt"/> | |
| 276 <param name="cluster" value="yes"/> | |
| 277 <param name="distance" value="pearson_correlation"/> | |
| 278 <param name="type" value="two"/> | |
| 279 <output name="output1" file="result1pearson.pdf" compare="sim_size"/> | |
| 160 </test> | 280 </test> |
| 161 </tests> | 281 </tests> |
| 162 <help><