Mercurial > repos > iuc > tsne
view rtsne.xml @ 0:dd53658a0843 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tsne commit 62172bde663955b6c3cb86dc22c47739824f014a
author | iuc |
---|---|
date | Tue, 22 Aug 2017 07:38:53 -0400 |
parents | |
children | 53cfe6f313b3 |
line wrap: on
line source
<tool id="tsne" name="rtsne" version="0.0.2"> <requirements> <requirement type="package">r-getopt</requirement> <requirement type="package">r-rtsne</requirement> <requirement type="package">r-ggplot2</requirement> </requirements> <command detect_errors="exit_code"><![CDATA[ cat '$script' && Rscript '$script' && mv output_plot.pdf $output1 ]]></command> <configfiles> <configfile name="script"><![CDATA[ ## Setup R error handling to go to stderr options(show.error.messages=F, error=function(){cat(geterrmessage(),file=stderr());q("no",1,F)}) loc <- Sys.setlocale("LC_MESSAGES", "en_US.UTF-8") ## Import library library(Rtsne) library(ggplot2) all <- read.delim('$input1', sep='\t', header=TRUE) data = $data name = $name #if $transform == "none" log.all <- all[, data:ncol(all)] #elif $transform == "log2" log.all <- log2(all[, data:ncol(all)]) #elsif $transform == "log2plus1" log.all <- log2(1+all[, data:ncol(all)]) #elif $transform == "log10" log.all <- log(all[, data:ncol(all)]) #elif $transform == "log10plus1" log.all <- log(1+all[, data:ncol(all)]) #end if ## Show/hide legend #if $legend == "yes" gg_legend = NULL #else gg_legend = theme(legend.position="none") #end if set.seed($seed) ## Sets seed for reproducibility tsne_out <- Rtsne(as.matrix(log.all[,1:ncol(log.all)]), perplexity=$perp, theta=$theta) ## Run TSNE embedding <- as.data.frame(tsne_out\$Y) embedding\$Class <- as.factor(sub("Class_", "", all[,name])) ggplot(embedding, aes(x=V1, y=V2, color=Class)) + geom_point(size=1.25) + gg_legend + xlab("") + ylab("") + ggtitle('$title') ggsave(file='output_plot.pdf') dev.off() ]]></configfile> </configfiles> <inputs> <param name="input1" type="data" format="tabular" label="Tabular input dataset" help="Input should have column headers with an identifier column followed by consencutive numerical columns used for clustering"/> <param name="title" type="text" format="txt" label="Plot title"/> <param name="seed" value="42.0" type="float" label="Seed value for reproducibiity" help="Set to 42 as default" /> <param name="perp" value="10.0" type="float" label="perplexity"/> <param name="theta" value="1.0" type="float" label="theta"/> <param name="name" value="1" type="data_column" data_ref="input1" label="The column with the ID to use in grouping (or just an ID if plotting invdividuals)"/> <param name="data" value="2" type="data_column" data_ref="input1" label="The column that contains the first numerical data"/> <param name="transform" type="select" label="Advanced - log transformation"> <option value="none">Plot the data as it is</option> <option value="log2">Log2(value) transform my data</option> <option value="log2plus1">Log2(value+1) transform my data</option> <option value="log10">Log10(value) transform my data</option> <option value="log10plus1">Log10(value+1) transform my data</option> </param> <param name="legend" type="select" label="Legend options"> <option value="yes">Include legend on plot</option> <option value="no">Hide legend</option> </param> </inputs> <outputs> <data name="output1" format="pdf" from_work_dir="Rplot.pdf"/> </outputs> <tests> <test> <param name="input1" value="mtcars.txt"/> <param name="transform" value="none"/> <param name="perp" value="10.0"/> <output name="output1" file="Rplot.pdf"/> </test> </tests> <help><![CDATA[ T-distributed Stochastic Neighbor Embedding implementation by Van der Maaten (see <https://github.com/lvdmaaten/bhtsne/> for more information on the original implementation). Your data should be in tabular format. Objects in rows will be clustered according to the observations in columns. Labels for objects can be assigned in the tool form by providing the column number of the identifier you wish to use. Additionaly, the first column containing numeric data should be provided to the tool form. ]]></help> <citations> <citation type="bibtex"> @Manual{, title = {{Rtsne}: T-Distributed Stochastic Neighbor Embedding using Barnes-Hut Implementation}, author = {Jesse H. Krijthe}, year = {2015}, note = {R package version 0.13}, url = {https://github.com/jkrijthe/Rtsne}, } </citation> </citations> </tool>