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

Changeset 0:8dc8ff057b0f (2018-11-22)
Next changeset 1:01290f30211f (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_filtnormconf.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 8dc8ff057b0f macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml Thu Nov 22 04:44:44 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 8dc8ff057b0f macros_cluster.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros_cluster.xml Thu Nov 22 04:44:44 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 8dc8ff057b0f macros_inspectclusters.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros_inspectclusters.xml Thu Nov 22 04:44:44 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 8dc8ff057b0f macros_inspecttrajectories.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros_inspecttrajectories.xml Thu Nov 22 04:44:44 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 8dc8ff057b0f macros_trajectory.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros_trajectory.xml Thu Nov 22 04:44:44 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 8dc8ff057b0f raceid_filtnormconf.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/raceid_filtnormconf.xml Thu Nov 22 04:44:44 2018 -0500
[
b'@@ -0,0 +1,176 @@\n+<tool id="raceid_filtnormconf" name="Filtering, Normalisation, and Confounder Removal using RaceID" version="@VERSION_RACEID@.@VERSION_PACKAGE@.1" >\n+    <description>generates a normalised and filtered count matrix of single-cell RNA data</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> \'$outlog\' > /dev/null\n+    ]]></command>\n+  \n+    <configfiles>\n+        <configfile name="userconf" ><![CDATA[\n+@STRING2VECTOR@\n+\n+@FILTNORM_CHEETAH@\n+]]>\n+        </configfile>\n+    </configfiles>\n+    <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+         '..b'="matrix.filter.rdat" compare="sim_size" delta="300" />\n+            <output name="outpdf" value="matrix.filter.pdf" compare="sim_size" delta="10" />\n+        </test>\n+        <test>\n+            <!-- defaults, but manually specified. No opts, no CC. Generates identical to above -->\n+            <param name="intable" value="use.intestinal" />\n+            <section name="filt" >\n+                <param name="mintotal" value="3000" />\n+                <param name="minexpr" value="5" />\n+                <param name="minnumber" value="5" />\n+                <expand macro="test_nondef" >\n+                    <param name="knn" value="10" />\n+                    <param name="ccor" value="0.4" />\n+                    <param name="bmode" value="RaceID" />\n+                </expand>\n+            </section>\n+            <output name="outpdf" value="intestinal.filter.pdf" compare="sim_size" delta="50" />\n+        </test>\n+        <test>\n+            <!-- Advanced. Opts, CC used  -->\n+            <param name="intable" value="use.intestinal" />\n+            <section name="filt" >\n+                <param name="mintotal" value="2000" />\n+                <param name="minexpr" value="3" />\n+                <param name="minnumber" value="2" />\n+                <expand macro="test_nondef" >\n+                    <param name="knn" value="5" />\n+                    <param name="ccor" value="0.5" />\n+                    <param name="CGenes" value="Gga3,Ggact,Ggct" />\n+                    <param name="FGenes" value="Zxdc,Zyg11a,Zyg11b,Zyx" />\n+                    <param name="LBatch_regexes" value="^I5,^II5,^III5,^IV5d,^V5d" />\n+                    <param name="bmode" value="scran" />\n+                    <conditional name="ccc" >\n+                        <param name="use" value="yes" />\n+                        <param name="pvalue" value="0.05" />\n+                        <param name="quant" value="0.05" />\n+                        <param name="ncomp" value="3" />\n+                        <param name="dimr" value="true" />\n+                        <param name="mode" value="pca" />\n+                        <param name="logscale" value="true" />\n+                    </conditional>\n+                </expand>\n+            </section>\n+            <output name="outpdf" value="intestinal_advanced.filter.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 filtering, normalisation, and batch effect removal in the same step.\n+\n+\n+Example Usage: Inspecting the Aggregated Expression for a Group of Genes\n+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+\n+Our cells come from 5 different batches (I5,II5,III5,IV5,V5) and are labelled to reflect this (i.e. "I5_1", "I5_2", ..., "I5_129", "II5_1", ..., "V5_236" )\n+\n+We wish to filter out the gene Lpca5 and Atk2 which we know in advance will saturate our analysis with unwanted expression.\n+\n+We will also be interested in the cluster that contains significant expression for Apoa genes (Apoa1, Apoa1bp, Apoa2, Apoa4, Apoa5).\n+\n+First, we must load in our count matrix in order to correct for batch effects, filter out unwanted genes, and compute our clusters and outliers.\n+\n+ * *Mode of Analysis* \xe2\x86\x92 **Cluster**\n+\n+   * *Count Matrix* \xe2\x86\x92 [input tabular]\n+\n+   * Filtering:\n+\n+     * *Use Defaults?* \xe2\x86\x92 **No**\n+\n+     * *Batch Regex* \xe2\x86\x92 "^I5,^II5,^III5,^IV5,^V5"\n+\n+     * *FGenes* \xe2\x86\x92 "Lpca5,Atk2"\n+\n+A PDF report will be generated giving metrics about the library size and number of features as histograms, and additional metrics relating to cell-cycle correction will be produced if that option has been selected.\n+\n+]]>\n+        </help>\n+        <expand macro="citations" />\n+</tool>\n'
b
diff -r 000000000000 -r 8dc8ff057b0f scripts/cluster.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/cluster.R Thu Nov 22 04:44:44 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 8dc8ff057b0f scripts/clusterinspect.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/clusterinspect.R Thu Nov 22 04:44:44 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 8dc8ff057b0f scripts/pseudotemporal.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/pseudotemporal.R Thu Nov 22 04:44:44 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 8dc8ff057b0f scripts/trajectoryinspect.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/trajectoryinspect.R Thu Nov 22 04:44:44 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 8dc8ff057b0f test-data/intestinal.filter.pdf
b
Binary file test-data/intestinal.filter.pdf has changed
b
diff -r 000000000000 -r 8dc8ff057b0f test-data/intestinal.genelist
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/intestinal.genelist Thu Nov 22 04:44:44 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 8dc8ff057b0f test-data/intestinal.pdf
b
Binary file test-data/intestinal.pdf has changed
b
diff -r 000000000000 -r 8dc8ff057b0f test-data/intestinal_advanced.filter.pdf
b
Binary file test-data/intestinal_advanced.filter.pdf has changed
b
diff -r 000000000000 -r 8dc8ff057b0f 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:44:44 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 8dc8ff057b0f test-data/intestinal_advanced.pdf
b
Binary file test-data/intestinal_advanced.pdf has changed
b
diff -r 000000000000 -r 8dc8ff057b0f test-data/matrix.filter.pdf
b
Binary file test-data/matrix.filter.pdf has changed
b
diff -r 000000000000 -r 8dc8ff057b0f test-data/matrix.filter.rdat
b
Binary file test-data/matrix.filter.rdat has changed
b
diff -r 000000000000 -r 8dc8ff057b0f test-data/matrix.genelist
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/matrix.genelist Thu Nov 22 04:44:44 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 8dc8ff057b0f test-data/matrix.pdf
b
Binary file test-data/matrix.pdf has changed
b
diff -r 000000000000 -r 8dc8ff057b0f test-data/matrix.rdat
b
Binary file test-data/matrix.rdat has changed
b
diff -r 000000000000 -r 8dc8ff057b0f test-data/matrix.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/matrix.tabular Thu Nov 22 04:44:44 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 8dc8ff057b0f test-data/matrix2.genelist
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/matrix2.genelist Thu Nov 22 04:44:44 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 8dc8ff057b0f test-data/matrix2.pdf
b
Binary file test-data/matrix2.pdf has changed
b
diff -r 000000000000 -r 8dc8ff057b0f test-data/matrix2.rdat
b
Binary file test-data/matrix2.rdat has changed
b
diff -r 000000000000 -r 8dc8ff057b0f test-data/out_cluster_default.rdat
b
Binary file test-data/out_cluster_default.rdat has changed
b
diff -r 000000000000 -r 8dc8ff057b0f test-data/out_cluster_general_default.pdf
b
Binary file test-data/out_cluster_general_default.pdf has changed
b
diff -r 000000000000 -r 8dc8ff057b0f test-data/out_cluster_inspect_advanced1.pdf
b
Binary file test-data/out_cluster_inspect_advanced1.pdf has changed
b
diff -r 000000000000 -r 8dc8ff057b0f test-data/out_cluster_inspect_advanced2.pdf
b
Binary file test-data/out_cluster_inspect_advanced2.pdf has changed
b
diff -r 000000000000 -r 8dc8ff057b0f test-data/out_cluster_inspect_default.pdf
b
Binary file test-data/out_cluster_inspect_default.pdf has changed
b
diff -r 000000000000 -r 8dc8ff057b0f test-data/out_traject_adv_nondef.pdf
b
Binary file test-data/out_traject_adv_nondef.pdf has changed
b
diff -r 000000000000 -r 8dc8ff057b0f test-data/out_traject_default.ltree.rdat
b
Binary file test-data/out_traject_default.ltree.rdat has changed
b
diff -r 000000000000 -r 8dc8ff057b0f test-data/out_traject_default.pdf
b
Binary file test-data/out_traject_default.pdf has changed
b
diff -r 000000000000 -r 8dc8ff057b0f test-data/out_traject_inspect_allthree.pdf
b
Binary file test-data/out_traject_inspect_allthree.pdf has changed
b
diff -r 000000000000 -r 8dc8ff057b0f 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:44:44 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 8dc8ff057b0f 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 8dc8ff057b0f test-data/out_traject_inspect_fateid.pdf
b
Binary file test-data/out_traject_inspect_fateid.pdf has changed
b
diff -r 000000000000 -r 8dc8ff057b0f 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 8dc8ff057b0f test-data/out_traject_inspect_stemid.pdf
b
Binary file test-data/out_traject_inspect_stemid.pdf has changed
b
diff -r 000000000000 -r 8dc8ff057b0f 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:44:44 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 8dc8ff057b0f test-data/use.intestinal
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/use.intestinal Thu Nov 22 04:44:44 2018 -0500
b
@@ -0,0 +1,2 @@
+test
+test 0