Repository 'raceid_clustering'
hg clone https://toolshed.g2.bx.psu.edu/repos/iuc/raceid_clustering

Changeset 0:4ea021bd7513 (2018-11-22)
Next changeset 1:89ee61bcc310 (2019-02-28)
Commit message:
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/raceid3 commit f880060c478d42202df5b78a81329f8af56b1138
added:
macros.xml
macros_cluster.xml
macros_inspectclusters.xml
macros_inspecttrajectories.xml
macros_trajectory.xml
raceid_clustering.xml
scripts/cluster.R
scripts/clusterinspect.R
scripts/pseudotemporal.R
scripts/trajectoryinspect.R
test-data/intestinal.filter.pdf
test-data/intestinal.genelist
test-data/intestinal.pdf
test-data/intestinal_advanced.filter.pdf
test-data/intestinal_advanced.genelist
test-data/intestinal_advanced.pdf
test-data/matrix.filter.pdf
test-data/matrix.filter.rdat
test-data/matrix.genelist
test-data/matrix.pdf
test-data/matrix.rdat
test-data/matrix.tabular
test-data/matrix2.genelist
test-data/matrix2.pdf
test-data/matrix2.rdat
test-data/out_cluster_default.rdat
test-data/out_cluster_general_default.pdf
test-data/out_cluster_inspect_advanced1.pdf
test-data/out_cluster_inspect_advanced2.pdf
test-data/out_cluster_inspect_default.pdf
test-data/out_traject_adv_nondef.pdf
test-data/out_traject_default.ltree.rdat
test-data/out_traject_default.pdf
test-data/out_traject_inspect_allthree.pdf
test-data/out_traject_inspect_allthree.tabular
test-data/out_traject_inspect_default.ltree.blank.pdf
test-data/out_traject_inspect_fateid.pdf
test-data/out_traject_inspect_fateid.tabular
test-data/out_traject_inspect_fateid_som.pdf
test-data/out_traject_inspect_stemid.pdf
test-data/out_traject_inspect_stemid.tabular
test-data/use.intestinal
b
diff -r 000000000000 -r 4ea021bd7513 macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml Thu Nov 22 04:43:57 2018 -0500
[
@@ -0,0 +1,148 @@
+<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
+    #'
+    #' e.g. "-1,2:5,2"  evaluates to c(-1,2,3,4,5,2)
+    #'
+    #' @param add string2vector function to safe environment
+    #' @return vector of integers
+    terms = unlist(strsplit(string, split=","))
+    res = lapply(terms, function(x){
+        if (grepl(":",x)){
+            l_r = as.integer(c(unlist(strsplit(x,split=":"))))
+            return(seq(l_r[1],l_r[2]))
+        }
+        return(as.integer(x))
+    })
+    return(c(unlist(res)))
+}
+
+string2textvector = function(string){
+    #' Converts a string to a valid string vector
+    #'
+    #'   e.g. "red,yellow,white" evaluates to c("red","yellow","white")
+    return(unlist(strsplit(string,",")))
+}
+    </token>
+    <token name="@VERSION_RACEID@">3</token>
+    <token name="@VERSION_PACKAGE@">0.2</token>
+    <macro name="requirements" >
+        <requirements>
+            <requirement type="package" version="0.1.1">r-raceid</requirement>
+            <requirement type="package" version="1.6.2">bioconductor-scran</requirement>
+        </requirements>
+    </macro>
+    <macro name="yesno_checkedno" >
+        <option value="yes" >Yes</option>
+        <option value="no" selected="true" >No</option>
+    </macro>
+    <macro name="use_defaults_no" >
+        <conditional name="use" >
+            <param name="def" type="select" label="Use Defaults?" >
+                <option value="yes" selected="true" >Yes</option>
+                <option value="no" >No</option>
+            </param>
+            <when value="yes" />
+            <when value="no" >
+                <yield />
+            </when>
+        </conditional>
+    </macro>
+    <macro name="test_nondef" >
+        <conditional name="use" >
+            <param name="def" value="no" />
+            <yield />
+        </conditional>
+    </macro>
+    <macro name="section_test_nondef" >
+        <section name="@SECTIONNAME@" >
+            <expand macro="test_nondef" >
+                <yield />
+            </expand>
+        </section>
+    </macro>
+    <macro name="citations" >
+        <citations>
+            <citation type="doi">10.1038/nature14966</citation>
+            <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="">
+            <valid initial="string.letters,string.digits" >
+                <add value=" " />
+                <add value="_" />
+            </valid>
+        </sanitizer>
+    </macro>
+    <macro name="sanitize_regex" >
+        <sanitizer invalid_char="">
+            <valid initial="string.letters,string.digits">
+                <add value="!"/>
+                <add value="="/>
+                <add value="-"/>
+                <add value="."/>
+                <add value="*"/>
+                <add value="?"/>
+                <add value="+"/>
+                <add value="\\"/>
+                <add value="_"/>
+                <add value="|"/>
+                <add value="&#91;"/> <!-- left square bracket, e.g subselecting from vec[1] -->
+                <add value="&#93;"/> <!-- right square bracket -->
+                <add value="&#40;"/> <!-- left parenthesis -->
+                <add value="&#41;"/> <!-- right parenthesis -->
+            </valid>
+        </sanitizer>
+    </macro>
+    <macro name="sanitize_numeric_vector" >
+        <sanitizer invalid_char="">
+            <valid initial="string.digits">
+                <add value=","/>
+            </valid>
+        </sanitizer>
+    </macro>
+    <macro name="sanitize_string_vector" >
+        <sanitizer invalid_char="">
+            <valid initial="string.letters,string.digits">
+                <add value=","/>
+                <add value="_"/>
+                <add value="-"/>
+                <add value="."/>
+            </valid>
+        </sanitizer>
+    </macro>
+</macros>
b
diff -r 000000000000 -r 4ea021bd7513 macros_cluster.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros_cluster.xml Thu Nov 22 04:43:57 2018 -0500
[
b'@@ -0,0 +1,403 @@\n+<macros>\n+    <macro name="cluster_inputs" >\n+        <param name="intable" type="data" format="tabular" label="Count Matrix" />\n+        <section name="filt" title="Filtering" expanded="true" >\n+            <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." />\n+            <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)" />\n+            <param name="minnumber" type="integer" min="1" value="5" label="Min Cells" help="The minumum number of cells for gene expression to be counted"  />\n+            <expand macro="use_defaults_no" >\n+                <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" />\n+                <param name="CGenes" type="text" optional="true" label="CGenes" help="Filter out genes with correlated expression for cell type inference" >\n+                    <expand macro="sanitize_string_vector" />\n+                </param>\n+                <param name="FGenes" type="text" optional="true" label="FGenes" help="Explicitly filter out genes for cell type inference" >\n+                    <expand macro="sanitize_string_vector" />\n+                </param>\n+                <param name="LBatch_regexes" type="text" optional="true" label="Batch Regex" help="List of regexes to capture experimental batches for batch effect correction" >\n+                    <expand macro="sanitize_string_vector" />\n+                </param>\n+                <param name="ccor" type="float" value="0.4" label="CCor" help="Correlation coefficient used as a threshold for determining correlated genes" />\n+                <param name="bmode" type="select" label="Batch Mode" help="Method to regress out batch effects" >\n+                    <option value="RaceID" selected="true" >RaceID</option>\n+                    <option value="scran">SCRAN</option>\n+                </param>\n+                <conditional name="ccc" >\n+                    <param name="use" type="select" label="Perform Cell-cycle correction?" >\n+                        <option value="yes" >Yes</option>\n+                        <option value="no" selected="true" >No</option>\n+                    </param>\n+                    <when value="no" />\n+                    <when value="yes" >\n+                        <param name="vset" type="text" optional="true" label="List of Gene Sets" >\n+                            <expand macro="sanitize_string_vector" />\n+                        </param>\n+                        <param name="pvalue" type="float" value="0.01" min="0" max="1" label="P-value Cutoff" help="P-value cutoff for determining enriched components" />\n+                        <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"  />\n+                        <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 -->\n+                        <param name="dimr" type="boolean" value="true" label="Derive Components from saturation criterion"  />\n+                        <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" >\n+                            <option value="pca" selected="true">PCA</option>\n+                            <option value="ica">ICA</option>\n+                        </param>\n+                        <param name="logscale" type="boolean" value="false" label="Log-transform data prior to PCA or ICA" help="" />\n'..b'ormals(filterdata)\n+filt.ccc = formals(CCcorrect)\n+filt.use.ccorrect = FALSE\n+filt.lbatch.regexes = NULL\n+\n+filt\\$mintotal = as.integer( \'$filt.mintotal\' )\n+filt\\$minexpr = as.integer( \'$filt.minexpr\' )\n+filt\\$minnumber = as.integer( \'$filt.minnumber\' )\n+#if str($filt.use.def) == "no":\n+filt\\$knn = as.integer( \'$filt.use.knn\' )\n+filt\\$ccor = as.numeric( \'$filt.use.ccor\' )\n+filt\\$bmode = as.character( \'$filt.use.bmode\' )\n+    #if $filt.use.LBatch_regexes:\n+filt.lbatch.regexes = string2textvector( \'$filt.use.LBatch_regexes\' )\n+    #end if\n+    #if $filt.use.CGenes:\n+filt\\$CGenes = string2textvector( \'$filt.use.CGenes\' )\n+    #end if\n+    #if $filt.use.FGenes:\n+filt\\$FGenes = string2textvector( \'$filt.use.FGenes\' )\n+    #end if\n+    #if str($filt.use.ccc.use) == "yes"\n+filt.use.ccorrect = TRUE\n+        #if $filt.use.ccc.vset:\n+filt.ccc\\$vset = string2textvector( \'$filt.use.ccc.vset\' )\n+        #end if\n+        #if $filt.use.ccc.ncomp:\n+filt.ccc\\$nComp = as.integer( \'$filt.use.ccc.ncomp\' )\n+        #end if\n+filt.ccc\\$pvalue = as.numeric( \'$filt.use.ccc.pvalue\' )\n+filt.ccc\\$quant = as.numeric( \'$filt.use.ccc.quant\' )\n+filt.ccc\\$dimR = as.logical( \'$filt.use.ccc.dimr\' )\n+filt.ccc\\$mode = as.character( \'$filt.use.ccc.mode.value\' )\n+filt.ccc\\$logscale = as.logical( \'$filt.use.ccc.logscale\' )\n+    #end if\n+#end if\n+\n+out.pdf = \'${outpdf}\'\n+out.rdat = \'${outrdat}\'\n+\n+]]></token>\n+    <token name="@CLUSTER_CHEETAH@"><![CDATA[\n+\n+in.rdat = readRDS(\'${inputrds}\')\n+\n+sc = in.rdat\n+\n+## Perform do.filter\n+use.filtnormconf = FALSE\n+\n+## Perform do.cluster, do.outlier, do.clustmap, mkgenelist\n+use.cluster = TRUE\n+\n+\n+clust.compdist = formals(compdist)\n+clust.clustexp = formals(clustexp)\n+clust.compdist\\$metric = as.character( \'$clust.metric\' )\n+clust.clustexp\\$FUNcluster = as.character( \'$clust.funcluster\' )\n+\n+#if str($clust.use.def) == "no":\n+\n+clust.compdist\\$FSelect = as.logical( \'$clust.use.fselect\' )\n+    #if $clust.use.knn:\n+clust.compdist\\$knn = as.integer( \'$clust.use.knn\' )\n+    #end if\n+clust.clustexp\\$sat = as.logical( \'$clust.use.sat\' )\n+    #if $clust.use.samp:\n+clust.clustexp\\$samp = as.integer( \'$clust.use.samp\' )\n+    #end if\n+    #if $clust.use.cln:\n+clust.clustexp\\$cln = as.integer( \'$clust.use.cln\' )\n+clust.clustexp\\$clustnr = as.integer( \'$clust.use.clustnr\' )\n+clust.clustexp\\$bootnr = as.integer( \'$clust.use.bootnr\' )\n+##clust.clustexp\\$rseed = as.integer( \'$clust.use.rseed\' )\n+    #end if\n+#end if\n+\n+outlier.use.randomforest = FALSE\n+outlier.findoutliers = formals(findoutliers)\n+outlier.clustheatmap = formals(clustheatmap)\n+outlier.rfcorrect = formals(rfcorrect)\n+\n+outlier.findoutliers\\$outminc = as.integer( \'$outlier.outminc\' )\n+outlier.findoutliers\\$outlg = as.integer( \'$outlier.outlg\' )\n+outlier.rfcorrect\\$final = as.logical( \'$outlier.final\' )\n+\n+#if str($outlier.use.def) == "no":\n+    #if $outlier.use.nbtree:\n+outlier.rfcorrect\\$nbtree = as.integer( \'$outlier.use.nbtree\' )\n+    #end if\n+outlier.findoutliers\\$probthr = as.numeric( \'$outlier.use.probthr\' )\n+outlier.findoutliers\\$outdistquant = as.numeric( \'$outlier.use.outdistquant\' )\n+##outlier.rfcorrect\\$rfseed = as.integer( \'$outlier.use.rfseed\' )\n+outlier.rfcorrect\\$nbfactor = as.integer( \'$outlier.use.nbfactor\' )\n+#end if\n+\n+cluster.comptsne = formals(comptsne)\n+cluster.compfr = formals(compfr)\n+\n+cluster.comptsne\\$perplexity = as.integer( \'$tsne.perplexity\' )\n+cluster.compfr\\$knn = as.integer( \'$tsne.knn\' )\n+#if str($tsne.use.def) == "no":\n+cluster.comptsne\\$initial_cmd = as.logical( \'$tsne.use.initial_cmd\' )\n+cluster.comptsne\\$rseed = as.integer( \'$tsne.use.rseed_tsne\' )\n+cluster.compfr\\$rseed = as.integer( \'$tsne.use.rseed_fr\' )\n+#end if\n+\n+genelist.tablelim = as.integer( \'$extra.tablelim\' )\n+genelist.plotlim = as.integer( \'$extra.plotlim\' )\n+genelist.foldchange = as.integer( \'$extra.foldchange\' )\n+genelist.pvalue = as.numeric( \'$extra.pvalue\' )\n+\n+out.pdf = \'${outpdf}\'\n+out.rdat = \'${outrdat}\'\n+out.genelist = \'${outgenelist}\'\n+\n+]]>\n+    </token>\n+</macros>\n'
b
diff -r 000000000000 -r 4ea021bd7513 macros_inspectclusters.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros_inspectclusters.xml Thu Nov 22 04:43:57 2018 -0500
b
b'@@ -0,0 +1,326 @@\n+<macros>\n+    <macro name="inspectclusters_inputs" >\n+        <param name="inputrds" type="data" format="rdata" label="Input RaceID RDS" help="Requires the RDS output from the cluster analysis" />\n+        <conditional name="plotgen">\n+            <param name="do_opt" type="select" label="Plot All Clusters?" help="Generates tSNE and F-R plots" >\n+                <option value="yes" selected="true" >Yes</option>\n+                <option value="no" >No</option>\n+            </param>\n+            <when value="no" />\n+            <when value="yes" />\n+        </conditional>\n+        <conditional name="plotsym" >\n+            <param name="do_opt" type="select" label="Perform Subset Analysis?" >\n+                <expand macro="yesno_checkedno" />\n+            </param>\n+            <when value="no" />\n+            <when value="yes">\n+                <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\'. " >\n+                    <expand macro="sanitize_regex" />\n+                </param>\n+                <expand macro="use_defaults_no" >\n+                    <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. ">\n+                        <expand macro="sanitize_regex" />\n+                    </param>\n+                    <param name="fr" type="boolean" checked="false" label="Output FR map instead of tSNE" help="Performs a Fruchterman-Rheingold projection instead of tSNE" />\n+                </expand>\n+            </when>\n+        </conditional>\n+        <conditional name="gois" >\n+            <param name="do_opt" type="select" label="Examine Genes of Interest" >\n+                <expand macro="yesno_checkedno" />\n+            </param>\n+            <when value="no" />\n+            <when value="yes">\n+                <param name="inspect_goi_genes" type="text" value="" label="Genes to Examine" >\n+                    <expand macro="sanitize_string_vector" />\n+                </param>\n+                <param name="inspect_goi_cells" type="text" optional="true" label="Cells to Examine" help="Leave blank to examine all" ><!-- "":NULL -->\n+                    <expand macro="sanitize_string_vector" />\n+                </param>\n+                <expand macro="use_defaults_no" >\n+                    <!-- Yes, examine genes of interest, but no do not use defaults... -->\n+                    <param name="inspect_goi_imputed" type="boolean" checked="false" label="Impute Genes" help="Only works if k-nearest neighbours was used in the clustering" />\n+                    <param name="plotexp_n" type="text" optional="true" label="Title of plot" help="If blank, the list of genes are used" >\n+                        <expand macro="sanitize_title" />\n+                    </param>\n+                    <param name="plotmarkg_cthr" type="integer" min="0" value="0" label="Cluster Threshold" help="Include only clusters with cells greater than this" />\n+                    <param name="plotmarkg_cl" type="text" optional="true" label="Cluster List" help="List of cluster numbers to include. Leave blank to include all" >\n+                        <expand macro="sanitize_numeric_vector" />\n+                    </param><!-- "":NULL -->\n+                    <param name="plotmarkg_order_cells" type="boolean" checked="false" label="Order Cells" help="Order heatmap by cell names, not by cluster" />\n+                    <param name="plotmarkg_aggr" type="boolean" checked="false" label="Average Expression" help="Show only average expression for ea'..b'rform.plotting = TRUE\n+#end if\n+\n+#if str($plotsym.do_opt) == "yes":\n+perform.symbolmap = TRUE\n+plotsym = formals(plotsymbolsmap)\n+plotsym.use.typeremoveregex = NULL\n+plotsym.use.typeremoveregex.subselect = NULL\n+plotsym.use.typeremoveregex = as.character( \'$plotsym.types_regex\' )\n+    #if str($plotsym.use.def) == "no":\n+plotsym\\$fr = as.logical( \'$plotsym.use.fr\' )\n+        #if $plotsym.use.subset_regex:\n+plotsym.use.typeremoveregex.subselect = as.character( \'$plotsym.use.subset_regex\' )\n+        #end if\n+    #end if\n+#end if\n+\n+#if str($gois.do_opt) == "yes":\n+perform.genesofinterest = TRUE\n+plotexp = formals(plotexpmap)\n+plotmarkg = formals(plotmarkergenes)\n+\n+inspect.goi.use.genes = string2textvector( \'$gois.inspect_goi_genes\' )\n+plotexp\\$g = inspect.goi.use.genes\n+plotmarkg\\$genes = inspect.goi.use.genes\n+\n+    #if $gois.inspect_goi_cells:\n+inspect.goi.use.cells = as.character( \'$gois.inspect_goi_cells\' )\n+plotexp\\$cells = inspect.goi.use.cells\n+plotmarkg\\$cells = inspect.goi.use.cells\n+    #end if\n+    #if str($gois.use.def) == "no":\n+inspect.goi.use.imputed = as.logical( \'$gois.use.inspect_goi_imputed\' )\n+plotexp\\$imputed = inspect.goi.use.imputed\n+plotmarkg\\$imputed = inspect.goi.use.imputed\n+        #if $gois.use.plotmarkg_cl\n+plotmarkg\\$cl = string2numericvector( \'$gois.use.plotmarkg_cl\' )\n+        #end if\n+        #if $gois.use.plotmarkg_cap\n+plotmarkg\\$cap = as.integer( \'$gois.use.plotmarkg_cap\' )\n+        #end if\n+        #if $gois.use.plotmarkg_flo\n+plotmarkg\\$flo = as.integer( \'$gois.use.plotmarkg_flo\' )\n+        #end if\n+        #if $gois.use.plotmarkg_samples\n+plotmarkg\\$samples = as.character( \'$gois.use.plotmarkg_samples\' )\n+        #end if\n+        #if $gois.use.plotexp_n\n+plotexp\\$n = as.character( \'$gois.use.plotexp_n\' )\n+        #end if\n+plotmarkg\\$cthr = as.integer( \'$gois.use.plotmarkg_cthr\' )\n+plotmarkg\\$order.cells = as.logical( \'$gois.use.plotmarkg_order_cells\' )\n+plotmarkg\\$aggr = as.logical( \'$gois.use.plotmarkg_aggr\' )\n+plotmarkg\\$norm = as.logical( \'$gois.use.plotmarkg_norm\' )\n+plotmarkg\\$cluster_cols = as.logical( \'$gois.use.plotmarkg_cluster_cols\' )\n+plotmarkg\\$cluster_rows = as.logical( \'$gois.use.plotmarkg_cluster_rows\' )\n+plotmarkg\\$cluster_set = as.logical( \'$gois.use.plotmarkg_cluster_set\' )\n+    #end if\n+#end if\n+\n+#if str($diffgtest.do_opt) == "yes":\n+plotdiffg = formals(plotdiffgenesnb)\n+\n+perform.diffgene = TRUE\n+plotdiffg\\$Aname = \'$diffgtest.set_a.name_set\'\n+plotdiffg\\$Bname = \'$diffgtest.set_b.name_set\'\n+\n+gfdat.A.use = list()\n+gfdat.B.use = list()\n+\n+gfdat.A.use\\$manual = NULL\n+gfdat.A.use\\$regex = NULL\n+gfdat.A.use\\$cln = NULL\n+gfdat.B.use\\$manual = NULL\n+gfdat.B.use\\$regex = NULL\n+gfdat.B.use\\$cln = NULL\n+\n+    #if str($diffgtest.set_a.meth.type) == "cln":\n+gfdat.A.use\\$cln = c( \'$diffgtest.set_a.meth.selector\' )\n+    #else if str($diffgtest.set_a.meth.type) == "regex":\n+gfdat.A.use\\$regex = as.character( \'$diffgtest.set_a.meth.selector\' )\n+    #else if str($diffgtest.set_a.meth.type) == "manual":\n+gfdat.A.use\\$manual = string2textvector( \'$diffgtest.set_a.meth.selector\' )\n+    #end if\n+\n+    #if str($diffgtest.set_b.meth.type) == "cln":\n+gfdat.B.use\\$cln = c( \'$diffgtest.set_b.meth.selector\' )\n+    #else if str($diffgtest.set_b.meth.type) == "regex":\n+gfdat.B.use\\$regex = as.character( \'$diffgtest.set_b.meth.selector\' )\n+    #else if str($diffgtest.set_b.meth.type) == "manual":\n+gfdat.B.use\\$manual = string2textvector( \'$diffgtest.set_b.meth.selector\' )\n+    #end if\n+\n+    #if str($diffgtest.use.def) == "no":\n+plotdiffg\\$pthr = as.numeric( \'$diffgtest.use.plotdiffg_pthr\' )\n+plotdiffg\\$padj = as.logical( \'$diffgtest.use.plotdiffg_padj\' )\n+plotdiffg\\$lthr = as.integer( \'$diffgtest.use.plotdiffg_lthr\' )\n+plotdiffg\\$show_names = as.logical( \'$diffgtest.use.plotdiffg_show_names\' )\n+        #if $diffgtest.use.plotdiffg_mthr\n+plotdiffg\\$mthr = as.numeric( \'$diffgtest.use.plotdiffg_mthr\' )\n+        #end if\n+    #end if\n+#end if\n+\n+out.pdf=\'${outpdf}\'\n+    ]]>\n+    </token>\n+</macros>\n'
b
diff -r 000000000000 -r 4ea021bd7513 macros_inspecttrajectories.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros_inspecttrajectories.xml Thu Nov 22 04:43:57 2018 -0500
[
b'@@ -0,0 +1,243 @@\n+<macros>\n+    <macro name="inspecttrajectories_inputs" >\n+        <param name="inputrds" type="data" format="rdata" label="Input RDS" help="Requires the RDS output from the trajectory analysis" />\n+        <section name="trjsid" title="StemID Branch Link Examine" expanded="true" help="StemID derives cell lineage trees and predicts multipotent cell identities">\n+            <conditional name="basic" >\n+                <param name="doit" type="select" label="Perform StemID?" >\n+                    <expand macro="yesno_checkedno" />\n+                </param>\n+                <when value="no" />\n+                <when value="yes" >\n+                    <param name="i" type="integer" min="1" value="1" label="Cluster Number" />\n+                    <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." >\n+                        <expand macro="sanitize_numeric_vector" />\n+                    </param>\n+                    <expand macro="use_defaults_no">\n+                        <param name="zscore" type="boolean" checked="false" label="Plot Z-score Transformed Projections" />\n+                        <param name="ndiffgenes" type="integer" min="1" value="10" label="Number of DE Genes" help="Number of differentially expressed genes to output per cluster" />\n+                    </expand>\n+                </when>\n+            </conditional>\n+        </section>\n+        <section name="trjfid" title="FateID Branch Link Examine" expanded="true" help="FateID infers cell fate bias in multipotent progenitor cells" >\n+            <conditional name="basic" >\n+                <param name="doit" type="select" label="Perform FateID?" >\n+                    <expand macro="yesno_checkedno" />\n+                </param>\n+                <when value="no" />\n+                <when value="yes" >\n+                    <param name="cellsfromz" type="text" value="" label="Cells from Clusters" help="Vector of valid cluster numbers ordered along the trajectory" >\n+                        <expand macro="sanitize_numeric_vector" />\n+                    </param>\n+                    <expand macro="use_defaults_no">\n+                        <param name="filterset_minexpr" type="integer" min="0" value="2" label="Min Expression" help="Minimum expression required for at least minnumber cells" />\n+                        <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."/>\n+                        <param name="getsom_nb" type="integer" min="1" value="1000" label="SOM Nodes" help="Number of nodes of the self-organizing map." />\n+                        <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." />\n+                        <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" />\n+                        <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" />\n+                        <param name="plotheat_xgrid" type="boolean" checked="false" label="Partitioning along the x-axis" />\n+                        <param name="plotheat_ygrid" type="boolean" chec'..b'                  <param name="doit" value="yes" />\n+                    <param name="cellsfromz" value="3,9,2" />\n+                    <expand macro="test_nondef" >\n+                        <param name="filterset_minexpr" value="1" />\n+                        <param name="filterset_minnumber" value="2" />\n+                        <param name="procsom_minsom" value="5" />\n+                        <param name="procsom_corthr" value="0.5" />\n+                        <param name="plotheat_ygrid" value="true" />\n+                    </expand>\n+                    <conditional name="som" >\n+                        <param name="doit" value="yes" />\n+                        <conditional name="use_genes" >\n+                            <param name="typer" value="genelist" />\n+                            <param name="use_genes" value="Clca4,Mki67,Defa24,Ybx1,Vasp,Apoa1" />\n+                            <expand macro="test_nondef" >\n+                                <param name="cluster" value="true" />\n+                                <param name="alpha" value="0.1" />\n+                            </expand>\n+                        </conditional>\n+                    </conditional>\n+                </conditional>\n+            </section>\n+            <output name="outdiffgenes" value="out_traject_inspect_allthree.tabular" />\n+            <output name="outpdf" value="out_traject_inspect_allthree.pdf" compare="sim_size" delta="15" />\n+        </test>\n+    </macro>\n+    <token name="@INSPECTTRAJECTORIES_CHEETAH@"><![CDATA[\n+in.rdat = readRDS(\'${inputrds}\')\n+\n+perform.stemID = FALSE\n+perform.fateID = FALSE\n+perform.fateID.sominspect = FALSE\n+\n+#if str($trjsid.basic.doit) == "yes"\n+perform.stemID = TRUE\n+trjsid.getproj = formals(getproj)\n+\n+trjsid.numdiffgenes = 10\n+trjsid.getproj\\$i = as.integer( \'$trjsid.basic.i\' )\n+trjsid.branchcells.ijk = string2numericvector( \'$trjsid.basic.br\' )\n+\n+   #if str($trjsid.basic.use.def) == "no":\n+\n+trjsid.getproj\\$zscore = as.logical( \'$trjsid.basic.use.zscore\' )\n+trjsid.numdiffgenes = as.integer( \'$trjsid.basic.use.ndiffgenes\' )\n+\n+   #end if\n+#end if\n+\n+#if str($trjfid.basic.doit) == "yes":\n+perform.fateID = TRUE\n+trjfid.cellsfrom = formals(cellsfromtree)\n+trjfid.filterset = formals(filterset)\n+trjfid.getsom = formals(getsom)\n+trjfid.procsom = formals(procsom)\n+trjfid.plotheat = list()\n+\n+trjfid.cellsfrom\\$z = string2numericvector( \'$trjfid.basic.cellsfromz\' )\n+    #if str($trjfid.basic.use.def) == "no":\n+\n+trjfid.filterset\\$minexpr = as.integer( \'$trjfid.basic.use.filterset_minexpr\' )\n+trjfid.filterset\\$minnumber = as.integer( \'$trjfid.basic.use.filterset_minnumber\' )\n+trjfid.getsom\\$nb = as.numeric( \'$trjfid.basic.use.getsom_nb\' )\n+trjfid.getsom\\$alpha = as.numeric( \'$trjfid.basic.use.getsom_alpha\' )\n+trjfid.procsom\\$corthr = as.numeric( \'$trjfid.basic.use.procsom_corthr\' )\n+trjfid.procsom\\$minsom = as.integer( \'$trjfid.basic.use.procsom_minsom\' )\n+trjfid.plotheat\\$xgrid = as.logical( \'$trjfid.basic.use.plotheat_xgrid\' )\n+trjfid.plotheat\\$ygrid = as.logical( \'$trjfid.basic.use.plotheat_ygrid\' )\n+trjfid.plotheat\\$xlab = as.logical( \'$trjfid.basic.use.plotheat_xlab\' )\n+    #end if\n+\n+    #if str($trjfid.basic.som.doit) == "yes":\n+perform.fateID.sominspect = TRUE\n+\n+trjfidsomi = list()\n+        #if str($trjfid.basic.som.use_genes.typer) == "genelist":\n+trjfidsomi.use.genes = string2textvector( \'$trjfid.basic.som.use_genes.use_genes\' )\n+        #else if str($trjfid.basic.som.use_genes.typer) == "cln":\n+trjfidsomi.use.genes = as.integer( \'$trjfid.basic.som.use_genes.use_genes\' )\n+        #end if\n+\n+trjfidsomi.use.types = \'$trjfid.basic.som.use_types\'\n+trjfidsomi\\$name = \'$trjfid.basic.som.title\'\n+\n+        #if str($trjfid.basic.som.use.def) == "no":\n+trjfidsomi\\$cluster = as.logical( \'$trjfid.basic.som.use.cluster\' )\n+trjfidsomi\\$alpha = as.numeric( \'$trjfid.basic.som.use.alpha\' )\n+        #end if\n+    #end if\n+#end if\n+\n+out.pdf = \'${outpdf}\'\n+out.diffgenes = \'${outdiffgenes}\'\n+\n+]]>\n+    </token>\n+</macros>\n'
b
diff -r 000000000000 -r 4ea021bd7513 macros_trajectory.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros_trajectory.xml Thu Nov 22 04:43:57 2018 -0500
[
b'@@ -0,0 +1,156 @@\n+<macros>\n+    <macro name="trajectory_inputs" >\n+        <param name="inputrds" type="data" format="rdata" label="Input RDS" help="This is the output RData file given by the Cluster stage" />\n+        <section name="projcell" title="Compute transcriptome entropy of each cell" expanded="true" >\n+            <param name="knn" type="integer" min="0" value="3" label="KNN" help="Number of nearest neighbours to consider." />\n+            <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" />\n+            <expand macro="use_defaults_no" >\n+                <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." />\n+                <param name="fr" type="boolean" checked="false" label="F-R layout?" help="Use Fruchterman-Rheigold layout instead of t-SNE" />\n+            </expand>\n+        </section>\n+        <section name="projback" title="Compute Cell Projections for Randomized Background Distribution" expanded="true" >\n+            <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" />\n+            <expand macro="use_defaults_no" >\n+                <param name="fast" type="boolean" checked="false" label="Use a fast approximate background model to infer links" />\n+                <param name="rseed" type="integer" value="17000" label="Random seed" />\n+            </expand>\n+        </section>\n+        <section name="comppval" title="Computing P-values for Link Significance" expanded="true" >\n+            <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." />\n+            <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" />\n+        </section>\n+        <section name="plotgraph" title="StemID2 Lineage Graph" expanded="true" >\n+            <param name="showcells" type="boolean" checked="false" label="Show Cells" help="Projections of cells are shown in the plot" />\n+            <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" />\n+            <expand macro="use_defaults_no">\n+                <param name="showtsne" type="boolean" checked="true" label="Show tSNE" help="Show transparent t-SNE map of cells in the background" />\n+                <param name="tp" type="float" min="0" max="1" value="0.5" label="Transparency" help="Level of transparency of t-SNE map" />\n+            </expand>\n+        </section>\n+        <section name="compscore" title="Compute StemID2 score" expanded="true" >\n+            <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" />\n+            <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" />\n+        </section>\n+    </macro>\n+    <macro name="trajectory_tests" >\n+        <test>\n+            <!-- All defaults -->\n+            <param name="inputrds" value="out_cluster_default.rdat" />\n+            <output name="outpdf" value="out_traject_default.pdf" compare="sim_size" delta="15" />\n+            <output name="outrdat" value="out_traject_default.ltree.rdat" compare="sim_size" delta="15" />\n+        </test>\n+        <test>\n+        '..b't" value="false" />\n+                    <param name="rseed" value="17000" />\n+                </expand>\n+            </section>\n+            <section name="comppval" >\n+                <param name="pthr" value="0.01" />\n+                <param name="sensitive" value="false" />\n+            </section>\n+            <section name="plotgraph" >\n+                <param name="showcells" value="false" />\n+                <param name="scthr" value="0" />\n+                <expand macro="test_nondef" >\n+                    <param name="showtsne" value="true" />\n+                    <param name="tp" value="0.5" />\n+                </expand>\n+            </section>\n+            <section name="compscore" >\n+                <param name="nn" value="1" />\n+                <param name="scthr" value="0" />\n+            </section>\n+            <output name="outpdf" value="out_traject_default.pdf" compare="sim_size" delta="15" />\n+            <output name="outrdat" value="out_traject_default.ltree.rdat" compare="sim_size" delta="15" />\n+        </test>\n+        <test>\n+            <!-- Non-defaults -->\n+            <param name="inputrds" value="out_cluster_default.rdat" />\n+            <section name="projcell">\n+                <param name="knn" value="4" />\n+                <param name="cthr" value="4" />\n+                <expand macro="test_nondef" >\n+                    <param name="nmode" value="false" />\n+                    <param name="fr" value="true" />\n+                </expand>\n+            </section>\n+            <section name="projback">\n+                <param name="pdishuf" value="1500" />\n+                <expand macro="test_nondef" >\n+                    <param name="fast" value="true" />\n+                    <param name="rseed" value="1500" />\n+                </expand>\n+            </section>\n+            <section name="comppval">\n+                <param name="pthr" value="0.05" />\n+                <param name="sensitive" value="true" />\n+            </section>\n+            <section name="plotgraph">\n+                <param name="showcells" value="true" />\n+                <param name="scthr" value="0.5" />\n+                <expand macro="test_nondef" >\n+                    <param name="showtsne" value="false" />\n+                    <param name="tp" value="0.25" />\n+                </expand>\n+            </section>\n+            <section name="compscore">\n+                <param name="nn" value="2" />\n+                <param name="scthr" value="0.5" />\n+            </section>\n+            <output name="outpdf" value="out_traject_adv_nondef.pdf" compare="sim_size" delta="15" />\n+        </test>\n+    </macro>\n+    <token name="@TRAJECTORY_CHEETAH@"><![CDATA[\n+\n+in.rdat = readRDS(\'${inputrds}\')\n+\n+pstc.projc = formals(projcells)\n+pstc.projc\\$knn = as.integer( \'$projcell.knn\' )\n+pstc.projc\\$cthr = as.integer( \'$projcell.cthr\' )\n+#if str($projcell.use.def) == "no":\n+pstc.projc\\$nmode = as.logical( \'$projcell.use.nmode\' )\n+pstc.projc\\$fr = as.logical( \'$projcell.use.fr\' )\n+#end if\n+\n+pstc.projb = formals(projback)\n+pstc.projb\\$pdishuf = as.integer( \'$projback.pdishuf\' )\n+#if str($projback.use.def) == "no":\n+pstc.projb\\$fast = as.logical( \'$projback.use.fast\' )\n+pstc.projb\\$rseed = as.integer( \'$projback.use.rseed\' )\n+#end if\n+\n+pstc.comppval = formals(comppvalue)\n+pstc.comppval\\$pthr = as.numeric( \'$comppval.pthr\' )\n+pstc.comppval\\$sensitive = as.logical( \'$comppval.sensitive\' )\n+\n+pstc.plotgraph = formals(plotgraph)\n+pstc.plotgraph\\$showCells = as.logical( \'$plotgraph.showcells\' )\n+pstc.plotgraph\\$scthr = as.numeric( \'$plotgraph.scthr\' )\n+#if str($plotgraph.use.def) == "no":\n+pstc.plotgraph\\$showTsne = as.logical( \'$plotgraph.use.showtsne\' )\n+pstc.plotgraph\\$tp = as.numeric( \'$plotgraph.use.tp\' )\n+#end if\n+\n+pstc.compscore = formals(compscore)\n+pstc.compscore\\$nn = as.integer( \'$compscore.nn\' )\n+pstc.compscore\\$scthr = as.numeric( \'$compscore.scthr\' )\n+\n+out.pdf=\'${outpdf}\'\n+out.rdat=\'${outrdat}\'\n+    ]]>\n+    </token>\n+</macros>\n'
b
diff -r 000000000000 -r 4ea021bd7513 raceid_clustering.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/raceid_clustering.xml Thu Nov 22 04:43:57 2018 -0500
[
b'@@ -0,0 +1,213 @@\n+<tool id="raceid_clustering" name="Clustering using RaceID" version="@VERSION_RACEID@.@VERSION_PACKAGE@.1" >\n+    <description>performs clustering, outlier detection, dimensional reduction</description>\n+    <macros>\n+        <import>macros.xml</import>\n+        <import>macros_cluster.xml</import>\n+    </macros>\n+    <expand macro="requirements" />\n+    <version_command><![CDATA[\n+Rscript \'$__tool_directory__/scripts/cluster.R\' @GET_VERSION@\n+]]></version_command>\n+\n+    <command detect_errors="exit_code"><![CDATA[\n+#set bin = \'cluster.R\'\n+Rscript \'$__tool_directory__/scripts/$bin\' \'$userconf\' 2>&1 > \'$outlog\'\n+    ]]></command>\n+\n+    <configfiles>\n+        <configfile name="userconf" ><![CDATA[\n+@STRING2VECTOR@\n+\n+@CLUSTER_CHEETAH@\n+\n+]]></configfile>\n+    </configfiles>\n+    <inputs>\n+        <param name="inputrds" type="data" format="rdata" label="Input RaceID RDS" help="Requires the RDS output from the normalisation stage" />\n+        <section name="clust" title="Clustering" expanded="true" >\n+            <!-- CompDist -->\n+            <param name="metric" type="select" label="Distance Metric" >\n+                <option value="pearson" selected="true" >Pearson</option>\n+                <option value="spearman">Spearman</option>\n+                <option value="logpearson">Log Pearson</option>\n+                <option value="euclidean">Euclidean</option>\n+            </param>\n+            <!-- ClustExp -->\n+            <param name="funcluster" type="select" label="Clustering method" >\n+                <option value="kmedoids" selected="true" >K-medoids</option>\n+                <option value="kmeans">K-means</option>\n+                <option value="hclust">H-Clust</option>\n+            </param>\n+            <expand macro="use_defaults_no" >\n+                <!-- CompDist -->\n+                <param name="fselect" type="boolean" value="true" label="Perform feature selection" />\n+                <param name="knn" type="integer" min="0" optional="true" label="KNN" help="Number of nearest neighbours for imputing gene expression" /><!-- 0: NULL -->\n+                <!-- ClustExp -->\n+                <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." />\n+                <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." />\n+                <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 -->\n+                <param name="cln" type="integer" min="0" optional="true" label="Number of clusters" /><!-- 0:Null -->\n+                <param name="bootnr" type="integer" min="0" value="50" label="Number of booststrapping runs" />\n+                <param name="rseed" type="integer" value="17000" label="Random seed" />\n+            </expand>\n+        </section>\n+        <section name="outlier" title="Outliers" expanded="true" >\n+            <!-- Find Outliers -->\n+            <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" />\n+            <param name="outlg" type="integer" min="1" value="2" label="Minimum Genes" help="Minimum number of outlier genes required for being an outlier cell" />\n+            <!-- RFCorrect -->\n+            <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 outl'..b'ced. Opts, CC used  -->\n+            <param name="inputrds" value="matrix.filter.rdat" />\n+            <section name="clust" >\n+                <param name="metric" value="euclidean" />\n+                <param name="funcluster" value="hclust" />\n+                <expand macro="test_nondef" >\n+                    <param name="fselect" value="false" />\n+                    <param name="knn" value="5" />\n+                    <param name="sat" value="false" />\n+                    <param name="samp" value="10" />\n+                    <param name="cln" value="10" />\n+                    <param name="clustnr" value="10" />\n+                    <param name="bootnr" value="30" />\n+                    <param name="rseed" value="17000" />\n+                </expand>\n+            </section>\n+            <section name="outlier" >\n+                <param name="outminc" value="3" />\n+                <param name="outlg" value="5" />\n+                <param name="final" value="true" />\n+                <expand macro="test_nondef" >\n+                    <param name="probthr" value="0.01" />\n+                    <param name="outdistquant" value="0.5" />\n+                    <param name="rfseed" value="12345" />\n+                    <param name="nbfactor" value="5" />\n+                    <param name="nbtree" value="10" />\n+                </expand>\n+            </section>\n+            <section name="tsne" >\n+                <param name="perplexity" value="20" />\n+                <param name="knn" value="6" />\n+                <expand macro="test_nondef" >\n+                    <param name="initial_cmd" value="false" />\n+                    <param name="rseed_tsne" value="15555" />\n+                    <param name="rfseed_fr" value="15555" />\n+                </expand>\n+            </section>\n+            <output name="outgenelist" value="intestinal_advanced.genelist" />\n+            <output name="outpdf" value="intestinal_advanced.pdf" compare="sim_size" delta="150" />\n+        </test>\n+    </tests>\n+    <help><![CDATA[\n+RaceID3\n+=========\n+\n+RaceID is a clustering algorithm for the identification of cell types from single-cell RNA-sequencing data. It was specifically designed for the detection of rare cells which correspond to outliers in conventional clustering methods.\n+\n+This module performs clustering, and outlier detection and ultimately tells you how well defined your clusters are (even if the resultant tSNE plots look messy).\n+\n+The tool generates the following:\n+\n+ * A list of the most differentially expressed genes in each cluster\n+ * Cluster stability plots:\n+     * The mean within-cluster dispersion as a function of the cluster number and highlights the saturation point inferred based on the saturation criterion applied by RaceID3. The number of clusters where the change in within-cluster dispersion upon adding further clusters approaches linear behaviour demarcates the saturation point is highlighted in blue.\n+         * The point where this flattens out gives you a rough estimate of how many clusters there are in your analysis.\n+     * A scatter plot showing the gene expression variance as a function of the mean and the inferred polynomial fit of the background model, as well as a local regression.\n+        * This tells you which genes are the most significant against a background model of random expression.\n+     * A Jaccard stability plot which tells you how well defined your clusters are prior to outlier identification.\n+        * Good stable clusters should near the 0.8 mark, but 0.6 is acceptable, and for a large number of clusters, one or two low scoring clusters are also acceptable.\n+ * Heatmaps:\n+     * The initial and final clustering (as determined using random forest)\n+     * For each of the most differentially expressed genes in each cluster\n+\n+The tool requires the RData input from the previous filtering / normalisation / confounder removal step to work.\n+\n+\n+]]>\n+    </help>\n+    <expand macro="citations" />\n+</tool>\n'
b
diff -r 000000000000 -r 4ea021bd7513 scripts/cluster.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/cluster.R Thu Nov 22 04:43:57 2018 -0500
[
@@ -0,0 +1,156 @@
+#!/usr/bin/env R
+VERSION = "0.2"
+
+args = commandArgs(trailingOnly = T)
+
+if (length(args) != 1){
+     message(paste("VERSION:", VERSION))
+     stop("Please provide the config file")
+}
+
+suppressWarnings(suppressPackageStartupMessages(require(RaceID)))
+suppressWarnings(suppressPackageStartupMessages(require(scran)))
+source(args[1])
+
+
+do.filter <- function(sc){
+    if (!is.null(filt.lbatch.regexes)){
+        lar <- filt.lbatch.regexes
+        nn <- colnames(sc@expdata)
+        filt$LBatch <- lapply(1:length(lar), function(m){ return( nn[grep(lar[[m]], nn)] ) })
+    }
+
+    sc <- do.call(filterdata, c(sc, filt))
+
+    ## Get histogram metrics for library size and number of features
+    raw.lib <- log(colSums(as.matrix(sc@expdata)))
+    raw.feat <- log(rowSums(as.matrix(sc@expdata)))
+    filt.lib <- log(colSums(getfdata(sc)))
+    filt.feat <- log(rowSums(getfdata(sc)))
+
+    br <- 50
+    ## Determine limits on plots based on the unfiltered data
+    ## (doesn't work, R rejects limits and norm data is too different to compare to exp data
+    ##  so let them keep their own ranges)
+
+    ## betterrange <- function(floatval){
+    ##     return(10 * (floor(floatval / 10) + 1))
+    ## }
+
+    ## tmp.lib <- hist(raw.lib, breaks=br, plot=F)
+    ## tmp.feat <- hist(raw.feat, breaks=br, plot=F)
+
+    ## lib.y_lim <- c(0,betterrange(max(tmp.lib$counts)))
+    ## lib.x_lim <- c(0,betterrange(max(tmp.lib$breaks)))
+
+    ## feat.y_lim <- c(0,betterrange(max(tmp.feat$counts)))
+    ## feat.x_lim <- c(0,betterrange(max(tmp.feat$breaks)))
+
+    par(mfrow=c(2,2))
+    print(hist(raw.lib, breaks=br, main="ExpData Log(LibSize)")) # , xlim=lib.x_lim, ylim=lib.y_lim)
+    print(hist(raw.feat, breaks=br, main="ExpData Log(NumFeat)")) #, xlim=feat.x_lim, ylim=feat.y_lim)
+    print(hist(filt.lib, breaks=br, main="FiltData Log(LibSize)")) # , xlim=lib.x_lim, ylim=lib.y_lim)
+    print(hist(filt.feat, breaks=br, main="FiltData Log(NumFeat)")) # , xlim=feat.x_lim, ylim=feat.y_lim)
+
+    if (filt.use.ccorrect){
+        par(mfrow=c(2,2))
+        sc <- do.call(CCcorrect, c(sc, filt.ccc))
+        print(plotdimsat(sc, change=T))
+        print(plotdimsat(sc, change=F))
+    }
+    return(sc)
+}
+
+do.cluster <- function(sc){
+    sc <- do.call(compdist, c(sc, clust.compdist))
+    sc <- do.call(clustexp, c(sc, clust.clustexp))
+    if (clust.clustexp$sat){
+        print(plotsaturation(sc, disp=F))
+        print(plotsaturation(sc, disp=T))
+    }
+    print(plotjaccard(sc))
+    return(sc)
+}
+
+do.outlier <- function(sc){
+    sc <- do.call(findoutliers, c(sc, outlier.findoutliers))
+    if (outlier.use.randomforest){
+        sc <- do.call(rfcorrect, c(sc, outlier.rfcorrect))
+    }
+    print(plotbackground(sc))
+    print(plotsensitivity(sc))
+    print(plotoutlierprobs(sc))
+    ## Heatmaps
+    test1 <- list()
+    test1$side = 3
+    test1$line = 0  #1 #3
+
+    x <- clustheatmap(sc, final=FALSE)
+    print(do.call(mtext, c(paste("(Initial)"), test1)))  ## spacing is a hack
+    x <- clustheatmap(sc, final=TRUE)
+    print(do.call(mtext, c(paste("(Final)"), test1)))  ## spacing is a hack
+    return(sc)
+}
+
+do.clustmap <- function(sc){
+    sc <- do.call(comptsne, c(sc, cluster.comptsne))
+    sc <- do.call(compfr, c(sc, cluster.compfr))
+    return(sc)
+}
+
+
+mkgenelist <- function(sc){
+    ## Layout
+    test <- list()
+    test$side = 3
+    test$line = 0  #1 #3
+    test$cex = 0.8
+
+    df <- c()
+    options(cex = 1)
+    lapply(unique(sc@cpart), function(n){
+        dg <- clustdiffgenes(sc, cl=n, pvalue=genelist.pvalue)
+
+        dg.goi <- dg[dg$fc > genelist.foldchange,]
+        dg.goi.table <- head(dg.goi, genelist.tablelim)
+        df <<- rbind(df, cbind(n, dg.goi.table))
+
+        goi <- head(rownames(dg.goi.table), genelist.plotlim)
+        print(plotmarkergenes(sc, goi))
+        print(do.call(mtext, c(paste("                               Cluster ",n), test)))  ## spacing is a hack
+        test$line=-1
+        print(do.call(mtext, c(paste("                               Sig. Genes"), test)))  ## spacing is a hack
+        test$line=-2
+        print(do.call(mtext, c(paste("                               (fc > ", genelist.foldchange,")"), test)))  ## spacing is a hack
+
+    })
+    write.table(df, file=out.genelist, sep="\t", quote=F)
+}
+
+pdf(out.pdf)
+
+if (use.filtnormconf){
+    sc <- do.filter(sc)
+    message(paste(" - Source:: genes:",nrow(sc@expdata),", cells:",ncol(sc@expdata)))
+    message(paste(" - Filter:: genes:",nrow(sc@ndata),", cells:",ncol(sc@ndata)))
+    message(paste("         :: ",
+                  sprintf("%.1f", 100 * nrow(sc@ndata)/nrow(sc@expdata)), "% of genes remain,",
+                  sprintf("%.1f", 100 * ncol(sc@ndata)/ncol(sc@expdata)), "% of cells remain"))
+}
+
+if (use.cluster){
+    par(mfrow=c(2,2))
+    sc <- do.cluster(sc)
+
+    par(mfrow=c(2,2))
+    sc <- do.outlier(sc)
+
+    par(mfrow=c(2,2), mar=c(1,1,6,1))
+    sc <- do.clustmap(sc)
+
+    mkgenelist(sc)
+}
+
+dev.off()
+
+saveRDS(sc, out.rdat)
b
diff -r 000000000000 -r 4ea021bd7513 scripts/clusterinspect.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/clusterinspect.R Thu Nov 22 04:43:57 2018 -0500
[
@@ -0,0 +1,121 @@
+#!/usr/bin/env R
+VERSION = "0.2"
+
+args = commandArgs(trailingOnly = T)
+
+if (length(args) != 1){
+     message(paste("VERSION:", VERSION))
+     stop("Please provide the config file")
+}
+
+suppressWarnings(suppressPackageStartupMessages(require(RaceID)))
+source(args[1])
+
+## layout
+test <- list()
+test$side = 3
+test$line = 3
+
+do.plotting <- function(sc){
+    print(plotmap(sc, final = FALSE, fr = FALSE))
+    print(do.call(mtext, c("Initial Clustering tSNE", test)))
+    print(plotmap(sc, final = TRUE, fr = FALSE))
+    print(do.call(mtext, c("Final Clustering tSNE", test)))
+    print(plotmap(sc, final = FALSE, fr = TRUE))
+    print(do.call(mtext, c("Initial Clustering Fruchterman-Reingold", test)))
+    print(plotmap(sc, final = TRUE, fr = TRUE))
+    print(do.call(mtext, c("Final Clustering Fruchterman-Reingold", test)))
+}
+
+
+do.inspect.symbolmap <- function(sc){
+    if (!is.null(plotsym.use.typeremoveregex)){
+        plotsym$types = sub(plotsym.use.typeremoveregex, "", colnames(sc@ndata))
+
+        if (!is.null(plotsym.use.typeremoveregex.subselect)){
+            plotsym$subset = plotsym$types[grep(plotsym.use.typeremoveregex.subselect, plotsym$types)]
+        }
+    }
+    plotsym$fr = FALSE
+    print(do.call(plotsymbolsmap, c(sc, plotsym)))
+    print(do.call(mtext, c("Symbols tSNE", test)))
+    plotsym$fr = TRUE
+    print(do.call(plotsymbolsmap, c(sc, plotsym)))
+    print(do.call(mtext, c("Symbols FR", test)))
+}
+
+do.inspect.diffgene <- function(sc){
+
+    getSubNames <- function(lob, sc){
+        use.names <- NULL
+        if (!is.null(lob$manual)){
+            use.names <- lob$manual
+        }
+        else if (!is.null(lob$regex)){
+            nm <- colnames(sc@ndata)
+            use.names <- nm[grep(lob$regex, nm)]
+        }
+        else if (!is.null(lob$cln)){
+            use.names <- names(sc@cpart)[sc@cpart %in% lob$cln]
+        }
+        if (is.null(use.names)){
+            stop("A or B names not given!")
+        }
+        return(use.names)
+    }
+
+    A <- getSubNames(gfdat.A.use, sc)
+    B <- getSubNames(gfdat.B.use, sc)
+
+    fdat <- getfdata(sc, n=c(A,B))
+    dexp <- diffexpnb(fdat, A=A, B=B)
+    ## options for diffexpnb are mostly about DESeq, ignore
+    plotdiffg$x = dexp
+    print(do.call(plotdiffgenesnb, c(plotdiffg)))
+    print(do.call(mtext, c("Diff Genes", test)))
+}
+
+
+do.inspect.genesofinterest <- function(sc){
+    if (is.null(plotexp$n)){ ## No title, and one gene? Use gene name
+        if (length(plotexp$g) == 1){
+            plotexp$n <- plotexp$g
+        } else {
+            plotexp$n <- paste(plotexp$g, collapse=", ")
+        }
+    }
+
+    title <- paste(":", plotexp$n)
+    plotexp$n <- ""
+
+    plotexp$logsc=FALSE; plotexp$fr = FALSE
+    print(do.call(plotexpmap, c(sc, plotexp)))
+    print(do.call(mtext, c(paste("tSNE", title), test)))
+
+    plotexp$logsc=TRUE; plotexp$fr = FALSE
+    print(do.call(plotexpmap, c(sc, plotexp)))
+    print(do.call(mtext, c(paste("tSNE (Log)", title), test)))
+
+    plotexp$logsc=FALSE; plotexp$fr = TRUE
+    print(do.call(plotexpmap, c(sc, plotexp)))
+    print(do.call(mtext, c(paste("FR", title), test)))
+
+    plotexp$logsc=TRUE; plotexp$fr = TRUE
+    print(do.call(plotexpmap, c(sc, plotexp)))
+    print(do.call(mtext, c(paste("FR (Log)", title), test)))
+
+    if (!is.null(plotmarkg$samples)){
+        reg <- plotmarkg$samples
+        plotmarkg$samples <- sub("(\\_\\d+)$","", colnames(sc@ndata))
+    }
+    print(do.call(plotmarkergenes, c(sc, plotmarkg)))
+}
+
+sc <- in.rdat
+
+pdf(out.pdf)
+if (perform.plotting) do.plotting(sc)
+if (perform.symbolmap) do.inspect.symbolmap(sc)
+if (perform.genesofinterest) do.inspect.genesofinterest(sc)
+if (perform.diffgene) do.inspect.diffgene(sc)
+dev.off()
b
diff -r 000000000000 -r 4ea021bd7513 scripts/pseudotemporal.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/pseudotemporal.R Thu Nov 22 04:43:57 2018 -0500
[
@@ -0,0 +1,58 @@
+#!/usr/bin/env R
+VERSION = "0.1"
+
+args = commandArgs(trailingOnly = T)
+
+if (length(args) != 1){
+     message(paste("VERSION:", VERSION))
+     stop("Please provide the config file")
+}
+
+suppressWarnings(suppressPackageStartupMessages(require(RaceID)))
+source(args[1])
+
+test <- list()
+test$side = 3
+test$line = 3
+second <- test
+second$cex = 0.5
+second$line = 2.5
+
+
+do.pseudotemp <- function(sc){
+    pdf(out.pdf)
+    ltr <- Ltree(sc)
+    ltr <- compentropy(ltr)
+    ltr <- do.call(projcells, c(ltr, pstc.projc))
+    ltr <- do.call(projback, c(ltr, pstc.projb))
+    ltr <- lineagegraph(ltr)
+    ltr <- do.call(comppvalue, c(ltr, pstc.comppval))    
+    x <- do.call(compscore, c(ltr, pstc.compscore))
+    print(do.call(mtext, c("Compute Score", test)))
+    print(do.call(mtext, c("No. of inter-cluster links / Delta median entropy of each cluster / StemID2 score (combination of both)", second)))
+    plotdistanceratio(ltr)
+    print(do.call(mtext, c("Cell-to-Cell Distance Ratio", test)))
+    print(do.call(mtext, c("Original vs High-dimensional Embedded Space", second)))
+    do.call(plotgraph, c(ltr, pstc.plotgraph))
+    print(do.call(mtext, c("Lineage Trajectories                                                      ", test)))
+    print(do.call(mtext, c("Colour = Level of Significance, Width = Link Score                                                                                                          ", second)))
+    plotspantree(ltr)
+    print(do.call(mtext, c("Minimum Spanning Tree", test)))
+    plotprojections(ltr)
+    print(do.call(mtext, c("Minimum Spanning Tree", test)))
+    print(do.call(mtext, c("Cells Projected onto Links", second)))
+    test$side = 4
+    test$line = 0
+    plotlinkscore(ltr)
+    print(do.call(mtext, c("Link Score", test)))
+    projenrichment(ltr)
+    print(do.call(mtext, c("Enrichment Ratios", test)))
+    dev.off()
+
+    return(ltr)
+}
+
+ltr <- do.pseudotemp(in.rdat)
+
+
+saveRDS(ltr, out.rdat)
b
diff -r 000000000000 -r 4ea021bd7513 scripts/trajectoryinspect.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/trajectoryinspect.R Thu Nov 22 04:43:57 2018 -0500
[
@@ -0,0 +1,134 @@
+#!/usr/bin/env R
+VERSION = "0.2"
+
+args = commandArgs(trailingOnly = T)
+
+if (length(args) != 1){
+     message(paste("VERSION:", VERSION))
+     stop("Please provide the config file")
+}
+
+suppressWarnings(suppressPackageStartupMessages(require(RaceID)))
+suppressWarnings(suppressPackageStartupMessages(require(FateID)))
+source(args[1])
+
+test <- list()
+test$side = 3
+test$line = 2.5
+second <- test
+second$cex = 0.5
+second$line = 2.5
+
+do.trajectoryinspection.stemID <- function(ltr){
+    makeBranchLink <- function(i,j,k){
+        ingoing <- paste(sort(c(i,j)), collapse=".")
+        outgoing <- paste(sort(c(j,k)), collapse=".")
+        messed <- sort(c(ingoing,outgoing))
+        return(list(messed[[1]], messed[[2]]))
+    }
+
+    zzz <- do.call(getproj, c(ltr, trjsid.getproj))
+    bra <- branchcells(
+        ltr,
+        do.call("makeBranchLink", as.list(trjsid.branchcells.ijk))
+    )
+    write.table(
+        head(bra$diffgenes$z, trjsid.numdiffgenes),
+        file=out.diffgenes)
+
+    par(mfrow = c(2,2), cex=0.5)
+    print(do.call(plotmap, c(bra$scl, final=FALSE, fr=FALSE)))
+    print(do.call(mtext, c("Initial Clusters (tSNE)", test)))
+    print(do.call(plotmap, c(bra$scl, final=TRUE, fr=FALSE)))
+    print(do.call(mtext, c("Final Clusters (tSNE)", test)))
+    print(do.call(plotmap, c(bra$scl, final=FALSE, fr=TRUE)))
+    print(do.call(mtext, c("Initial Clusters (F-R)", test)))
+    print(do.call(plotmap, c(bra$scl, final=TRUE, fr=TRUE)))
+    print(do.call(mtext, c("Final Clusters (F-R)", test)))
+}
+
+do.trajectoryinspection.fateID <- function(ltr){
+    n <- do.call(cellsfromtree, c(ltr, trjfid.cellsfrom))
+    x <- getfdata(ltr@sc)
+
+    trjfid.filterset$x = x
+    trjfid.filterset$n = n$f
+    fs <- do.call(filterset, c(trjfid.filterset))
+    trjfid.getsom$x = fs
+    s1d <- do.call(getsom, c(trjfid.getsom))
+    trjfid.procsom$s1d = s1d
+    ps <- do.call(procsom, c(trjfid.procsom))
+
+    y    <- ltr@sc@cpart[n$f]
+    fcol <- ltr@sc@fcol
+
+    trjfid.plotheat$xpart = y
+    trjfid.plotheat$xcol = fcol
+
+    ##Plot average z-score for all modules derived from the SOM:
+    trjfid.plotheat$x = ps$nodes.z
+    trjfid.plotheat$ypart = unique(ps$nodes)
+    print(do.call(plotheatmap, c(trjfid.plotheat)))
+    print(do.call(mtext, c("Average z-score for all modules derived from SOM", test)))
+    ##Plot z-score profile of each gene ordered by SOM modules:
+    trjfid.plotheat$x = ps$all.z
+    trjfid.plotheat$ypart = ps$nodes
+    print(do.call(plotheatmap, c(trjfid.plotheat)))
+    print(do.call(mtext, c("z-score profile of each gene ordered by SOM modules", test)))
+    ##Plot normalized expression profile of each gene ordered by SOM modules:
+    trjfid.plotheat$x = ps$all.e
+    trjfid.plotheat$ypart = ps$nodes
+    print(do.call(plotheatmap, c(trjfid.plotheat)))
+    print(do.call(mtext, c("Normalized expression profile of each gene ordered by SOM modules", test)))
+    ##Plot binarized expression profile of each gene (z-score < -1, -1 < z-score < 1, z-score > 1):
+    trjfid.plotheat$x = ps$all.b
+    trjfid.plotheat$ypart = ps$nodes
+    print(do.call(plotheatmap, c(trjfid.plotheat)))
+    print(do.call(mtext, c("Binarized expression profile of each gene", test)))
+    ## This should be written out, and passed back into the tool
+    ## to perform sominspect
+    return(list(fs=fs,ps=ps,y=y,fcol=fcol,nf=n$f))
+}
+
+do.trajectoryinspection.fateID.sominspect <- function(domo){
+    g <- trjfidsomi.use.genes
+    if (class(g) == "numeric"){
+        g <- names(ps$nodes)[ps$nodes %in% g]
+    }
+
+    typ = NULL
+    if (!is.null(trjfidsomi.use.types)){
+        typ = sub(trjfidsomi.use.types,"", domo$nf)
+    }
+
+    trjfidsomi$x = domo$fs
+    trjfidsomi$y = domo$y
+    trjfidsomi$g = g
+    trjfidsomi$n = domo$nf
+    trjfidsomi$col = domo$fcol
+    trjfidsomi$types = typ
+
+    ## The average pseudo-temporal expression profile of this group
+    ## can be plotted by the function plotexpression:
+    par(mfrow = c(1,1))
+    test$cex = 1
+    second$line = 1.5
+    if (trjfidsomi$name == "Title") trjfidsomi$name = ""
+    print(do.call(plotexpression, c(trjfidsomi)))
+    mess2 <- paste(c(trjfidsomi.use.genes), collapse=", ")
+    mess1 <- "Average pseudo-temporal expression profile"
+    print(do.call(mtext, c(mess1, test)))
+    print(do.call(mtext, c(mess2, second)))
+}
+
+ltr <- in.rdat
+
+pdf(out.pdf)
+if (perform.stemID) do.trajectoryinspection.stemID(ltr)
+if (perform.fateID) {
+    domo <- do.trajectoryinspection.fateID(ltr)
+    if (perform.fateID.sominspect) {
+        do.trajectoryinspection.fateID.sominspect(domo)
+    }
+}
+dev.off()
b
diff -r 000000000000 -r 4ea021bd7513 test-data/intestinal.filter.pdf
b
Binary file test-data/intestinal.filter.pdf has changed
b
diff -r 000000000000 -r 4ea021bd7513 test-data/intestinal.genelist
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/intestinal.genelist Thu Nov 22 04:43:57 2018 -0500
b
b'@@ -0,0 +1,201 @@\n+n\tmean.ncl\tmean.cl\tfc\tpv\tpadj\n+ENSDARG00000108798\t1\t0.13225291542414\t22.6067842060994\t170.935998904815\t5.63439752001819e-20\t3.43529216795509e-16\n+ENSDARG00000109030\t1\t0.186711263967539\t34.6842724288799\t185.764220603798\t2.48233981248329e-19\t7.56741291835532e-16\n+ENSDARG00000108379\t1\t0.168199368419563\t24.3874482842581\t144.991319012715\t4.11994031997326e-19\t8.37309204362565e-16\n+ENSDARG00000107599\t1\t0.194980763882093\t20.9729826342942\t107.564367975175\t3.56470297051077e-18\t5.43349850280104e-15\n+ENSDARG00000107321\t1\t0.1\t1.94683879586459\t19.4683879586459\t1.39905888784068e-09\t1.70601240783292e-06\n+ENSDARG00000105564\t1\t0.1\t1.72137476189456\t17.2137476189456\t5.11677986670882e-09\t5.19950114122061e-06\n+ENSDARG00000090447\t1\t0.1\t1.4302236712519\t14.302236712519\t3.51620742912878e-08\t3.06261667077116e-05\n+ENSDARG00000079591\t1\t0.11578454541401\t1.47825950354764\t12.767330028907\t4.83701028926633e-08\t3.6864064667071e-05\n+ENSDARG00000107138\t1\t0.118643244515052\t1.63372529702772\t13.7700659123533\t8.59237265783686e-08\t5.36793599520202e-05\n+ENSDARG00000041060\t1\t0.11578454541401\t1.4382199783801\t12.421519411226\t8.84781911763433e-08\t5.36793599520202e-05\n+ENSDARG00000077004\t1\t0.1\t1.29299827494356\t12.9299827494356\t1.0364347799037e-07\t5.36793599520202e-05\n+ENSDARG00000100003\t1\t0.1\t1.29775216728225\t12.9775216728225\t1.05650700249999e-07\t5.36793599520202e-05\n+ENSDARG00000102310\t1\t0.129577145917004\t1.72085266498654\t13.2805260743185\t1.20446928962954e-07\t5.64896096836256e-05\n+ENSDARG00000068650\t1\t0.115601615820105\t1.27001296748153\t10.9861177845289\t2.26895176903151e-07\t9.88128495413223e-05\n+ENSDARG00000086678\t1\t0.128030253978187\t1.35647794130946\t10.5949796955067\t3.16910756640577e-07\t0.000122948041506908\n+ENSDARG00000105857\t1\t0.105900327795989\t1.37647789967886\t12.9978625026598\t3.22645344285801e-07\t0.000122948041506908\n+ENSDARG00000105159\t1\t0.1\t1.16700756453584\t11.6700756453584\t3.44329675018825e-07\t0.000123492825211163\n+ENSDARG00000102997\t1\t0.125930886410326\t1.40950930054417\t11.1927211879659\t3.75314178672153e-07\t0.00012712725263134\n+ENSDARG00000052615\t1\t0.109701288024116\t1.2495211865536\t11.3902143635625\t4.65728278602572e-07\t0.000149449753402099\n+ENSDARG00000103046\t1\t0.111800655591977\t1.27916812008568\t11.441508221151\t5.24275745356588e-07\t0.000158237500570989\n+ENSDARG00000105009\t1\t0.107892272707005\t1.29390774186871\t11.9925895470056\t5.45020093815115e-07\t0.000158237500570989\n+ENSDARG00000069937\t1\t0.1\t1.08683574177416\t10.8683574177416\t5.98190849813324e-07\t0.000165780436877811\n+ENSDARG00000034941\t1\t0.1\t1.14009483992511\t11.4009483992511\t7.60152472832673e-07\t0.000201506505515687\n+ENSDARG00000099753\t1\t0.121501943616094\t1.29493126702895\t10.6577000210014\t1.17807930734258e-06\t0.000299281230702821\n+ENSDARG00000076005\t1\t0.1\t1.05371686166029\t10.5371686166029\t1.32743044013891e-06\t0.00029931174491888\n+ENSDARG00000041750\t2\t0.118845246250015\t4.25427279350112\t35.7967434772393\t1.39550360463363e-07\t0.000850838547745124\n+ENSDARG00000103735\t2\t0.119337350478008\t3.54379562135099\t29.6956117020886\t9.49083511390771e-07\t0.00228722429441009\n+ENSDARG00000101886\t2\t0.215092571957637\t5.30165157388469\t24.6482318084367\t1.12541789129576e-06\t0.00228722429441009\n+ENSDARG00000090914\t2\t0.122178374276303\t3.1027845112115\t25.3955295246819\t1.65948635889896e-06\t0.00252947208255174\n+ENSDARG00000090496\t2\t0.111721506487875\t2.96053053983273\t26.4991999562235\t2.19562316256802e-06\t0.00267734288443544\n+ENSDARG00000078308\t2\t0.1\t2.64934229048601\t26.4934229048601\t2.65009460603265e-06\t0.00269293780216352\n+ENSDARG00000075253\t2\t0.121220276605515\t2.61038833734525\t21.534254915456\t7.21609407341446e-06\t0.00624434487572006\n+ENSDARG00000086877\t2\t0.174901657246515\t3.44134351834849\t19.6758771330457\t8.19333426369698e-06\t0.00624434487572006\n+ENSDARG00000040487\t2\t0.132551316615554\t2.19579056306671\t16.5655884764638\t5.8552609335758e-05\t0.0389789127774957\n+ENSDARG00000052912\t2\t0.29374667394921\t3.98299817184644\t13.5592962408661\t6.97030598265265e-05\t0.0389789127774957\n+ENSDARG00000052558\t2\t0.307266492503596\t4.25427279350112\t13'..b'.01967640768832e-06\t0.000724351003392688\n+ENSDARG00000059558\t7\t0.112699471961133\t0.967793901919788\t8.58738630340302\t3.00038333622434e-06\t0.000888688802910736\n+ENSDARG00000060566\t7\t0.127846770606366\t1.01035836252462\t7.90288528785342\t3.78083155119976e-06\t0.000992894397782283\n+ENSDARG00000100206\t7\t0.139832328948304\t1.04998427596811\t7.5088806992286\t4.54325865418129e-06\t0.000992894397782283\n+ENSDARG00000057206\t7\t0.121885624201679\t0.88338782626096\t7.24767856789453\t4.55979057534917e-06\t0.000992894397782283\n+ENSDARG00000070623\t7\t0.12670584582223\t0.943766658477006\t7.44848552450473\t5.87432370429556e-06\t0.00110819712277626\n+ENSDARG00000100514\t7\t0.121454028840368\t0.820406006163069\t6.75486860334098\t7.45177975757828e-06\t0.00116897636495374\n+ENSDARG00000039265\t7\t0.131635113592875\t0.87126351316452\t6.6187773868543\t9.18440046329954e-06\t0.00133326880058898\n+ENSDARG00000095904\t7\t0.168129332968718\t1.08581712830248\t6.45822539785194\t1.03525068635208e-05\t0.00139894259529663\n+ENSDARG00000039350\t7\t0.133011711683714\t0.897490439418404\t6.74745425088979\t1.06942592337219e-05\t0.00139894259529663\n+ENSDARG00000070512\t7\t0.12670239660567\t0.910072943888678\t7.18276029711621\t1.10515908767776e-05\t0.00139894259529663\n+ENSDARG00000103551\t8\t1.61835767565622\t32.2654393890171\t19.93714978732\t1.97522608849965e-06\t0.0120429534615824\n+ENSDARG00000078383\t8\t0.182610070366458\t2.60621132144157\t14.2720021749703\t1.6366673021414e-05\t0.0447464228757837\n+ENSDARG00000093799\t8\t0.115321017732354\t1.62941087246693\t14.1293487042283\t2.20172656433248e-05\t0.0447464228757837\n+ENSDARG00000036625\t8\t0.119337255991682\t1.48171990557204\t12.4162391137543\t8.39663841121717e-05\t0.127985760982978\n+ENSDARG00000016706\t8\t0.180025642511508\t1.82486224560436\t10.1366795315712\t0.000126325160000158\t0.154040900104192\n+ENSDARG00000040251\t8\t0.121540951107174\t1.29918699186992\t10.6892942669529\t0.000198034398721646\t0.201235954834313\n+ENSDARG00000098674\t8\t0.253812764860557\t2.21906493621457\t8.74292093793513\t0.000293366486612692\t0.255522209839655\n+ENSDARG00000098856\t8\t0.194513509828675\t1.64663383642527\t8.46539573459756\t0.000451769293400039\t0.296721325111977\n+ENSDARG00000062226\t8\t0.144813536626749\t1.38335068305012\t9.55263378875725\t0.000474939776632199\t0.296721325111977\n+ENSDARG00000075123\t8\t0.142439266402834\t1.40532056857682\t9.86610366696508\t0.00048666774661633\t0.296721325111977\n+ENSDARG00000070239\t8\t0.154515334275144\t1.27289156626506\t8.23796273836765\t0.000570475520527726\t0.316199022605232\n+ENSDARG00000026180\t8\t0.151758427938041\t1.41564289946672\t9.32826544595394\t0.000683459166751383\t0.347254211640265\n+ENSDARG00000104786\t8\t0.182483274181232\t1.61787042996763\t8.8658559927024\t0.00078762411588287\t0.369395710349066\n+ENSDARG00000101061\t8\t0.255483815147335\t1.62613690189592\t6.36493118344166\t0.00150635451453941\t0.61883047685698\n+ENSDARG00000016584\t8\t0.135272462199637\t0.880366460381022\t6.50809814551733\t0.00158197684628705\t0.61883047685698\n+ENSDARG00000070256\t8\t0.203213690445973\t1.26976802854965\t6.24843742448165\t0.00178015471505539\t0.61883047685698\n+ENSDARG00000062745\t8\t0.130428963634169\t0.955091918456498\t7.32269805604966\t0.00182445112094621\t0.61883047685698\n+ENSDARG00000086037\t8\t0.19632007891506\t1.29918699186992\t6.61769799120764\t0.00182695564760138\t0.61883047685698\n+ENSDARG00000027310\t8\t0.193675103177481\t1.44901164174846\t7.48166190685131\t0.00211840042255122\t0.678671506770642\n+ENSDARG00000103109\t8\t0.14293938597264\t0.936026560054929\t6.54841598545899\t0.00240745117064372\t0.678671506770642\n+ENSDARG00000078352\t8\t0.177346649454539\t1.15788746142844\t6.52895030715114\t0.0024876207141355\t0.678671506770642\n+ENSDARG00000035389\t8\t0.143574445102194\t1.00421593036345\t6.99439186164828\t0.0026995869399452\t0.678671506770642\n+ENSDARG00000103106\t8\t0.175526172559138\t1.23041862190788\t7.00988692437495\t0.0027017171947583\t0.678671506770642\n+ENSDARG00000007257\t8\t0.157933075856061\t0.866671316548008\t5.48758587680447\t0.0028384639169755\t0.678671506770642\n+ENSDARG00000010596\t8\t0.110516369140454\t0.836156159426777\t7.56590327686312\t0.00297745919336174\t0.678671506770642\n'
b
diff -r 000000000000 -r 4ea021bd7513 test-data/intestinal.pdf
b
Binary file test-data/intestinal.pdf has changed
b
diff -r 000000000000 -r 4ea021bd7513 test-data/intestinal_advanced.filter.pdf
b
Binary file test-data/intestinal_advanced.filter.pdf has changed
b
diff -r 000000000000 -r 4ea021bd7513 test-data/intestinal_advanced.genelist
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/intestinal_advanced.genelist Thu Nov 22 04:43:57 2018 -0500
b
b'@@ -0,0 +1,251 @@\n+n\tmean.ncl\tmean.cl\tfc\tpv\tpadj\n+ENSDARG00000109030\t1\t0.274654337828615\t39.4233419769949\t143.538027794031\t1.85453080866619e-17\t1.13070743404378e-13\n+ENSDARG00000108798\t1\t0.327573035068885\t24.802335939268\t75.7154383420246\t1.23506199101042e-15\t3.76508647959528e-12\n+ENSDARG00000107599\t1\t0.564182966938587\t21.783984071531\t38.6115592779005\t1.43241168538371e-12\t2.9111380152615e-09\n+ENSDARG00000108379\t1\t0.68986839145523\t24.7427021224644\t35.8658295247755\t7.59420613442267e-12\t1.15754687003938e-08\n+ENSDARG00000107321\t1\t0.1\t2.23096784138222\t22.3096784138222\t6.33189194610656e-10\t7.72110903908234e-07\n+ENSDARG00000105564\t1\t0.1\t1.97081703295526\t19.7081703295526\t2.35709418427607e-09\t2.3952005402552e-06\n+ENSDARG00000107138\t1\t0.12141391587535\t1.84891204400927\t15.22817241071\t3.76162108069457e-08\t3.27637196128497e-05\n+ENSDARG00000105857\t1\t0.105759843800846\t1.57285911501407\t14.8719878782715\t1.52193964569649e-07\t0.000115990825247643\n+ENSDARG00000090447\t1\t0.117044445524061\t1.5247401265198\t13.0270182381816\t2.86307072797404e-07\t0.000193957135871753\n+ENSDARG00000068650\t1\t0.118444706911236\t1.42924397145598\t12.0667610121833\t4.76963874982118e-07\t0.000290804874576597\n+ENSDARG00000029234\t1\t0.107704361452076\t1.2680785099502\t11.7736969316181\t7.26433141517866e-07\t0.000402642078530403\n+ENSDARG00000100003\t1\t0.120259003658528\t1.3511174001475\t11.2350623158659\t8.51760668849063e-07\t0.000432765399831061\n+ENSDARG00000105009\t1\t0.114133477721009\t1.43604387395694\t12.5821441931984\t1.07513161417496e-06\t0.000468412297206485\n+ENSDARG00000104049\t1\t0.14589886302348\t1.5016492143503\t10.2923983314978\t1.07557358715611e-06\t0.000468412297206485\n+ENSDARG00000031751\t1\t0.1\t1.1027874555083\t11.027874555083\t1.18468481582687e-06\t0.000481534888139762\n+ENSDARG00000061520\t1\t0.112439513940038\t1.16615674720545\t10.371413983765\t1.26583755719038e-06\t0.000482363224136858\n+ENSDARG00000069937\t1\t0.106429116268933\t1.19711464307861\t11.2479994671162\t1.3914597563853e-06\t0.000489927544230463\n+ENSDARG00000102310\t1\t0.171334245177586\t1.69584918039039\t9.89789973763077\t1.44639917929282e-06\t0.000489927544230463\n+ENSDARG00000070971\t1\t0.105759843800846\t1.23615093236413\t11.6882825081691\t1.59484544299157e-06\t0.000511777508732612\n+ENSDARG00000059700\t1\t0.123792889999442\t1.30060829013998\t10.5063246374314\t1.70455892742405e-06\t0.000519634789025223\n+ENSDARG00000105822\t1\t0.116254840089654\t1.36190382019475\t11.7148139307101\t2.0009977480624e-06\t0.000580956346187449\n+ENSDARG00000006900\t1\t0.112188960069779\t1.0855926347724\t9.67646579571808\t2.38826556387865e-06\t0.000596724400597127\n+ENSDARG00000107086\t1\t0.206384379895952\t1.78478473504023\t8.64786732377724\t2.51061474571093e-06\t0.000596724400597127\n+ENSDARG00000053609\t1\t0.118868630208971\t1.19424467810985\t10.0467606635188\t2.82886104616545e-06\t0.000596724400597127\n+ENSDARG00000074906\t1\t0.107949710622428\t1.13463616544336\t10.5107846876213\t2.85219448553942e-06\t0.000596724400597127\n+ENSDARG00000103380\t2\t0.11744425852746\t2.69709661708924\t22.9649082118273\t3.51926611140710e-10\t2.14569654812491e-06\n+ENSDARG00000063254\t2\t0.111022543280608\t2.02476739062929\t18.2374437731238\t3.47469814170424e-09\t1.05926172849854e-05\n+ENSDARG00000037116\t2\t0.141198375384836\t1.87841400172861\t13.3033683752309\t1.69857431590056e-07\t0.000345206920134858\n+ENSDARG00000041750\t2\t0.117649821642336\t1.39900877363844\t11.8912953212248\t9.77345771313156e-07\t0.00148971929192408\n+ENSDARG00000098655\t2\t0.141845782279186\t1.57030807712408\t11.0705306276457\t1.26469583240448e-06\t0.00154217009803402\n+ENSDARG00000043130\t2\t0.134744785219575\t1.37280311614026\t10.1881725062918\t1.81996279029707e-06\t0.00164994216311116\n+ENSDARG00000041060\t2\t0.147891926689861\t1.43420850443861\t9.69767949163475\t1.89430787957653e-06\t0.00164994216311116\n+ENSDARG00000055855\t2\t0.1\t1.02997101954978\t10.2997101954978\t2.42199148547504e-06\t0.00184586026086767\n+ENSDARG00000071113\t2\t0.118763752041103\t1.2047658368423\t10.1442217523183\t2.9327526474996e-06\t0.00198677698797834\n+ENSDARG00000103735\t2\t0.118194651323328\t1.18040041297686\t9.98691903365242\t6.64944770047414'..b'5204229\n+ENSDARG00000089213\t9\t0.147748630043043\t2.18195676478579\t14.7680338162874\t0.000315487383456506\t0.120220411058395\n+ENSDARG00000079011\t9\t0.176233454247018\t1.9238987984407\t10.9167626921961\t0.000472290550384795\t0.169385616805653\n+ENSDARG00000075192\t9\t0.212374929570489\t2.32542445760385\t10.949618499259\t0.000669927962029779\t0.226919488027531\n+ENSDARG00000004517\t9\t0.131064659943479\t1.44146104778946\t10.9980909301644\t0.000873622014258005\t0.280340706364792\n+ENSDARG00000104068\t9\t1.75430254163895\t16.3105122625815\t9.29743409443131\t0.00106624300680271\t0.325044180623805\n+ENSDARG00000033367\t9\t0.186922484275687\t1.59131823350994\t8.5132521091628\t0.0012539942779953\t0.356162722551969\n+ENSDARG00000016044\t9\t0.138384893073791\t1.55126008252599\t11.2097501979411\t0.00128515333707452\t0.356162722551969\n+ENSDARG00000017093\t9\t0.136411665631298\t1.61606550277123\t11.8469743426433\t0.00134953377699747\t0.357743801667547\n+ENSDARG00000075292\t9\t0.270507213308798\t2.1951121474112\t8.11480078686617\t0.00167879474511109\t0.409991689104941\n+ENSDARG00000057011\t9\t0.145230732286546\t1.55832371169181\t10.7299859138434\t0.00168112058842439\t0.409991689104941\n+ENSDARG00000101413\t10\t0.141224429692467\t1.80827014074558\t12.8042304343753\t1.53774069797456e-07\t0.000937560503555091\n+ENSDARG00000069269\t10\t0.136680427340329\t1.39111418584467\t10.177859499816\t7.9409154224428e-07\t0.00242078806653169\n+ENSDARG00000096457\t10\t0.108692378208486\t0.98849791094733\t9.09445471007417\t8.01600268921674e-06\t0.0136362534840021\n+ENSDARG00000058178\t10\t0.135168786411076\t1.1479669345012\t8.49284043292363\t8.94620533639631e-06\t0.0136362534840021\n+ENSDARG000001048361\t10\t2.19609208044308\t17.0930420303104\t7.78339040631744\t2.81321418960958e-05\t0.0308316937773483\n+ENSDARG00000093313\t10\t0.126396920024548\t0.901779535343549\t7.13450561270331\t3.03411780652928e-05\t0.0308316937773483\n+ENSDARG00000040705\t10\t0.156669586745304\t1.04105796280058\t6.64492697292305\t4.60453020521687e-05\t0.0389962833230328\n+ENSDARG00000010270\t10\t0.125615247910794\t0.792776147157419\t6.31114582300081\t5.11678311602858e-05\t0.0389962833230328\n+ENSDARG00000016348\t10\t0.141266983378295\t1.03650793650794\t7.33722708392734\t6.15803180656218e-05\t0.0391750861522631\n+ENSDARG00000104197\t10\t1.88512035781081\t12.4705558421044\t6.61525710569826\t6.81411845087847e-05\t0.0391750861522631\n+ENSDARG00000086471\t10\t0.185942018777691\t1.10768386676327\t5.95714660970523\t7.06783578276028e-05\t0.0391750861522631\n+ENSDARG00000102820\t10\t1.91136642367287\t11.7867769779747\t6.16667575196038\t0.000123177015995738\t0.0494349967701024\n+ENSDARG00000076025\t10\t0.1358413706015\t0.865139546616693\t6.36874865724554\t0.000127769715977776\t0.0494349967701024\n+ENSDARG00000060566\t10\t0.175513373838258\t1.10598275418622\t6.30141584085455\t0.000145658259770009\t0.0494349967701024\n+ENSDARG00000077760\t10\t0.172527864230777\t0.981147246329388\t5.68689150998233\t0.000146283831624913\t0.0494349967701024\n+ENSDARG000001056691\t10\t2.91736340526917\t19.0715434690697\t6.53725327280921\t0.000159343665923593\t0.0494349967701024\n+ENSDARG00000097110\t10\t0.207251034236892\t1.10961177579611\t5.35395048754164\t0.00017068480864505\t0.0494349967701024\n+ENSDARG00000017127\t10\t0.321847124787121\t1.71261097592378\t5.32119395833208\t0.000176225214760411\t0.0494349967701024\n+ENSDARG00000016138\t10\t0.150588587792026\t0.814494514984075\t5.40873997775283\t0.00018078366550766\t0.0494349967701024\n+ENSDARG00000057568\t10\t0.149007737391486\t0.825280606125021\t5.53850840615591\t0.00018777552481366\t0.0494349967701024\n+ENSDARG000001042421\t10\t1.9682001003536\t11.3276355799035\t5.7553272037068\t0.000196708249110425\t0.0494349967701024\n+ENSDARG00000018593\t10\t0.167994135041575\t0.898088080558678\t5.34594901385347\t0.000257112102487736\t0.0529172584853715\n+ENSDARG00000057206\t10\t0.170963878363685\t0.918781977468761\t5.37412923865865\t0.000277735324181054\t0.0529172584853715\n+ENSDARG000001051951\t10\t3.11026247187605\t18.5149051843724\t5.95284332167778\t0.000320190438588827\t0.0533324207357922\n+ENSDARG00000079934\t10\t0.198961295595687\t1.08503079710172\t5.45347673703652\t0.00032037005450948\t0.0533324207357922\n'
b
diff -r 000000000000 -r 4ea021bd7513 test-data/intestinal_advanced.pdf
b
Binary file test-data/intestinal_advanced.pdf has changed
b
diff -r 000000000000 -r 4ea021bd7513 test-data/matrix.filter.pdf
b
Binary file test-data/matrix.filter.pdf has changed
b
diff -r 000000000000 -r 4ea021bd7513 test-data/matrix.filter.rdat
b
Binary file test-data/matrix.filter.rdat has changed
b
diff -r 000000000000 -r 4ea021bd7513 test-data/matrix.genelist
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/matrix.genelist Thu Nov 22 04:43:57 2018 -0500
b
b'@@ -0,0 +1,201 @@\n+n\tmean.ncl\tmean.cl\tfc\tpv\tpadj\n+ENSDARG00000108798\t1\t0.13225291542414\t22.6067842060994\t170.935998904815\t5.63439752001819e-20\t3.43529216795509e-16\n+ENSDARG00000109030\t1\t0.186711263967539\t34.6842724288799\t185.764220603798\t2.48233981248329e-19\t7.56741291835532e-16\n+ENSDARG00000108379\t1\t0.168199368419563\t24.3874482842581\t144.991319012715\t4.11994031997326e-19\t8.37309204362565e-16\n+ENSDARG00000107599\t1\t0.194980763882093\t20.9729826342942\t107.564367975175\t3.56470297051077e-18\t5.43349850280104e-15\n+ENSDARG00000107321\t1\t0.1\t1.94683879586459\t19.4683879586459\t1.39905888784068e-09\t1.70601240783292e-06\n+ENSDARG00000105564\t1\t0.1\t1.72137476189456\t17.2137476189456\t5.11677986670882e-09\t5.19950114122061e-06\n+ENSDARG00000090447\t1\t0.1\t1.4302236712519\t14.302236712519\t3.51620742912878e-08\t3.06261667077116e-05\n+ENSDARG00000079591\t1\t0.11578454541401\t1.47825950354764\t12.767330028907\t4.83701028926633e-08\t3.6864064667071e-05\n+ENSDARG00000107138\t1\t0.118643244515052\t1.63372529702772\t13.7700659123533\t8.59237265783686e-08\t5.36793599520202e-05\n+ENSDARG00000041060\t1\t0.11578454541401\t1.4382199783801\t12.421519411226\t8.84781911763433e-08\t5.36793599520202e-05\n+ENSDARG00000077004\t1\t0.1\t1.29299827494356\t12.9299827494356\t1.0364347799037e-07\t5.36793599520202e-05\n+ENSDARG00000100003\t1\t0.1\t1.29775216728225\t12.9775216728225\t1.05650700249999e-07\t5.36793599520202e-05\n+ENSDARG00000102310\t1\t0.129577145917004\t1.72085266498654\t13.2805260743185\t1.20446928962954e-07\t5.64896096836256e-05\n+ENSDARG00000068650\t1\t0.115601615820105\t1.27001296748153\t10.9861177845289\t2.26895176903151e-07\t9.88128495413223e-05\n+ENSDARG00000086678\t1\t0.128030253978187\t1.35647794130946\t10.5949796955067\t3.16910756640577e-07\t0.000122948041506908\n+ENSDARG00000105857\t1\t0.105900327795989\t1.37647789967886\t12.9978625026598\t3.22645344285801e-07\t0.000122948041506908\n+ENSDARG00000105159\t1\t0.1\t1.16700756453584\t11.6700756453584\t3.44329675018825e-07\t0.000123492825211163\n+ENSDARG00000102997\t1\t0.125930886410326\t1.40950930054417\t11.1927211879659\t3.75314178672153e-07\t0.00012712725263134\n+ENSDARG00000052615\t1\t0.109701288024116\t1.2495211865536\t11.3902143635625\t4.65728278602572e-07\t0.000149449753402099\n+ENSDARG00000103046\t1\t0.111800655591977\t1.27916812008568\t11.441508221151\t5.24275745356588e-07\t0.000158237500570989\n+ENSDARG00000105009\t1\t0.107892272707005\t1.29390774186871\t11.9925895470056\t5.45020093815115e-07\t0.000158237500570989\n+ENSDARG00000069937\t1\t0.1\t1.08683574177416\t10.8683574177416\t5.98190849813324e-07\t0.000165780436877811\n+ENSDARG00000034941\t1\t0.1\t1.14009483992511\t11.4009483992511\t7.60152472832673e-07\t0.000201506505515687\n+ENSDARG00000099753\t1\t0.121501943616094\t1.29493126702895\t10.6577000210014\t1.17807930734258e-06\t0.000299281230702821\n+ENSDARG00000076005\t1\t0.1\t1.05371686166029\t10.5371686166029\t1.32743044013891e-06\t0.00029931174491888\n+ENSDARG00000041750\t2\t0.118845246250015\t4.25427279350112\t35.7967434772393\t1.39550360463363e-07\t0.000850838547745124\n+ENSDARG00000103735\t2\t0.119337350478008\t3.54379562135099\t29.6956117020886\t9.49083511390771e-07\t0.00228722429441009\n+ENSDARG00000101886\t2\t0.215092571957637\t5.30165157388469\t24.6482318084367\t1.12541789129576e-06\t0.00228722429441009\n+ENSDARG00000090914\t2\t0.122178374276303\t3.1027845112115\t25.3955295246819\t1.65948635889896e-06\t0.00252947208255174\n+ENSDARG00000090496\t2\t0.111721506487875\t2.96053053983273\t26.4991999562235\t2.19562316256802e-06\t0.00267734288443544\n+ENSDARG00000078308\t2\t0.1\t2.64934229048601\t26.4934229048601\t2.65009460603265e-06\t0.00269293780216352\n+ENSDARG00000075253\t2\t0.121220276605515\t2.61038833734525\t21.534254915456\t7.21609407341446e-06\t0.00624434487572006\n+ENSDARG00000086877\t2\t0.174901657246515\t3.44134351834849\t19.6758771330457\t8.19333426369698e-06\t0.00624434487572006\n+ENSDARG00000040487\t2\t0.132551316615554\t2.19579056306671\t16.5655884764638\t5.8552609335758e-05\t0.0389789127774957\n+ENSDARG00000052912\t2\t0.29374667394921\t3.98299817184644\t13.5592962408661\t6.97030598265265e-05\t0.0389789127774957\n+ENSDARG00000052558\t2\t0.307266492503596\t4.25427279350112\t13'..b'.01967640768832e-06\t0.000724351003392688\n+ENSDARG00000059558\t7\t0.112699471961133\t0.967793901919788\t8.58738630340302\t3.00038333622434e-06\t0.000888688802910736\n+ENSDARG00000060566\t7\t0.127846770606366\t1.01035836252462\t7.90288528785342\t3.78083155119976e-06\t0.000992894397782283\n+ENSDARG00000100206\t7\t0.139832328948304\t1.04998427596811\t7.5088806992286\t4.54325865418129e-06\t0.000992894397782283\n+ENSDARG00000057206\t7\t0.121885624201679\t0.88338782626096\t7.24767856789453\t4.55979057534917e-06\t0.000992894397782283\n+ENSDARG00000070623\t7\t0.12670584582223\t0.943766658477006\t7.44848552450473\t5.87432370429556e-06\t0.00110819712277626\n+ENSDARG00000100514\t7\t0.121454028840368\t0.820406006163069\t6.75486860334098\t7.45177975757828e-06\t0.00116897636495374\n+ENSDARG00000039265\t7\t0.131635113592875\t0.87126351316452\t6.6187773868543\t9.18440046329954e-06\t0.00133326880058898\n+ENSDARG00000095904\t7\t0.168129332968718\t1.08581712830248\t6.45822539785194\t1.03525068635208e-05\t0.00139894259529663\n+ENSDARG00000039350\t7\t0.133011711683714\t0.897490439418404\t6.74745425088979\t1.06942592337219e-05\t0.00139894259529663\n+ENSDARG00000070512\t7\t0.12670239660567\t0.910072943888678\t7.18276029711621\t1.10515908767776e-05\t0.00139894259529663\n+ENSDARG00000103551\t8\t1.61835767565622\t32.2654393890171\t19.93714978732\t1.97522608849965e-06\t0.0120429534615824\n+ENSDARG00000078383\t8\t0.182610070366458\t2.60621132144157\t14.2720021749703\t1.6366673021414e-05\t0.0447464228757837\n+ENSDARG00000093799\t8\t0.115321017732354\t1.62941087246693\t14.1293487042283\t2.20172656433248e-05\t0.0447464228757837\n+ENSDARG00000036625\t8\t0.119337255991682\t1.48171990557204\t12.4162391137543\t8.39663841121717e-05\t0.127985760982978\n+ENSDARG00000016706\t8\t0.180025642511508\t1.82486224560436\t10.1366795315712\t0.000126325160000158\t0.154040900104192\n+ENSDARG00000040251\t8\t0.121540951107174\t1.29918699186992\t10.6892942669529\t0.000198034398721646\t0.201235954834313\n+ENSDARG00000098674\t8\t0.253812764860557\t2.21906493621457\t8.74292093793513\t0.000293366486612692\t0.255522209839655\n+ENSDARG00000098856\t8\t0.194513509828675\t1.64663383642527\t8.46539573459756\t0.000451769293400039\t0.296721325111977\n+ENSDARG00000062226\t8\t0.144813536626749\t1.38335068305012\t9.55263378875725\t0.000474939776632199\t0.296721325111977\n+ENSDARG00000075123\t8\t0.142439266402834\t1.40532056857682\t9.86610366696508\t0.00048666774661633\t0.296721325111977\n+ENSDARG00000070239\t8\t0.154515334275144\t1.27289156626506\t8.23796273836765\t0.000570475520527726\t0.316199022605232\n+ENSDARG00000026180\t8\t0.151758427938041\t1.41564289946672\t9.32826544595394\t0.000683459166751383\t0.347254211640265\n+ENSDARG00000104786\t8\t0.182483274181232\t1.61787042996763\t8.8658559927024\t0.00078762411588287\t0.369395710349066\n+ENSDARG00000101061\t8\t0.255483815147335\t1.62613690189592\t6.36493118344166\t0.00150635451453941\t0.61883047685698\n+ENSDARG00000016584\t8\t0.135272462199637\t0.880366460381022\t6.50809814551733\t0.00158197684628705\t0.61883047685698\n+ENSDARG00000070256\t8\t0.203213690445973\t1.26976802854965\t6.24843742448165\t0.00178015471505539\t0.61883047685698\n+ENSDARG00000062745\t8\t0.130428963634169\t0.955091918456498\t7.32269805604966\t0.00182445112094621\t0.61883047685698\n+ENSDARG00000086037\t8\t0.19632007891506\t1.29918699186992\t6.61769799120764\t0.00182695564760138\t0.61883047685698\n+ENSDARG00000027310\t8\t0.193675103177481\t1.44901164174846\t7.48166190685131\t0.00211840042255122\t0.678671506770642\n+ENSDARG00000103109\t8\t0.14293938597264\t0.936026560054929\t6.54841598545899\t0.00240745117064372\t0.678671506770642\n+ENSDARG00000078352\t8\t0.177346649454539\t1.15788746142844\t6.52895030715114\t0.0024876207141355\t0.678671506770642\n+ENSDARG00000035389\t8\t0.143574445102194\t1.00421593036345\t6.99439186164828\t0.0026995869399452\t0.678671506770642\n+ENSDARG00000103106\t8\t0.175526172559138\t1.23041862190788\t7.00988692437495\t0.0027017171947583\t0.678671506770642\n+ENSDARG00000007257\t8\t0.157933075856061\t0.866671316548008\t5.48758587680447\t0.0028384639169755\t0.678671506770642\n+ENSDARG00000010596\t8\t0.110516369140454\t0.836156159426777\t7.56590327686312\t0.00297745919336174\t0.678671506770642\n'
b
diff -r 000000000000 -r 4ea021bd7513 test-data/matrix.pdf
b
Binary file test-data/matrix.pdf has changed
b
diff -r 000000000000 -r 4ea021bd7513 test-data/matrix.rdat
b
Binary file test-data/matrix.rdat has changed
b
diff -r 000000000000 -r 4ea021bd7513 test-data/matrix.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/matrix.tabular Thu Nov 22 04:43:57 2018 -0500
b
b'@@ -0,0 +1,6170 @@\n+\tP1_B1_ACATGG\tP1_B1_AGTAGG\tP1_B1_ATACGG\tP1_B1_ATCCAC\tP1_B1_ATCTCC\tP1_B1_CAATGC\tP1_B1_CAGGAA\tP1_B1_CCAGTA\tP1_B1_CCTATG\tP1_B1_GCAATG\tP1_B1_GCGTTA\tP1_B1_GGAATC\tP1_B1_GGATCA\tP1_B1_GGTGTA\tP1_B1_GTAACC\tP1_B1_GTATCG\tP1_B1_TATCGC\tP1_B1_TGATCG\tP1_B1_TTACGC\tP1_B1_TTGCAC\tP1_B1_TTGGCA\tP1_B2_ACGTAC\tP1_B2_ACTCGA\tP1_B2_ACTTCG\tP1_B2_AGGATC\tP1_B2_AGTGCA\tP1_B2_ATCACG\tP1_B2_CAGAAG\tP1_B2_CATGCA\tP1_B2_CATGTC\tP1_B2_CCATAG\tP1_B2_CTAAGC\tP1_B2_CTGTTG\tP1_B2_GCAACA\tP1_B2_GTCTCA\tP1_B2_GTGAAG\tP1_B2_GTGATC\tP1_B2_TCTTGC\tP1_B2_TGCAGA\tP1_B2_TGGTGA\tP1_B2_TTCACC\tP2_B3_AAGCAC\tP2_B3_AAGTGC\tP2_B3_ACATGG\tP2_B3_ACGGTA\tP2_B3_AGATGC\tP2_B3_AGTAGG\tP2_B3_ATACGG\tP2_B3_ATCTCC\tP2_B3_ATGGAC\tP2_B3_CAGGAA\tP2_B3_CCAGTA\tP2_B3_CCTATG\tP2_B3_CGCATA\tP2_B3_GCAATG\tP2_B3_GCAGAA\tP2_B3_GCGTTA\tP2_B3_GGAATC\tP2_B3_GGATCA\tP2_B3_GGTGTA\tP2_B3_GTAACC\tP2_B3_GTATCG\tP2_B3_TACCAC\tP2_B3_TACGCA\tP2_B3_TGATCG\tP2_B3_TTACGC\tP2_B3_TTGCAC\tP2_B4_AACGAG\tP2_B4_AAGCCA\tP2_B4_ACAAGC\tP2_B4_ACGTAC\tP2_B4_ACTCGA\tP2_B4_ACTTCG\tP2_B4_AGCTAG\tP2_B4_AGCTTC\tP2_B4_AGGATC\tP2_B4_AGTGCA\tP2_B4_ATCACG\tP2_B4_ATGTCG\tP2_B4_CACCAA\tP2_B4_CAGGAA\tP2_B4_CATGTC\tP2_B4_CCATAG\tP2_B4_CTAAGC\tP2_B4_CTGTTG\tP2_B4_GAGTGA\tP2_B4_GATCGA\tP2_B4_GATCTG\tP2_B4_GCAACA\tP2_B4_GTCTCA\tP2_B4_GTGAAG\tP2_B4_GTGATC\tP2_B4_GTGGAA\tP2_B4_TAACGG\tP2_B4_TCTTGC\tP2_B4_TGAGGA\tP2_B4_TGGTGA\tP2_B4_TGGTTG\tP2_B4_TGTACG\tP2_B4_TGTCGA\tP2_B4_TTCACC\n+ENSDARG00000000018\t0\t0\t0\t0\t2\t0\t1\t0\t1\t0\t1\t0\t0\t0\t4\t1\t2\t1\t0\t0\t1\t1\t2\t0\t0\t1\t3\t3\t1\t0\t2\t0\t0\t0\t0\t0\t2\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+ENSDARG00000000019\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t1\t0\t0\t0\t0\t3\t1\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t1\t3\t0\t0\t0\t0\n+ENSDARG00000000069\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t2\t2\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t1\t0\t3\t1\t0\t1\t1\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t2\t0\t0\t0\t0\n+ENSDARG00000000086\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t3\t0\t1\t0\t0\t1\t0\t1\t0\t0\t0\t0\t1\t1\t1\t2\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+ENSDARG00000000161\t1\t0\t2\t0\t0\t0\t0\t0\t1\t0\t1\t0\t0\t1\t2\t0\t1\t1\t0\t0\t1\t0\t1\t1\t0\t1\t2\t2\t0\t2\t0\t0\t0\t1\t2\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+ENSDARG00000000183\t0\t0\t0\t0\t0\t0\t0\t0\t1\t1\t1\t0\t0\t0\t0\t0\t0\t0\t0\t1\t1\t0\t1\t1\t0\t0\t0\t0\t0\t0\t0\t1\t0\t1\t0\t1\t0\t1\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+ENSDARG00000000189\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t1\t2\t0\t0\t1\t0\t1\t0\t1\t0\t1\t0\t1\t0\t0\t0\t0\t0\t0\t1\t0\t1\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t3\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t4\t1\n+ENSDARG00000000229\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t1\t1\t0\t1\t1\t1\t1\t1\t0\t0\t1\t1\t1\t2\t0\t1\t1\t2\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t1\t0\t1\t1\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t3\t0\t0\t0\t0\t0\t0\t1\n+ENSDARG00000000241\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t6\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+ENSDARG00000000370\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t3\t0\t0\t0\t5\t0\t0\t0\t2\t0\t0\t2\t1\t0\t2\t1\t1\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t3\t2\t0\t1\t0\t0\t2\t0\t0\t0\t0\n+ENSDARG00000000394\t0\t0\t0\t1\t0\t0\t0\t0\t2\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t3\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t1\t1\t0\t1\t0\t0\t0\t0\t0\t1\t2\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t2\t0\t1\t2\t0\t1\t1\t1\t0\t0\t0\t0\t0\t0\t2\t0\t0\t0\t0\t1\t2\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\n+ENSDARG00000000442\t0\t0\t1\t0\t0\t0\t0\t1\t0\t2\t0\t1\t1\t0\t0\t0\t0\t2\t0\t2\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+'..b'\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+ENSDARG00000108022\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t41\t3\t21\t13\t29\t10\t116\t1\t94\t70\t46\t122\t19\t17\t60\t0\t9\t23\t116\t0\t182\t197\t40\t312\t409\t160\t249\t134\t131\t277\t67\t66\t199\t228\t370\t372\t579\t170\t336\t143\t189\t233\t444\t148\t100\t176\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+ENSDARG00000108033\t2\t0\t0\t0\t0\t1\t0\t1\t0\t1\t1\t0\t2\t1\t0\t0\t0\t0\t0\t1\t0\t1\t0\t0\t0\t0\t0\t1\t2\t0\t1\t1\t1\t0\t2\t1\t0\t1\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t1\t0\t10\t0\t0\t0\t0\t0\n+ENSDARG00000108254\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t3\t0\t0\t1\t0\t0\t0\t2\t0\t0\t0\t1\t0\t3\t0\t0\t0\t2\t1\t0\t1\t0\t0\t1\t1\t0\t1\t0\t0\t2\t0\t2\t1\t0\n+ENSDARG00000108275\t0\t0\t0\t0\t1\t1\t0\t1\t2\t1\t3\t2\t0\t1\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t2\t1\t1\t0\t0\t1\t1\t1\t0\t0\t0\t0\t0\t5\t0\t0\t0\t0\t1\t2\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+ENSDARG00000108277\t0\t0\t3\t0\t0\t0\t0\t1\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t1\t1\t0\t1\t0\t0\t0\t0\t0\t1\t1\t0\t0\t1\t0\t1\t2\t1\t0\t0\t0\t2\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t2\t1\n+ENSDARG00000108285\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t2\t1\t1\t0\t0\t0\t0\t1\t1\t0\t1\t1\t0\t0\t0\t1\t0\t0\t0\t1\t0\t0\t0\t0\t0\t1\t0\t0\t1\t1\n+ENSDARG00000108379\t13\t0\t25\t16\t38\t1\t58\t1\t34\t2\t38\t15\t5\t29\t50\t39\t38\t49\t50\t10\t29\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+ENSDARG00000108425\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t2\t0\t0\t1\t0\t4\t0\t0\t0\t0\t0\t1\t0\t1\t0\t0\t1\t3\t0\t0\t2\t0\t0\t2\t2\t0\t1\t0\t0\t0\t2\n+ENSDARG00000108429\t3\t4\t3\t0\t0\t0\t1\t0\t3\t0\t0\t2\t1\t0\t2\t0\t1\t1\t1\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t1\t7\t0\t1\t1\t0\t1\t1\t0\t2\t1\t0\t3\t2\t1\t0\t1\t0\t0\t0\t0\t2\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+ENSDARG00000108459\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t15\t40\t44\t99\t91\t0\t102\t0\t41\t92\t117\t190\t36\t6\t44\t36\t20\t47\t150\t45\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+ENSDARG00000108488\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t2\t1\t0\t0\t0\t3\t1\t4\t1\t0\t2\t0\t1\t7\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t2\t1\t0\t2\t1\t0\t0\t0\t0\t1\t2\t0\t0\t0\t0\t0\t0\t1\n+ENSDARG00000108535\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t2\t0\t0\t0\t2\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t1\t2\t0\t0\t1\t0\t0\t1\t1\t0\t1\t0\t1\t1\t0\t0\t0\n+ENSDARG00000108798\t37\t0\t26\t23\t58\t3\t0\t0\t61\t3\t22\t99\t1\t7\t36\t0\t41\t58\t38\t3\t31\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+ENSDARG00000108886\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t2\t4\t1\t0\t0\t0\t0\t0\t1\t0\t0\t1\t0\t0\t0\t1\t2\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t2\t0\t0\t0\t0\t0\t1\t2\t3\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t1\t0\t0\t1\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t2\t0\n+ENSDARG00000108961\t0\t1\t0\t1\t0\t1\t0\t0\t3\t3\t0\t0\t0\t0\t0\t0\t0\t0\t0\t4\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+ENSDARG00000109030\t39\t2\t32\t45\t43\t1\t21\t3\t28\t3\t94\t60\t0\t26\t90\t0\t37\t88\t122\t6\t69\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+ENSDARG00000109181\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t2\t0\t1\t2\t2\t1\t0\t2\t1\t2\t0\t1\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n'
b
diff -r 000000000000 -r 4ea021bd7513 test-data/matrix2.genelist
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/matrix2.genelist Thu Nov 22 04:43:57 2018 -0500
b
b'@@ -0,0 +1,201 @@\n+n\tmean.ncl\tmean.cl\tfc\tpv\tpadj\n+ENSDARG00000108798\t1\t0.13225291542414\t22.6067842060994\t170.935998904815\t5.63439752001819e-20\t3.43529216795509e-16\n+ENSDARG00000109030\t1\t0.186711263967539\t34.6842724288799\t185.764220603798\t2.48233981248329e-19\t7.56741291835532e-16\n+ENSDARG00000108379\t1\t0.168199368419563\t24.3874482842581\t144.991319012715\t4.11994031997326e-19\t8.37309204362565e-16\n+ENSDARG00000107599\t1\t0.194980763882093\t20.9729826342942\t107.564367975175\t3.56470297051077e-18\t5.43349850280104e-15\n+ENSDARG00000107321\t1\t0.1\t1.94683879586459\t19.4683879586459\t1.39905888784068e-09\t1.70601240783292e-06\n+ENSDARG00000105564\t1\t0.1\t1.72137476189456\t17.2137476189456\t5.11677986670882e-09\t5.19950114122061e-06\n+ENSDARG00000090447\t1\t0.1\t1.4302236712519\t14.302236712519\t3.51620742912878e-08\t3.06261667077116e-05\n+ENSDARG00000079591\t1\t0.11578454541401\t1.47825950354764\t12.767330028907\t4.83701028926633e-08\t3.6864064667071e-05\n+ENSDARG00000107138\t1\t0.118643244515052\t1.63372529702772\t13.7700659123533\t8.59237265783686e-08\t5.36793599520202e-05\n+ENSDARG00000041060\t1\t0.11578454541401\t1.4382199783801\t12.421519411226\t8.84781911763433e-08\t5.36793599520202e-05\n+ENSDARG00000077004\t1\t0.1\t1.29299827494356\t12.9299827494356\t1.0364347799037e-07\t5.36793599520202e-05\n+ENSDARG00000100003\t1\t0.1\t1.29775216728225\t12.9775216728225\t1.05650700249999e-07\t5.36793599520202e-05\n+ENSDARG00000102310\t1\t0.129577145917004\t1.72085266498654\t13.2805260743185\t1.20446928962954e-07\t5.64896096836256e-05\n+ENSDARG00000068650\t1\t0.115601615820105\t1.27001296748153\t10.9861177845289\t2.26895176903151e-07\t9.88128495413223e-05\n+ENSDARG00000086678\t1\t0.128030253978187\t1.35647794130946\t10.5949796955067\t3.16910756640577e-07\t0.000122948041506908\n+ENSDARG00000105857\t1\t0.105900327795989\t1.37647789967886\t12.9978625026598\t3.22645344285801e-07\t0.000122948041506908\n+ENSDARG00000105159\t1\t0.1\t1.16700756453584\t11.6700756453584\t3.44329675018825e-07\t0.000123492825211163\n+ENSDARG00000102997\t1\t0.125930886410326\t1.40950930054417\t11.1927211879659\t3.75314178672153e-07\t0.00012712725263134\n+ENSDARG00000052615\t1\t0.109701288024116\t1.2495211865536\t11.3902143635625\t4.65728278602572e-07\t0.000149449753402099\n+ENSDARG00000103046\t1\t0.111800655591977\t1.27916812008568\t11.441508221151\t5.24275745356588e-07\t0.000158237500570989\n+ENSDARG00000105009\t1\t0.107892272707005\t1.29390774186871\t11.9925895470056\t5.45020093815115e-07\t0.000158237500570989\n+ENSDARG00000069937\t1\t0.1\t1.08683574177416\t10.8683574177416\t5.98190849813324e-07\t0.000165780436877811\n+ENSDARG00000034941\t1\t0.1\t1.14009483992511\t11.4009483992511\t7.60152472832673e-07\t0.000201506505515687\n+ENSDARG00000099753\t1\t0.121501943616094\t1.29493126702895\t10.6577000210014\t1.17807930734258e-06\t0.000299281230702821\n+ENSDARG00000076005\t1\t0.1\t1.05371686166029\t10.5371686166029\t1.32743044013891e-06\t0.00029931174491888\n+ENSDARG00000041750\t2\t0.118845246250015\t4.25427279350112\t35.7967434772393\t1.39550360463363e-07\t0.000850838547745124\n+ENSDARG00000103735\t2\t0.119337350478008\t3.54379562135099\t29.6956117020886\t9.49083511390771e-07\t0.00228722429441009\n+ENSDARG00000101886\t2\t0.215092571957637\t5.30165157388469\t24.6482318084367\t1.12541789129576e-06\t0.00228722429441009\n+ENSDARG00000090914\t2\t0.122178374276303\t3.1027845112115\t25.3955295246819\t1.65948635889896e-06\t0.00252947208255174\n+ENSDARG00000090496\t2\t0.111721506487875\t2.96053053983273\t26.4991999562235\t2.19562316256802e-06\t0.00267734288443544\n+ENSDARG00000078308\t2\t0.1\t2.64934229048601\t26.4934229048601\t2.65009460603265e-06\t0.00269293780216352\n+ENSDARG00000075253\t2\t0.121220276605515\t2.61038833734525\t21.534254915456\t7.21609407341446e-06\t0.00624434487572006\n+ENSDARG00000086877\t2\t0.174901657246515\t3.44134351834849\t19.6758771330457\t8.19333426369698e-06\t0.00624434487572006\n+ENSDARG00000040487\t2\t0.132551316615554\t2.19579056306671\t16.5655884764638\t5.8552609335758e-05\t0.0389789127774957\n+ENSDARG00000052912\t2\t0.29374667394921\t3.98299817184644\t13.5592962408661\t6.97030598265265e-05\t0.0389789127774957\n+ENSDARG00000052558\t2\t0.307266492503596\t4.25427279350112\t13'..b'.01967640768832e-06\t0.000724351003392688\n+ENSDARG00000059558\t7\t0.112699471961133\t0.967793901919788\t8.58738630340302\t3.00038333622434e-06\t0.000888688802910736\n+ENSDARG00000060566\t7\t0.127846770606366\t1.01035836252462\t7.90288528785342\t3.78083155119976e-06\t0.000992894397782283\n+ENSDARG00000100206\t7\t0.139832328948304\t1.04998427596811\t7.5088806992286\t4.54325865418129e-06\t0.000992894397782283\n+ENSDARG00000057206\t7\t0.121885624201679\t0.88338782626096\t7.24767856789453\t4.55979057534917e-06\t0.000992894397782283\n+ENSDARG00000070623\t7\t0.12670584582223\t0.943766658477006\t7.44848552450473\t5.87432370429556e-06\t0.00110819712277626\n+ENSDARG00000100514\t7\t0.121454028840368\t0.820406006163069\t6.75486860334098\t7.45177975757828e-06\t0.00116897636495374\n+ENSDARG00000039265\t7\t0.131635113592875\t0.87126351316452\t6.6187773868543\t9.18440046329954e-06\t0.00133326880058898\n+ENSDARG00000095904\t7\t0.168129332968718\t1.08581712830248\t6.45822539785194\t1.03525068635208e-05\t0.00139894259529663\n+ENSDARG00000039350\t7\t0.133011711683714\t0.897490439418404\t6.74745425088979\t1.06942592337219e-05\t0.00139894259529663\n+ENSDARG00000070512\t7\t0.12670239660567\t0.910072943888678\t7.18276029711621\t1.10515908767776e-05\t0.00139894259529663\n+ENSDARG00000103551\t8\t1.61835767565622\t32.2654393890171\t19.93714978732\t1.97522608849965e-06\t0.0120429534615824\n+ENSDARG00000078383\t8\t0.182610070366458\t2.60621132144157\t14.2720021749703\t1.6366673021414e-05\t0.0447464228757837\n+ENSDARG00000093799\t8\t0.115321017732354\t1.62941087246693\t14.1293487042283\t2.20172656433248e-05\t0.0447464228757837\n+ENSDARG00000036625\t8\t0.119337255991682\t1.48171990557204\t12.4162391137543\t8.39663841121717e-05\t0.127985760982978\n+ENSDARG00000016706\t8\t0.180025642511508\t1.82486224560436\t10.1366795315712\t0.000126325160000158\t0.154040900104192\n+ENSDARG00000040251\t8\t0.121540951107174\t1.29918699186992\t10.6892942669529\t0.000198034398721646\t0.201235954834313\n+ENSDARG00000098674\t8\t0.253812764860557\t2.21906493621457\t8.74292093793513\t0.000293366486612692\t0.255522209839655\n+ENSDARG00000098856\t8\t0.194513509828675\t1.64663383642527\t8.46539573459756\t0.000451769293400039\t0.296721325111977\n+ENSDARG00000062226\t8\t0.144813536626749\t1.38335068305012\t9.55263378875725\t0.000474939776632199\t0.296721325111977\n+ENSDARG00000075123\t8\t0.142439266402834\t1.40532056857682\t9.86610366696508\t0.00048666774661633\t0.296721325111977\n+ENSDARG00000070239\t8\t0.154515334275144\t1.27289156626506\t8.23796273836765\t0.000570475520527726\t0.316199022605232\n+ENSDARG00000026180\t8\t0.151758427938041\t1.41564289946672\t9.32826544595394\t0.000683459166751383\t0.347254211640265\n+ENSDARG00000104786\t8\t0.182483274181232\t1.61787042996763\t8.8658559927024\t0.00078762411588287\t0.369395710349066\n+ENSDARG00000101061\t8\t0.255483815147335\t1.62613690189592\t6.36493118344166\t0.00150635451453941\t0.61883047685698\n+ENSDARG00000016584\t8\t0.135272462199637\t0.880366460381022\t6.50809814551733\t0.00158197684628705\t0.61883047685698\n+ENSDARG00000070256\t8\t0.203213690445973\t1.26976802854965\t6.24843742448165\t0.00178015471505539\t0.61883047685698\n+ENSDARG00000062745\t8\t0.130428963634169\t0.955091918456498\t7.32269805604966\t0.00182445112094621\t0.61883047685698\n+ENSDARG00000086037\t8\t0.19632007891506\t1.29918699186992\t6.61769799120764\t0.00182695564760138\t0.61883047685698\n+ENSDARG00000027310\t8\t0.193675103177481\t1.44901164174846\t7.48166190685131\t0.00211840042255122\t0.678671506770642\n+ENSDARG00000103109\t8\t0.14293938597264\t0.936026560054929\t6.54841598545899\t0.00240745117064372\t0.678671506770642\n+ENSDARG00000078352\t8\t0.177346649454539\t1.15788746142844\t6.52895030715114\t0.0024876207141355\t0.678671506770642\n+ENSDARG00000035389\t8\t0.143574445102194\t1.00421593036345\t6.99439186164828\t0.0026995869399452\t0.678671506770642\n+ENSDARG00000103106\t8\t0.175526172559138\t1.23041862190788\t7.00988692437495\t0.0027017171947583\t0.678671506770642\n+ENSDARG00000007257\t8\t0.157933075856061\t0.866671316548008\t5.48758587680447\t0.0028384639169755\t0.678671506770642\n+ENSDARG00000010596\t8\t0.110516369140454\t0.836156159426777\t7.56590327686312\t0.00297745919336174\t0.678671506770642\n'
b
diff -r 000000000000 -r 4ea021bd7513 test-data/matrix2.pdf
b
Binary file test-data/matrix2.pdf has changed
b
diff -r 000000000000 -r 4ea021bd7513 test-data/matrix2.rdat
b
Binary file test-data/matrix2.rdat has changed
b
diff -r 000000000000 -r 4ea021bd7513 test-data/out_cluster_default.rdat
b
Binary file test-data/out_cluster_default.rdat has changed
b
diff -r 000000000000 -r 4ea021bd7513 test-data/out_cluster_general_default.pdf
b
Binary file test-data/out_cluster_general_default.pdf has changed
b
diff -r 000000000000 -r 4ea021bd7513 test-data/out_cluster_inspect_advanced1.pdf
b
Binary file test-data/out_cluster_inspect_advanced1.pdf has changed
b
diff -r 000000000000 -r 4ea021bd7513 test-data/out_cluster_inspect_advanced2.pdf
b
Binary file test-data/out_cluster_inspect_advanced2.pdf has changed
b
diff -r 000000000000 -r 4ea021bd7513 test-data/out_cluster_inspect_default.pdf
b
Binary file test-data/out_cluster_inspect_default.pdf has changed
b
diff -r 000000000000 -r 4ea021bd7513 test-data/out_traject_adv_nondef.pdf
b
Binary file test-data/out_traject_adv_nondef.pdf has changed
b
diff -r 000000000000 -r 4ea021bd7513 test-data/out_traject_default.ltree.rdat
b
Binary file test-data/out_traject_default.ltree.rdat has changed
b
diff -r 000000000000 -r 4ea021bd7513 test-data/out_traject_default.pdf
b
Binary file test-data/out_traject_default.pdf has changed
b
diff -r 000000000000 -r 4ea021bd7513 test-data/out_traject_inspect_allthree.pdf
b
Binary file test-data/out_traject_inspect_allthree.pdf has changed
b
diff -r 000000000000 -r 4ea021bd7513 test-data/out_traject_inspect_allthree.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/out_traject_inspect_allthree.tabular Thu Nov 22 04:43:57 2018 -0500
b
@@ -0,0 +1,15 @@
+"x"
+"Me2" 3.1519849710225
+"Ddx21" 2.66820084388138
+"Rnf128" 2.66057393206263
+"Vamp8" 2.59546068208913
+"Esrp1" 2.49514855152429
+"Mff" 2.40847120142661
+"Sugt1" 2.40135465960895
+"Smoc2" 2.33534839241479
+"Nap1l1" 2.30643227361057
+"Tbcb" 2.30035172881174
+"Nisch" 2.29988099912322
+"Adipor1" 2.2844835138172
+"Ppa2" 2.27481682067412
+"Taf9" 2.22301148117027
b
diff -r 000000000000 -r 4ea021bd7513 test-data/out_traject_inspect_default.ltree.blank.pdf
b
Binary file test-data/out_traject_inspect_default.ltree.blank.pdf has changed
b
diff -r 000000000000 -r 4ea021bd7513 test-data/out_traject_inspect_fateid.pdf
b
Binary file test-data/out_traject_inspect_fateid.pdf has changed
b
diff -r 000000000000 -r 4ea021bd7513 test-data/out_traject_inspect_fateid_som.pdf
b
Binary file test-data/out_traject_inspect_fateid_som.pdf has changed
b
diff -r 000000000000 -r 4ea021bd7513 test-data/out_traject_inspect_stemid.pdf
b
Binary file test-data/out_traject_inspect_stemid.pdf has changed
b
diff -r 000000000000 -r 4ea021bd7513 test-data/out_traject_inspect_stemid.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/out_traject_inspect_stemid.tabular Thu Nov 22 04:43:57 2018 -0500
b
@@ -0,0 +1,11 @@
+"x"
+"Prpsap1" 2.51245198223091
+"Tmprss2" 2.5077485319158
+"Cox4i1" 2.40532524867387
+"Dld" 2.36024722834076
+"Ap1s1" 2.29422010626431
+"Tor1aip2" 2.27751793076177
+"Hsd17b12" 2.22740668789088
+"Rangap1" 2.21481286601604
+"Chchd7" 2.17846802149896
+"Chpt1" 2.12851462573645
b
diff -r 000000000000 -r 4ea021bd7513 test-data/use.intestinal
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/use.intestinal Thu Nov 22 04:43:57 2018 -0500
b
@@ -0,0 +1,2 @@
+test
+test 0