Mercurial > repos > iuc > raceid_inspecttrajectory
changeset 4:86e2358cf273 draft
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/raceid3 commit 5d7c4cd914295a81d42bf8baaad4981c23a83059"
author | iuc |
---|---|
date | Mon, 12 Aug 2019 13:03:03 -0400 |
parents | 4164c0da0a5d |
children | 69018f285aa3 |
files | macros.xml macros_cheetah.xml macros_cluster.xml macros_inspectclusters.xml macros_inspecttrajectories.xml macros_trajectory.xml raceid_inspecttrajectories.xml scripts/cluster.R scripts/clusterinspect.R test-data/matrix.genelist test-data/matrix.pdf test-data/matrix.rdat test-data/out_diffgene_multiple.pdf test-data/out_traject_inspect_fateid.tabular |
diffstat | 13 files changed, 604 insertions(+), 1390 deletions(-) [+] |
line wrap: on
line diff
--- a/macros.xml Mon Apr 15 17:53:28 2019 -0400 +++ b/macros.xml Mon Aug 12 13:03:03 2019 -0400 @@ -1,5 +1,4 @@ <macros> - <token name="@GET_VERSION@"><![CDATA[ 2>&1 | head -1 | cut -d' ' -f 2 ]]></token> <token name="@STRING2VECTOR@"> string2numericvector = function(string){ #' Converts a string to a valid vector @@ -27,7 +26,25 @@ } </token> <token name="@VERSION_RACEID@">3</token> - <token name="@VERSION_PACKAGE@">0.2</token> + <token name="@VERSION_WRAPPER@">1</token> + + <macro name="version_command_config" token_prog="temp" token_cheetah="temp2" token_out="2> '$outlog'"> + <version_command><![CDATA[ +Rscript '$__tool_directory__/scripts/@PROG@' 2>&1 | head -1 | cut -d' ' -f 2 + ]]></version_command> + <command detect_errors="exit_code"><![CDATA[ +Rscript '$__tool_directory__/scripts/@PROG@' '$userconf' @OUT@ +]]> + </command> + <configfiles> + <configfile name="userconf" ><![CDATA[ +@STRING2VECTOR@ + +@@CHEETAH@@ +]]></configfile> + </configfiles> + </macro> + <macro name="requirements" > <requirements> <requirement type="package" version="0.1.1">r-raceid</requirement> @@ -69,36 +86,6 @@ <citation type="doi">10.1038/nmeth.4662</citation> </citations> </macro> - <macro name="select_cells" token_sectionname="@SECTIONNAME@" token_sectiontitle="@SECTIONTITLE@" > - <section name="@SECTIONNAME@" title="@SECTIONTITLE@" expanded="true" > - <param name="name_set" type="text" optional="true" label="Name of Set" > - <!-- Aname, Bname --> - <expand macro="sanitize_title" /> - </param> - <conditional name="meth" > - <param name="type" type="select" label="Selection method" > - <option value="cln" selected="true">Cluster Numbers</option> - <option value="regex" >Regular Expression</option> - <option value="manual" >Manual Selection</option> - </param> - <when value="cln" > - <param name="selector" type="text" value="" label="List of clusters" > - <expand macro="sanitize_numeric_vector" /> - </param> - </when> - <when value="regex" > - <param name="selector" type="text" value="" label="Regular Expression to select gene names" > - <expand macro="sanitize_regex" /> - </param> - </when> - <when value="manual" > - <param name="selector" type="text" value="" label="List of genes" > - <expand macro="sanitize_string_vector" /> - </param> - </when> - </conditional> - </section> - </macro> <!-- Sanitizers --> <macro name="sanitize_title"> <sanitizer invalid_char="">
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/macros_cheetah.xml Mon Aug 12 13:03:03 2019 -0400 @@ -0,0 +1,377 @@ +<macros> + <token name="@FILTNORM_CHEETAH@"><![CDATA[ +## Perform do.filter +use.filtnormconf = TRUE + +## Perform do.cluster, do.outlier, do.clustmap, mkgenelist +use.cluster = FALSE + +in.table = read.table( + '${intable}', + stringsAsFactors = F, + na.strings=c("NA", "-", "?", "."), + sep='\t', + header=TRUE, + row.names=1 +) + +## Hidden flag to use test data instead +## see: test-data/use.intestinal + +use.test.data = (names(in.table)[1] == "test") + +sc = NULL +if (use.test.data) { + sc = SCseq(intestinalData) + message("Loading test data from library") +} else { + sc = SCseq(in.table) +} + + +filt = formals(filterdata) +filt.ccc = formals(CCcorrect) +filt.use.ccorrect = FALSE +filt.lbatch.regexes = NULL + +filt.geqone = as.logical( '$filt.hist_geq_one' ) +filt\$mintotal = as.integer( '$filt.mintotal' ) +filt\$minexpr = as.integer( '$filt.minexpr' ) +filt\$minnumber = as.integer( '$filt.minnumber' ) +#if str($filt.use.def) == "no": +filt\$knn = as.integer( '$filt.use.knn' ) +filt\$ccor = as.numeric( '$filt.use.ccor' ) +filt\$bmode = as.character( '$filt.use.bmode' ) + #if $filt.use.LBatch_regexes: +filt.lbatch.regexes = string2textvector( '$filt.use.LBatch_regexes' ) + #end if + #if $filt.use.CGenes: +filt\$CGenes = string2textvector( '$filt.use.CGenes' ) + #end if + #if $filt.use.FGenes: +filt\$FGenes = string2textvector( '$filt.use.FGenes' ) + #end if + #if str($filt.use.ccc.use) == "yes" +filt.use.ccorrect = TRUE + #if $filt.use.ccc.vset: +filt.ccc\$vset = string2textvector( '$filt.use.ccc.vset' ) + #end if + #if $filt.use.ccc.ncomp: +filt.ccc\$nComp = as.integer( '$filt.use.ccc.ncomp' ) + #end if +filt.ccc\$pvalue = as.numeric( '$filt.use.ccc.pvalue' ) +filt.ccc\$quant = as.numeric( '$filt.use.ccc.quant' ) +filt.ccc\$dimR = as.logical( '$filt.use.ccc.dimr' ) +filt.ccc\$mode = as.character( '$filt.use.ccc.mode.value' ) +filt.ccc\$logscale = as.logical( '$filt.use.ccc.logscale' ) + #end if +#end if + +out.pdf = '${outpdf}' +out.rdat = '${outrdat}' +out.table = '${outtable}' + +]]></token> + <token name="@CLUSTER_CHEETAH@"><![CDATA[ + +in.rdat = readRDS('${inputrds}') + +sc = in.rdat + +## Perform do.filter +use.filtnormconf = FALSE + +## Perform do.cluster, do.outlier, do.clustmap, mkgenelist +use.cluster = TRUE + + +clust.compdist = formals(compdist) +clust.clustexp = formals(clustexp) +clust.compdist\$metric = as.character( '$clust.metric' ) +clust.clustexp\$FUNcluster = as.character( '$clust.funcluster' ) + +#if str($clust.use.def) == "no": + +clust.compdist\$FSelect = as.logical( '$clust.use.fselect' ) + #if $clust.use.knn: +clust.compdist\$knn = as.integer( '$clust.use.knn' ) + #end if +clust.clustexp\$sat = as.logical( '$clust.use.sat' ) + #if $clust.use.samp: +clust.clustexp\$samp = as.integer( '$clust.use.samp' ) + #end if + #if $clust.use.cln: +clust.clustexp\$cln = as.integer( '$clust.use.cln' ) +clust.clustexp\$clustnr = as.integer( '$clust.use.clustnr' ) +clust.clustexp\$bootnr = as.integer( '$clust.use.bootnr' ) +##clust.clustexp\$rseed = as.integer( '$clust.use.rseed' ) + #end if +#end if + +outlier.use.randomforest = FALSE +outlier.findoutliers = formals(findoutliers) +outlier.clustheatmap = formals(clustheatmap) +outlier.rfcorrect = formals(rfcorrect) + +outlier.findoutliers\$outminc = as.integer( '$outlier.outminc' ) +outlier.findoutliers\$outlg = as.integer( '$outlier.outlg' ) +outlier.rfcorrect\$final = as.logical( '$outlier.final' ) + +#if str($outlier.use.def) == "no": + #if $outlier.use.nbtree: +outlier.rfcorrect\$nbtree = as.integer( '$outlier.use.nbtree' ) + #end if +outlier.findoutliers\$probthr = as.numeric( '$outlier.use.probthr' ) +outlier.findoutliers\$outdistquant = as.numeric( '$outlier.use.outdistquant' ) +##outlier.rfcorrect\$rfseed = as.integer( '$outlier.use.rfseed' ) +outlier.rfcorrect\$nbfactor = as.integer( '$outlier.use.nbfactor' ) +#end if + +cluster.comptsne = formals(comptsne) +cluster.compfr = formals(compfr) + +cluster.comptsne\$perplexity = as.integer( '$tsne.perplexity' ) +cluster.compfr\$knn = as.integer( '$tsne.knn' ) +#if str($tsne.use.def) == "no": +cluster.comptsne\$initial_cmd = as.logical( '$tsne.use.initial_cmd' ) +cluster.comptsne\$rseed = as.integer( '$tsne.use.rseed_tsne' ) +cluster.compfr\$rseed = as.integer( '$tsne.use.rseed_fr' ) +#end if + +genelist.tablelim = as.integer( '$extra.tablelim' ) +genelist.plotlim = as.integer( '$extra.plotlim' ) +genelist.foldchange = as.integer( '$extra.foldchange' ) +genelist.pvalue = as.numeric( '$extra.pvalue' ) + +out.pdf = '${outpdf}' +out.rdat = '${outrdat}' +out.genelist = '${outgenelist}' +out.assignments = '${outassignments}' +out.log = '${outlog}' + +]]> + </token> + <token name="@INSPECTCLUSTERS_CHEETAH@"><![CDATA[ +in.rdat = readRDS('${inputrds}') + +perform.plotting = FALSE +perform.symbolmap = FALSE +perform.genesofinterest = FALSE +perform.diffgene = FALSE + +#if str($plotgen.do_opt) == "yes": +perform.plotting = TRUE +plotting.cln = string2numericvector( '$plotgen.clusts_plot' ) +#end if + +#if str($plotsym.do_opt) == "yes": +perform.symbolmap = TRUE +plotsym = formals(plotsymbolsmap) +plotsym.use.typeremoveregex = NULL +plotsym.use.typeremoveregex.subselect = NULL +plotsym.use.typeremoveregex = as.character( '$plotsym.types_regex' ) + #if str($plotsym.use.def) == "no": +plotsym\$fr = as.logical( '$plotsym.use.fr' ) + #if $plotsym.use.subset_regex: +plotsym.use.typeremoveregex.subselect = as.character( '$plotsym.use.subset_regex' ) + #end if + #end if +#end if + +#if str($gois.do_opt) == "yes": +perform.genesofinterest = TRUE +plotexp = formals(plotexpmap) +plotmarkg = formals(plotmarkergenes) + +inspect.goi.use.genes = string2textvector( '$gois.inspect_goi_genes' ) +plotexp\$g = inspect.goi.use.genes +plotmarkg\$genes = inspect.goi.use.genes + + #if $gois.inspect_goi_cells: +inspect.goi.use.cells = as.character( '$gois.inspect_goi_cells' ) +plotexp\$cells = inspect.goi.use.cells +plotmarkg\$cells = inspect.goi.use.cells + #end if + #if str($gois.use.def) == "no": +inspect.goi.use.imputed = as.logical( '$gois.use.inspect_goi_imputed' ) +plotexp\$imputed = inspect.goi.use.imputed +plotmarkg\$imputed = inspect.goi.use.imputed + #if $gois.use.plotmarkg_cl +plotmarkg\$cl = string2numericvector( '$gois.use.plotmarkg_cl' ) + #end if + #if $gois.use.plotmarkg_cap +plotmarkg\$cap = as.integer( '$gois.use.plotmarkg_cap' ) + #end if + #if $gois.use.plotmarkg_flo +plotmarkg\$flo = as.integer( '$gois.use.plotmarkg_flo' ) + #end if + #if $gois.use.plotmarkg_samples +plotmarkg\$samples = as.character( '$gois.use.plotmarkg_samples' ) + #end if + #if $gois.use.plotexp_n +plotexp\$n = as.character( '$gois.use.plotexp_n' ) + #end if +plotmarkg\$cthr = as.integer( '$gois.use.plotmarkg_cthr' ) +plotmarkg\$order.cells = as.logical( '$gois.use.plotmarkg_order_cells' ) +plotmarkg\$aggr = as.logical( '$gois.use.plotmarkg_aggr' ) +plotmarkg\$norm = as.logical( '$gois.use.plotmarkg_norm' ) +plotmarkg\$cluster_cols = as.logical( '$gois.use.plotmarkg_cluster_cols' ) +plotmarkg\$cluster_rows = as.logical( '$gois.use.plotmarkg_cluster_rows' ) +plotmarkg\$cluster_set = as.logical( '$gois.use.plotmarkg_cluster_set' ) + #end if +#end if + +#if str($diffgtest.do_opt) == "yes": +plotdiffg = formals(plotdiffgenesnb) + +perform.diffgene = TRUE +plotdiffg\$Aname = '$diffgtest.set_a.name_set' +plotdiffg\$Bname = '$diffgtest.set_b.name_set' + +gfdat.A.use = list() +gfdat.B.use = list() + +gfdat.A.use\$manual = NULL +gfdat.A.use\$regex = NULL +gfdat.A.use\$cln = NULL +gfdat.B.use\$manual = NULL +gfdat.B.use\$regex = NULL +gfdat.B.use\$cln = NULL + + #if str($diffgtest.set_a.meth.type) == "cln": +gfdat.A.use\$cln = string2numericvector( '$diffgtest.set_a.meth.selector' ) + #else if str($diffgtest.set_a.meth.type) == "regex": +gfdat.A.use\$regex = as.character( '$diffgtest.set_a.meth.selector' ) + #else if str($diffgtest.set_a.meth.type) == "manual": +gfdat.A.use\$manual = string2textvector( '$diffgtest.set_a.meth.selector' ) + #end if + + #if str($diffgtest.set_b.meth.type) == "cln": +gfdat.B.use\$cln = string2numericvector( '$diffgtest.set_b.meth.selector' ) + #else if str($diffgtest.set_b.meth.type) == "regex": +gfdat.B.use\$regex = as.character( '$diffgtest.set_b.meth.selector' ) + #else if str($diffgtest.set_b.meth.type) == "manual": +gfdat.B.use\$manual = string2textvector( '$diffgtest.set_b.meth.selector' ) + #end if + + #if str($diffgtest.use.def) == "no": +plotdiffg\$pthr = as.numeric( '$diffgtest.use.plotdiffg_pthr' ) +plotdiffg\$padj = as.logical( '$diffgtest.use.plotdiffg_padj' ) +plotdiffg\$lthr = as.integer( '$diffgtest.use.plotdiffg_lthr' ) +plotdiffg\$show_names = as.logical( '$diffgtest.use.plotdiffg_show_names' ) + #if $diffgtest.use.plotdiffg_mthr +plotdiffg\$mthr = as.numeric( '$diffgtest.use.plotdiffg_mthr' ) + #end if + #end if +#end if + +out.pdf='${outpdf}' + ]]></token> + <token name="@TRAJECTORY_CHEETAH@"><![CDATA[ + +in.rdat = readRDS('${inputrds}') + +pstc.projc = formals(projcells) +pstc.projc\$knn = as.integer( '$projcell.knn' ) +pstc.projc\$cthr = as.integer( '$projcell.cthr' ) +#if str($projcell.use.def) == "no": +pstc.projc\$nmode = as.logical( '$projcell.use.nmode' ) +pstc.projc\$fr = as.logical( '$projcell.use.fr' ) +#end if + +pstc.projb = formals(projback) +pstc.projb\$pdishuf = as.integer( '$projback.pdishuf' ) +#if str($projback.use.def) == "no": +pstc.projb\$fast = as.logical( '$projback.use.fast' ) +pstc.projb\$rseed = as.integer( '$projback.use.rseed' ) +#end if + +pstc.comppval = formals(comppvalue) +pstc.comppval\$pthr = as.numeric( '$comppval.pthr' ) +pstc.comppval\$sensitive = as.logical( '$comppval.sensitive' ) + +pstc.plotgraph = formals(plotgraph) +pstc.plotgraph\$showCells = as.logical( '$plotgraph.showcells' ) +pstc.plotgraph\$scthr = as.numeric( '$plotgraph.scthr' ) +#if str($plotgraph.use.def) == "no": +pstc.plotgraph\$showTsne = as.logical( '$plotgraph.use.showtsne' ) +pstc.plotgraph\$tp = as.numeric( '$plotgraph.use.tp' ) +#end if + +pstc.compscore = formals(compscore) +pstc.compscore\$nn = as.integer( '$compscore.nn' ) +pstc.compscore\$scthr = as.numeric( '$compscore.scthr' ) + +out.pdf='${outpdf}' +out.rdat='${outrdat}' + ]]></token> + <token name="@INSPECTTRAJECTORIES_CHEETAH@"><![CDATA[ +in.rdat = readRDS('${inputrds}') + +perform.stemID = FALSE +perform.fateID = FALSE +perform.fateID.sominspect = FALSE + +#if str($trjsid.basic.doit) == "yes" +perform.stemID = TRUE +trjsid.getproj = formals(getproj) + +trjsid.numdiffgenes = 10 +trjsid.getproj\$i = as.integer( '$trjsid.basic.i' ) +trjsid.branchcells.ijk = string2numericvector( '$trjsid.basic.br' ) + + #if str($trjsid.basic.use.def) == "no": + +trjsid.getproj\$zscore = as.logical( '$trjsid.basic.use.zscore' ) +trjsid.numdiffgenes = as.integer( '$trjsid.basic.use.ndiffgenes' ) + + #end if +#end if + +#if str($trjfid.basic.doit) == "yes": +perform.fateID = TRUE +trjfid.cellsfrom = formals(cellsfromtree) +trjfid.filterset = formals(filterset) +trjfid.getsom = formals(getsom) +trjfid.procsom = formals(procsom) +trjfid.plotheat = list() + +trjfid.cellsfrom\$z = string2numericvector( '$trjfid.basic.cellsfromz' ) + #if str($trjfid.basic.use.def) == "no": + +trjfid.filterset\$minexpr = as.integer( '$trjfid.basic.use.filterset_minexpr' ) +trjfid.filterset\$minnumber = as.integer( '$trjfid.basic.use.filterset_minnumber' ) +trjfid.getsom\$nb = as.numeric( '$trjfid.basic.use.getsom_nb' ) +trjfid.getsom\$alpha = as.numeric( '$trjfid.basic.use.getsom_alpha' ) +trjfid.procsom\$corthr = as.numeric( '$trjfid.basic.use.procsom_corthr' ) +trjfid.procsom\$minsom = as.integer( '$trjfid.basic.use.procsom_minsom' ) +trjfid.plotheat\$xgrid = as.logical( '$trjfid.basic.use.plotheat_xgrid' ) +trjfid.plotheat\$ygrid = as.logical( '$trjfid.basic.use.plotheat_ygrid' ) +trjfid.plotheat\$xlab = as.logical( '$trjfid.basic.use.plotheat_xlab' ) + #end if + + #if str($trjfid.basic.som.doit) == "yes": +perform.fateID.sominspect = TRUE + +trjfidsomi = list() + #if str($trjfid.basic.som.use_genes.typer) == "genelist": +trjfidsomi.use.genes = string2textvector( '$trjfid.basic.som.use_genes.use_genes' ) + #else if str($trjfid.basic.som.use_genes.typer) == "cln": +trjfidsomi.use.genes = as.integer( '$trjfid.basic.som.use_genes.use_genes' ) + #end if + +trjfidsomi.use.types = '$trjfid.basic.som.use_types' +trjfidsomi\$name = '$trjfid.basic.som.title' + + #if str($trjfid.basic.som.use.def) == "no": +trjfidsomi\$cluster = as.logical( '$trjfid.basic.som.use.cluster' ) +trjfidsomi\$alpha = as.numeric( '$trjfid.basic.som.use.alpha' ) + #end if + #end if +#end if + +out.pdf = '${outpdf}' +out.diffgenes = '${outdiffgenes}' + +]]></token> +</macros>
--- a/macros_cluster.xml Mon Apr 15 17:53:28 2019 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,404 +0,0 @@ -<macros> - <macro name="cluster_inputs" > - <param name="intable" type="data" format="tabular" label="Count Matrix" /> - <section name="filt" title="Filtering" expanded="true" > - <param name="mintotal" type="integer" min="1" value="3000" label="Min Transcripts" help="The minimum total transcripts required. Cells with less than mintotal transcripts are filtered out." /> - <param name="minexpr" type="integer" min="1" value="5" label="Min Expression" help="The minimum required transcript counts of a gene in the minimum number of cells (below)" /> - <param name="minnumber" type="integer" min="1" value="5" label="Min Cells" help="The minumum number of cells for gene expression to be counted" /> - <expand macro="use_defaults_no" > - <param name="knn" type="integer" min="0" value="10" label="K-nearest-neighbours" help="Number of nearest neighbors used to infer corresponding cell types in different batches" /> - <param name="CGenes" type="text" optional="true" label="CGenes" help="Filter out genes with correlated expression for cell type inference" > - <expand macro="sanitize_string_vector" /> - </param> - <param name="FGenes" type="text" optional="true" label="FGenes" help="Explicitly filter out genes for cell type inference" > - <expand macro="sanitize_string_vector" /> - </param> - <param name="LBatch_regexes" type="text" optional="true" label="Batch Regex" help="List of regexes to capture experimental batches for batch effect correction" > - <expand macro="sanitize_string_vector" /> - </param> - <param name="ccor" type="float" value="0.4" label="CCor" help="Correlation coefficient used as a threshold for determining correlated genes" /> - <param name="bmode" type="select" label="Batch Mode" help="Method to regress out batch effects" > - <option value="RaceID" selected="true" >RaceID</option> - <option value="scran">SCRAN</option> - </param> - <conditional name="ccc" > - <param name="use" type="select" label="Perform Cell-cycle correction?" > - <option value="yes" >Yes</option> - <option value="no" selected="true" >No</option> - </param> - <when value="no" /> - <when value="yes" > - <param name="vset" type="text" optional="true" label="List of Gene Sets" > - <expand macro="sanitize_string_vector" /> - </param> - <param name="pvalue" type="float" value="0.01" min="0" max="1" label="P-value Cutoff" help="P-value cutoff for determining enriched components" /> - <param name="quant" type="float" value="0.01" min="0" max="1" label="Quantification Fraction" help="Upper and lower fraction of gene loadings use for determining enriched components" /> - <param name="ncomp" type="integer" min="0" optional="true" label="Number of components to use" help="If left blank, the maximum number of components are used" /><!-- 0 = NULL --> - <param name="dimr" type="boolean" value="true" label="Derive Components from saturation criterion" /> - <param name="mode" type="select" label="Type of Component Analysis" help="If ICA is selected, ensure that the number of components value above is sufficiently high" > - <option value="pca" selected="true">PCA</option> - <option value="ica">ICA</option> - </param> - <param name="logscale" type="boolean" value="false" label="Log-transform data prior to PCA or ICA" help="" /> - </when> - </conditional> - </expand> - </section> - <section name="clust" title="Clustering" expanded="true" > - <!-- CompDist --> - <param name="metric" type="select" label="Distance Metric" > - <option value="pearson" selected="true" >Pearson</option> - <option value="spearman">Spearman</option> - <option value="logpearson">Log Pearson</option> - <option value="euclidean">Euclidean</option> - </param> - <!-- ClustExp --> - <param name="funcluster" type="select" label="Clustering method" > - <option value="kmedoids" selected="true" >K-medoids</option> - <option value="kmeans">K-means</option> - <option value="hclust">H-Clust</option> - </param> - <expand macro="use_defaults_no" > - <!-- CompDist --> - <param name="fselect" type="boolean" value="true" label="Perform feature selection" /> - <param name="knn" type="integer" min="0" optional="true" label="KNN" help="Number of nearest neighbours for imputing gene expression" /><!-- 0: NULL --> - <!-- ClustExp --> - <param name="sat" type="boolean" checked="true" label="Saturation-based clustering?" help="Determine number of clusters on saturation point of the mean within-cluster dispersion as a function of the cluster number." /> - <param name="clustnr" type="integer" min="0" value="30" label="Max number of clusters using Saturation-by-mean" help="Max number of clusters for the derivation of the cluster number by the saturation of mean within-cluster-dispersion." /> - <param name="samp" type="integer" min="0" optional="true" label="Sample random number of cells" help="Number of random sample of cells used for the inference of cluster number and Jaccard similarity" /><!-- 0:NULL --> - <param name="cln" type="integer" min="0" optional="true" label="Number of clusters" /><!-- 0:Null --> - <param name="bootnr" type="integer" min="0" value="50" label="Number of booststrapping runs" /> - <param name="rseed" type="integer" value="17000" label="Random seed" /> - </expand> - </section> - <section name="outlier" title="Outliers" expanded="true" > - <!-- Find Outliers --> - <param name="outminc" type="integer" min="0" value="5" label="Minimum Transcripts" help="minimal transcript count of a gene in a clusters to be tested for being an outlier gene" /> - <param name="outlg" type="integer" min="1" value="2" label="Minimum Genes" help="Minimum number of outlier genes required for being an outlier cell" /> - <!-- RFCorrect --> - <param name="final" type="boolean" value="true" label="Plot Final Clusters?" help="Reclassification of cell types using out-of-bag analysis is performed based on the final clusters after outlier identification. If 'FALSE', then the cluster partition prior to outlier identification is used for reclassification." /> - <expand macro="use_defaults_no" > - <!-- Find Outliers --> - <param name="probthr" type="float" min="0" value="0.001" label="Outlier Probability Threshold" help="Probability threshold for the above specified minimum number of genes to be an outlier cell. This probability is computed from a negative binomial background model of expression in a cluster" /> - <param name="outdistquant" type="float" min="0" max="1" value="0.95" label="Outlier Distance Quantile" help="Outlier cells are merged to outlier clusters if their distance smaller than the outdistquant-quantile of the distance distribution of pairs of cells in the orginal clusters after outlier removal" /> - <!-- RFCorrect --> - <param name="nbtree" type="integer" optional="true" label="Number of trees to be built" /><!-- 0:Null --> - <param name="nbfactor" type="integer" min="0" value="5" label="Tree Factor" help="Number of trees based on the number of cells multiplied by this factor. Effective only if the number of trees parameter is set to 0" /> - <param name="rfseed" type="integer" value="12345" label="Random Seed" /> - </expand> - </section> - <section name="tsne" title="tSNE and FR" expanded="true" > - <!-- CompTSNE --> - <param name="perplexity" type="integer" min="0" value="30" label="Perplexity" help="Perplexity of the t-SNE map" /> - <!-- CompFR --> - <param name="knn" type="integer" min="0" value="10" label="KNN" help="Number of nearest neighbours used for the inference of the Fruchterman-Rheingold layout" /> - <expand macro="use_defaults_no" > - <!-- CompTSNE --> - <param name="initial_cmd" type="boolean" checked="true" label="tSNE map initialised by classical multidimensional scaling" /> - <param name="rseed_tsne" type="integer" value="15555" label="Random Seed (tSNE)" /> - <!-- CompFR --> - <param name="rseed_fr" type="integer" min="0" value="15555" label="Random Seed (FR)" /> - </expand> - </section> - <section name="extra" title="Extra Parameters" expanded="false" > - <param name="tablelim" type="integer" min="1" value="25" label="Table Limit" help="Top N genes to print per cluster" /> - <param name="plotlim" type="integer" min="1" value="10" label="Plot Limit" help="Top N genes to plot. Must be less than or equal to the Table Limit" /> - <param name="foldchange" type="float" min="0" value="1" label="Fold change" /> - <param name="pvalue" type="float" min="0" max="1" value="0.01" label="P-value Cutoff" help="P-value cutoff for the inference of differential gene expression" /> - </section> - </macro> - <macro name="cluster_tests" > - <test> - <!-- default test --> - <conditional name="tool" > - <param name="mode" value="cluster" /> - <!-- This is a file with a single word 'test', which prompts the scripts to use the test intestinalData in the library --> - <param name="intable" value="use.intestinal" /> - </conditional> - <output name="outgenelist" value="intestinal.genelist" /> - <output name="outpdf" value="intestinal.pdf" compare="sim_size" delta="50" /> - </test> - <test> - <!-- defaults, feeding in a matrix with reduced filtering --> - <conditional name="tool" > - <param name="mode" value="cluster" /> - <param name="intable" value="matrix.tabular" /> - <section name="filt" > - <param name="mintotal" value="1000" /> - <param name="minexpr" value="1" /> - <param name="minnumber" value="3" /> - </section> - <param name="use_log" value="true" /> - <output name="outgenelist" value="matrix.genelist" /> - <output name="outrdat" value="matrix.rdat" compare="sim_size" delta="15" /> - <output name="outpdf" value="matrix.pdf" compare="sim_size" delta="10" /> - <output name="outlog" value="matrix.log" /> - </conditional> - </test> - <test> - <!-- defaults, but manually specified. No opts, no CC. Generates identical to above --> - <conditional name="tool" > - <param name="mode" value="cluster" /> - <param name="intable" value="use.intestinal" /> - <section name="filt" > - <param name="mintotal" value="3000" /> - <param name="minexpr" value="5" /> - <param name="minnumber" value="5" /> - <expand macro="test_nondef" > - <param name="knn" value="10" /> - <param name="ccor" value="0.4" /> - <param name="bmode" value="RaceID" /> - </expand> - </section> - <section name="clust" > - <param name="metric" value="pearson" /> - <param name="funcluster" value="kmedoids" /> - <expand macro="test_nondef" > - <param name="fselect" value="true" /> - <param name="sat" value="true" /> - <param name="clustnr" value="30" /> - <param name="bootnr" value="50" /> - <param name="rseed" value="17000" /> - </expand> - </section> - <section name="outlier" > - <param name="outminc" value="5" /> - <param name="outlg" value="2" /> - <param name="final" value="false" /> - <expand macro="test_nondef" section_name="outlier" > - <param name="probthr" value="0.001" /> - <param name="outdistquant" value="0.95" /> - <param name="rfseed" value="12345" /> - <param name="nbfactor" value="5" /> - </expand> - </section> - <section name="tsne" > - <param name="perplexity" value="30" /> - <param name="knn" value="10" /> - <expand macro="test_nondef" section_name="tsne" > - <param name="initial_cmd" value="true" /> - <param name="rseed_tsne" value="15555" /> - <param name="rfseed_fr" value="15555" /> - </expand> - </section> - </conditional> - <output name="outgenelist" value="intestinal.genelist" /> - <output name="outpdf" value="intestinal.pdf" compare="sim_size" delta="50" /> - </test> - <test> - <!-- Advanced. Opts, CC used --> - <conditional name="tool" > - <param name="mode" value="cluster" /> - <param name="intable" value="use.intestinal" /> - <section name="filt" > - <param name="mintotal" value="2000" /> - <param name="minexpr" value="3" /> - <param name="minnumber" value="2" /> - <expand macro="test_nondef" > - <param name="knn" value="5" /> - <param name="ccor" value="0.5" /> - <param name="CGenes" value="Gga3,Ggact,Ggct" /> - <param name="FGenes" value="Zxdc,Zyg11a,Zyg11b,Zyx" /> - <param name="LBatch_regexes" value="^I5,^II5,^III5,^IV5d,^V5d" /> - <param name="bmode" value="scran" /> - <conditional name="ccc" > - <param name="use" value="yes" /> - <param name="pvalue" value="0.05" /> - <param name="quant" value="0.05" /> - <param name="ncomp" value="3" /> - <param name="dimr" value="true" /> - <param name="mode" value="pca" /> - <param name="logscale" value="true" /> - </conditional> - </expand> - </section> - <section name="clust" > - <param name="metric" value="euclidean" /> - <param name="funcluster" value="hclust" /> - <expand macro="test_nondef" > - <param name="fselect" value="false" /> - <param name="knn" value="5" /> - <param name="sat" value="false" /> - <param name="samp" value="10" /> - <param name="cln" value="10" /> - <param name="clustnr" value="10" /> - <param name="bootnr" value="30" /> - <param name="rseed" value="17000" /> - </expand> - </section> - <section name="outlier" > - <param name="outminc" value="3" /> - <param name="outlg" value="5" /> - <param name="final" value="true" /> - <expand macro="test_nondef" > - <param name="probthr" value="0.01" /> - <param name="outdistquant" value="0.5" /> - <param name="rfseed" value="12345" /> - <param name="nbfactor" value="5" /> - <param name="nbtree" value="10" /> - </expand> - </section> - <section name="tsne" > - <param name="perplexity" value="20" /> - <param name="knn" value="6" /> - <expand macro="test_nondef" > - <param name="initial_cmd" value="false" /> - <param name="rseed_tsne" value="15555" /> - <param name="rfseed_fr" value="15555" /> - </expand> - </section> - </conditional> - <output name="outgenelist" value="intestinal_advanced.genelist" /> - <output name="outpdf" value="intestinal_advanced.pdf" compare="sim_size" delta="150" /> - </test> - </macro> - <token name="@FILTNORM_CHEETAH@"><![CDATA[ -## Perform do.filter -use.filtnormconf = TRUE - -## Perform do.cluster, do.outlier, do.clustmap, mkgenelist -use.cluster = FALSE - -in.table = read.table( - '${intable}', - stringsAsFactors = F, - na.strings=c("NA", "-", "?", "."), - sep='\t', - header=TRUE, - row.names=1 -) - -## Hidden flag to use test data instead -## see: test-data/use.intestinal - -use.test.data = (names(in.table)[1] == "test") - -sc = NULL -if (use.test.data) { - sc = SCseq(intestinalData) - message("Loading test data from library") -} else { - sc = SCseq(in.table) -} - - -filt = formals(filterdata) -filt.ccc = formals(CCcorrect) -filt.use.ccorrect = FALSE -filt.lbatch.regexes = NULL - -filt.geqone = as.logical( '$filt.hist_geq_one' ) -filt\$mintotal = as.integer( '$filt.mintotal' ) -filt\$minexpr = as.integer( '$filt.minexpr' ) -filt\$minnumber = as.integer( '$filt.minnumber' ) -#if str($filt.use.def) == "no": -filt\$knn = as.integer( '$filt.use.knn' ) -filt\$ccor = as.numeric( '$filt.use.ccor' ) -filt\$bmode = as.character( '$filt.use.bmode' ) - #if $filt.use.LBatch_regexes: -filt.lbatch.regexes = string2textvector( '$filt.use.LBatch_regexes' ) - #end if - #if $filt.use.CGenes: -filt\$CGenes = string2textvector( '$filt.use.CGenes' ) - #end if - #if $filt.use.FGenes: -filt\$FGenes = string2textvector( '$filt.use.FGenes' ) - #end if - #if str($filt.use.ccc.use) == "yes" -filt.use.ccorrect = TRUE - #if $filt.use.ccc.vset: -filt.ccc\$vset = string2textvector( '$filt.use.ccc.vset' ) - #end if - #if $filt.use.ccc.ncomp: -filt.ccc\$nComp = as.integer( '$filt.use.ccc.ncomp' ) - #end if -filt.ccc\$pvalue = as.numeric( '$filt.use.ccc.pvalue' ) -filt.ccc\$quant = as.numeric( '$filt.use.ccc.quant' ) -filt.ccc\$dimR = as.logical( '$filt.use.ccc.dimr' ) -filt.ccc\$mode = as.character( '$filt.use.ccc.mode.value' ) -filt.ccc\$logscale = as.logical( '$filt.use.ccc.logscale' ) - #end if -#end if - -out.pdf = '${outpdf}' -out.rdat = '${outrdat}' - -]]></token> - <token name="@CLUSTER_CHEETAH@"><![CDATA[ - -in.rdat = readRDS('${inputrds}') - -sc = in.rdat - -## Perform do.filter -use.filtnormconf = FALSE - -## Perform do.cluster, do.outlier, do.clustmap, mkgenelist -use.cluster = TRUE - - -clust.compdist = formals(compdist) -clust.clustexp = formals(clustexp) -clust.compdist\$metric = as.character( '$clust.metric' ) -clust.clustexp\$FUNcluster = as.character( '$clust.funcluster' ) - -#if str($clust.use.def) == "no": - -clust.compdist\$FSelect = as.logical( '$clust.use.fselect' ) - #if $clust.use.knn: -clust.compdist\$knn = as.integer( '$clust.use.knn' ) - #end if -clust.clustexp\$sat = as.logical( '$clust.use.sat' ) - #if $clust.use.samp: -clust.clustexp\$samp = as.integer( '$clust.use.samp' ) - #end if - #if $clust.use.cln: -clust.clustexp\$cln = as.integer( '$clust.use.cln' ) -clust.clustexp\$clustnr = as.integer( '$clust.use.clustnr' ) -clust.clustexp\$bootnr = as.integer( '$clust.use.bootnr' ) -##clust.clustexp\$rseed = as.integer( '$clust.use.rseed' ) - #end if -#end if - -outlier.use.randomforest = FALSE -outlier.findoutliers = formals(findoutliers) -outlier.clustheatmap = formals(clustheatmap) -outlier.rfcorrect = formals(rfcorrect) - -outlier.findoutliers\$outminc = as.integer( '$outlier.outminc' ) -outlier.findoutliers\$outlg = as.integer( '$outlier.outlg' ) -outlier.rfcorrect\$final = as.logical( '$outlier.final' ) - -#if str($outlier.use.def) == "no": - #if $outlier.use.nbtree: -outlier.rfcorrect\$nbtree = as.integer( '$outlier.use.nbtree' ) - #end if -outlier.findoutliers\$probthr = as.numeric( '$outlier.use.probthr' ) -outlier.findoutliers\$outdistquant = as.numeric( '$outlier.use.outdistquant' ) -##outlier.rfcorrect\$rfseed = as.integer( '$outlier.use.rfseed' ) -outlier.rfcorrect\$nbfactor = as.integer( '$outlier.use.nbfactor' ) -#end if - -cluster.comptsne = formals(comptsne) -cluster.compfr = formals(compfr) - -cluster.comptsne\$perplexity = as.integer( '$tsne.perplexity' ) -cluster.compfr\$knn = as.integer( '$tsne.knn' ) -#if str($tsne.use.def) == "no": -cluster.comptsne\$initial_cmd = as.logical( '$tsne.use.initial_cmd' ) -cluster.comptsne\$rseed = as.integer( '$tsne.use.rseed_tsne' ) -cluster.compfr\$rseed = as.integer( '$tsne.use.rseed_fr' ) -#end if - -genelist.tablelim = as.integer( '$extra.tablelim' ) -genelist.plotlim = as.integer( '$extra.plotlim' ) -genelist.foldchange = as.integer( '$extra.foldchange' ) -genelist.pvalue = as.numeric( '$extra.pvalue' ) - -out.pdf = '${outpdf}' -out.rdat = '${outrdat}' -out.genelist = '${outgenelist}' - -]]> - </token> -</macros>
--- a/macros_inspectclusters.xml Mon Apr 15 17:53:28 2019 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,326 +0,0 @@ -<macros> - <macro name="inspectclusters_inputs" > - <param name="inputrds" type="data" format="rdata" label="Input RaceID RDS" help="Requires the RDS output from the cluster analysis" /> - <conditional name="plotgen"> - <param name="do_opt" type="select" label="Plot All Clusters?" help="Generates tSNE and F-R plots" > - <option value="yes" selected="true" >Yes</option> - <option value="no" >No</option> - </param> - <when value="no" /> - <when value="yes" /> - </conditional> - <conditional name="plotsym" > - <param name="do_opt" type="select" label="Perform Subset Analysis?" > - <expand macro="yesno_checkedno" /> - </param> - <when value="no" /> - <when value="yes"> - <param name="types_regex" type="text" optional="true" label="Types Regex (removal)" help="Regular expression to be used to remove portions of the cell names, in order to indicate cell type. e.g. if your cells are labelled as 'cdk5_1, cdk5_2, glow_1, glow_2', then a regex of '_\\d$' would trim off the ends and set the cell types to 'cdk5, cdk5, glow, glow'. " > - <expand macro="sanitize_regex" /> - </param> - <expand macro="use_defaults_no" > - <param name="subset_regex" type="text" optional="true" label="Subset of Types: Regex (select)" help="Regular expression to be used to select for cell types of interest. e.g. if we are only interested in 'cdk5' positive cells, then we would simply put 'cdk5' here. "> - <expand macro="sanitize_regex" /> - </param> - <param name="fr" type="boolean" checked="false" label="Output FR map instead of tSNE" help="Performs a Fruchterman-Rheingold projection instead of tSNE" /> - </expand> - </when> - </conditional> - <conditional name="gois" > - <param name="do_opt" type="select" label="Examine Genes of Interest" > - <expand macro="yesno_checkedno" /> - </param> - <when value="no" /> - <when value="yes"> - <param name="inspect_goi_genes" type="text" value="" label="Genes to Examine" > - <expand macro="sanitize_string_vector" /> - </param> - <param name="inspect_goi_cells" type="text" optional="true" label="Cells to Examine" help="Leave blank to examine all" ><!-- "":NULL --> - <expand macro="sanitize_string_vector" /> - </param> - <expand macro="use_defaults_no" > - <!-- Yes, examine genes of interest, but no do not use defaults... --> - <param name="inspect_goi_imputed" type="boolean" checked="false" label="Impute Genes" help="Only works if k-nearest neighbours was used in the clustering" /> - <param name="plotexp_n" type="text" optional="true" label="Title of plot" help="If blank, the list of genes are used" > - <expand macro="sanitize_title" /> - </param> - <param name="plotmarkg_cthr" type="integer" min="0" value="0" label="Cluster Threshold" help="Include only clusters with cells greater than this" /> - <param name="plotmarkg_cl" type="text" optional="true" label="Cluster List" help="List of cluster numbers to include. Leave blank to include all" > - <expand macro="sanitize_numeric_vector" /> - </param><!-- "":NULL --> - <param name="plotmarkg_order_cells" type="boolean" checked="false" label="Order Cells" help="Order heatmap by cell names, not by cluster" /> - <param name="plotmarkg_aggr" type="boolean" checked="false" label="Average Expression" help="Show only average expression for each cluster" /> - <param name="plotmarkg_norm" type="boolean" checked="false" label="Normalise Gene Expression " help="Normalise gene expression to 1 to depict genes on the same scale" /> - <param name="plotmarkg_flo" type="integer" max="-5" optional="true" label="Lower-bound for Gene Expression" /><!-- negative or null vals only for this seem to work--> - <param name="plotmarkg_cap" type="integer" min="1" optional="true" label="Upper-bound for Gene Expression" /> - <param name="plotmarkg_samples" type="text" optional="true" label="Regex to Select Sample Names For Each cell" > - <expand macro="sanitize_regex" /> - </param> - <param name="plotmarkg_cluster_cols" type="boolean" checked="false" label="Cluster columns" /> - <param name="plotmarkg_cluster_rows" type="boolean" checked="true" label="Cluster rows" /> - <param name="plotmarkg_cluster_set" type="boolean" checked="false" label="Order Clusters by Heirarchal Clustering of Cluster Medoids." /> - </expand> - </when> - </conditional> - <conditional name="diffgtest" > - <param name="do_opt" type="select" label="Differential Gene Testing" > - <expand macro="yesno_checkedno" /> - </param> - <when value="no" /> - <when value="yes" > - <expand macro="select_cells" sectionname="set_a" sectiontitle="Cells in Set A" /> - <expand macro="select_cells" sectionname="set_b" sectiontitle="Cells in Set B" /> - <expand macro="use_defaults_no" > - <param name="plotdiffg_pthr" type="float" min="0" max="1" value="0.05" label="P-value cutoff" help="Cutoff for displaying differentially expressed genes" /> - <param name="plotdiffg_padj" type="boolean" checked="true" label="Apply B-H Correction" help="Display genes with a Benjamini-Hochberg corrected false discovery rate lower than the above P-value threshold" /> - <param name="plotdiffg_lthr" type="float" min="0" value="0" label="Log2-Fold Threshold" help="Differentially expressed genes are displayed only for log2 fold-changes higher than this" /> - <param name="plotdiffg_mthr" type="float" optional="true" label="Log2 Mean Threshold" help="Differentially expressed genes are displayed only for log2 mean expression greater than this" /><!-- opt:-Inf --> - <param name="plotdiffg_show_names" type="boolean" checked="false" label="Display Gene Names" /> - </expand> - </when> - </conditional> - </macro> - <macro name="inspectclusters_tests" > - <test><!-- general plots, plotgen --> - <param name="inputrds" value="out_cluster_default.rdat" /> - <conditional name="plotgen" > - <param name="do_opt" value="yes" /> - </conditional> - <output name="outpdf" value="out_cluster_general_default.pdf" /> - </test> - <test><!-- default test, plotsym --> - <param name="inputrds" value="out_cluster_default.rdat" /> - <conditional name="plotsym" > - <param name="do_opt" value="yes" /> - <param name="types_regex" value="\\_\\d+" /> - <expand macro="test_nondef" > - <param name="subset_regex" value="IV|V" /> - </expand> - </conditional> - <conditional name="gois" > - <param name="do_opt" value="yes" /> - <param name="inspect_goi_genes" value="Apoa1,Apoa1bp,Apoa2,Apoa4,Apoa5" /> - </conditional> - <output name="outpdf" value="out_cluster_inspect_default.pdf" /> - </test> - <test><!-- Advanced 1 --> - <param name="inputrds" value="out_cluster_default.rdat" /> - <conditional name="plotsym" > - <param name="do_opt" value="yes" /> - <param name="types_regex" value="\\_\\d+" /> - <expand macro="test_nondef" > - <param name="subset_regex" value="IV|V" /> - <param name="fr" value="true" /> - </expand> - </conditional> - <conditional name="gois" > - <param name="do_opt" value="yes" /> - <param name="inspect_goi_genes" value="Apoa1,Apoa1bp,Apoa2,Apoa4,Apoa5" /> - <expand macro="test_nondef" > - <param name="inspect_goi_imputed" value="false" /> - <param name="plotexp_n" value="Test Title" /> - <param name="plotmarkg_order_cells" value="true" /> - <param name="plotmarkg_aggr" value="true" /> - <param name="plotmarkg_norm" value="true" /> - <param name="plotmarkg_flo" value="-10" /> - <param name="plotmarkg_cap" value="100" /> - <param name="plotmarkg_samples" value="(\\_\\d+)$" /> - <param name="plotmarkg_cluster_cols" value="true" /> - <param name="plotmarkg_cluster_rows" value="false" /> - <param name="plotmarkg_cluster_set" value="true" /> - </expand> - </conditional> - <conditional name="diffgtest" > - <param name="do_opt" value="yes" /> - <section name="set_a" > - <param name="name_set" value="Test set A" /> - <conditional name="meth" > - <param name="type" value="regex" /> - <param name="selector" value="^V5.*" /> - </conditional> - </section> - <section name="set_b" > - <param name="name_set" value="Test set B" /> - <conditional name="meth" > - <param name="type" value="manual" /> - <param name="selector" value="I5d_3,I5d_4,I5d_6,I5d_8,I5d_9,I5d_10,I5d_11,I5d_12,I5d_13,I5d_14" /> - </conditional> - </section> - <expand macro="test_nondef" > - <param name="plotdiffg_pthr" value="0.1" /> - <param name="plotdiffg_padj" value="false" /> - <param name="plotdiffg_lthr" value="0.2" /> - <param name="plotdiffg_mthr" value="0.2" /> - <param name="plotdiffg_show_names" value="true" /> - </expand> - </conditional> - <output name="outpdf" value="out_cluster_inspect_advanced1.pdf" /> - </test> - <test><!-- Advanced 2 --> - <param name="inputrds" value="out_cluster_default.rdat" /> - <conditional name="plotsym" > - <param name="do_opt" value="yes" /> - <expand macro="test_nondef" > - <param name="fr" value="false" /> - </expand> - </conditional> - <conditional name="gois" > - <param name="do_opt" value="yes" /> - <param name="inspect_goi_genes" value="Sp1,Spc24,Spcs1,Spcs2,Spcs3" /> - <expand macro="test_nondef" > - <param name="plotexp_n" value="Test Title 2" /> - <param name="plotmarkg_order_cells" value="true" /> - <param name="plotmarkg_aggr" value="true" /> - <param name="plotmarkg_norm" value="false" /> - <param name="plotmarkg_flo" value="-10" /> - <param name="plotmarkg_cap" value="10" /> - <param name="plotmarkg_cluster_cols" value="true" /> - <param name="plotmarkg_cluster_rows" value="true" /> - <param name="plotmarkg_cluster_set" value="true" /> - </expand> - </conditional> - <conditional name="diffgtest" > - <param name="do_opt" value="yes" /> - <section name="set_a" > - <param name="name_set" value="Test set A" /> - <conditional name="meth" > - <param name="type" value="regex" /> - <param name="selector" value="^IV.*" /> - </conditional> - </section> - <section name="set_b" > - <param name="name_set" value="Test set B" /> - <conditional name="meth" > - <param name="type" value="cln" /> - <param name="selector" value="3" /> - </conditional> - </section> - <expand macro="test_nondef" > - <param name="plotdiffg_pthr" value="0.8" /> - <param name="plotdiffg_padj" value="true" /> - <param name="plotdiffg_lthr" value="0.8" /> - <param name="plotdiffg_mthr" value="0.8" /> - <param name="plotdiffg_show_names" value="false" /> - </expand> - </conditional> - <output name="outpdf" value="out_cluster_inspect_advanced2.pdf" /> - </test> - </macro> - <token name="@INSPECTCLUSTERS_CHEETAH@"><![CDATA[ - -in.rdat = readRDS('${inputrds}') - -perform.plotting = FALSE -perform.symbolmap = FALSE -perform.genesofinterest = FALSE -perform.diffgene = FALSE - -#if str($plotgen.do_opt) == "yes": -perform.plotting = TRUE -#end if - -#if str($plotsym.do_opt) == "yes": -perform.symbolmap = TRUE -plotsym = formals(plotsymbolsmap) -plotsym.use.typeremoveregex = NULL -plotsym.use.typeremoveregex.subselect = NULL -plotsym.use.typeremoveregex = as.character( '$plotsym.types_regex' ) - #if str($plotsym.use.def) == "no": -plotsym\$fr = as.logical( '$plotsym.use.fr' ) - #if $plotsym.use.subset_regex: -plotsym.use.typeremoveregex.subselect = as.character( '$plotsym.use.subset_regex' ) - #end if - #end if -#end if - -#if str($gois.do_opt) == "yes": -perform.genesofinterest = TRUE -plotexp = formals(plotexpmap) -plotmarkg = formals(plotmarkergenes) - -inspect.goi.use.genes = string2textvector( '$gois.inspect_goi_genes' ) -plotexp\$g = inspect.goi.use.genes -plotmarkg\$genes = inspect.goi.use.genes - - #if $gois.inspect_goi_cells: -inspect.goi.use.cells = as.character( '$gois.inspect_goi_cells' ) -plotexp\$cells = inspect.goi.use.cells -plotmarkg\$cells = inspect.goi.use.cells - #end if - #if str($gois.use.def) == "no": -inspect.goi.use.imputed = as.logical( '$gois.use.inspect_goi_imputed' ) -plotexp\$imputed = inspect.goi.use.imputed -plotmarkg\$imputed = inspect.goi.use.imputed - #if $gois.use.plotmarkg_cl -plotmarkg\$cl = string2numericvector( '$gois.use.plotmarkg_cl' ) - #end if - #if $gois.use.plotmarkg_cap -plotmarkg\$cap = as.integer( '$gois.use.plotmarkg_cap' ) - #end if - #if $gois.use.plotmarkg_flo -plotmarkg\$flo = as.integer( '$gois.use.plotmarkg_flo' ) - #end if - #if $gois.use.plotmarkg_samples -plotmarkg\$samples = as.character( '$gois.use.plotmarkg_samples' ) - #end if - #if $gois.use.plotexp_n -plotexp\$n = as.character( '$gois.use.plotexp_n' ) - #end if -plotmarkg\$cthr = as.integer( '$gois.use.plotmarkg_cthr' ) -plotmarkg\$order.cells = as.logical( '$gois.use.plotmarkg_order_cells' ) -plotmarkg\$aggr = as.logical( '$gois.use.plotmarkg_aggr' ) -plotmarkg\$norm = as.logical( '$gois.use.plotmarkg_norm' ) -plotmarkg\$cluster_cols = as.logical( '$gois.use.plotmarkg_cluster_cols' ) -plotmarkg\$cluster_rows = as.logical( '$gois.use.plotmarkg_cluster_rows' ) -plotmarkg\$cluster_set = as.logical( '$gois.use.plotmarkg_cluster_set' ) - #end if -#end if - -#if str($diffgtest.do_opt) == "yes": -plotdiffg = formals(plotdiffgenesnb) - -perform.diffgene = TRUE -plotdiffg\$Aname = '$diffgtest.set_a.name_set' -plotdiffg\$Bname = '$diffgtest.set_b.name_set' - -gfdat.A.use = list() -gfdat.B.use = list() - -gfdat.A.use\$manual = NULL -gfdat.A.use\$regex = NULL -gfdat.A.use\$cln = NULL -gfdat.B.use\$manual = NULL -gfdat.B.use\$regex = NULL -gfdat.B.use\$cln = NULL - - #if str($diffgtest.set_a.meth.type) == "cln": -gfdat.A.use\$cln = c( '$diffgtest.set_a.meth.selector' ) - #else if str($diffgtest.set_a.meth.type) == "regex": -gfdat.A.use\$regex = as.character( '$diffgtest.set_a.meth.selector' ) - #else if str($diffgtest.set_a.meth.type) == "manual": -gfdat.A.use\$manual = string2textvector( '$diffgtest.set_a.meth.selector' ) - #end if - - #if str($diffgtest.set_b.meth.type) == "cln": -gfdat.B.use\$cln = c( '$diffgtest.set_b.meth.selector' ) - #else if str($diffgtest.set_b.meth.type) == "regex": -gfdat.B.use\$regex = as.character( '$diffgtest.set_b.meth.selector' ) - #else if str($diffgtest.set_b.meth.type) == "manual": -gfdat.B.use\$manual = string2textvector( '$diffgtest.set_b.meth.selector' ) - #end if - - #if str($diffgtest.use.def) == "no": -plotdiffg\$pthr = as.numeric( '$diffgtest.use.plotdiffg_pthr' ) -plotdiffg\$padj = as.logical( '$diffgtest.use.plotdiffg_padj' ) -plotdiffg\$lthr = as.integer( '$diffgtest.use.plotdiffg_lthr' ) -plotdiffg\$show_names = as.logical( '$diffgtest.use.plotdiffg_show_names' ) - #if $diffgtest.use.plotdiffg_mthr -plotdiffg\$mthr = as.numeric( '$diffgtest.use.plotdiffg_mthr' ) - #end if - #end if -#end if - -out.pdf='${outpdf}' - ]]> - </token> -</macros>
--- a/macros_inspecttrajectories.xml Mon Apr 15 17:53:28 2019 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,243 +0,0 @@ -<macros> - <macro name="inspecttrajectories_inputs" > - <param name="inputrds" type="data" format="rdata" label="Input RDS" help="Requires the RDS output from the trajectory analysis" /> - <section name="trjsid" title="StemID Branch Link Examine" expanded="true" help="StemID derives cell lineage trees and predicts multipotent cell identities"> - <conditional name="basic" > - <param name="doit" type="select" label="Perform StemID?" > - <expand macro="yesno_checkedno" /> - </param> - <when value="no" /> - <when value="yes" > - <param name="i" type="integer" min="1" value="1" label="Cluster Number" /> - <param name="br" type="text" label="Trajectory Path i, j, k" help="A path of three clusters starting at i, passing through j, and ending at k." > - <expand macro="sanitize_numeric_vector" /> - </param> - <expand macro="use_defaults_no"> - <param name="zscore" type="boolean" checked="false" label="Plot Z-score Transformed Projections" /> - <param name="ndiffgenes" type="integer" min="1" value="10" label="Number of DE Genes" help="Number of differentially expressed genes to output per cluster" /> - </expand> - </when> - </conditional> - </section> - <section name="trjfid" title="FateID Branch Link Examine" expanded="true" help="FateID infers cell fate bias in multipotent progenitor cells" > - <conditional name="basic" > - <param name="doit" type="select" label="Perform FateID?" > - <expand macro="yesno_checkedno" /> - </param> - <when value="no" /> - <when value="yes" > - <param name="cellsfromz" type="text" value="" label="Cells from Clusters" help="Vector of valid cluster numbers ordered along the trajectory" > - <expand macro="sanitize_numeric_vector" /> - </param> - <expand macro="use_defaults_no"> - <param name="filterset_minexpr" type="integer" min="0" value="2" label="Min Expression" help="Minimum expression required for at least minnumber cells" /> - <param name="filterset_minnumber" type="integer" min="0" value="1" label="Min Number of Cells" help="Minimum number of cells in which a gene needs to be expressed at least a level of minexpr."/> - <param name="getsom_nb" type="integer" min="1" value="1000" label="SOM Nodes" help="Number of nodes of the self-organizing map." /> - <param name="getsom_alpha" type="float" min="0" value="0.5" label="Smoothing parameter" help="Pseudo-temporal expression profiles are derived by a local regression of expression values across the ordered cells using the function 'loess' from the package 'stats'. This is the parameter, which controls the degree of smoothing. Larger values return smoother profiles." /> - <param name="procsom_corthr" type="float" min="0" max="1" value="0.85" label="Correlation threshold" help="The z-score of the average normalized pseudo-temporal expression profiles within each node of the self-organizing map is computed, and the correlation of these z-scores between neighbouring nodes is computed. If the correlation is greater than 'corthr', neighbouring nodes are merged" /> - <param name="procsom_minsom" type="integer" min="0" value="3" label="Min SOM" help="Nodes of the self-organizing map with less than this number of transcripts are discarded" /> - <param name="plotheat_xgrid" type="boolean" checked="false" label="Partitioning along the x-axis" /> - <param name="plotheat_ygrid" type="boolean" checked="false" label="Partitioning along the y-axis" /> - <param name="plotheat_xlab" type="boolean" checked="false" label="Average position is given for each partition along the x-axis" /> - </expand> - <conditional name="som" > - <param name="doit" type="select" label="Perform Additional FateID Analysis with Self-Organised Map?" > - <expand macro="yesno_checkedno" /> - </param> - <when value="no" /> - <when value="yes" > - <conditional name="use_genes" > - <param name="typer" type="select" label="Genes to Inspect" > - <option value="genelist">List of Genes</option> - <option value="cln">Cluster</option> - </param> - <when value="genelist"> - <param name="use_genes" type="text" value="" label="Gene List" > - <expand macro="sanitize_string_vector" /> - </param> - </when> - <when value="cln" > - <param name="use_genes" type="integer" min="1" value="1" label="Cluster Number" /> - </when> - </conditional> - <param name="use_types" type="text" value="\\_\\d+" label="Types Regex (select)" help="Regex to select types across cell names" > - <expand macro="sanitize_regex" /> - </param> - <param name="title" type="text" value="Title" label="Plot title" /> - <expand macro="use_defaults_no"> - <param name="cluster" type="boolean" checked="false" label="Partitioning along the x-axis" /> - <param name="alpha" type="float" min="0" max="1" value="0.5" label="Smoothing parameter" /> - </expand> - </when> - </conditional> - </when> - </conditional> - </section> - </macro> - <macro name="inspecttrajectories_tests" > - <test> - <!-- default, generates a blank report --> - <param name="inputrds" value="out_traject_default.ltree.rdat" /> - <output name="outpdf" value="out_traject_inspect_default.ltree.blank.pdf" compare="sim_size" delta="15" /> - </test> - <test> - <!-- stemID branch inspection: vignette search "getproj" --> - <param name="inputrds" value="out_traject_default.ltree.rdat" /> - <section name="trjsid" > - <conditional name="basic" > - <param name="doit" value="yes" /> - <param name="i" value="3" /> - <param name="br" value="1,3,8" /> - </conditional> - </section> - <output name="outpdf" value="out_traject_inspect_stemid.pdf" compare="sim_size" delta="15" /> - <output name="outdiffgenes" value="out_traject_inspect_stemid.tabular" /> - </test> - <test> - <!-- fateID trajectory inspection: vignette search "cellsfromtree" --> - <param name="inputrds" value="out_traject_default.ltree.rdat" /> - <section name="trjfid" > - <conditional name="basic" > - <param name="doit" value="yes" /> - <param name="cellsfromz" value="2,1,4" /> - <expand macro="test_nondef" > - <param name="filterset_minexpr" value="2" /> - <param name="getsom_nb" value="1000" /> - <param name="getsom_alpha" value="0.5" /> - <param name="plotheat_xlab" value="true" /> - </expand> - </conditional> - </section> - <output name="outpdf" value="out_traject_inspect_fateid.pdf" compare="sim_size" delta="15" /> - </test> - <test> - <!-- fateID trajectory inspection with som: vignette search "SOM" --> - <param name="inputrds" value="out_traject_default.ltree.rdat" /> - <section name="trjfid" > - <conditional name="basic" > - <param name="doit" value="yes" /> - <param name="cellsfromz" value="2,1,4" /> - <conditional name="som" > - <param name="doit" value="yes" /> - <expand macro="test_nondef" > - <param name="typer" value="cln" /> - <param name="use_genes" value="12" /> - </expand> - </conditional> - </conditional> - </section> - <output name="outpdf" value="out_traject_inspect_fateid_som.pdf" compare="sim_size" delta="15" /> - </test> - <test> - <!-- uses all 3 sections with additional non-default params --> - <param name="inputrds" value="out_traject_default.ltree.rdat" /> - <section name="trjsid" > - <conditional name="basic" > - <param name="doit" value="yes" /> - <param name="i" value="5" /> - <param name="br" value="6,5,3" /> - <expand macro="test_nondef" > - <param name="zscore" value="true" /> - <param name="ndiffgenes" value="14" /> - </expand> - </conditional> - </section> - <section name="trjfid" > - <conditional name="basic" > - <param name="doit" value="yes" /> - <param name="cellsfromz" value="3,9,2" /> - <expand macro="test_nondef" > - <param name="filterset_minexpr" value="1" /> - <param name="filterset_minnumber" value="2" /> - <param name="procsom_minsom" value="5" /> - <param name="procsom_corthr" value="0.5" /> - <param name="plotheat_ygrid" value="true" /> - </expand> - <conditional name="som" > - <param name="doit" value="yes" /> - <conditional name="use_genes" > - <param name="typer" value="genelist" /> - <param name="use_genes" value="Clca4,Mki67,Defa24,Ybx1,Vasp,Apoa1" /> - <expand macro="test_nondef" > - <param name="cluster" value="true" /> - <param name="alpha" value="0.1" /> - </expand> - </conditional> - </conditional> - </conditional> - </section> - <output name="outdiffgenes" value="out_traject_inspect_allthree.tabular" /> - <output name="outpdf" value="out_traject_inspect_allthree.pdf" compare="sim_size" delta="15" /> - </test> - </macro> - <token name="@INSPECTTRAJECTORIES_CHEETAH@"><![CDATA[ -in.rdat = readRDS('${inputrds}') - -perform.stemID = FALSE -perform.fateID = FALSE -perform.fateID.sominspect = FALSE - -#if str($trjsid.basic.doit) == "yes" -perform.stemID = TRUE -trjsid.getproj = formals(getproj) - -trjsid.numdiffgenes = 10 -trjsid.getproj\$i = as.integer( '$trjsid.basic.i' ) -trjsid.branchcells.ijk = string2numericvector( '$trjsid.basic.br' ) - - #if str($trjsid.basic.use.def) == "no": - -trjsid.getproj\$zscore = as.logical( '$trjsid.basic.use.zscore' ) -trjsid.numdiffgenes = as.integer( '$trjsid.basic.use.ndiffgenes' ) - - #end if -#end if - -#if str($trjfid.basic.doit) == "yes": -perform.fateID = TRUE -trjfid.cellsfrom = formals(cellsfromtree) -trjfid.filterset = formals(filterset) -trjfid.getsom = formals(getsom) -trjfid.procsom = formals(procsom) -trjfid.plotheat = list() - -trjfid.cellsfrom\$z = string2numericvector( '$trjfid.basic.cellsfromz' ) - #if str($trjfid.basic.use.def) == "no": - -trjfid.filterset\$minexpr = as.integer( '$trjfid.basic.use.filterset_minexpr' ) -trjfid.filterset\$minnumber = as.integer( '$trjfid.basic.use.filterset_minnumber' ) -trjfid.getsom\$nb = as.numeric( '$trjfid.basic.use.getsom_nb' ) -trjfid.getsom\$alpha = as.numeric( '$trjfid.basic.use.getsom_alpha' ) -trjfid.procsom\$corthr = as.numeric( '$trjfid.basic.use.procsom_corthr' ) -trjfid.procsom\$minsom = as.integer( '$trjfid.basic.use.procsom_minsom' ) -trjfid.plotheat\$xgrid = as.logical( '$trjfid.basic.use.plotheat_xgrid' ) -trjfid.plotheat\$ygrid = as.logical( '$trjfid.basic.use.plotheat_ygrid' ) -trjfid.plotheat\$xlab = as.logical( '$trjfid.basic.use.plotheat_xlab' ) - #end if - - #if str($trjfid.basic.som.doit) == "yes": -perform.fateID.sominspect = TRUE - -trjfidsomi = list() - #if str($trjfid.basic.som.use_genes.typer) == "genelist": -trjfidsomi.use.genes = string2textvector( '$trjfid.basic.som.use_genes.use_genes' ) - #else if str($trjfid.basic.som.use_genes.typer) == "cln": -trjfidsomi.use.genes = as.integer( '$trjfid.basic.som.use_genes.use_genes' ) - #end if - -trjfidsomi.use.types = '$trjfid.basic.som.use_types' -trjfidsomi\$name = '$trjfid.basic.som.title' - - #if str($trjfid.basic.som.use.def) == "no": -trjfidsomi\$cluster = as.logical( '$trjfid.basic.som.use.cluster' ) -trjfidsomi\$alpha = as.numeric( '$trjfid.basic.som.use.alpha' ) - #end if - #end if -#end if - -out.pdf = '${outpdf}' -out.diffgenes = '${outdiffgenes}' - -]]> - </token> -</macros>
--- a/macros_trajectory.xml Mon Apr 15 17:53:28 2019 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,156 +0,0 @@ -<macros> - <macro name="trajectory_inputs" > - <param name="inputrds" type="data" format="rdata" label="Input RDS" help="This is the output RData file given by the Cluster stage" /> - <section name="projcell" title="Compute transcriptome entropy of each cell" expanded="true" > - <param name="knn" type="integer" min="0" value="3" label="KNN" help="Number of nearest neighbours to consider." /> - <param name="cthr" type="integer" min="0" value="5" label="Cluster Threshold" help="Clusters to be included in the StemID analysis must have more than this number of cells" /> - <expand macro="use_defaults_no" > - <param name="nmode" type="boolean" checked="true" label="Neighbour Mode" help="Assign a cell of a given cluster to the cluster with the smallest average distance of the knn nearest neighbours within this cluster." /> - <param name="fr" type="boolean" checked="false" label="F-R layout?" help="Use Fruchterman-Rheigold layout instead of t-SNE" /> - </expand> - </section> - <section name="projback" title="Compute Cell Projections for Randomized Background Distribution" expanded="true" > - <param name="pdishuf" type="integer" min="100" value="2000" label="Shuffle Projections" help="Number of randomizations of cell positions for which to compute projections of cells on inter-cluster links" /> - <expand macro="use_defaults_no" > - <param name="fast" type="boolean" checked="false" label="Use a fast approximate background model to infer links" /> - <param name="rseed" type="integer" value="17000" label="Random seed" /> - </expand> - </section> - <section name="comppval" title="Computing P-values for Link Significance" expanded="true" > - <param name="pthr" type="float" value="0.01" label="P-value cutoff" help="Cutoff for link significance. This threshold is applied for the calculation of link scores reflecting how uniformly a link is occupied by cells." /> - <param name="sensitive" type="boolean" checked="false" label="Sensitivity" help="All cells on the most highly significant link are and the link itself are disregard to test significance of the remaining links with a binomial p-value" /> - </section> - <section name="plotgraph" title="StemID2 Lineage Graph" expanded="true" > - <param name="showcells" type="boolean" checked="false" label="Show Cells" help="Projections of cells are shown in the plot" /> - <param name="scthr" type="float" min="0" max="1" value="0" label="Score Threshold" help="Score threshold for links to be shown in the graph" /> - <expand macro="use_defaults_no"> - <param name="showtsne" type="boolean" checked="true" label="Show tSNE" help="Show transparent t-SNE map of cells in the background" /> - <param name="tp" type="float" min="0" max="1" value="0.5" label="Transparency" help="Level of transparency of t-SNE map" /> - </expand> - </section> - <section name="compscore" title="Compute StemID2 score" expanded="true" > - <param name="nn" type="integer" min="0" value="1" label="Number of Neighbours" help="Number of higher order neighbours to be included for the determination of links" /> - <param name="scthr" type="float" min="0" max="1" value="0" label="Score Threshold" help="Score threshold for links to be included in the calculation" /> - </section> - </macro> - <macro name="trajectory_tests" > - <test> - <!-- All defaults --> - <param name="inputrds" value="out_cluster_default.rdat" /> - <output name="outpdf" value="out_traject_default.pdf" compare="sim_size" delta="15" /> - <output name="outrdat" value="out_traject_default.ltree.rdat" compare="sim_size" delta="15" /> - </test> - <test> - <!-- Manually specify the defaults: should ideally give same output as above test --> - <param name="inputrds" value="out_cluster_default.rdat" /> - <section name="projcell" > - <param name="knn" value="3" /> - <param name="cthr" value="5" /> - <expand macro="test_nondef" > - <param name="nmode" value="true" /> - <param name="fr" value="false" /> - </expand> - </section> - <section name="projback" > - <param name="pdishuf" value="2000" /> - <expand macro="test_nondef" > - <param name="fast" value="false" /> - <param name="rseed" value="17000" /> - </expand> - </section> - <section name="comppval" > - <param name="pthr" value="0.01" /> - <param name="sensitive" value="false" /> - </section> - <section name="plotgraph" > - <param name="showcells" value="false" /> - <param name="scthr" value="0" /> - <expand macro="test_nondef" > - <param name="showtsne" value="true" /> - <param name="tp" value="0.5" /> - </expand> - </section> - <section name="compscore" > - <param name="nn" value="1" /> - <param name="scthr" value="0" /> - </section> - <output name="outpdf" value="out_traject_default.pdf" compare="sim_size" delta="15" /> - <output name="outrdat" value="out_traject_default.ltree.rdat" compare="sim_size" delta="15" /> - </test> - <test> - <!-- Non-defaults --> - <param name="inputrds" value="out_cluster_default.rdat" /> - <section name="projcell"> - <param name="knn" value="4" /> - <param name="cthr" value="4" /> - <expand macro="test_nondef" > - <param name="nmode" value="false" /> - <param name="fr" value="true" /> - </expand> - </section> - <section name="projback"> - <param name="pdishuf" value="1500" /> - <expand macro="test_nondef" > - <param name="fast" value="true" /> - <param name="rseed" value="1500" /> - </expand> - </section> - <section name="comppval"> - <param name="pthr" value="0.05" /> - <param name="sensitive" value="true" /> - </section> - <section name="plotgraph"> - <param name="showcells" value="true" /> - <param name="scthr" value="0.5" /> - <expand macro="test_nondef" > - <param name="showtsne" value="false" /> - <param name="tp" value="0.25" /> - </expand> - </section> - <section name="compscore"> - <param name="nn" value="2" /> - <param name="scthr" value="0.5" /> - </section> - <output name="outpdf" value="out_traject_adv_nondef.pdf" compare="sim_size" delta="15" /> - </test> - </macro> - <token name="@TRAJECTORY_CHEETAH@"><![CDATA[ - -in.rdat = readRDS('${inputrds}') - -pstc.projc = formals(projcells) -pstc.projc\$knn = as.integer( '$projcell.knn' ) -pstc.projc\$cthr = as.integer( '$projcell.cthr' ) -#if str($projcell.use.def) == "no": -pstc.projc\$nmode = as.logical( '$projcell.use.nmode' ) -pstc.projc\$fr = as.logical( '$projcell.use.fr' ) -#end if - -pstc.projb = formals(projback) -pstc.projb\$pdishuf = as.integer( '$projback.pdishuf' ) -#if str($projback.use.def) == "no": -pstc.projb\$fast = as.logical( '$projback.use.fast' ) -pstc.projb\$rseed = as.integer( '$projback.use.rseed' ) -#end if - -pstc.comppval = formals(comppvalue) -pstc.comppval\$pthr = as.numeric( '$comppval.pthr' ) -pstc.comppval\$sensitive = as.logical( '$comppval.sensitive' ) - -pstc.plotgraph = formals(plotgraph) -pstc.plotgraph\$showCells = as.logical( '$plotgraph.showcells' ) -pstc.plotgraph\$scthr = as.numeric( '$plotgraph.scthr' ) -#if str($plotgraph.use.def) == "no": -pstc.plotgraph\$showTsne = as.logical( '$plotgraph.use.showtsne' ) -pstc.plotgraph\$tp = as.numeric( '$plotgraph.use.tp' ) -#end if - -pstc.compscore = formals(compscore) -pstc.compscore\$nn = as.integer( '$compscore.nn' ) -pstc.compscore\$scthr = as.numeric( '$compscore.scthr' ) - -out.pdf='${outpdf}' -out.rdat='${outrdat}' - ]]> - </token> -</macros>
--- a/raceid_inspecttrajectories.xml Mon Apr 15 17:53:28 2019 -0400 +++ b/raceid_inspecttrajectories.xml Mon Aug 12 13:03:03 2019 -0400 @@ -1,30 +1,85 @@ -<tool id="raceid_inspecttrajectory" name="Lineage Branch Analysis using StemID" version="@VERSION_RACEID@.@VERSION_PACKAGE@.1" > +<tool id="raceid_inspecttrajectory" name="Lineage Branch Analysis using StemID" version="@VERSION_RACEID@.@VERSION_WRAPPER@" > <description>inspects branches of a lineage tree</description> <macros> <import>macros.xml</import> - <import>macros_inspecttrajectories.xml</import> + <import>macros_cheetah.xml</import> </macros> <expand macro="requirements" /> - <version_command><![CDATA[ -Rscript '$__tool_directory__/scripts/trajectoryinspect.R' @GET_VERSION@ -]]></version_command> - - <command detect_errors="exit_code"><![CDATA[ -#set bin = 'trajectoryinspect.R' -Rscript '$__tool_directory__/scripts/$bin' '$userconf' 2>&1 > '$outlog' - ]]></command> - - <configfiles> - <configfile name="userconf" ><![CDATA[ -@STRING2VECTOR@ - -@INSPECTTRAJECTORIES_CHEETAH@ -]]> - </configfile> - </configfiles> - + <expand macro="version_command_config" prog="trajectoryinspect.R" cheetah="INSPECTTRAJECTORIES_CHEETAH" /> <inputs> - <expand macro="inspecttrajectories_inputs" /> + <param name="inputrds" type="data" format="rdata" label="Input RDS" help="Requires the RDS output from the trajectory analysis" /> + <section name="trjsid" title="StemID Branch Link Examine" expanded="true" help="StemID derives cell lineage trees and predicts multipotent cell identities"> + <conditional name="basic" > + <param name="doit" type="select" label="Perform StemID?" > + <expand macro="yesno_checkedno" /> + </param> + <when value="no" /> + <when value="yes" > + <param name="i" type="integer" min="1" value="1" label="Cluster Number" /> + <param name="br" type="text" label="Trajectory Path i, j, k" help="A path of three clusters starting at i, passing through j, and ending at k." > + <expand macro="sanitize_numeric_vector" /> + </param> + <expand macro="use_defaults_no"> + <param name="zscore" type="boolean" checked="false" label="Plot Z-score Transformed Projections" /> + <param name="ndiffgenes" type="integer" min="1" value="10" label="Number of DE Genes" help="Number of differentially expressed genes to output per cluster" /> + </expand> + </when> + </conditional> + </section> + <section name="trjfid" title="FateID Branch Link Examine" expanded="true" help="FateID infers cell fate bias in multipotent progenitor cells" > + <conditional name="basic" > + <param name="doit" type="select" label="Perform FateID?" > + <expand macro="yesno_checkedno" /> + </param> + <when value="no" /> + <when value="yes" > + <param name="cellsfromz" type="text" value="" label="Cells from Clusters" help="Vector of valid cluster numbers ordered along the trajectory" > + <expand macro="sanitize_numeric_vector" /> + </param> + <expand macro="use_defaults_no"> + <param name="filterset_minexpr" type="integer" min="0" value="2" label="Min Expression" help="Minimum expression required for at least minnumber cells" /> + <param name="filterset_minnumber" type="integer" min="0" value="1" label="Min Number of Cells" help="Minimum number of cells in which a gene needs to be expressed at least a level of minexpr."/> + <param name="getsom_nb" type="integer" min="1" value="1000" label="SOM Nodes" help="Number of nodes of the self-organizing map." /> + <param name="getsom_alpha" type="float" min="0" value="0.5" label="Smoothing parameter" help="Pseudo-temporal expression profiles are derived by a local regression of expression values across the ordered cells using the function 'loess' from the package 'stats'. This is the parameter, which controls the degree of smoothing. Larger values return smoother profiles." /> + <param name="procsom_corthr" type="float" min="0" max="1" value="0.85" label="Correlation threshold" help="The z-score of the average normalized pseudo-temporal expression profiles within each node of the self-organizing map is computed, and the correlation of these z-scores between neighbouring nodes is computed. If the correlation is greater than 'corthr', neighbouring nodes are merged" /> + <param name="procsom_minsom" type="integer" min="0" value="3" label="Min SOM" help="Nodes of the self-organizing map with less than this number of transcripts are discarded" /> + <param name="plotheat_xgrid" type="boolean" checked="false" label="Partitioning along the x-axis" /> + <param name="plotheat_ygrid" type="boolean" checked="false" label="Partitioning along the y-axis" /> + <param name="plotheat_xlab" type="boolean" checked="false" label="Average position is given for each partition along the x-axis" /> + </expand> + <conditional name="som" > + <param name="doit" type="select" label="Perform Additional FateID Analysis with Self-Organised Map?" > + <expand macro="yesno_checkedno" /> + </param> + <when value="no" /> + <when value="yes" > + <conditional name="use_genes" > + <param name="typer" type="select" label="Genes to Inspect" > + <option value="genelist">List of Genes</option> + <option value="cln">Cluster</option> + </param> + <when value="genelist"> + <param name="use_genes" type="text" value="" label="Gene List" > + <expand macro="sanitize_string_vector" /> + </param> + </when> + <when value="cln" > + <param name="use_genes" type="integer" min="1" value="1" label="Cluster Number" /> + </when> + </conditional> + <param name="use_types" type="text" value="\\_\\d+" label="Types Regex (select)" help="Regex to select types across cell names" > + <expand macro="sanitize_regex" /> + </param> + <param name="title" type="text" value="Title" label="Plot title" /> + <expand macro="use_defaults_no"> + <param name="cluster" type="boolean" checked="false" label="Partitioning along the x-axis" /> + <param name="alpha" type="float" min="0" max="1" value="0.5" label="Smoothing parameter" /> + </expand> + </when> + </conditional> + </when> + </conditional> + </section> </inputs> <outputs> @@ -38,7 +93,100 @@ </outputs> <tests> - <expand macro="inspecttrajectories_tests" /> + <test> + <!-- default, generates a blank report --> + <param name="inputrds" value="out_traject_default.ltree.rdat" /> + <output name="outpdf" value="out_traject_inspect_default.ltree.blank.pdf" compare="sim_size" delta="15" /> + </test> + <test> + <!-- stemID branch inspection: vignette search "getproj" --> + <param name="inputrds" value="out_traject_default.ltree.rdat" /> + <section name="trjsid" > + <conditional name="basic" > + <param name="doit" value="yes" /> + <param name="i" value="3" /> + <param name="br" value="1,3,8" /> + </conditional> + </section> + <output name="outpdf" value="out_traject_inspect_stemid.pdf" compare="sim_size" delta="30" /> + <output name="outdiffgenes" value="out_traject_inspect_stemid.tabular" /> + </test> + <test> + <!-- fateID trajectory inspection: vignette search "cellsfromtree" --> + <param name="inputrds" value="out_traject_default.ltree.rdat" /> + <section name="trjfid" > + <conditional name="basic" > + <param name="doit" value="yes" /> + <param name="cellsfromz" value="2,1,4" /> + <expand macro="test_nondef" > + <param name="filterset_minexpr" value="2" /> + <param name="getsom_nb" value="1000" /> + <param name="getsom_alpha" value="0.5" /> + <param name="plotheat_xlab" value="true" /> + </expand> + </conditional> + </section> + <output name="outpdf" value="out_traject_inspect_fateid.pdf" compare="sim_size" delta="15" /> + </test> + <test> + <!-- fateID trajectory inspection with som: vignette search "SOM" --> + <param name="inputrds" value="out_traject_default.ltree.rdat" /> + <section name="trjfid" > + <conditional name="basic" > + <param name="doit" value="yes" /> + <param name="cellsfromz" value="2,1,4" /> + <conditional name="som" > + <param name="doit" value="yes" /> + <expand macro="test_nondef" > + <param name="typer" value="cln" /> + <param name="use_genes" value="12" /> + </expand> + </conditional> + </conditional> + </section> + <output name="outpdf" value="out_traject_inspect_fateid_som.pdf" compare="sim_size" delta="15" /> + </test> + <test> + <!-- uses all 3 sections with additional non-default params --> + <param name="inputrds" value="out_traject_default.ltree.rdat" /> + <section name="trjsid" > + <conditional name="basic" > + <param name="doit" value="yes" /> + <param name="i" value="5" /> + <param name="br" value="6,5,3" /> + <expand macro="test_nondef" > + <param name="zscore" value="true" /> + <param name="ndiffgenes" value="14" /> + </expand> + </conditional> + </section> + <section name="trjfid" > + <conditional name="basic" > + <param name="doit" value="yes" /> + <param name="cellsfromz" value="3,9,2" /> + <expand macro="test_nondef" > + <param name="filterset_minexpr" value="1" /> + <param name="filterset_minnumber" value="2" /> + <param name="procsom_minsom" value="5" /> + <param name="procsom_corthr" value="0.5" /> + <param name="plotheat_ygrid" value="true" /> + </expand> + <conditional name="som" > + <param name="doit" value="yes" /> + <conditional name="use_genes" > + <param name="typer" value="genelist" /> + <param name="use_genes" value="Clca4,Mki67,Defa24,Ybx1,Vasp,Apoa1" /> + <expand macro="test_nondef" > + <param name="cluster" value="true" /> + <param name="alpha" value="0.1" /> + </expand> + </conditional> + </conditional> + </conditional> + </section> + <output name="outdiffgenes" value="out_traject_inspect_allthree.tabular" /> + <output name="outpdf" value="out_traject_inspect_allthree.pdf" compare="sim_size" delta="15" /> + </test> </tests> <help><![CDATA[ StemID2 and FateID
--- a/scripts/cluster.R Mon Apr 15 17:53:28 2019 -0400 +++ b/scripts/cluster.R Mon Aug 12 13:03:03 2019 -0400 @@ -1,5 +1,5 @@ #!/usr/bin/env R -VERSION = "0.4" +VERSION = "0.5" args = commandArgs(trailingOnly = T) @@ -139,6 +139,19 @@ write.table(df, file=out.genelist, sep="\t", quote=F) } + +writecellassignments <- function(sc){ + dat <- sc@cluster$kpart + tab <- data.frame(row.names = NULL, + cells = names(dat), + cluster.initial = dat, + cluster.final = sc@cpart, + is.outlier = names(dat) %in% sc@out$out) + + write.table(tab, file=out.assignments, sep="\t", quote=F, row.names = F) +} + + pdf(out.pdf) if (use.filtnormconf){ @@ -148,6 +161,7 @@ message(paste(" :: ", sprintf("%.1f", 100 * nrow(getfdata(sc))/nrow(sc@expdata)), "% of genes remain,", sprintf("%.1f", 100 * ncol(getfdata(sc))/ncol(sc@expdata)), "% of cells remain")) + write.table(as.matrix(sc@ndata), file=out.table, col.names=NA, row.names=T, sep="\t", quote=F) } if (use.cluster){ @@ -161,6 +175,7 @@ sc <- do.clustmap(sc) mkgenelist(sc) + writecellassignments(sc) } dev.off()
--- a/scripts/clusterinspect.R Mon Apr 15 17:53:28 2019 -0400 +++ b/scripts/clusterinspect.R Mon Aug 12 13:03:03 2019 -0400 @@ -1,5 +1,5 @@ #!/usr/bin/env R -VERSION = "0.2" +VERSION = "0.5" args = commandArgs(trailingOnly = T) @@ -17,13 +17,30 @@ test$line = 3 do.plotting <- function(sc){ - print(plotmap(sc, final = FALSE, fr = FALSE)) + + sc.tmp <- sc + + ## If it's a subset, we need to get clever and subset specific parts + if (!(is.null(plotting.cln) || is.na(plotting.cln))){ + cellstokeep <- names(sc.tmp@cpart[sc.tmp@cpart %in% plotting.cln]) + + ## Subselect partitions for initial and final clusters + sc.tmp@cpart <- sc.tmp@cpart[cellstokeep] + sc.tmp@cluster$kpart <- sc.tmp@cluster$kpart[cellstokeep] + + ## Subselect tSNE and FR data + ## - Note: no names in tsne, so we assume it follows the ndata naming + sc.tmp@tsne <- sc.tmp@tsne[colnames(sc.tmp@ndata) %in% cellstokeep,] + sc.tmp@fr <- sc.tmp@fr[cellstokeep,] + } + + print(plotmap(sc.tmp, final = FALSE, fr = FALSE)) print(do.call(mtext, c("Initial Clustering tSNE", test))) - print(plotmap(sc, final = TRUE, fr = FALSE)) + print(plotmap(sc.tmp, final = TRUE, fr = FALSE)) print(do.call(mtext, c("Final Clustering tSNE", test))) - print(plotmap(sc, final = FALSE, fr = TRUE)) + print(plotmap(sc.tmp, final = FALSE, fr = TRUE)) print(do.call(mtext, c("Initial Clustering Fruchterman-Reingold", test))) - print(plotmap(sc, final = TRUE, fr = TRUE)) + print(plotmap(sc.tmp, final = TRUE, fr = TRUE)) print(do.call(mtext, c("Final Clustering Fruchterman-Reingold", test))) }
--- a/test-data/matrix.genelist Mon Apr 15 17:53:28 2019 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,201 +0,0 @@ -n mean.ncl mean.cl fc pv padj -ENSDARG00000108798 1 0.13225291542414 22.6067842060994 170.935998904815 5.63439752001819e-20 3.43529216795509e-16 -ENSDARG00000109030 1 0.186711263967539 34.6842724288799 185.764220603798 2.48233981248329e-19 7.56741291835532e-16 -ENSDARG00000108379 1 0.168199368419563 24.3874482842581 144.991319012715 4.11994031997326e-19 8.37309204362565e-16 -ENSDARG00000107599 1 0.194980763882093 20.9729826342942 107.564367975175 3.56470297051077e-18 5.43349850280104e-15 -ENSDARG00000107321 1 0.1 1.94683879586459 19.4683879586459 1.39905888784068e-09 1.70601240783292e-06 -ENSDARG00000105564 1 0.1 1.72137476189456 17.2137476189456 5.11677986670882e-09 5.19950114122061e-06 -ENSDARG00000090447 1 0.1 1.4302236712519 14.302236712519 3.51620742912878e-08 3.06261667077116e-05 -ENSDARG00000079591 1 0.11578454541401 1.47825950354764 12.767330028907 4.83701028926633e-08 3.6864064667071e-05 -ENSDARG00000107138 1 0.118643244515052 1.63372529702772 13.7700659123533 8.59237265783686e-08 5.36793599520202e-05 -ENSDARG00000041060 1 0.11578454541401 1.4382199783801 12.421519411226 8.84781911763433e-08 5.36793599520202e-05 -ENSDARG00000077004 1 0.1 1.29299827494356 12.9299827494356 1.0364347799037e-07 5.36793599520202e-05 -ENSDARG00000100003 1 0.1 1.29775216728225 12.9775216728225 1.05650700249999e-07 5.36793599520202e-05 -ENSDARG00000102310 1 0.129577145917004 1.72085266498654 13.2805260743185 1.20446928962954e-07 5.64896096836256e-05 -ENSDARG00000068650 1 0.115601615820105 1.27001296748153 10.9861177845289 2.26895176903151e-07 9.88128495413223e-05 -ENSDARG00000086678 1 0.128030253978187 1.35647794130946 10.5949796955067 3.16910756640577e-07 0.000122948041506908 -ENSDARG00000105857 1 0.105900327795989 1.37647789967886 12.9978625026598 3.22645344285801e-07 0.000122948041506908 -ENSDARG00000105159 1 0.1 1.16700756453584 11.6700756453584 3.44329675018825e-07 0.000123492825211163 -ENSDARG00000102997 1 0.125930886410326 1.40950930054417 11.1927211879659 3.75314178672153e-07 0.00012712725263134 -ENSDARG00000052615 1 0.109701288024116 1.2495211865536 11.3902143635625 4.65728278602572e-07 0.000149449753402099 -ENSDARG00000103046 1 0.111800655591977 1.27916812008568 11.441508221151 5.24275745356588e-07 0.000158237500570989 -ENSDARG00000105009 1 0.107892272707005 1.29390774186871 11.9925895470056 5.45020093815115e-07 0.000158237500570989 -ENSDARG00000069937 1 0.1 1.08683574177416 10.8683574177416 5.98190849813324e-07 0.000165780436877811 -ENSDARG00000034941 1 0.1 1.14009483992511 11.4009483992511 7.60152472832673e-07 0.000201506505515687 -ENSDARG00000099753 1 0.121501943616094 1.29493126702895 10.6577000210014 1.17807930734258e-06 0.000299281230702821 -ENSDARG00000076005 1 0.1 1.05371686166029 10.5371686166029 1.32743044013891e-06 0.00029931174491888 -ENSDARG00000041750 2 0.118845246250015 4.25427279350112 35.7967434772393 1.39550360463363e-07 0.000850838547745124 -ENSDARG00000103735 2 0.119337350478008 3.54379562135099 29.6956117020886 9.49083511390771e-07 0.00228722429441009 -ENSDARG00000101886 2 0.215092571957637 5.30165157388469 24.6482318084367 1.12541789129576e-06 0.00228722429441009 -ENSDARG00000090914 2 0.122178374276303 3.1027845112115 25.3955295246819 1.65948635889896e-06 0.00252947208255174 -ENSDARG00000090496 2 0.111721506487875 2.96053053983273 26.4991999562235 2.19562316256802e-06 0.00267734288443544 -ENSDARG00000078308 2 0.1 2.64934229048601 26.4934229048601 2.65009460603265e-06 0.00269293780216352 -ENSDARG00000075253 2 0.121220276605515 2.61038833734525 21.534254915456 7.21609407341446e-06 0.00624434487572006 -ENSDARG00000086877 2 0.174901657246515 3.44134351834849 19.6758771330457 8.19333426369698e-06 0.00624434487572006 -ENSDARG00000040487 2 0.132551316615554 2.19579056306671 16.5655884764638 5.8552609335758e-05 0.0389789127774957 -ENSDARG00000052912 2 0.29374667394921 3.98299817184644 13.5592962408661 6.97030598265265e-05 0.0389789127774957 -ENSDARG00000052558 2 0.307266492503596 4.25427279350112 13.8455474231422 7.0324428498024e-05 0.0389789127774957 -ENSDARG00000012071 2 0.137312605449286 2.19567880375095 15.9903658995232 8.47157718952949e-05 0.0419371525043834 -ENSDARG00000052515 2 0.142741634362038 2.26259398496241 15.8509743500887 8.94182356170222e-05 0.0419371525043834 -ENSDARG00000002897 2 0.155152648803008 2.06464107607378 13.3071597037005 0.000108713544348236 0.047344748563657 -ENSDARG00000087601 2 0.220544850783226 3.03609059600962 13.7663182124972 0.000128704633773863 0.0523141434746162 -ENSDARG00000020581 2 0.132645565796613 1.97090942840696 14.8584644844365 0.000140065988406919 0.0533738957073114 -ENSDARG00000005368 2 0.109588039327212 1.71813717094559 15.6781450009842 0.000165794148578122 0.0594615837576948 -ENSDARG00000013006 2 0.139223723099655 1.9643911375366 14.1096006758166 0.000196735880595178 0.0666388146660444 -ENSDARG00000059690 2 0.220277183931972 2.42251643631602 10.9975821965482 0.000320441653294837 0.102828040007296 -ENSDARG00000007906 2 0.161941295286845 1.92988721804511 11.9172025555725 0.000357508658491656 0.108986514541181 -ENSDARG00000099235 2 0.355572431070773 3.47503570154998 9.77307405719064 0.0005137976966319 0.145982086583318 -ENSDARG00000058248 2 0.187973361461239 1.79476640836755 9.54798272699739 0.000556896211693426 0.145982086583318 -ENSDARG00000013168 2 0.122745621089648 1.36391188645772 11.1116948559948 0.000584796437234187 0.145982086583318 -ENSDARG00000089066 2 0.213734450098499 2.20785246938186 10.3298858390137 0.000627746814730416 0.145982086583318 -ENSDARG00000018559 2 0.216649831175799 2.21719732132153 10.2340136121426 0.000632257513971329 0.145982086583318 -ENSDARG00000108459 3 0.1 40.0486298308386 400.486298308386 1.17120842343972e-21 7.140857757712e-18 -ENSDARG00000106631 3 0.1 16.7209600896533 167.209600896533 1.27082371024938e-20 2.65261585580336e-17 -ENSDARG00000106893 3 0.109440335656379 20.3249081306309 185.716792704722 1.30520708010662e-20 2.65261585580336e-17 -ENSDARG00000106328 3 0.109440335656379 13.3207925346078 121.717394731248 1.812771473855e-19 2.76311691902349e-16 -ENSDARG00000107500 3 0.194403356563789 23.5777850278158 121.282808304183 8.16923386605951e-19 9.96156377627297e-16 -ENSDARG00000107098 3 0.407548050942585 20.6628907529452 50.7005019534645 7.91289296843658e-15 8.0408180714263e-12 -ENSDARG00000106626 3 0.322331939034494 11.7938446379915 36.5891281928763 3.19108227960682e-14 2.77943266553754e-11 -ENSDARG00000063254 3 0.1 1.54154831743065 15.4154831743065 6.16683050966547e-09 4.69989570217879e-06 -ENSDARG00000105532 3 0.1 1.2691654791726 12.691654791726 6.59753120473869e-08 4.46946086169909e-05 -ENSDARG00000102291 3 0.1 1.20003533117234 12.0003533117234 1.03313712547645e-07 6.29903705402992e-05 -ENSDARG00000098646 3 0.1 1.22194683967797 12.2194683967797 1.14432499391301e-07 6.3426813526251e-05 -ENSDARG00000096706 3 0.1 1.2471262087964 12.471262087964 1.27992769850814e-07 6.50309931483676e-05 -ENSDARG00000056322 3 0.1 1.15253315794626 11.5253315794626 1.81837361851978e-07 7.7399961295303e-05 -ENSDARG00000087417 3 0.1 1.1540362057603 11.540362057603 1.83177220114043e-07 7.7399961295303e-05 -ENSDARG00000100789 3 0.109440335656379 1.31018291186832 11.9716638660726 1.90421423557413e-07 7.7399961295303e-05 -ENSDARG00000076768 3 0.1 1.18681657849799 11.8681657849799 2.13741147520963e-07 8.1448736027207e-05 -ENSDARG00000091869 3 0.1 1.10007995897679 11.0007995897679 3.18290687070941e-07 0.000107899200006755 -ENSDARG00000101145 3 0.1 1.10059661347904 11.0059661347904 3.19125599577782e-07 0.000107899200006755 -ENSDARG00000091967 3 0.1 1.1236667156373 11.236667156373 3.57604258883062e-07 0.000107899200006755 -ENSDARG00000099207 3 0.1 1.13395237668583 11.3395237668583 3.75510462080806e-07 0.000107899200006755 -ENSDARG00000079762 3 0.1 1.13482318163712 11.3482318163712 3.77047564405683e-07 0.000107899200006755 -ENSDARG00000100342 3 0.118880671312758 1.11971099812246 9.4187809149955 3.89336132548567e-07 0.000107899200006755 -ENSDARG00000091631 3 0.1 1.0336438761938 10.336438761938 5.26923351033268e-07 0.000136411029348096 -ENSDARG00000101776 3 0.1 1.03711906765213 10.3711906765213 5.36963212129621e-07 0.000136411029348096 -ENSDARG00000077068 3 0.1 1.0531104586081 10.531104586081 5.84457768774286e-07 0.000138268351040062 -ENSDARG00000103380 4 0.118732364944267 4.29504915730337 36.1742070859909 1.87281976492061e-10 1.1418582106721e-06 -ENSDARG00000037116 4 0.105401803653084 3.3624106287092 31.9008832123606 6.24221125271845e-10 1.90293810039122e-06 -ENSDARG00000102060 4 0.65335417049578 14.8778451385581 22.7714856817527 8.75163683692952e-09 1.77862432649198e-05 -ENSDARG00000102188 4 0.855834419578633 14.179562474169 16.5681142868153 2.26488443176202e-07 0.000318621197056678 -ENSDARG00000105127 4 1.2186946752299 22.1380023868484 18.1653393887785 2.6129342058117e-07 0.000318621197056678 -ENSDARG00000101413 4 0.163690456191388 2.80861987923491 17.1581162676402 3.73531302510856e-07 0.000379570058568115 -ENSDARG00000104118 4 0.989700274307544 15.0174505397369 15.1737358567916 6.77423754716057e-07 0.000590036090357685 -ENSDARG00000075333 4 0.171748726689293 2.3373595505618 13.6091812476157 1.50828806455175e-06 0.00110856685474393 -ENSDARG00000071113 4 0.128246671314964 1.77801966292135 13.8640609123855 1.68613897165096e-06 0.00110856685474393 -ENSDARG00000098655 4 0.153148025950228 2.3373595505618 15.2620938863516 1.81821691773647e-06 0.00110856685474393 -ENSDARG00000105209 4 1.54534561735873 23.4939455347753 15.2030363116638 2.06788281463169e-06 0.00114617104734631 -ENSDARG00000092124 4 0.167783479025787 2.20080865760876 13.1169568683846 2.51104682731582e-06 0.00117801683762716 -ENSDARG00000102424 4 0.995458642689216 12.8896835165257 12.9484872236424 2.51176298001526e-06 0.00117801683762716 -ENSDARG00000043130 4 0.151115417204371 1.96446629213483 12.9997741360702 2.99111460631241e-06 0.00128615842311759 -ENSDARG00000102305 4 1.00227191359572 12.5079159542882 12.4795634643849 3.16424083102573e-06 0.00128615842311759 -ENSDARG00000104251 4 1.25657639483624 16.1896340694694 12.8839234415026 4.03444006517729e-06 0.00153737381733662 -ENSDARG00000016348 4 0.130718858025808 1.82528654590158 13.9634523546802 7.40568226139146e-06 0.00265602616162963 -ENSDARG00000107668 4 2.0525826270598 26.1651913798814 12.7474485240877 1.23716885008222e-05 0.00419056582163961 -ENSDARG00000102171 4 0.209616501874572 2.24413623595506 10.7059139709233 1.41333189895541e-05 0.0045353076778585 -ENSDARG00000102300 4 1.16111393148624 12.0981196442604 10.4194078773774 1.50789368610256e-05 0.00459681390208365 -ENSDARG00000096457 4 0.122651614608118 1.49305555555556 12.1731422804827 1.58593667087189e-05 0.00460450280109806 -ENSDARG00000102445 4 1.3115800466299 12.8389700502745 9.78893364782744 3.22055454104447e-05 0.00892532774397644 -ENSDARG00000089213 4 0.12779725761052 1.38681171572623 10.8516547354461 3.54676572069977e-05 0.00940201330395934 -ENSDARG00000105147 4 1.98689642082857 20.3540415496165 10.2441382128659 4.3971555566058e-05 0.0111706072619273 -ENSDARG00000055075 4 0.169741281332608 1.59157303370787 9.37646411770147 4.82148454826373e-05 0.0117586365163056 -ENSDARG00000102705 5 0.209972550128478 13.5265663218744 64.4206412390466 5.51324807068058e-17 3.36142734869395e-13 -ENSDARG00000102125 5 0.233431470953978 10.4713938457086 44.8585351534415 1.77193932024865e-15 5.401757017778e-12 -ENSDARG00000105858 5 0.462925527809972 31.4875823414393 68.0186778430692 3.07338903352449e-15 6.24615097913294e-12 -ENSDARG00000104031 5 0.417738843341455 16.1643635536032 38.6949018777042 4.63887116279502e-14 7.07079936989031e-11 -ENSDARG00000103505 5 0.455814556718891 13.0057940562389 28.5330818521002 8.00401069394782e-13 8.56538424116237e-10 -ENSDARG00000107953 5 0.768435533248605 31.7530045869607 41.3216245385258 8.42911357175237e-13 8.56538424116237e-10 -ENSDARG00000104624 5 0.586363931713224 18.662951819579 31.8282738930583 1.03929690687218e-12 9.05227605885665e-10 -ENSDARG00000107433 5 0.860111367092678 34.1815671825659 39.7408620445342 2.15526546944614e-12 1.64258169590164e-09 -ENSDARG00000105003 5 0.659817827005108 18.3691699000608 27.8397599280362 4.05465742511909e-12 2.74680514677235e-09 -ENSDARG00000102147 5 0.498991534801074 11.6870331272134 23.4213053972398 5.94420491301204e-12 3.62418173546344e-09 -ENSDARG00000104149 5 0.591410894158957 12.7563563319083 21.5693631245145 2.16849130014449e-11 1.20193558699827e-08 -ENSDARG00000105370 5 0.845960751451064 21.1606791594491 25.0137835864755 2.88314145770954e-11 1.46487612230459e-08 -ENSDARG00000102471 5 0.591016786322552 11.9787944006235 20.2681119687961 3.97757415291587e-11 1.86548227771754e-08 -ENSDARG00000104225 5 0.677500552858849 13.028628755702 19.2304326553315 8.48219367396283e-11 3.69399534501081e-08 -ENSDARG00000102765 5 0.710420955035912 7.69305581025659 10.8288694973358 2.636812754442e-08 1.07177649092219e-05 -ENSDARG00000103900 5 0.926463189872816 8.83493365876684 9.53619502139064 1.4891189989945e-07 5.67447408554341e-05 -ENSDARG00000103207 5 0.809155048654974 6.95078624248591 8.5901784262978 3.17107715066467e-07 0.000113729749338838 -ENSDARG00000100850 5 0.10266571617904 1.06794343733293 10.4021427705286 3.65574205111742e-07 0.000123828107142572 -ENSDARG00000100222 5 0.117813108572049 1.02376729835175 8.6897571141302 1.53996760366899e-06 0.000376422800056221 -ENSDARG00000078327 5 0.105063152860082 0.901542752536163 8.58096038424425 1.59754149266682e-06 0.000376422800056221 -ENSDARG00000076659 5 0.107997148537119 0.902203678729055 8.35395833084392 1.63475485205548e-06 0.000376422800056221 -ENSDARG00000078658 5 0.103730294770562 0.912796947051807 8.79971419218265 1.70133206806343e-06 0.000376422800056221 -ENSDARG00000056152 5 0.109363711084075 0.821293559013241 7.50974478528675 2.30482270129059e-06 0.000411281146237518 -ENSDARG00000042974 5 0.111761147765118 0.823872029464418 7.37172126395753 2.39063753034635e-06 0.000411281146237518 -ENSDARG00000071240 5 0.110394585218162 0.833280258058883 7.54819864046915 2.53282560651987e-06 0.000411281146237518 -ENSDARG00000094010 6 0.111452978443105 4.44006630603854 39.8380228869803 6.38525950158321e-09 3.89309271811528e-05 -ENSDARG00000103594 6 1.13093354481739 15.5296459037369 13.7317050810836 2.76457859470178e-05 0.0842781784594839 -ENSDARG00000062868 6 0.148310913360651 2.35945460562356 15.9088400992179 4.74734577891717e-05 0.0964818907135266 -ENSDARG00000101986 6 1.06278096568171 11.921270245687 11.2170528365083 0.000104992972874659 0.160035538904199 -ENSDARG00000054302 6 0.114167149192999 1.69385093295239 14.8365878006548 0.000159146295603994 0.194062992859511 -ENSDARG00000004931 6 0.146147835707832 1.50738986001055 10.3141442547532 0.000273967771010734 0.271604620436783 -ENSDARG00000099280 6 0.174438502158969 1.76393397177854 10.1120678631546 0.000341416753578639 0.271604620436783 -ENSDARG00000104949 6 1.84012138595949 18.1422310489148 9.85925775731088 0.000356378048793549 0.271604620436783 -ENSDARG00000062192 6 0.219250133212514 1.93124420721189 8.8084060835666 0.000490459989622772 0.332259395192227 -ENSDARG00000014366 6 0.135611988044807 1.00529217065682 7.41300371118129 0.00101799998551309 0.595386680453464 -ENSDARG00000099776 6 0.165584080167415 1.27670227417667 7.7102960193145 0.00113607374054731 0.595386680453464 -ENSDARG00000014017 6 0.130935742022126 1.13118855425646 8.63926485455216 0.00124672027506227 0.595386680453464 -ENSDARG00000004527 6 0.161768890546368 1.40411105178857 8.67973469463903 0.00130573477419644 0.595386680453464 -ENSDARG00000015851 6 0.211160123828113 1.42542261170536 6.75043462687903 0.00136713359461186 0.595386680453464 -ENSDARG00000017037 6 0.11090453956233 0.860975851160853 7.76321559566973 0.0016197152098211 0.658360242285282 -ENSDARG00000018146 6 0.124837526779085 0.822444876257476 6.58812215747347 0.00208359331018621 0.755769031195207 -ENSDARG00000094732 6 0.201066488547157 1.22521720805992 6.09359230826055 0.00228107117057515 0.755769031195207 -ENSDARG00000021855 6 0.109168767482819 1.07499270061704 9.84707188149048 0.00231989733905826 0.755769031195207 -ENSDARG00000062058 6 0.122552380041629 0.881708382142295 7.19454311570935 0.00235519297895833 0.755769031195207 -ENSDARG00000089032 6 0.150988259365316 1.23158448554809 8.15682285977133 0.00250441767427358 0.7634717280023 -ENSDARG000001032071 6 1.66376642491526 10.8791567395556 6.53887263057956 0.00264170112721662 0.766973893935226 -ENSDARG00000101652 6 0.117661697666601 1.00798229432208 8.5667835354393 0.00288382859301584 0.79921376961898 -ENSDARG00000036809 6 0.178132306667668 1.05062387043439 5.89799733742001 0.0033324167246799 0.875163147449564 -ENSDARG00000037018 6 0.13196794390221 0.929979569662069 7.04701113136379 0.00344495908459727 0.875163147449564 -ENSDARG00000077737 6 0.229953264257691 1.41304633493481 6.1449283596658 0.00500781997902645 1 -ENSDARG00000104242 7 0.447206731128574 14.3756294075549 32.1453779805067 2.30113131457065e-13 1.40299976249373e-09 -ENSDARG00000102056 7 0.463880684093747 12.1589657830654 26.2114078037536 2.08698751307313e-12 6.36218143360344e-09 -ENSDARG00000102470 7 0.825035359668146 13.4793918534294 16.3379565438882 1.10737149331994e-09 2.25054799825723e-06 -ENSDARG00000104836 7 1.0201341649907 17.1513950198419 16.8128816860067 1.79596375972667e-09 2.73749776076337e-06 -ENSDARG00000104197 7 0.868813330133413 13.2077072533743 15.2020080669644 2.27590161725937e-09 2.77523443208607e-06 -ENSDARG00000102167 7 0.911623267267556 12.5281341487954 13.7426660755889 6.03157787269791e-09 6.12908838163986e-06 -ENSDARG00000105195 7 1.35837446108669 20.6382812121625 15.193366632977 1.20671859497662e-08 1.05105189622463e-05 -ENSDARG00000105669 7 1.55320812115904 19.4772872937536 12.5400369908053 8.3653757257818e-08 6.37546197501146e-05 -ENSDARG00000102820 7 1.12752840077096 11.8419301998565 10.5025560258699 1.31966552783421e-07 8.94000080356132e-05 -ENSDARG00000092989 7 0.133042434280628 1.21637077531351 9.14272789648302 2.82608004083509e-07 0.000172306100089716 -ENSDARG00000061806 7 0.13278988077121 1.12194957012091 8.44905924762421 7.25529240779189e-07 0.000402141071002793 -ENSDARG00000095512 7 0.134733887854507 1.08703031970933 8.06798005326739 1.27119959332606e-06 0.000645875326709081 -ENSDARG00000090634 7 0.14895440642195 1.13152352961684 7.5964421382173 1.67131715307221e-06 0.000689864250270158 -ENSDARG00000087555 7 0.106854974051793 0.876076138239269 8.19873989033614 1.8103703467808e-06 0.000689864250270158 -ENSDARG00000069269 7 0.131991994835001 1.03283452343888 7.82497851274993 2.01967640768832e-06 0.000724351003392688 -ENSDARG00000059558 7 0.112699471961133 0.967793901919788 8.58738630340302 3.00038333622434e-06 0.000888688802910736 -ENSDARG00000060566 7 0.127846770606366 1.01035836252462 7.90288528785342 3.78083155119976e-06 0.000992894397782283 -ENSDARG00000100206 7 0.139832328948304 1.04998427596811 7.5088806992286 4.54325865418129e-06 0.000992894397782283 -ENSDARG00000057206 7 0.121885624201679 0.88338782626096 7.24767856789453 4.55979057534917e-06 0.000992894397782283 -ENSDARG00000070623 7 0.12670584582223 0.943766658477006 7.44848552450473 5.87432370429556e-06 0.00110819712277626 -ENSDARG00000100514 7 0.121454028840368 0.820406006163069 6.75486860334098 7.45177975757828e-06 0.00116897636495374 -ENSDARG00000039265 7 0.131635113592875 0.87126351316452 6.6187773868543 9.18440046329954e-06 0.00133326880058898 -ENSDARG00000095904 7 0.168129332968718 1.08581712830248 6.45822539785194 1.03525068635208e-05 0.00139894259529663 -ENSDARG00000039350 7 0.133011711683714 0.897490439418404 6.74745425088979 1.06942592337219e-05 0.00139894259529663 -ENSDARG00000070512 7 0.12670239660567 0.910072943888678 7.18276029711621 1.10515908767776e-05 0.00139894259529663 -ENSDARG00000103551 8 1.61835767565622 32.2654393890171 19.93714978732 1.97522608849965e-06 0.0120429534615824 -ENSDARG00000078383 8 0.182610070366458 2.60621132144157 14.2720021749703 1.6366673021414e-05 0.0447464228757837 -ENSDARG00000093799 8 0.115321017732354 1.62941087246693 14.1293487042283 2.20172656433248e-05 0.0447464228757837 -ENSDARG00000036625 8 0.119337255991682 1.48171990557204 12.4162391137543 8.39663841121717e-05 0.127985760982978 -ENSDARG00000016706 8 0.180025642511508 1.82486224560436 10.1366795315712 0.000126325160000158 0.154040900104192 -ENSDARG00000040251 8 0.121540951107174 1.29918699186992 10.6892942669529 0.000198034398721646 0.201235954834313 -ENSDARG00000098674 8 0.253812764860557 2.21906493621457 8.74292093793513 0.000293366486612692 0.255522209839655 -ENSDARG00000098856 8 0.194513509828675 1.64663383642527 8.46539573459756 0.000451769293400039 0.296721325111977 -ENSDARG00000062226 8 0.144813536626749 1.38335068305012 9.55263378875725 0.000474939776632199 0.296721325111977 -ENSDARG00000075123 8 0.142439266402834 1.40532056857682 9.86610366696508 0.00048666774661633 0.296721325111977 -ENSDARG00000070239 8 0.154515334275144 1.27289156626506 8.23796273836765 0.000570475520527726 0.316199022605232 -ENSDARG00000026180 8 0.151758427938041 1.41564289946672 9.32826544595394 0.000683459166751383 0.347254211640265 -ENSDARG00000104786 8 0.182483274181232 1.61787042996763 8.8658559927024 0.00078762411588287 0.369395710349066 -ENSDARG00000101061 8 0.255483815147335 1.62613690189592 6.36493118344166 0.00150635451453941 0.61883047685698 -ENSDARG00000016584 8 0.135272462199637 0.880366460381022 6.50809814551733 0.00158197684628705 0.61883047685698 -ENSDARG00000070256 8 0.203213690445973 1.26976802854965 6.24843742448165 0.00178015471505539 0.61883047685698 -ENSDARG00000062745 8 0.130428963634169 0.955091918456498 7.32269805604966 0.00182445112094621 0.61883047685698 -ENSDARG00000086037 8 0.19632007891506 1.29918699186992 6.61769799120764 0.00182695564760138 0.61883047685698 -ENSDARG00000027310 8 0.193675103177481 1.44901164174846 7.48166190685131 0.00211840042255122 0.678671506770642 -ENSDARG00000103109 8 0.14293938597264 0.936026560054929 6.54841598545899 0.00240745117064372 0.678671506770642 -ENSDARG00000078352 8 0.177346649454539 1.15788746142844 6.52895030715114 0.0024876207141355 0.678671506770642 -ENSDARG00000035389 8 0.143574445102194 1.00421593036345 6.99439186164828 0.0026995869399452 0.678671506770642 -ENSDARG00000103106 8 0.175526172559138 1.23041862190788 7.00988692437495 0.0027017171947583 0.678671506770642 -ENSDARG00000007257 8 0.157933075856061 0.866671316548008 5.48758587680447 0.0028384639169755 0.678671506770642 -ENSDARG00000010596 8 0.110516369140454 0.836156159426777 7.56590327686312 0.00297745919336174 0.678671506770642