Repository 'cpm_tpm_rpk'
hg clone https://toolshed.g2.bx.psu.edu/repos/artbio/cpm_tpm_rpk

Changeset 0:35d032c46a4e (2018-07-25)
Next changeset 1:b74bab5157c4 (2019-02-05)
Commit message:
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
added:
cpm_tpm_rpk.R
cpm_tpm_rpk.xml
test-data/counts.tab
test-data/cpm.tab
test-data/gene_length.tab
test-data/logcpm.tab
test-data/logrpk.tab
test-data/logtpm.tab
test-data/rpk.tab
test-data/tpm.tab
b
diff -r 000000000000 -r 35d032c46a4e cpm_tpm_rpk.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cpm_tpm_rpk.R Wed Jul 25 13:05:17 2018 -0400
[
@@ -0,0 +1,149 @@
+if (length(commandArgs(TRUE)) == 0) {
+  system("Rscript cpm_tpm_rpk.R -h", intern = F)
+  q("no")
+}
+
+# Load necessary packages (install them if it's not the case)
+requiredPackages = c('optparse')
+for (p in requiredPackages) {
+  if (!require(p, character.only = TRUE, quietly = T)) {
+    install.packages(p)
+  }
+  suppressPackageStartupMessages(suppressMessages(library(p, character.only = TRUE)))
+}
+
+
+#Arguments
+option_list = list(
+  make_option(
+    c("-d", "--data"),
+    default = NA,
+    type = 'character',
+    help = "Input file that contains count values to transform"
+  ),
+  make_option(
+    c("-t", "--type"),
+    default = 'cpm',
+    type = 'character',
+    help = "Transformation type, either cpm, tpm or rpk [default : '%default' ]"
+  ),
+  make_option(
+    c("-s", "--sep"),
+    default = '\t',
+    type = 'character',
+    help = "File separator [default : '%default' ]"
+  ),
+  make_option(
+    c("-c", "--colnames"),
+    default = TRUE,
+    type = 'logical',
+    help = "Consider first line as header ? [default : '%default' ]"
+  ),
+  make_option(
+    c("-f", "--gene"),
+    default = NA,
+    type = 'character',
+    help = "Two column of gene length file"
+  ),
+  make_option(
+    c("-a", "--gene_sep"),
+    default = '\t',
+    type = 'character',
+    help = "Gene length file separator [default : '%default' ]"
+  ),
+  make_option(
+    c("-b", "--gene_header"),
+    default = TRUE,
+    type = 'logical',
+    help = "Consider first line of gene length as header ? [default : '%default' ]"
+  ),
+  make_option(
+    c("-l", "--log"),
+    default = FALSE,
+    type = 'logical',
+    help = "Should be log transformed as well ? (log2(data +1)) [default : '%default' ]"
+  ),
+  make_option(
+    c("-o", "--out"),
+    default = "res.tab",
+    type = 'character',
+    help = "Output name [default : '%default' ]"
+  )
+)
+
+
+opt = parse_args(OptionParser(option_list = option_list),
+                 args = commandArgs(trailingOnly = TRUE))
+
+if (opt$data == "" & !(opt$help)) {
+  stop("At least one argument must be supplied (count data).\n",
+       call. = FALSE)
+} else if ((opt$type == "tpm" | opt$type == "rpk") & opt$gene == "") {
+  stop("At least two arguments must be supplied (count data and gene length file).\n",
+       call. = FALSE)
+} else if (opt$type != "tpm" & opt$type != "rpk" & opt$type != "cpm") {
+  stop("Wrong transformation requested (--type option) must be : cpm, tpm or rpk.\n",
+       call. = FALSE)
+}
+
+if (opt$sep == "tab") {opt$sep = "\t"}
+if (opt$gene_sep == "tab") {opt$gene_sep = "\t"}
+
+cpm <- function(count) {
+  t(t(count) / colSums(count)) * 1000000
+}
+
+
+rpk <- function(count, length) {
+  count / (length / 1000)
+}
+
+tpm <- function(count, length) {
+  RPK = rpk(count, length)
+  perMillion_factor = colSums(RPK) / 1000000
+  TPM = RPK / perMillion_factor
+  return(TPM)
+}
+
+data = read.table(
+  opt$data,
+  h = opt$colnames,
+  row.names = 1,
+  sep = opt$sep
+)
+
+if (opt$type == "tpm" | opt$type == "rpk") {
+  gene_length = as.data.frame(
+    read.table(
+      opt$gene,
+      h = opt$gene_header,
+      row.names = 1,
+      sep = opt$gene_sep
+    )
+  )
+  gene_length = as.data.frame(gene_length[match(rownames(data), rownames(gene_length)), ], rownames(data))
+}
+
+
+if (opt$type == "cpm")
+  res = cpm(data)
+if (opt$type == "tpm")
+  res = as.data.frame(apply(data, 2, tpm, length = gene_length), row.names = rownames(data))
+if (opt$type == "rpk")
+  res = as.data.frame(apply(data, 2, rpk, length = gene_length), row.names = rownames(data))
+colnames(res) = colnames(data)
+
+
+if (opt$log == TRUE) {
+  res = log2(res + 1)
+}
+
+write.table(
+  cbind(Features = rownames(res), res),
+  opt$out,
+  col.names = opt$colnames,
+  row.names = F,
+  quote = F,
+  sep = "\t"
+)
+
b
diff -r 000000000000 -r 35d032c46a4e cpm_tpm_rpk.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cpm_tpm_rpk.xml Wed Jul 25 13:05:17 2018 -0400
[
@@ -0,0 +1,161 @@
+<tool id="cpm_tpm_rpk" name="Generate CPM, TPM, RPK" version="0.1.0">
+    <description>from raw counts expression values</description>
+    <requirements>
+        <requirement type="package" version="1.3.2=r3.3.2_0">r-optparse</requirement>
+    </requirements>
+    <stdio>
+        <exit_code range="1:" level="fatal" description="Tool exception" />
+    </stdio>
+    <command detect_errors="exit_code"><![CDATA[ 
+Rscript $__tool_directory__/cpm_tpm_rpk.R 
+-d $input 
+-t $option.type_transfo 
+-s $input_sep 
+-c $input_header 
+#if $option.type_transfo == "tpm":
+-f $option.gene_file 
+--gene_sep $option.gene_sep 
+--gene_header $option.gene_header
+#end if 
+#if $option.type_transfo == "rpk":
+-f $option.gene_file 
+--gene_sep $option.gene_sep 
+--gene_header $option.gene_header
+#end if
+-l $log
+#if $log == "FALSE":
+-o ${output}
+#end if
+#if $log == "TRUE":
+-o ${output_log}
+#end if
+]]></command>
+    <inputs>
+        <param name="input" type="data" format="txt" label="Raw counts of expression data"/>
+        <param name="input_sep" type="select" label="Input column separator">
+            <option value="tab" selected="true">Tabs</option>
+            <option value=",">Comma</option>
+            <option value="\ ">Whitespace</option>
+            <option value=".">Dots</option>
+                        <option value="_">Underscores</option>
+                        <option value="-">Dashes</option>
+        </param>
+        <param name="input_header" type="select" label="Consider first line of input file as header?">
+            <option value="TRUE" selected="true">Yes</option>
+            <option value="FALSE">No</option>
+        </param>
+                <conditional name="option">
+                    <param name="type_transfo" type="select" label="Type of transformation">
+                              <option value="cpm" selected="true">CPM</option>
+                               <option value="tpm">TPM</option>
+                               <option value="rpk">RPK</option>
+                       </param>
+            <when value="tpm">
+                <param name="gene_file" type="data" format="txt" label="Gene length file"/> 
+                <param name="gene_sep" type="select" label="Gene length column separator">
+                    <option value="tab" selected="true">Tabs</option>
+                           <option value=",">Commas</option>
+                    <option value="\ ">Whitespaces</option>
+                    <option value=".">Dots</option>
+                    <option value="_">Underscores</option>
+                    <option value="-">Dashes</option>
+                </param>
+                <param name="gene_header" type="select" label="Consider first line of gene length file as header ?">
+                    <option value="TRUE" selected="true">Yes</option>
+                    <option value="FALSE">No</option>
+                </param>
+            </when>
+                        <when value="rpk">
+                                <param name="gene_file" type="data" format="txt" label="Gene length file"/>
+                                <param name="gene_sep" type="select" label="Gene length column separator">
+                                        <option value="tab" selected="true">Tabs</option>
+                                        <option value=",">Commas</option>
+                                        <option value="\ ">Whitespaces</option>
+                                        <option value=".">Dots</option>
+                                        <option value="_">Underscores</option>
+                                        <option value="-">Dashes</option>
+                                </param>
+                                <param name="gene_header" type="select" label="Consider first line of gene length file as header ?">
+                                        <option value="TRUE" selected="true">Yes</option>
+                                        <option value="FALSE">No</option>
+                                </param>
+                        </when>
+            <when value="cpm">
+            </when>
+        </conditional>
+        <param name="log" type="select" label="Data should be log transformed ?">
+            <option value="FALSE" selected="true">No</option>
+            <option value="TRUE">Yes</option>
+        </param>
+    </inputs>
+    <outputs>
+        <data name="output" format="tabular" label="${option.type_transfo} from ${on_string}">
+            <filter>log == "FALSE"</filter>
+        </data>
+        <data name="output_log" format="tabular" label="log2(${option.type_transfo} +1) from ${on_string}">
+            <filter>log == "TRUE"</filter>
+                </data>
+    </outputs>
+    <tests>
+        <test>
+            <param name="input" value="counts.tab" ftype="tabular"/>
+            <param name="type_transfo" value="cpm"/>
+            <output name="output" file="cpm.tab" ftype="tabular"/>
+        </test>
+        <test>
+            <param name="input" value="counts.tab" ftype="tabular"/>
+            <param name="type_transfo" value="cpm"/>
+            <param name="log" value="TRUE"/>
+            <output name="output" file="logcpm.tab" ftype="tabular"/>
+        </test>
+        <test>
+            <param name="input" value="counts.tab" ftype="tabular"/>
+            <param name="type_transfo" value="tpm"/>
+            <param name="gene_file" value="gene_length.tab" ftype="tabular"/>
+            <param name="gene_header" value="TRUE"/>
+            <output name="output" file="tpm.tab" ftype="tabular"/>
+        </test>
+        <test>
+            <param name="input" value="counts.tab" ftype="tabular"/>
+            <param name="type_transfo" value="tpm"/>
+            <param name="gene_file" value="gene_length.tab" ftype="tabular"/>
+            <param name="gene_header" value="TRUE"/>
+            <param name="log" value="TRUE"/>
+            <output name="output" file="logtpm.tab" ftype="tabular"/>
+        </test>
+        <test>
+            <param name="input" value="counts.tab" ftype="tabular"/>
+            <param name="type_transfo" value="rpk"/>
+            <param name="gene_file" value="gene_length.tab" ftype="tabular"/>
+            <param name="gene_header" value="TRUE"/>
+            <output name="output" file="rpk.tab" ftype="tabular"/>
+        </test>
+        <test>
+            <param name="input" value="counts.tab" ftype="tabular"/>
+            <param name="type_transfo" value="rpk"/>
+            <param name="gene_file" value="gene_length.tab" ftype="tabular"/>
+            <param name="gene_header" value="TRUE"/>
+            <param name="log" value="TRUE"/>
+            <output name="output" file="logrpk.tab" ftype="tabular"/>
+        </test>
+    </tests>
+    <help>
+
+**What it does**
+
+And returns a table of normalized expression values.
+
+Normalization can be:
+
+- CPM (Counts Per Million) are obtained by dividing counts by the library counts sum and multiplying the results by a million.
+- RPK (Reads Per Kilobases) are obtained by dividing read counts by gene lengths (expressed in kilo-nucleotides).
+- TPM (Transcripts Per Million) are obtained by dividing RPK values by the sum of all RPK values in a sample and multiplying the results by 1 million.
+
+RPK and TPM require a two-column correspondance table gene_name - gene length where the length is specified in nucleotide. Both these metrics are relevant only for sequencing of full length RNAs.
+
+Note: do not comment you header line if you have header line in you tabular input (ie do not start the header line with a '#' character)
+
+Computed values may be log-transformed (log2([CPM or RPK or TPM]+1))
+
+    </help>
+</tool>
b
diff -r 000000000000 -r 35d032c46a4e test-data/counts.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/counts.tab Wed Jul 25 13:05:17 2018 -0400
b
b'@@ -0,0 +1,35194 @@\n+gene\tWt1\tWt2\tWt3\tCA1\tCA2\tCA3\tKK1\tKK2\tKK3\n+0610005C13Rik\t68\t49\t54\t49\t50\t56\t78\t62\t71\n+0610006L08Rik\t0\t0\t0\t0\t0\t1\t0\t0\t0\n+0610009B22Rik\t446\t432\t542\t412\t405\t448\t488\t503\t542\n+0610009E02Rik\t188\t156\t180\t179\t199\t229\t175\t164\t186\n+0610009L18Rik\t28\t27\t15\t20\t19\t20\t12\t16\t11\n+0610009O20Rik\t729\t748\t845\t852\t873\t883\t799\t819\t1004\n+0610010F05Rik\t705\t592\t744\t576\t711\t689\t735\t710\t760\n+0610010K14Rik\t17\t8\t15\t21\t24\t29\t18\t21\t20\n+0610012D04Rik\t2\t0\t1\t0\t1\t2\t3\t3\t0\n+0610012G03Rik\t496\t524\t602\t396\t480\t442\t460\t571\t553\n+0610030E20Rik\t400\t338\t360\t354\t350\t408\t385\t365\t441\n+0610033M10Rik\t0\t0\t0\t2\t0\t1\t2\t1\t1\n+0610037L13Rik\t407\t423\t386\t435\t404\t449\t404\t505\t451\n+0610038B21Rik\t38\t26\t39\t65\t54\t76\t47\t47\t48\n+0610039K10Rik\t17\t15\t16\t21\t31\t43\t34\t34\t32\n+0610040B10Rik\t10\t17\t15\t23\t11\t20\t17\t19\t10\n+0610040F04Rik\t27\t27\t24\t23\t33\t45\t29\t33\t31\n+0610040J01Rik\t22\t15\t22\t45\t49\t54\t50\t54\t52\n+0610043K17Rik\t7\t3\t11\t4\t2\t4\t6\t8\t4\n+1010001B22Rik\t6\t6\t7\t4\t8\t9\t4\t6\t5\n+1010001N08Rik\t2\t3\t4\t2\t0\t0\t4\t3\t4\n+1110002E22Rik\t0\t0\t0\t2\t0\t0\t1\t0\t1\n+1110002J07Rik\t84\t74\t92\t210\t200\t262\t151\t143\t168\n+1110002L01Rik\t402\t366\t398\t337\t351\t409\t378\t403\t378\n+1110002O04Rik\t0\t0\t0\t1\t0\t1\t0\t0\t0\n+1110003F10Rik\t16\t5\t18\t11\t7\t7\t5\t8\t8\n+1110004E09Rik\t378\t437\t415\t425\t401\t393\t385\t413\t516\n+1110004F10Rik\t972\t1039\t1082\t860\t962\t996\t1112\t1026\t1223\n+1110006O24Rik\t9\t16\t13\t6\t13\t10\t12\t10\t20\n+1110008F13Rik\t1583\t1546\t1746\t1720\t1845\t1699\t1671\t1893\t2018\n+1110008L16Rik\t827\t799\t924\t734\t882\t849\t954\t905\t999\n+1110008P14Rik\t252\t273\t267\t258\t284\t327\t243\t271\t286\n+1110012L19Rik\t230\t237\t260\t206\t234\t227\t249\t264\t253\n+1110017D15Rik\t3\t0\t3\t2\t0\t2\t2\t2\t2\n+1110018N20Rik\t9\t9\t7\t11\t10\t9\t9\t9\t5\n+1110019B22Rik\t1\t0\t0\t0\t0\t0\t0\t1\t0\n+1110019D14Rik\t77\t53\t55\t53\t59\t81\t85\t81\t83\n+1110020A21Rik\t3\t3\t6\t7\t9\t9\t4\t6\t5\n+1110025L11Rik\t0\t0\t1\t0\t0\t0\t0\t0\t0\n+1110025M09Rik\t23\t17\t16\t9\t18\t16\t9\t14\t19\n+1110028F11Rik\t0\t0\t0\t0\t0\t0\t2\t0\t1\n+1110028F18Rik\t1\t0\t0\t0\t0\t2\t0\t1\t0\n+1110032A03Rik\t211\t231\t224\t186\t183\t217\t233\t178\t246\n+1110032F04Rik\t38\t38\t49\t13\t16\t13\t27\t38\t40\n+1110034G24Rik\t125\t127\t142\t93\t84\t129\t126\t128\t111\n+1110035H17Rik\t70\t57\t63\t54\t47\t60\t61\t57\t64\n+1110036E04Rik\t0\t1\t0\t0\t0\t0\t0\t0\t0\n+1110038B12Rik\t1184\t1090\t1197\t1181\t1132\t1401\t1257\t1302\t1515\n+1110038F14Rik\t351\t372\t399\t397\t390\t413\t399\t444\t430\n+1110046J04Rik\t27\t17\t18\t32\t17\t42\t41\t24\t26\n+1110051M20Rik\t582\t637\t667\t649\t644\t702\t631\t673\t726\n+1110057P08Rik\t0\t0\t0\t0\t0\t0\t0\t1\t0\n+1110059E24Rik\t737\t793\t859\t655\t735\t747\t838\t792\t881\n+1110059G10Rik\t248\t247\t241\t200\t224\t256\t235\t237\t247\n+1110065P20Rik\t300\t377\t426\t419\t385\t291\t412\t422\t463\n+1190001M18Rik\t1\t0\t0\t0\t0\t0\t0\t0\t1\n+1190002N15Rik\t737\t725\t792\t1009\t1007\t1150\t886\t856\t929\n+1190005I06Rik\t21\t33\t37\t60\t46\t61\t33\t43\t57\n+1190007I07Rik\t87\t82\t114\t96\t96\t104\t95\t97\t91\n+1190028D05Rik\t4\t2\t4\t2\t5\t3\t5\t4\t7\n+1300002E11Rik\t61\t49\t58\t57\t52\t61\t46\t62\t61\n+1300014J16Rik\t19\t15\t18\t27\t22\t20\t17\t22\t36\n+1300017J02Rik\t1\t4\t0\t5\t4\t2\t4\t6\t6\n+1500002C15Rik\t439\t557\t526\t593\t540\t632\t596\t587\t639\n+1500002F19Rik\t37\t48\t46\t31\t33\t42\t42\t47\t67\n+1500004A13Rik\t483\t391\t416\t462\t428\t545\t472\t510\t569\n+1500005C15Rik\t0\t0\t0\t0\t0\t0\t1\t0\t0\n+1500009C09Rik\t4\t3\t4\t4\t3\t1\t1\t3\t2\n+1500009L16Rik\t349\t371\t420\t669\t709\t758\t557\t542\t621\n+1500011B03Rik\t206\t214\t230\t267\t264\t305\t270\t286\t306\n+1500011K16Rik\t164\t192\t178\t176\t165\t162\t188\t229\t215\n+1500015A07Rik\t51\t48\t80\t51\t49\t56\t49\t63\t62\n+1500015O10Rik\t4\t3\t4\t3\t1\t3\t5\t11\t3\n+1500026H17Rik\t3\t2\t2\t2\t3\t5\t8\t3\t3\n+1520401A03Rik\t8\t7\t9\t8\t13\t10\t11\t14\t14\n+1600002D24Rik\t0\t0\t0\t1\t0\t0\t0\t0\t0\n+1600002K03Rik\t70\t80\t79\t51\t53\t65\t65\t78\t81\n+1600010M07Rik\t2\t2\t3\t1\t2\t5\t2\t2\t4\n+1600012H06Rik\t736\t725\t771\t846\t875\t911\t861\t893\t943\n+1600014C10Rik\t114\t132\t135\t159\t151\t146\t133\t146\t189\n+1600014C23Rik\t2\t2\t2\t1\t0\t2\t3\t0\t1\n+1600015I10Rik\t0\t0\t0\t0\t0\t1\t0\t0\t0\n+1600017P15Rik\t1\t0\t0\t2\t1\t1\t1\t0\t1\n+1600020E01Rik\t330\t253\t299\t342\t311\t327\t284\t272\t305\n+1600023N17Rik\t8\t10\t7\t21\t13\t14\t10\t6\t21\n+1600029O15Rik\t16\t6\t6\t7\t6\t10\t3\t8\t5\n+1700001C19Rik\t1\t3\t5\t16\t7\t11\t6\t5\t6\n+1700001D01Rik\t10\t5\t11\t5\t6\t11\t7\t12\t16\n+1700001F09Rik\t3\t1\t1\t2\t4\t7\t1\t4\t0\n+1700001G11Rik\t18\t29\t26\t27\t25\t30\t20\t22\t20\n+1700001G17Rik\t4\t2\t4\t0\t4\t6\t5\t2\t3\n+1700001J03Rik\t0\t0\t0\t1\t0\t1\t1\t2\t0\n+1700001J11Rik\t14\t9\t14\t9\t5\t5\t5\t7\t7\n+1700001K19Rik\t40\t10\t16\t24\t24\t28\t28\t25\t20\n+170'..b'7\t236\t258\t249\t260\t273\t298\n+Znrf1\t892\t832\t896\t1255\t1242\t1226\t989\t1087\t1183\n+Znrf2\t2371\t2304\t2487\t2129\t2275\t2401\t2300\t2289\t2482\n+Znrf3\t806\t634\t758\t677\t770\t846\t763\t724\t833\n+Znrf4\t0\t1\t0\t1\t3\t3\t1\t1\t1\n+Zp1\t9\t2\t3\t3\t1\t2\t4\t1\t0\n+Zp2\t1\t0\t0\t0\t0\t0\t2\t0\t0\n+Zp3\t17\t24\t12\t26\t35\t38\t32\t28\t25\n+Zp3r\t7\t3\t3\t10\t10\t11\t12\t4\t9\n+Zpbp\t18\t15\t21\t12\t19\t10\t25\t13\t12\n+Zpbp2\t1\t2\t1\t0\t0\t4\t3\t2\t0\n+Zpr1\t1137\t1285\t1258\t1272\t1218\t1383\t1297\t1363\t1526\n+Zranb1\t4149\t3610\t4062\t4409\t4618\t5112\t4512\t4077\t4531\n+Zranb2\t3024\t2612\t3197\t2418\t2682\t2691\t2964\t2940\t3276\n+Zranb3\t879\t789\t851\t845\t861\t917\t811\t845\t950\n+Zrsr1\t358\t365\t398\t600\t667\t676\t344\t396\t466\n+Zrsr2\t935\t918\t952\t795\t875\t976\t909\t924\t1088\n+Zscan10\t2050\t2088\t2068\t2327\t2342\t2662\t2399\t2435\t2952\n+Zscan12\t443\t453\t538\t389\t442\t417\t424\t449\t519\n+Zscan18\t307\t248\t272\t277\t260\t264\t252\t278\t315\n+Zscan2\t58\t55\t58\t45\t47\t65\t57\t59\t55\n+Zscan20\t376\t335\t325\t347\t335\t367\t341\t324\t448\n+Zscan21\t556\t571\t635\t502\t576\t601\t560\t564\t648\n+Zscan22\t355\t301\t363\t374\t360\t425\t393\t406\t463\n+Zscan25\t305\t266\t301\t376\t360\t472\t362\t418\t444\n+Zscan26\t1668\t1749\t1862\t1586\t1754\t1894\t1834\t1838\t2092\n+Zscan29\t335\t260\t317\t279\t283\t305\t299\t276\t348\n+Zscan30\t24\t19\t15\t12\t27\t28\t27\t22\t14\n+Zscan4-ps1\t0\t0\t0\t1\t0\t0\t3\t2\t3\n+Zscan4-ps2\t0\t0\t0\t1\t1\t2\t1\t1\t0\n+Zscan4-ps3\t0\t0\t2\t2\t2\t2\t0\t0\t0\n+Zscan4a\t0\t1\t0\t1\t1\t2\t1\t5\t1\n+Zscan4b\t0\t1\t0\t0\t0\t2\t1\t2\t0\n+Zscan4c\t1\t0\t0\t1\t2\t1\t4\t2\t7\n+Zscan4d\t0\t1\t1\t3\t7\t11\t7\t14\t4\n+Zscan4e\t0\t0\t0\t0\t0\t3\t1\t1\t0\n+Zscan4f\t0\t0\t0\t4\t0\t0\t2\t0\t1\n+Zscan5b\t2\t1\t2\t4\t1\t3\t4\t2\t1\n+Zswim1\t987\t1122\t1131\t1115\t1179\t1199\t1081\t1196\t1337\n+Zswim2\t1\t0\t0\t0\t0\t0\t0\t0\t0\n+Zswim3\t334\t376\t383\t393\t412\t429\t393\t400\t457\n+Zswim4\t1497\t1512\t1590\t1681\t1623\t1667\t1484\t1627\t2031\n+Zswim5\t243\t241\t265\t295\t317\t305\t276\t303\t332\n+Zswim6\t794\t785\t820\t950\t1043\t1137\t852\t841\t982\n+Zswim7\t263\t254\t283\t392\t367\t373\t321\t353\t328\n+Zswim8\t1104\t965\t1084\t1393\t1397\t1581\t1178\t1291\t1613\n+Zswim9\t93\t75\t74\t91\t92\t106\t87\t93\t118\n+Zufsp\t426\t244\t352\t347\t348\t397\t416\t427\t400\n+Zw10\t913\t870\t1003\t970\t935\t1051\t963\t935\t1154\n+Zwilch\t1718\t1573\t1808\t1874\t1885\t2074\t2026\t1930\t2179\n+Zwint\t1302\t1362\t1442\t1527\t1570\t1702\t1577\t1663\t1864\n+Zxda\t1\t0\t0\t0\t0\t0\t0\t0\t0\n+Zxdb\t68\t83\t97\t79\t84\t111\t116\t76\t106\n+Zxdc\t467\t462\t491\t544\t516\t546\t554\t537\t618\n+Zyg11a\t338\t306\t377\t452\t449\t571\t418\t434\t533\n+Zyg11b\t1896\t1853\t2061\t1914\t2214\t2288\t2166\t2159\t2549\n+Zyx\t311\t269\t337\t691\t683\t744\t543\t584\t701\n+Zzef1\t1106\t941\t1121\t1100\t1117\t1264\t1131\t1016\t1243\n+Zzz3\t2505\t2080\t2327\t2343\t2366\t2610\t2469\t2437\t2749\n+a\t3\t2\t1\t0\t2\t1\t3\t1\t0\n+n-R5s115\t0\t1\t0\t0\t0\t0\t0\t0\t0\n+n-R5s12\t0\t0\t0\t0\t1\t0\t0\t0\t0\n+n-R5s136\t1\t0\t1\t0\t0\t0\t0\t1\t0\n+n-R5s15\t4\t0\t0\t0\t3\t0\t2\t0\t3\n+n-R5s152\t0\t0\t0\t0\t0\t1\t0\t0\t0\n+n-R5s154\t2\t1\t1\t0\t0\t0\t3\t1\t0\n+n-R5s158\t3\t0\t0\t1\t2\t1\t0\t1\t2\n+n-R5s160\t0\t0\t0\t0\t0\t0\t1\t0\t0\n+n-R5s161\t2\t0\t1\t1\t0\t0\t2\t2\t0\n+n-R5s164\t1\t0\t0\t1\t0\t0\t0\t0\t0\n+n-R5s169\t0\t0\t0\t0\t1\t0\t0\t0\t0\n+n-R5s174\t0\t0\t0\t3\t0\t0\t1\t0\t0\n+n-R5s178\t2\t1\t3\t2\t3\t3\t2\t3\t1\n+n-R5s180\t0\t0\t0\t1\t0\t0\t0\t0\t0\n+n-R5s183\t9\t1\t1\t3\t1\t1\t5\t3\t3\n+n-R5s188\t5\t1\t3\t10\t5\t3\t3\t2\t2\n+n-R5s19\t0\t0\t0\t0\t0\t0\t1\t0\t0\n+n-R5s191\t1\t0\t0\t0\t0\t0\t0\t0\t0\n+n-R5s192\t4\t1\t1\t0\t0\t1\t1\t0\t2\n+n-R5s194\t0\t1\t0\t0\t1\t0\t0\t0\t0\n+n-R5s196\t2\t5\t1\t0\t5\t1\t1\t2\t2\n+n-R5s197\t2\t0\t0\t3\t1\t1\t0\t1\t1\n+n-R5s200\t7\t3\t7\t3\t4\t3\t7\t1\t3\n+n-R5s201\t3\t3\t3\t3\t2\t8\t1\t2\t1\n+n-R5s202\t4\t2\t2\t2\t3\t5\t5\t3\t4\n+n-R5s205\t0\t0\t1\t1\t0\t2\t0\t0\t2\n+n-R5s207\t0\t0\t0\t0\t0\t1\t5\t0\t1\n+n-R5s21\t1\t0\t0\t0\t0\t0\t1\t0\t2\n+n-R5s210\t0\t0\t0\t0\t0\t0\t1\t0\t0\n+n-R5s217\t0\t0\t0\t1\t0\t0\t0\t0\t0\n+n-R5s24\t1\t1\t0\t0\t0\t0\t0\t0\t0\n+n-R5s25\t1\t0\t0\t0\t0\t0\t0\t1\t0\n+n-R5s26\t1\t0\t3\t2\t2\t0\t1\t1\t1\n+n-R5s29\t2\t0\t0\t4\t0\t4\t2\t0\t2\n+n-R5s31\t2\t1\t1\t1\t0\t1\t2\t1\t0\n+n-R5s32\t1\t0\t0\t0\t0\t0\t0\t0\t0\n+n-R5s39\t1\t0\t2\t4\t0\t0\t0\t2\t1\n+n-R5s40\t3\t3\t4\t10\t3\t3\t2\t3\t2\n+n-R5s41\t0\t1\t0\t1\t0\t0\t1\t0\t0\n+n-R5s46\t0\t1\t0\t0\t0\t0\t0\t2\t0\n+n-R5s47\t0\t0\t0\t0\t0\t0\t1\t0\t0\n+n-R5s48\t0\t2\t0\t4\t1\t1\t0\t0\t0\n+n-R5s52\t0\t1\t1\t1\t0\t2\t4\t1\t0\n+n-R5s54\t0\t0\t0\t0\t1\t1\t0\t0\t0\n+n-R5s67\t0\t0\t0\t0\t0\t0\t1\t1\t0\n+n-R5s69\t0\t0\t0\t0\t0\t0\t0\t0\t1\n+n-R5s73\t0\t0\t0\t0\t2\t2\t1\t1\t1\n+n-R5s74\t0\t0\t0\t0\t1\t1\t0\t0\t0\n+n-R5s76\t3\t0\t0\t4\t0\t2\t4\t7\t1\n+n-R5s80\t1\t0\t0\t1\t1\t0\t0\t0\t1\n+n-R5s84\t1\t1\t1\t0\t0\t0\t0\t2\t1\n+n-R5s85\t4\t0\t0\t0\t3\t2\t0\t3\t1\n+n-R5s87\t1\t0\t0\t2\t0\t2\t0\t0\t1\n+n-R5s89\t0\t0\t1\t0\t0\t0\t0\t0\t0\n+n-R5s96\t0\t0\t0\t0\t0\t0\t0\t1\t0\n+n-R5s97\t3\t4\t0\t1\t2\t2\t1\t0\t1\n+n-TSaga9\t4\t3\t1\t3\t1\t2\t2\t2\t1\n+n-TStga1\t6\t6\t5\t6\t5\t7\t5\t7\t7\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 35d032c46a4e test-data/cpm.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cpm.tab Wed Jul 25 13:05:17 2018 -0400
b
b'@@ -0,0 +1,35194 @@\n+Features\tWt1\tWt2\tWt3\tCA1\tCA2\tCA3\tKK1\tKK2\tKK3\n+0610005C13Rik\t3.71891459102467\t2.77720061125619\t2.82163106264664\t2.58592405542131\t2.56876269482524\t2.66134714065576\t4.05855136773181\t3.07119054354673\t3.11787622918428\n+0610006L08Rik\t0\t0\t0\t0\t0\t0.0475240560831386\t0\t0\t0\n+0610009B22Rik\t24.3917045234854\t24.4847074298505\t28.3208154806385\t21.7428716496649\t20.8069778280844\t21.2907771252461\t25.3919624032452\t24.9162716678066\t23.8012523410969\n+0610009E02Rik\t10.2817050457741\t8.84169990522378\t9.40543687548879\t9.446538896335\t10.2236755254044\t10.8830088430387\t9.10572422247522\t8.12379434099458\t8.16795744546867\n+0610009L18Rik\t1.53131777277487\t1.53029421436565\t0.783786406290732\t1.05547920629441\t0.97612982403359\t0.950481121662772\t0.624392518112586\t0.792565301560447\t0.483051246775029\n+0610009O20Rik\t39.8689520126027\t42.3948174942781\t44.1533008877113\t44.963414188142\t44.8505966516487\t41.9637415214114\t41.5741351643297\t40.5694363736254\t44.0894047056481\n+0610010F05Rik\t38.5563939216529\t33.5531175890543\t38.8758057520203\t30.3978011412791\t36.5278055204149\t32.7440746412825\t38.2440417343959\t35.1700852567448\t33.3744497771838\n+0610010K14Rik\t0.929728647756168\t0.453420507960194\t0.783786406290732\t1.10825316660913\t1.23300609351611\t1.37819762641102\t0.936588777168879\t1.04024195829809\t0.878274994136417\n+0610012D04Rik\t0.10937984091249\t0\t0.0522524270860488\t0\t0.0513752538965048\t0.0950481121662772\t0.156098129528147\t0.148605994042584\t0\n+0610012G03Rik\t27.1262005462976\t29.6990432713927\t31.4559611058014\t20.8984882846294\t24.6601218703223\t21.0056327887473\t23.9350465276491\t28.2846741994385\t24.2843035878719\n+0610030E20Rik\t21.8759681824981\t19.1570164613182\t18.8108737509776\t18.6819819514111\t17.9813388637767\t19.3898148819205\t20.0325932894455\t18.0803959418477\t19.365963620708\n+0610033M10Rik\t0\t0\t0\t0.105547920629441\t0\t0.0475240560831386\t0.104065419685431\t0.0495353313475279\t0.0439137497068208\n+0610037L13Rik\t22.2587976256918\t23.9746093583952\t20.1694368552148\t22.9566727369035\t20.7556025741879\t21.3383011813292\t21.0212147764571\t25.0153423305016\t19.8051011177762\n+0610038B21Rik\t2.07821697733732\t1.47361665087063\t2.0378446563559\t3.43030742045684\t2.77426371041126\t3.61182826231853\t2.44553736260763\t2.32816057333381\t2.1078599859274\n+0610039K10Rik\t0.929728647756168\t0.850163452425363\t0.836038833376781\t1.10825316660913\t1.59263287079165\t2.04353441157496\t1.76911213465233\t1.68420126581595\t1.40523999061827\n+0610040B10Rik\t0.546899204562452\t0.963518579415412\t0.783786406290732\t1.21380108723858\t0.565127792861552\t0.950481121662772\t0.884556067326164\t0.941171295603031\t0.439137497068208\n+0610040F04Rik\t1.47662785231862\t1.53029421436565\t1.25405825006517\t1.21380108723858\t1.69538337858466\t2.13858252374124\t1.50894858543875\t1.63466593446842\t1.36132624091145\n+0610040J01Rik\t1.20317825003739\t0.850163452425363\t1.14955339589307\t2.37482821416243\t2.51738744092873\t2.56629902848948\t2.60163549213578\t2.67490789276651\t2.28351498475468\n+0610043K17Rik\t0.382829443193716\t0.170032690485073\t0.574776697946537\t0.211095841258883\t0.10275050779301\t0.190096224332554\t0.312196259056293\t0.396282650780224\t0.175654998827283\n+1010001B22Rik\t0.328139522737471\t0.340065380970145\t0.365766989602342\t0.211095841258883\t0.411002031172038\t0.427716504748247\t0.208130839370862\t0.297211988085168\t0.219568748534104\n+1010001N08Rik\t0.10937984091249\t0.170032690485073\t0.209009708344195\t0.105547920629441\t0\t0\t0.208130839370862\t0.148605994042584\t0.175654998827283\n+1110002E22Rik\t0\t0\t0\t0.105547920629441\t0\t0\t0.0520327098427155\t0\t0.0439137497068208\n+1110002J07Rik\t4.5939533183246\t4.19413969863179\t4.80722329191649\t11.0825316660913\t10.275050779301\t12.4513026937823\t7.85693918625004\t7.0835523826965\t7.3775099507459\n+1110002L01Rik\t21.9853480234106\t20.7439882391789\t20.7964659802474\t17.7848246260609\t18.0327141176732\t19.4373389380037\t19.6683643205465\t19.9627385330538\t16.5993973891783\n+1110002O04Rik\t0\t0\t0\t0.0527739603147207\t0\t0.0475240560831386\t0\t0\t0\n+1110003F10Rik\t0.875038727299923\t0.283387817475121\t0.940543687548879\t0.580513563461928\t0.359626777275533\t0.33266839258197'..b'775634950242\t0.0522524270860488\t0\t0\t0.0475240560831386\t0.0520327098427155\t0\t0.0878274994136417\n+n-R5s194\t0\t0.0566775634950242\t0\t0\t0.0513752538965048\t0\t0\t0\t0\n+n-R5s196\t0.10937984091249\t0.283387817475121\t0.0522524270860488\t0\t0.256876269482524\t0.0475240560831386\t0.0520327098427155\t0.0990706626950559\t0.0878274994136417\n+n-R5s197\t0.10937984091249\t0\t0\t0.158321880944162\t0.0513752538965048\t0.0475240560831386\t0\t0.0495353313475279\t0.0439137497068208\n+n-R5s200\t0.382829443193716\t0.170032690485073\t0.365766989602342\t0.158321880944162\t0.205501015586019\t0.142572168249416\t0.364228968899009\t0.0495353313475279\t0.131741249120462\n+n-R5s201\t0.164069761368736\t0.170032690485073\t0.156757281258147\t0.158321880944162\t0.10275050779301\t0.380192448665109\t0.0520327098427155\t0.0990706626950559\t0.0439137497068208\n+n-R5s202\t0.218759681824981\t0.113355126990048\t0.104504854172098\t0.105547920629441\t0.154125761689514\t0.237620280415693\t0.260163549213578\t0.148605994042584\t0.175654998827283\n+n-R5s205\t0\t0\t0.0522524270860488\t0.0527739603147207\t0\t0.0950481121662772\t0\t0\t0.0878274994136417\n+n-R5s207\t0\t0\t0\t0\t0\t0.0475240560831386\t0.260163549213578\t0\t0.0439137497068208\n+n-R5s21\t0.0546899204562452\t0\t0\t0\t0\t0\t0.0520327098427155\t0\t0.0878274994136417\n+n-R5s210\t0\t0\t0\t0\t0\t0\t0.0520327098427155\t0\t0\n+n-R5s217\t0\t0\t0\t0.0527739603147207\t0\t0\t0\t0\t0\n+n-R5s24\t0.0546899204562452\t0.0566775634950242\t0\t0\t0\t0\t0\t0\t0\n+n-R5s25\t0.0546899204562452\t0\t0\t0\t0\t0\t0\t0.0495353313475279\t0\n+n-R5s26\t0.0546899204562452\t0\t0.156757281258147\t0.105547920629441\t0.10275050779301\t0\t0.0520327098427155\t0.0495353313475279\t0.0439137497068208\n+n-R5s29\t0.10937984091249\t0\t0\t0.211095841258883\t0\t0.190096224332554\t0.104065419685431\t0\t0.0878274994136417\n+n-R5s31\t0.10937984091249\t0.0566775634950242\t0.0522524270860488\t0.0527739603147207\t0\t0.0475240560831386\t0.104065419685431\t0.0495353313475279\t0\n+n-R5s32\t0.0546899204562452\t0\t0\t0\t0\t0\t0\t0\t0\n+n-R5s39\t0.0546899204562452\t0\t0.104504854172098\t0.211095841258883\t0\t0\t0\t0.0990706626950559\t0.0439137497068208\n+n-R5s40\t0.164069761368736\t0.170032690485073\t0.209009708344195\t0.527739603147207\t0.154125761689514\t0.142572168249416\t0.104065419685431\t0.148605994042584\t0.0878274994136417\n+n-R5s41\t0\t0.0566775634950242\t0\t0.0527739603147207\t0\t0\t0.0520327098427155\t0\t0\n+n-R5s46\t0\t0.0566775634950242\t0\t0\t0\t0\t0\t0.0990706626950559\t0\n+n-R5s47\t0\t0\t0\t0\t0\t0\t0.0520327098427155\t0\t0\n+n-R5s48\t0\t0.113355126990048\t0\t0.211095841258883\t0.0513752538965048\t0.0475240560831386\t0\t0\t0\n+n-R5s52\t0\t0.0566775634950242\t0.0522524270860488\t0.0527739603147207\t0\t0.0950481121662772\t0.208130839370862\t0.0495353313475279\t0\n+n-R5s54\t0\t0\t0\t0\t0.0513752538965048\t0.0475240560831386\t0\t0\t0\n+n-R5s67\t0\t0\t0\t0\t0\t0\t0.0520327098427155\t0.0495353313475279\t0\n+n-R5s69\t0\t0\t0\t0\t0\t0\t0\t0\t0.0439137497068208\n+n-R5s73\t0\t0\t0\t0\t0.10275050779301\t0.0950481121662772\t0.0520327098427155\t0.0495353313475279\t0.0439137497068208\n+n-R5s74\t0\t0\t0\t0\t0.0513752538965048\t0.0475240560831386\t0\t0\t0\n+n-R5s76\t0.164069761368736\t0\t0\t0.211095841258883\t0\t0.0950481121662772\t0.208130839370862\t0.346747319432696\t0.0439137497068208\n+n-R5s80\t0.0546899204562452\t0\t0\t0.0527739603147207\t0.0513752538965048\t0\t0\t0\t0.0439137497068208\n+n-R5s84\t0.0546899204562452\t0.0566775634950242\t0.0522524270860488\t0\t0\t0\t0\t0.0990706626950559\t0.0439137497068208\n+n-R5s85\t0.218759681824981\t0\t0\t0\t0.154125761689514\t0.0950481121662772\t0\t0.148605994042584\t0.0439137497068208\n+n-R5s87\t0.0546899204562452\t0\t0\t0.105547920629441\t0\t0.0950481121662772\t0\t0\t0.0439137497068208\n+n-R5s89\t0\t0\t0.0522524270860488\t0\t0\t0\t0\t0\t0\n+n-R5s96\t0\t0\t0\t0\t0\t0\t0\t0.0495353313475279\t0\n+n-R5s97\t0.164069761368736\t0.226710253980097\t0\t0.0527739603147207\t0.10275050779301\t0.0950481121662772\t0.0520327098427155\t0\t0.0439137497068208\n+n-TSaga9\t0.218759681824981\t0.170032690485073\t0.0522524270860488\t0.158321880944162\t0.0513752538965048\t0.0950481121662772\t0.104065419685431\t0.0990706626950559\t0.0439137497068208\n+n-TStga1\t0.328139522737471\t0.340065380970145\t0.261262135430244\t0.316643761888324\t0.256876269482524\t0.33266839258197\t0.260163549213578\t0.346747319432696\t0.307396247947746\n'
b
diff -r 000000000000 -r 35d032c46a4e test-data/gene_length.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/gene_length.tab Wed Jul 25 13:05:17 2018 -0400
b
b'@@ -0,0 +1,53673 @@\n+gene\tlength\n+0610005C13Rik\t3583\n+0610006L08Rik\t2128\n+0610009B22Rik\t998\n+0610009E02Rik\t1803\n+0610009L18Rik\t619\n+0610009O20Rik\t2404\n+0610010F05Rik\t5226\n+0610010K14Rik\t1896\n+0610012D04Rik\t531\n+0610012G03Rik\t1445\n+0610025J13Rik\t1121\n+0610030E20Rik\t5832\n+0610031O16Rik\t2482\n+0610033M10Rik\t1102\n+0610037L13Rik\t5633\n+0610038B21Rik\t3071\n+0610039K10Rik\t952\n+0610040B10Rik\t2098\n+0610040F04Rik\t2150\n+0610040J01Rik\t2403\n+0610043K17Rik\t770\n+0710001A04Rik\t1345\n+1010001B22Rik\t589\n+1010001N08Rik\t2060\n+1110002E22Rik\t9998\n+1110002J07Rik\t2513\n+1110002L01Rik\t4131\n+1110002O04Rik\t566\n+1110003F10Rik\t767\n+1110004E09Rik\t1360\n+1110004F10Rik\t2490\n+1110006O24Rik\t768\n+1110008E08Rik\t723\n+1110008F13Rik\t2871\n+1110008L16Rik\t4452\n+1110008P14Rik\t2694\n+1110012L19Rik\t1094\n+1110015O18Rik\t2035\n+1110017D15Rik\t1421\n+1110018N20Rik\t1579\n+1110019B22Rik\t1000\n+1110019D14Rik\t1734\n+1110020A21Rik\t853\n+1110025L11Rik\t591\n+1110025M09Rik\t855\n+1110028F11Rik\t976\n+1110028F18Rik\t1341\n+1110032A03Rik\t5293\n+1110032F04Rik\t2578\n+1110034G24Rik\t2117\n+1110035H17Rik\t1241\n+1110036E04Rik\t777\n+1110038B12Rik\t1811\n+1110038F14Rik\t1916\n+1110046J04Rik\t3487\n+1110051M20Rik\t5202\n+1110057P08Rik\t465\n+1110059E24Rik\t3067\n+1110059G10Rik\t5594\n+1110060G06Rik\t499\n+1110065P20Rik\t2069\n+1190001M18Rik\t1270\n+1190002N15Rik\t3950\n+1190005I06Rik\t1083\n+1190007I07Rik\t1197\n+1190028D05Rik\t763\n+1200007C13Rik\t2455\n+1300002E11Rik\t4143\n+1300014J16Rik\t1337\n+1300017J02Rik\t4508\n+1500002C15Rik\t2183\n+1500002F19Rik\t1239\n+1500004A13Rik\t13854\n+1500005C15Rik\t2394\n+1500009C09Rik\t1904\n+1500009L16Rik\t3465\n+1500011B03Rik\t1746\n+1500011K16Rik\t800\n+1500012K07Rik\t2630\n+1500015A07Rik\t2296\n+1500015L24Rik\t780\n+1500015O10Rik\t902\n+1500026H17Rik\t3027\n+1500035N22Rik\t865\n+1520401A03Rik\t4111\n+1600002D24Rik\t2215\n+1600002K03Rik\t678\n+1600010M07Rik\t1729\n+1600012H06Rik\t3294\n+1600012P17Rik\t2592\n+1600014C10Rik\t3949\n+1600014C23Rik\t518\n+1600015I10Rik\t2485\n+1600017P15Rik\t914\n+1600019K03Rik\t477\n+1600020E01Rik\t4328\n+1600023N17Rik\t1007\n+1600025M17Rik\t1071\n+1600027J07Rik\t489\n+1600029O15Rik\t1809\n+1700001C02Rik\t1038\n+1700001C19Rik\t1896\n+1700001D01Rik\t565\n+1700001F09Rik\t884\n+1700001G01Rik\t2249\n+1700001G11Rik\t1080\n+1700001G17Rik\t889\n+1700001J03Rik\t868\n+1700001J04Rik\t929\n+1700001J11Rik\t2664\n+1700001K19Rik\t955\n+1700001L05Rik\t6112\n+1700001L19Rik\t1826\n+1700001N15Rik\t482\n+1700001O22Rik\t2788\n+1700001P01Rik\t624\n+1700003C15Rik\t1871\n+1700003D09Rik\t1389\n+1700003E16Rik\t2221\n+1700003E24Rik\t577\n+1700003F12Rik\t976\n+1700003G13Rik\t706\n+1700003G18Rik\t1799\n+1700003H04Rik\t1591\n+1700003I16Rik\t1058\n+1700003I22Rik\t482\n+1700003L19Rik\t746\n+1700003M07Rik\t873\n+1700003N22Rik\t808\n+1700003P14Rik\t1146\n+1700006A11Rik\t2161\n+1700006E09Rik\t798\n+1700006F04Rik\t441\n+1700006H21Rik\t627\n+1700006J14Rik\t2885\n+1700006P03Rik\t409\n+1700007E05Rik\t2628\n+1700007F19Rik\t1642\n+1700007G11Rik\t1448\n+1700007J10Rik\t1298\n+1700007K09Rik\t680\n+1700007K13Rik\t965\n+1700007L15Rik\t737\n+1700007M16Rik\t435\n+1700007P06Rik\t823\n+1700008A23Rik\t691\n+1700008B11Rik\t634\n+1700008C04Rik\t797\n+1700008H02Rik\t1684\n+1700008J07Rik\t2432\n+1700008K24Rik\t950\n+1700008N11Rik\t636\n+1700008O03Rik\t3675\n+1700008P02Rik\t783\n+1700009C05Rik\t788\n+1700009J07Rik\t1368\n+1700009N14Rik\t1258\n+1700010B08Rik\t899\n+1700010B13Rik\t2102\n+1700010D01Rik\t507\n+1700010H22Rik\t1355\n+1700010I02Rik\t577\n+1700010I14Rik\t2126\n+1700010J16Rik\t928\n+1700010K23Rik\t376\n+1700010K24Rik\t226\n+1700010L04Rik\t1577\n+1700010N08Rik\t1414\n+1700011B04Rik\t4166\n+1700011C11Rik\t365\n+1700011D18Rik\t277\n+1700011H14Rik\t3921\n+1700011I03Rik\t1352\n+1700011L03Rik\t608\n+1700011L22Rik\t1026\n+1700011M02Rik\t420\n+1700012A03Rik\t1008\n+1700012B07Rik\t2177\n+1700012B09Rik\t819\n+1700012C08Rik\t363\n+1700012C14Rik\t622\n+1700012D14Rik\t4153\n+1700012D16Rik\t577\n+1700012E03Rik\t1377\n+1700012I11Rik\t1039\n+1700012J15Rik\t471\n+1700012J22Rik\t830\n+1700012P22Rik\t974\n+1700013A02Rik\t645\n+1700013D24Rik\t535\n+1700013F07Rik\t1452\n+1700013G24Rik\t1048\n+1700013H16Rik\t1224\n+1700013M08Rik\t1481\n+1700013N06Rik\t663\n+1700014D04Rik\t3281\n+1700014F14Rik\t197\n+1700014L14Rik\t481\n+1700015C15Rik\t374\n+1700015C17Rik\t239\n+1700015F17Rik\t1118\n+1700015G11Rik\t397\n+1700015'..b'3\n+Zmiz1os1\t4642\n+Zmiz2\t4655\n+Zmpste24\t7145\n+Zmym1\t4164\n+Zmym2\t7860\n+Zmym3\t8021\n+Zmym4\t8139\n+Zmym5\t7102\n+Zmym6\t7692\n+Zmynd10\t2129\n+Zmynd11\t10955\n+Zmynd12\t1869\n+Zmynd15\t4409\n+Zmynd19\t4168\n+Zmynd8\t11031\n+Znf41-ps\t2413\n+Znfx1\t8189\n+Znhit1\t1860\n+Znhit2\t1281\n+Znhit3\t2136\n+Znhit6\t2657\n+Znrd1\t819\n+Znrd1as\t1713\n+Znrf1\t7018\n+Znrf2\t6176\n+Znrf3\t7893\n+Znrf4\t1236\n+Zp1\t1981\n+Zp2\t2724\n+Zp3\t1323\n+Zp3r\t2121\n+Zp4-ps\t1630\n+Zpbp\t4248\n+Zpbp2\t1683\n+Zpld1\t2697\n+Zpr1\t3583\n+Zranb1\t5472\n+Zranb2\t6759\n+Zranb3\t9079\n+Zrsr1\t4492\n+Zrsr2\t7194\n+Zscan10\t2856\n+Zscan12\t5003\n+Zscan18\t4261\n+Zscan2\t2994\n+Zscan20\t8375\n+Zscan21\t3198\n+Zscan22\t3501\n+Zscan25\t1928\n+Zscan26\t4366\n+Zscan29\t7169\n+Zscan30\t1522\n+Zscan4-ps1\t2015\n+Zscan4-ps2\t2277\n+Zscan4-ps3\t2277\n+Zscan4a\t2279\n+Zscan4b\t1802\n+Zscan4c\t2276\n+Zscan4d\t2272\n+Zscan4e\t1793\n+Zscan4f\t1959\n+Zscan5b\t1980\n+Zswim1\t2781\n+Zswim2\t2224\n+Zswim3\t2708\n+Zswim4\t4625\n+Zswim5\t5582\n+Zswim6\t5550\n+Zswim7\t732\n+Zswim8\t8590\n+Zswim9\t11875\n+Zufsp\t9072\n+Zw10\t3827\n+Zwilch\t4283\n+Zwint\t4434\n+Zxda\t2621\n+Zxdb\t5619\n+Zxdc\t8254\n+Zyg11a\t2597\n+Zyg11b\t9046\n+Zyx\t5390\n+Zzef1\t16450\n+Zzz3\t11499\n+a\t1169\n+mt-Atp6\t681\n+mt-Atp8\t204\n+mt-Co1\t1545\n+mt-Co2\t684\n+mt-Co3\t784\n+mt-Cytb\t1144\n+mt-Nd1\t957\n+mt-Nd2\t1038\n+mt-Nd3\t348\n+mt-Nd4\t1378\n+mt-Nd4l\t297\n+mt-Nd5\t1824\n+mt-Nd6\t519\n+mt-Rnr1\t955\n+mt-Rnr2\t1582\n+mt-Ta\t69\n+mt-Tc\t66\n+mt-Td\t70\n+mt-Te\t69\n+mt-Tf\t68\n+mt-Tg\t68\n+mt-Th\t67\n+mt-Ti\t69\n+mt-Tk\t65\n+mt-Tl1\t75\n+mt-Tl2\t71\n+mt-Tm\t69\n+mt-Tn\t71\n+mt-Tp\t67\n+mt-Tq\t71\n+mt-Tr\t68\n+mt-Ts1\t69\n+mt-Ts2\t59\n+mt-Tt\t67\n+mt-Tv\t69\n+mt-Tw\t67\n+mt-Ty\t67\n+n-R5-8s1\t148\n+n-R5s1\t119\n+n-R5s10\t119\n+n-R5s100\t119\n+n-R5s101\t119\n+n-R5s102\t119\n+n-R5s103\t119\n+n-R5s104\t119\n+n-R5s105\t119\n+n-R5s106\t119\n+n-R5s107\t119\n+n-R5s108\t119\n+n-R5s109\t119\n+n-R5s110\t119\n+n-R5s111\t119\n+n-R5s112\t119\n+n-R5s113\t119\n+n-R5s114\t119\n+n-R5s115\t119\n+n-R5s117\t119\n+n-R5s118\t119\n+n-R5s119\t119\n+n-R5s12\t119\n+n-R5s120\t119\n+n-R5s121\t119\n+n-R5s122\t119\n+n-R5s123\t119\n+n-R5s124\t119\n+n-R5s125\t119\n+n-R5s127\t119\n+n-R5s128\t119\n+n-R5s129\t119\n+n-R5s13\t119\n+n-R5s130\t119\n+n-R5s131\t119\n+n-R5s133\t119\n+n-R5s134\t119\n+n-R5s136\t119\n+n-R5s138\t119\n+n-R5s139\t119\n+n-R5s14\t107\n+n-R5s141\t119\n+n-R5s142\t119\n+n-R5s143\t119\n+n-R5s144\t119\n+n-R5s146\t119\n+n-R5s149\t119\n+n-R5s15\t111\n+n-R5s150\t108\n+n-R5s151\t119\n+n-R5s152\t119\n+n-R5s153\t116\n+n-R5s154\t108\n+n-R5s155\t113\n+n-R5s156\t105\n+n-R5s157\t121\n+n-R5s158\t118\n+n-R5s159\t120\n+n-R5s16\t119\n+n-R5s160\t120\n+n-R5s161\t114\n+n-R5s162\t119\n+n-R5s164\t112\n+n-R5s165\t100\n+n-R5s166\t121\n+n-R5s167\t121\n+n-R5s168\t104\n+n-R5s169\t120\n+n-R5s170\t113\n+n-R5s171\t79\n+n-R5s172\t114\n+n-R5s173\t119\n+n-R5s174\t121\n+n-R5s175\t117\n+n-R5s176\t109\n+n-R5s178\t114\n+n-R5s179\t118\n+n-R5s18\t121\n+n-R5s180\t106\n+n-R5s182\t107\n+n-R5s183\t115\n+n-R5s185\t119\n+n-R5s187\t111\n+n-R5s188\t105\n+n-R5s189\t114\n+n-R5s19\t120\n+n-R5s191\t116\n+n-R5s192\t119\n+n-R5s193\t109\n+n-R5s194\t119\n+n-R5s195\t119\n+n-R5s196\t117\n+n-R5s197\t119\n+n-R5s198\t100\n+n-R5s2\t119\n+n-R5s200\t113\n+n-R5s201\t116\n+n-R5s202\t114\n+n-R5s204\t119\n+n-R5s205\t125\n+n-R5s207\t118\n+n-R5s209\t119\n+n-R5s21\t117\n+n-R5s210\t119\n+n-R5s211\t119\n+n-R5s213\t98\n+n-R5s214\t121\n+n-R5s215\t104\n+n-R5s216\t112\n+n-R5s217\t116\n+n-R5s218\t109\n+n-R5s219\t132\n+n-R5s220\t120\n+n-R5s23\t115\n+n-R5s24\t117\n+n-R5s25\t119\n+n-R5s26\t122\n+n-R5s27\t119\n+n-R5s28\t119\n+n-R5s29\t119\n+n-R5s3\t112\n+n-R5s30\t122\n+n-R5s31\t110\n+n-R5s32\t103\n+n-R5s33\t119\n+n-R5s34\t116\n+n-R5s36\t119\n+n-R5s37\t118\n+n-R5s39\t108\n+n-R5s40\t124\n+n-R5s41\t119\n+n-R5s42\t104\n+n-R5s43\t110\n+n-R5s45\t110\n+n-R5s46\t116\n+n-R5s47\t119\n+n-R5s48\t110\n+n-R5s5\t119\n+n-R5s50\t111\n+n-R5s51\t123\n+n-R5s52\t113\n+n-R5s54\t112\n+n-R5s56\t105\n+n-R5s58\t119\n+n-R5s6\t88\n+n-R5s60\t119\n+n-R5s61\t118\n+n-R5s62\t96\n+n-R5s63\t103\n+n-R5s64\t119\n+n-R5s65\t117\n+n-R5s67\t114\n+n-R5s68\t82\n+n-R5s69\t119\n+n-R5s7\t121\n+n-R5s70\t116\n+n-R5s71\t119\n+n-R5s72\t119\n+n-R5s73\t107\n+n-R5s74\t116\n+n-R5s76\t113\n+n-R5s77\t119\n+n-R5s79\t120\n+n-R5s8\t118\n+n-R5s80\t111\n+n-R5s82\t109\n+n-R5s84\t109\n+n-R5s85\t113\n+n-R5s86\t119\n+n-R5s87\t116\n+n-R5s88\t118\n+n-R5s89\t104\n+n-R5s9\t117\n+n-R5s90\t118\n+n-R5s92\t119\n+n-R5s93\t119\n+n-R5s94\t119\n+n-R5s95\t118\n+n-R5s96\t124\n+n-R5s97\t113\n+n-R5s98\t119\n+n-TSaga9\t107\n+n-TStga1\t109\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 35d032c46a4e test-data/logcpm.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/logcpm.tab Wed Jul 25 13:05:17 2018 -0400
b
b'@@ -0,0 +1,35194 @@\n+Features\tWt1\tWt2\tWt3\tCA1\tCA2\tCA3\tKK1\tKK2\tKK3\n+0610005C13Rik\t2.23845505996379\t1.91731740892465\t1.93418850835685\t1.84234493437827\t1.83542397244854\t1.87237456532778\t2.33872429523358\t2.02545074537792\t2.04190046760359\n+0610006L08Rik\t0\t0\t0\t0\t0\t0.0669833753741182\t0\t0\t0\n+0610009B22Rik\t4.66628534001215\t4.67155988576351\t4.87385332364942\t4.50734252383895\t4.44671793939391\t4.47837500916089\t4.72202672270845\t4.69578628096291\t4.63234106633311\n+0610009E02Rik\t3.49591321893519\t3.2989075262378\t3.37926563323017\t3.3849531286591\t3.48847330148664\t3.57082827558175\t3.3371008104431\t3.18963392729766\t3.19660034761207\n+0610009L18Rik\t1.33988862970429\t1.33930514655114\t0.834942874768512\t1.03947477733719\t0.982677729481796\t0.96383003485809\t0.699900287394128\t0.842025675982355\t0.568568450921874\n+0610009O20Rik\t5.35293334422573\t5.43945085134167\t5.49675955325264\t5.52241406104713\t5.51886860255227\t5.42504773158453\t5.41190531870063\t5.37745128195265\t5.4947165577597\n+0610010F05Rik\t5.30583900661438\t5.11074397995404\t5.31744176593288\t4.97259162235934\t5.22988802440403\t5.07656228635046\t5.2944017269107\t5.17672509347099\t5.10326471575511\n+0610010K14Rik\t0.948397994612813\t0.539452168200853\t0.834942874768512\t1.0760481213778\t1.15898718804954\t1.24986860692394\t0.953517638957561\t1.02874025579343\t0.909408300282999\n+0610012D04Rik\t0.14975341489191\t0\t0.0734808373491687\t0\t0.0722776838678355\t0.130994257642744\t0.209263858889789\t0.199883995613306\t0\n+0610012G03Rik\t4.8138427729139\t4.940121789925\t5.02041157366506\t4.45275937478025\t4.6814561172749\t4.45980095301208\t4.64010298989544\t4.87207393901999\t4.66017013737629\n+0610030E20Rik\t4.51576089894109\t4.33321020917173\t4.30822060602863\t4.29880360049849\t4.2465098524733\t4.34977677214734\t4.39455483821255\t4.25401920425035\t4.34808817232356\n+0610033M10Rik\t0\t0\t0\t0.144761560980538\t0\t0.0669833753741182\t0.142825659307661\t0.0697507340449269\t0.0620025184110997\n+0610037L13Rik\t4.5397046128383\t4.6423902070947\t4.40391098648157\t4.58235564578128\t4.44331507125803\t4.48144756851238\t4.46082215069385\t4.70129078645212\t4.37886539513063\n+0610038B21Rik\t1.62209492792856\t1.30662193574653\t1.60304809787323\t2.14740681132666\t1.91619522855864\t2.20533879015479\t1.78472900177206\t1.7347250406797\t1.6359215094862\n+0610039K10Rik\t0.948397994612813\t0.887652731058775\t0.876596572982451\t1.0760481213778\t1.37441792813978\t1.60574767766981\t1.46942347654025\t1.42449285123566\t1.26618085075248\n+0610040B10Rik\t0.62937919432059\t0.973441249292143\t0.834942874768512\t1.14652560001178\t0.64628045818068\t0.96383003485809\t0.914224717183301\t0.956927432020159\t0.525204435623763\n+0610040F04Rik\t1.30837709993252\t1.33930514655114\t1.17252479855995\t1.14652560001178\t1.43049048969242\t1.65011314265591\t1.32708290666077\t1.39762004526308\t1.23959737813155\n+0610040J01Rik\t1.13958622224797\t0.887652731058775\t1.10403694797339\t1.75481406782762\t1.81450425686275\t1.83442767571444\t1.84865217894046\t1.87770809095193\t1.71524103918457\n+0610043K17Rik\t0.467623226891532\t0.226548838989738\t0.655147270133281\t0.276313038638934\t0.141106424760476\t0.251078226268554\t0.391983513242642\t0.481591017194141\t0.233464757024114\n+1010001B22Rik\t0.409406711585629\t0.422303390608671\t0.449711369704472\t0.276313038638934\t0.496720064731575\t0.513709538332349\t0.27277670556514\t0.375414261523614\t0.286371086853762\n+1010001N08Rik\t0.14975341489191\t0.226548838989738\t0.273825829470238\t0.144761560980538\t0\t0\t0.27277670556514\t0.199883995613306\t0.233464757024114\n+1110002E22Rik\t0\t0\t0\t0.144761560980538\t0\t0\t0.073179561658965\t0\t0.0620025184110997\n+1110002J07Rik\t2.48386821453942\t2.3768848164447\t2.5378485077701\t3.59485087069609\t3.49506202582972\t3.74967399249095\t3.14680821302994\t3.01498943637089\t3.06652149505353\n+1110002L01Rik\t4.52264260519467\t4.44254467578508\t4.44602233419789\t4.23149574201992\t4.25040940347267\t4.35313545599306\t4.36935231432273\t4.38975529506319\t4.1374541261063\n+1110002O04Rik\t0\t0\t0\t0.0741957104952366\t0\t0.0669833753741182\t0\t0\t0\n+1110003F10Rik\t0.906920393532013\t0.35995719365727\t0.956460912948477\t0.660393416042979\t0.443210680541945\t0.414317839771467\t0.333610984778'..b'0\t0\t0\n+n-R5s192\t0.285413679674889\t0.079535217295741\t0.0734808373491687\t0\t0\t0.0669833753741182\t0.073179561658965\t0\t0.121449801559577\n+n-R5s194\t0\t0.079535217295741\t0\t0\t0.0722776838678355\t0\t0\t0\t0\n+n-R5s196\t0.14975341489191\t0.35995719365727\t0.0734808373491687\t0\t0.329842633696389\t0.0669833753741182\t0.073179561658965\t0.136284144651557\t0.121449801559577\n+n-R5s197\t0.14975341489191\t0\t0\t0.212036213183989\t0.0722776838678355\t0.0669833753741182\t0\t0.0697507340449269\t0.0620025184110997\n+n-R5s200\t0.467623226891532\t0.226548838989738\t0.449711369704472\t0.212036213183989\t0.269632866353377\t0.192285293062172\t0.448085803139563\t0.0697507340449269\t0.178544151384231\n+n-R5s201\t0.219177519899899\t0.226548838989738\t0.210086180037385\t0.212036213183989\t0.141106424760476\t0.464869444812885\t0.073179561658965\t0.136284144651557\t0.0620025184110997\n+n-R5s202\t0.285413679674889\t0.154913842660267\t0.143399759186283\t0.144761560980538\t0.206800438784241\t0.307568742991556\t0.33361098477862\t0.199883995613306\t0.233464757024114\n+n-R5s205\t0\t0\t0.0734808373491687\t0.0741957104952366\t0\t0.130994257642744\t0\t0\t0.121449801559577\n+n-R5s207\t0\t0\t0\t0\t0\t0.0669833753741182\t0.33361098477862\t0\t0.0620025184110997\n+n-R5s21\t0.0768189079616122\t0\t0\t0\t0\t0\t0.073179561658965\t0\t0.121449801559577\n+n-R5s210\t0\t0\t0\t0\t0\t0\t0.073179561658965\t0\t0\n+n-R5s217\t0\t0\t0\t0.0741957104952366\t0\t0\t0\t0\t0\n+n-R5s24\t0.0768189079616122\t0.079535217295741\t0\t0\t0\t0\t0\t0\t0\n+n-R5s25\t0.0768189079616122\t0\t0\t0\t0\t0\t0\t0.0697507340449269\t0\n+n-R5s26\t0.0768189079616122\t0\t0.210086180037385\t0.144761560980538\t0.141106424760476\t0\t0.073179561658965\t0.0697507340449269\t0.0620025184110997\n+n-R5s29\t0.14975341489191\t0\t0\t0.276313038638934\t0\t0.251078226268554\t0.142825659307661\t0\t0.121449801559577\n+n-R5s31\t0.14975341489191\t0.079535217295741\t0.0734808373491687\t0.0741957104952366\t0\t0.0669833753741182\t0.142825659307661\t0.0697507340449269\t0\n+n-R5s32\t0.0768189079616122\t0\t0\t0\t0\t0\t0\t0\t0\n+n-R5s39\t0.0768189079616122\t0\t0.143399759186283\t0.276313038638934\t0\t0\t0\t0.136284144651557\t0.0620025184110997\n+n-R5s40\t0.219177519899899\t0.226548838989738\t0.273825829470238\t0.611398662966371\t0.206800438784241\t0.192285293062172\t0.142825659307661\t0.199883995613306\t0.121449801559577\n+n-R5s41\t0\t0.079535217295741\t0\t0.0741957104952366\t0\t0\t0.073179561658965\t0\t0\n+n-R5s46\t0\t0.079535217295741\t0\t0\t0\t0\t0\t0.136284144651557\t0\n+n-R5s47\t0\t0\t0\t0\t0\t0\t0.073179561658965\t0\t0\n+n-R5s48\t0\t0.154913842660267\t0\t0.276313038638934\t0.0722776838678355\t0.0669833753741182\t0\t0\t0\n+n-R5s52\t0\t0.079535217295741\t0.0734808373491687\t0.0741957104952366\t0\t0.130994257642744\t0.27277670556514\t0.0697507340449269\t0\n+n-R5s54\t0\t0\t0\t0\t0.0722776838678355\t0.0669833753741182\t0\t0\t0\n+n-R5s67\t0\t0\t0\t0\t0\t0\t0.073179561658965\t0.0697507340449269\t0\n+n-R5s69\t0\t0\t0\t0\t0\t0\t0\t0\t0.0620025184110997\n+n-R5s73\t0\t0\t0\t0\t0.141106424760476\t0.130994257642744\t0.073179561658965\t0.0697507340449269\t0.0620025184110997\n+n-R5s74\t0\t0\t0\t0\t0.0722776838678355\t0.0669833753741182\t0\t0\t0\n+n-R5s76\t0.219177519899899\t0\t0\t0.276313038638934\t0\t0.130994257642744\t0.27277670556514\t0.429479193638114\t0.0620025184110997\n+n-R5s80\t0.0768189079616122\t0\t0\t0.0741957104952366\t0.0722776838678355\t0\t0\t0\t0.0620025184110997\n+n-R5s84\t0.0768189079616122\t0.079535217295741\t0.0734808373491687\t0\t0\t0\t0\t0.136284144651557\t0.0620025184110997\n+n-R5s85\t0.285413679674889\t0\t0\t0\t0.206800438784241\t0.130994257642744\t0\t0.199883995613306\t0.0620025184110997\n+n-R5s87\t0.0768189079616122\t0\t0\t0.144761560980538\t0\t0.130994257642744\t0\t0\t0.0620025184110997\n+n-R5s89\t0\t0\t0.0734808373491687\t0\t0\t0\t0\t0\t0\n+n-R5s96\t0\t0\t0\t0\t0\t0\t0\t0.0697507340449269\t0\n+n-R5s97\t0.219177519899899\t0.294794528129398\t0\t0.0741957104952366\t0.141106424760476\t0.130994257642744\t0.073179561658965\t0\t0.0620025184110997\n+n-TSaga9\t0.285413679674889\t0.226548838989738\t0.0734808373491687\t0.212036213183989\t0.0722776838678355\t0.130994257642744\t0.142825659307661\t0.136284144651557\t0.0620025184110997\n+n-TStga1\t0.409406711585629\t0.422303390608671\t0.334868150513639\t0.396865055178037\t0.329842633696389\t0.414317839771467\t0.33361098477862\t0.429479193638114\t0.386696461951873\n'
b
diff -r 000000000000 -r 35d032c46a4e test-data/logrpk.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/logrpk.tab Wed Jul 25 13:05:17 2018 -0400
b
b'@@ -0,0 +1,35194 @@\n+Features\tWt1\tWt2\tWt3\tCA1\tCA2\tCA3\tKK1\tKK2\tKK3\n+0610005C13Rik\t4.32037705883187\t3.87535650523183\t4.00640300474817\t3.87535650523183\t3.90253540825548\t4.05566081635216\t4.5090286107558\t4.1940819485886\t4.37960688006834\n+0610006L08Rik\t0\t0\t0\t0\t0\t0.555742361806163\t0\t0\t0\n+0610009B22Rik\t8.80701284548234\t8.76110483031773\t9.08769135332551\t8.69287926431069\t8.66821708962038\t8.81345348779313\t8.93657303367178\t8.98016247783306\t9.08769135332551\n+0610009E02Rik\t6.71795958858224\t6.4515814257575\t6.65583279918893\t6.64787540908288\t6.79923761634092\t7.00011876940119\t6.6155995476456\t6.52292690385482\t6.70267690205874\n+0610009L18Rik\t5.53089004288733\t5.47957786527661\t4.65721886881995\t5.05789114553272\t4.98616828816104\t5.05789114553272\t4.34951436797712\t4.74675035507611\t4.23040268753524\n+0610009O20Rik\t8.24908781043004\t8.28608681183049\t8.46146923239503\t8.47333769492555\t8.50836826985129\t8.52475518485638\t8.38094900435004\t8.41651126656745\t8.70955695001347\n+0610010F05Rik\t7.08642724071711\t6.83642603911999\t7.16355003066172\t6.79724830565135\t7.09856395656247\t7.05355446279364\t7.14611487545405\t7.0965482476521\t7.19403495792499\n+0610010K14Rik\t3.3170500004989\t2.38388653607811\t3.15565087046019\t3.59406470782841\t3.77169840131091\t4.02638920005239\t3.39144754331865\t3.59406470782841\t3.5296364704667\n+0610012D04Rik\t2.25292374130653\t0\t1.52769051669563\t0\t1.52769051669563\t2.25292374130653\t2.73329305495545\t2.73329305495545\t0\n+0610012G03Rik\t8.42732371996404\t8.50632645765883\t8.70600898195919\t8.10354192545267\t8.38015769187882\t8.2615418767774\t8.31894539918667\t8.62992378407673\t8.58383105164184\n+0610030E20Rik\t6.12074809671541\t5.88156929093785\t5.97104674591309\t5.94718896183673\t5.93106172822866\t6.14891067755124\t6.06641406523421\t5.99063121312767\t6.25959797864409\n+0610033M10Rik\t0\t0\t0\t1.49307446246493\t0\t0.931638445391021\t1.49307446246493\t0.931638445391021\t0.931638445391021\n+0610037L13Rik\t6.19481192243803\t6.24969564404845\t6.11945505344139\t6.28953026397036\t6.18428466160796\t6.33465512564479\t6.18428466160796\t6.50223949408945\t6.3409878423591\n+0610038B21Rik\t3.74133965717268\t3.24280028150652\t3.7760456930001\t4.4702598864352\t4.21597742476091\t4.68636825290365\t4.02719485126934\t4.02719485126934\t4.05572389071175\n+0610039K10Rik\t4.23703919730085\t4.06663193109025\t4.15435010906423\t4.52724700286487\t5.06880085413603\t5.52882343176791\t5.19826962713627\t5.19826962713627\t5.11326064756031\n+0610040B10Rik\t2.52768198277205\t3.18633497977981\t3.02674099595288\t3.58048582078792\t2.64225995313468\t3.39682922004363\t3.18633497977981\t3.33001966107816\t2.52768198277205\n+0610040F04Rik\t3.7610873184984\t3.7610873184984\t3.60440238154484\t3.54814983510343\t4.03111612437044\t4.454849205973\t3.8568235983219\t4.03111612437044\t3.94660030541049\n+0610040J01Rik\t3.34414996384191\t2.85642747157719\t3.34414996384191\t4.3020698124664\t4.41894400737223\t4.55286334610071\t4.44674085286231\t4.55286334610071\t4.5007776560898\n+0610043K17Rik\t3.33498424771281\t2.29163417257376\t3.93411206434354\t2.63105891531061\t1.84695562535429\t2.63105891531061\t3.1362254828801\t3.50964649174983\t2.63105891531061\n+1010001B22Rik\t3.48371998759562\t3.48371998759562\t3.68757025555163\t2.96184026758181\t3.86615063189005\t4.02504083079194\t2.96184026758181\t3.48371998759562\t3.24625063583233\n+1010001N08Rik\t0.978835390001958\t1.29649304751109\t1.55667345628973\t0.978835390001958\t0\t0\t1.55667345628973\t1.29649304751109\t1.55667345628973\n+1110002E22Rik\t0\t0\t0\t0.263082504486581\t0\t0\t0.137529759577519\t0\t0.137529759577519\n+1110002J07Rik\t5.10543436134688\t4.92822231450868\t5.23303020533712\t6.40199661609766\t6.33246004104006\t6.71778414665972\t5.93280635161994\t5.85559356651946\t6.08432725382066\n+1110002L01Rik\t6.61931028203217\t6.48540110194761\t6.60503068636649\t6.36769099421861\t6.42571643078501\t6.64396444895718\t6.53143242923409\t6.62285820574675\t6.53143242923409\n+1110002O04Rik\t0\t0\t0\t1.46821025445916\t0\t1.46821025445916\t0\t0\t0\n+1110003F10Rik\t4.45025419288102\t2.91052253955419\t4.61282765853723\t3.93937616379084\t3.34005898311833\t3.34005898311833\t2.91052253955419\t3.51478476512484\t3.51478476512484\n+1110004E09Rik\t8.12381710'..b'699\n+n-R5s188\t5.60344972809904\t3.39558513661267\t4.88613203544172\t6.58853618360097\t5.60344972809904\t4.88613203544172\t4.88613203544172\t4.32535900028764\t4.32535900028764\n+n-R5s19\t0\t0\t0\t0\t0\t0\t3.22239242133645\t0\t0\n+n-R5s191\t3.26614031670162\t0\t0\t0\t0\t0\t0\t0\t0\n+n-R5s192\t5.11326064756031\t3.23317655766845\t3.23317655766845\t0\t0\t3.23317655766845\t3.23317655766845\t0\t4.15435010906423\n+n-R5s194\t0\t3.23317655766845\t0\t0\t3.23317655766845\t0\t0\t0\t0\n+n-R5s196\t4.17744083442418\t5.45071779842664\t3.25504875089991\t0\t5.45071779842664\t3.25504875089991\t3.25504875089991\t4.17744083442418\t4.17744083442418\n+n-R5s197\t4.15435010906423\t0\t0\t4.71205007406621\t3.23317655766845\t3.23317655766845\t0\t3.23317655766845\t3.23317655766845\n+n-R5s200\t5.97606348578798\t4.78391089905399\t5.97606348578798\t4.78391089905399\t5.18579639408519\t4.78391089905399\t5.97606348578798\t3.30005891492677\t4.78391089905399\n+n-R5s201\t4.7474985229341\t4.7474985229341\t4.7474985229341\t4.7474985229341\t4.18914291698645\t6.12857215462909\t3.26614031670162\t4.18914291698645\t3.26614031670162\n+n-R5s202\t5.17343606436019\t4.21286964721794\t4.21286964721794\t4.21286964721794\t4.7716632149143\t5.48734643107691\t5.48734643107691\t4.7716632149143\t5.17343606436019\n+n-R5s205\t0\t0\t3.16992500144231\t3.16992500144231\t0\t4.08746284125034\t0\t0\t4.08746284125034\n+n-R5s207\t0\t0\t0\t0\t0\t3.24406142348135\t5.43872138267761\t0\t3.24406142348135\n+n-R5s21\t3.25504875089991\t0\t0\t0\t0\t0\t3.25504875089991\t0\t4.17744083442418\n+n-R5s210\t0\t0\t0\t0\t0\t0\t3.23317655766845\t0\t0\n+n-R5s217\t0\t0\t0\t3.26614031670162\t0\t0\t0\t0\t0\n+n-R5s24\t3.25504875089991\t3.25504875089991\t0\t0\t0\t0\t0\t0\t0\n+n-R5s25\t3.23317655766845\t0\t0\t0\t0\t0\t0\t3.23317655766845\t0\n+n-R5s26\t3.20111962304591\t0\t4.67751748441502\t4.12047160335188\t4.12047160335188\t0\t3.20111962304591\t3.20111962304591\t3.20111962304591\n+n-R5s29\t4.15435010906423\t0\t0\t5.11326064756031\t0\t5.11326064756031\t4.15435010906423\t0\t4.15435010906423\n+n-R5s31\t4.26166757006989\t3.33498424771281\t3.33498424771281\t3.33498424771281\t0\t3.33498424771281\t4.26166757006989\t3.33498424771281\t0\n+n-R5s32\t3.42071654840816\t0\t0\t0\t0\t0\t0\t0\t0\n+n-R5s39\t3.35885466388572\t0\t4.28677164947375\t5.24933296415473\t0\t0\t0\t4.28677164947375\t3.35885466388572\n+n-R5s40\t4.6549824277551\t4.6549824277551\t5.05563230698123\t6.35129548172381\t4.6549824277551\t4.6549824277551\t4.09837174041728\t4.6549824277551\t4.09837174041728\n+n-R5s41\t0\t3.23317655766845\t0\t3.23317655766845\t0\t0\t3.23317655766845\t0\t0\n+n-R5s46\t0\t3.26614031670162\t0\t0\t0\t0\t0\t4.18914291698645\t0\n+n-R5s47\t0\t0\t0\t0\t0\t0\t3.23317655766845\t0\t0\n+n-R5s48\t0\t4.26166757006989\t0\t5.22356296504439\t3.33498424771281\t3.33498424771281\t0\t0\t0\n+n-R5s52\t0\t3.30005891492677\t3.30005891492677\t3.30005891492677\t0\t4.22489808951975\t5.18579639408519\t3.30005891492677\t0\n+n-R5s54\t0\t0\t0\t0\t3.3115861506659\t3.3115861506659\t0\t0\t0\n+n-R5s67\t0\t0\t0\t0\t0\t0\t3.28864350317529\t3.28864350317529\t0\n+n-R5s69\t0\t0\t0\t0\t0\t0\t0\t0\t3.23317655766845\n+n-R5s73\t0\t0\t0\t0\t4.29950761241616\t4.29950761241616\t3.37097252038041\t3.37097252038041\t3.37097252038041\n+n-R5s74\t0\t0\t0\t0\t3.26614031670162\t3.26614031670162\t0\t0\t0\n+n-R5s76\t4.78391089905399\t0\t0\t5.18579639408519\t0\t4.22489808951975\t5.18579639408519\t5.97606348578798\t3.30005891492677\n+n-R5s80\t3.32322723503899\t0\t0\t3.32322723503899\t3.32322723503899\t0\t0\t0\t3.32322723503899\n+n-R5s84\t3.34685932538478\t3.34685932538478\t3.34685932538478\t0\t0\t0\t0\t4.27415905501677\t3.34685932538478\n+n-R5s85\t5.18579639408519\t0\t0\t0\t4.78391089905399\t4.22489808951975\t0\t4.78391089905399\t3.30005891492677\n+n-R5s87\t3.26614031670162\t0\t0\t4.18914291698645\t0\t4.18914291698645\t0\t0\t3.26614031670162\n+n-R5s89\t0\t0\t3.40808473863708\t0\t0\t0\t0\t0\t0\n+n-R5s96\t0\t0\t0\t0\t0\t0\t0\t3.18023000983405\t0\n+n-R5s97\t4.78391089905399\t5.18579639408519\t0\t3.30005891492677\t4.22489808951975\t4.22489808951975\t3.30005891492677\t0\t3.30005891492677\n+n-TSaga9\t5.26240224557791\t4.85983953972069\t3.37097252038041\t4.85983953972069\t3.37097252038041\t4.29950761241616\t4.29950761241616\t4.29950761241616\t3.37097252038041\n+n-TStga1\t5.80853620030332\t5.80853620030332\t5.55064089562277\t5.80853620030332\t5.55064089562277\t6.0272465947642\t5.55064089562277\t6.0272465947642\t6.0272465947642\n'
b
diff -r 000000000000 -r 35d032c46a4e test-data/logtpm.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/logtpm.tab Wed Jul 25 13:05:17 2018 -0400
b
b'@@ -0,0 +1,35194 @@\n+Features\tWt1\tWt2\tWt3\tCA1\tCA2\tCA3\tKK1\tKK2\tKK3\n+0610005C13Rik\t1.75437893850878\t1.43582117845318\t1.46881127291061\t1.4049317795927\t1.4068644557087\t1.46344410753876\t1.84743084078508\t1.54116398828653\t1.58645453061248\n+0610006L08Rik\t0\t0\t0\t0\t0\t0.0742960420246607\t0\t0\t0\n+0610009B22Rik\t5.83027989003174\t5.78079393615334\t6.01585480037125\t5.66532089348757\t5.61557398395503\t5.68601033693279\t5.89162687256367\t5.82376643843323\t5.80473853447764\n+0610009E02Rik\t3.81168228791554\t3.55941432145841\t3.66801392073697\t3.69644728802654\t3.81382238986891\t3.93389851994426\t3.65374302301661\t3.46487768470313\t3.51452587634149\n+0610009L18Rik\t2.7350560656578\t2.68689596956154\t1.94209452709424\t2.29092211070079\t2.21189421782652\t2.21212217754358\t1.72861265390193\t1.94618505479304\t1.48355151159737\n+0610009O20Rik\t5.28279154583289\t5.31470459799798\t5.40028982103187\t5.44988289355049\t5.45876165660497\t5.40281152981312\t5.34602175233191\t5.27090593678026\t5.4335396158057\n+0610010F05Rik\t4.1597454868512\t3.91895918702218\t4.14569930299784\t3.83616133349221\t4.09610152313001\t3.98428463778308\t4.15285926215789\t3.99985236752756\t3.97275128963184\n+0610010K14Rik\t1.0850763383522\t0.609907260652211\t0.947144804100218\t1.22327345020402\t1.32085993664056\t1.44365840925843\t1.0930495851296\t1.15234240571155\t1.04705702101638\n+0610012D04Rik\t0.55690203225034\t0\t0.287962874929156\t0\t0.290292942688663\t0.509517094886943\t0.743642564781588\t0.699292629515445\t0\n+0610012G03Rik\t5.45725432189924\t5.5304452428532\t5.6401205355235\t5.08854359996926\t5.33323644444025\t5.14564323940305\t5.28538921135379\t5.47974042439855\t5.31054354039142\n+0610030E20Rik\t3.25984455369363\t3.04039041304668\t3.04283794465449\t3.05569642937443\t3.01842998995638\t3.1485254124668\t3.15057910296433\t2.98353901885427\t3.11167673289755\n+0610033M10Rik\t0\t0\t0\t0.285355796551298\t0\t0.140189316659718\t0.28290195623384\t0.137737249376783\t0.126615825973188\n+0610037L13Rik\t3.32729903391107\t3.37352790882418\t3.17606105888849\t3.36543735230334\t3.24615913172795\t3.31671953109823\t3.25718147910124\t3.44586805668217\t3.18481326729418\n+0610038B21Rik\t1.34919729798065\t1.03966401876568\t1.31598360950505\t1.82809381855702\t1.62345291020874\t1.91956496642696\t1.49920551925437\t1.42736878241074\t1.36736360698302\n+0610039K10Rik\t1.6931194561572\t1.56794148978472\t1.57120496757067\t1.87117375529432\t2.27916181840473\t2.60396367671794\t2.39592906397748\t2.30530768237065\t2.13680052030566\n+0610040B10Rik\t0.674624659642521\t1.00751126573613\t0.87868466179578\t1.21482466869664\t0.696474281728301\t1.05106378646807\t0.976170986157913\t0.999838942105185\t0.567372039047931\n+0610040F04Rik\t1.36219373471759\t1.35952244811072\t1.20755641933386\t1.19482644312205\t1.49395142701318\t1.74579179991716\t1.38409746105418\t1.42999422633573\t1.29720455799721\n+0610040J01Rik\t1.10106163693089\t0.830582390266678\t1.05238930020581\t1.70342627586307\t1.77119846207837\t1.81850861826549\t1.80063623445415\t1.79942637219052\t1.67241054823605\n+0610043K17Rik\t1.09564132916\t0.571283489951577\t1.41996963302482\t0.7013486537619\t0.386714437105333\t0.663755872081123\t0.9487083722722\t1.10230578411672\t0.608925857361369\n+1010001B22Rik\t1.18532618210411\t1.18287689231087\t1.25950030057595\t0.862670894005152\t1.3826795728261\t1.44275013821219\t0.856509041967767\t1.08717856716748\t0.893841658810624\n+1010001N08Rik\t0.165347023143866\t0.240744423787841\t0.296050283337913\t0.159628737097256\t0\t0\t0.300748613028777\t0.215083948497564\t0.258559858260622\n+1110002E22Rik\t0\t0\t0\t0.0343661053307504\t0\t0\t0.0171226600260526\t0\t0.0145133310255185\n+1110002J07Rik\t2.37320530441238\t2.22404978394489\t2.40450156841683\t3.46864113235583\t3.38119000416462\t3.66956122103894\t3.03078766184025\t2.86433625328483\t2.95565759032665\n+1110002L01Rik\t3.71938057749821\t3.59075012578566\t3.62079804337177\t3.43709094627194\t3.46678469421167\t3.60101475916473\t3.57562749153857\t3.55700915756166\t3.35751264843787\n+1110002O04Rik\t0\t0\t0\t0.278477930376228\t0\t0.261459143059931\t0\t0\t0\n+1110003F10Rik\t1.85168194637519\t0.858306200601577\t1.90802197275744\t1.44800226476244\t1.05668913709851\t1.01888441114945\t0.830378356922877\t1.10531722367811\t1.0386'..b'828625223879\t1.12936266538749\t2.12154514533163\t3.64121176331713\t2.73029138913057\t2.0748850334112\t2.14095119543651\t1.63356539193593\t1.54865954655151\n+n-R5s19\t0\t0\t0\t0\t0\t0\t0.996198668496654\t0\t0\n+n-R5s191\t1.055380387008\t0\t0\t0\t0\t0\t0\t0\t0\n+n-R5s192\t2.37971290984831\t1.0341457487982\t0.989694168901529\t0\t0\t0.959793802089443\t1.0022317869563\t0\t1.43238661550243\n+n-R5s194\t0\t1.0341457487982\t0\t0\t0.996077737390663\t0\t0\t0\t0\n+n-R5s196\t1.64989146368134\t2.66199296849056\t1.00188484577543\t0\t2.59880724913851\t0.971726567702439\t1.01452901543813\t1.52963004695441\t1.44782764281197\n+n-R5s197\t1.63327581383539\t0\t0\t2.01366170618822\t0.996077737390663\t0.959793802089443\t0\t0.946881176613705\t0.887107309982627\n+n-R5s200\t3.12899418950854\t2.10789681843252\t3.04731818149905\t2.07017326148734\t2.37559999118564\t1.9948083986478\t3.06944549872074\t0.983283163879342\t1.88115761768412\n+n-R5s201\t2.08229325546673\t2.07895293944721\t2.01213013680521\t2.04146332214785\t1.60434807758517\t3.13023552085605\t1.02079620698442\t1.53773649036971\t0.90414341156402\n+n-R5s202\t2.42994588955447\t1.67252603199272\t1.61258770372517\t1.63886356817805\t2.04074320747414\t2.5686166634092\t2.64049571639201\t1.96538476886203\t2.18487859879265\n+n-R5s205\t0\t0\t0.954901528777699\t0.973851591224519\t0\t1.48508708406232\t0\t0\t1.38812321807564\n+n-R5s207\t0\t0\t0\t0\t0\t0.965721958927762\t2.59883815375515\t0\t0.892711951048617\n+n-R5s21\t1.04896861331165\t0\t0\t0\t0\t0\t1.01452901543813\t0\t1.44782764281197\n+n-R5s210\t0\t0\t0\t0\t0\t0\t1.0022317869563\t0\t0\n+n-R5s217\t0\t0\t0\t1.0277741959941\t0\t0\t0\t0\t0\n+n-R5s24\t1.04896861331165\t1.04671002342944\t0\t0\t0\t0\t0\t0\t0\n+n-R5s25\t1.03638581725518\t0\t0\t0\t0\t0\t0\t0.946881176613705\t0\n+n-R5s26\t1.01809047505542\t0\t1.95775553393357\t1.57316504131212\t1.55592738100942\t0\t0.984356025253303\t0.929706572020041\t0.870720317856592\n+n-R5s29\t1.63327581383539\t0\t0\t2.33649599805375\t0\t2.25704910602284\t1.58793745010434\t0\t1.43238661550243\n+n-R5s31\t1.71112536478936\t1.09331543046111\t1.04713170341829\t1.0673235757035\t0\t1.01603460536591\t1.66463558873419\t1.00259713439458\t0\n+n-R5s32\t1.14688844313152\t0\t0\t0\t0\t0\t0\t0\t0\n+n-R5s39\t1.1097868932389\t0\t1.66554365508942\t2.44977794875976\t0\t0\t0\t1.60614739351067\t0.953066739324196\n+n-R5s40\t2.00938359100446\t2.00609686278438\t2.25823601910613\t3.42203374543914\t1.94987069672775\t1.89560403100389\t1.54858347737121\t1.87612620649387\t1.39529485383269\n+n-R5s41\t0\t1.0341457487982\t0\t1.00912216346816\t0\t0\t1.0022317869563\t0\t0\n+n-R5s46\t0\t1.05311242108165\t0\t0\t0\t0\t0\t1.53773649036971\t0\n+n-R5s47\t0\t0\t0\t0\t0\t0\t1.0022317869563\t0\t0\n+n-R5s48\t0\t1.70808833789984\t0\t2.42818764018506\t1.05376744391137\t1.01603460536591\t0\t0\t0\n+n-R5s52\t0\t1.07282022895093\t1.02722869245547\t1.04715935075001\t0\t1.5803486674028\t2.38555037845111\t0.983283163879342\t0\n+n-R5s54\t0\t0\t0\t0\t1.04035283368248\t1.00295188640177\t0\t0\t0\n+n-R5s67\t0\t0\t0\t0\t0\t0\t1.03357577205145\t0.97701570586261\t0\n+n-R5s69\t0\t0\t0\t0\t0\t0\t0\t0\t0.887107309982627\n+n-R5s73\t0\t0\t0\t0\t1.68357118204649\t1.63321427974415\t1.08106216846211\t1.02271725277701\t0.959570701656789\n+n-R5s74\t0\t0\t0\t0\t1.01456354839276\t0.977809169975444\t0\t0\t0\n+n-R5s76\t2.11125768315594\t0\t0\t2.39666040998676\t0\t1.5803486674028\t2.38555037845111\t2.97061717978507\t0.921869231767754\n+n-R5s80\t1.0887092282193\t0\t0\t1.06051260502843\t1.04701530337099\t0\t0\t0\t0.934091277972436\n+n-R5s84\t1.10266655936444\t1.10033071622823\t1.0539461585122\t0\t0\t0\t0\t1.59723176644883\t0.946653469023278\n+n-R5s85\t2.44030656821801\t0\t0\t0\t2.05037527034451\t1.5803486674028\t0\t1.9748515420236\t0.921869231767754\n+n-R5s87\t1.055380387008\t0\t0\t1.621877197828\t0\t1.55529822287802\t0\t0\t0.90414341156402\n+n-R5s89\t0\t0\t1.08945848365698\t0\t0\t0\t0\t0\t0\n+n-R5s96\t0\t0\t0\t0\t0\t0\t0\t0.918610290905801\t0\n+n-R5s97\t2.11125768315594\t2.4367390411434\t0\t1.04715935075001\t1.62982659914349\t1.5803486674028\t1.04009149252299\t0\t0.921869231767754\n+n-TSaga9\t2.50483532196143\t2.16872763074105\t1.06785686893931\t2.13052732442548\t1.07458115324107\t1.63321427974415\t1.69206388082978\t1.61517336831046\t0.959570701656789\n+n-TStga1\t2.97912452731609\t2.97530554236973\t2.67378372740249\t2.93235570734583\t2.6846110977956\t3.03951119458783\t2.69501776275446\t3.01608211096468\t2.90530780975976\n'
b
diff -r 000000000000 -r 35d032c46a4e test-data/rpk.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/rpk.tab Wed Jul 25 13:05:17 2018 -0400
b
b'@@ -0,0 +1,35194 @@\n+Features\tWt1\tWt2\tWt3\tCA1\tCA2\tCA3\tKK1\tKK2\tKK3\n+0610005C13Rik\t18.9785096288027\t13.6756907619313\t15.071169411108\t13.6756907619313\t13.9547864917667\t15.6293608707787\t21.769466927156\t17.3039352497907\t19.8157968183087\n+0610006L08Rik\t0\t0\t0\t0\t0\t0.469924812030075\t0\t0\t0\n+0610009B22Rik\t446.89378757515\t432.865731462926\t543.086172344689\t412.825651302605\t405.811623246493\t448.897795591182\t488.977955911824\t504.008016032064\t543.086172344689\n+0610009E02Rik\t104.270660011093\t86.522462562396\t99.8336106489185\t99.2789794786467\t110.371602884082\t127.010537992235\t97.0604547975596\t90.9595119245702\t103.161397670549\n+0610009L18Rik\t45.2342487883683\t43.6187399030695\t24.232633279483\t32.3101777059774\t30.6946688206785\t32.3101777059774\t19.3861066235864\t25.8481421647819\t17.7705977382876\n+0610009O20Rik\t303.24459234609\t311.148086522463\t351.497504159734\t354.409317803661\t363.144758735441\t367.304492512479\t332.362728785358\t340.682196339434\t417.637271214642\n+0610010F05Rik\t134.902411021814\t113.2797550708\t142.365097588978\t110.218140068886\t136.050516647532\t131.8407960199\t140.642939150402\t135.859165709912\t145.426712590892\n+0610010K14Rik\t8.9662447257384\t4.21940928270042\t7.91139240506329\t11.0759493670886\t12.6582278481013\t15.295358649789\t9.49367088607595\t11.0759493670886\t10.5485232067511\n+0610012D04Rik\t3.76647834274953\t0\t1.88323917137476\t0\t1.88323917137476\t3.76647834274953\t5.64971751412429\t5.64971751412429\t0\n+0610012G03Rik\t343.252595155709\t362.629757785467\t416.608996539792\t274.048442906574\t332.179930795848\t305.882352941176\t318.339100346021\t395.155709342561\t382.698961937716\n+0610030E20Rik\t68.5871056241427\t57.9561042524006\t61.7283950617284\t60.6995884773663\t60.0137174211248\t69.9588477366255\t66.0150891632373\t62.5857338820302\t75.6172839506173\n+0610033M10Rik\t0\t0\t0\t1.81488203266788\t0\t0.907441016333938\t1.81488203266788\t0.907441016333938\t0.907441016333938\n+0610037L13Rik\t72.2527960234333\t75.0932007811113\t68.524764778981\t77.2235043493698\t71.7202201313687\t79.708858512338\t71.7202201313687\t89.6502751642109\t80.0639091070477\n+0610038B21Rik\t12.3738196027353\t8.46629762292413\t12.6994464343862\t21.1657440573103\t17.5838489091501\t24.7476392054705\t15.3044610875936\t15.3044610875936\t15.6300879192445\n+0610039K10Rik\t17.8571428571429\t15.7563025210084\t16.8067226890756\t22.0588235294118\t32.563025210084\t45.1680672268908\t35.7142857142857\t35.7142857142857\t33.6134453781513\n+0610040B10Rik\t4.76644423260248\t8.10295519542421\t7.14966634890372\t10.9628217349857\t5.24308865586273\t9.53288846520496\t8.10295519542421\t9.05624404194471\t4.76644423260248\n+0610040F04Rik\t12.5581395348837\t12.5581395348837\t11.1627906976744\t10.6976744186047\t15.3488372093023\t20.9302325581395\t13.4883720930233\t15.3488372093023\t14.4186046511628\n+0610040J01Rik\t9.15522263836871\t6.24219725343321\t9.15522263836871\t18.7265917602996\t20.3911776945485\t22.4719101123595\t20.8073241781107\t22.4719101123595\t21.6396171452351\n+0610043K17Rik\t9.09090909090909\t3.8961038961039\t14.2857142857143\t5.19480519480519\t2.5974025974026\t5.19480519480519\t7.79220779220779\t10.3896103896104\t5.19480519480519\n+1010001B22Rik\t10.1867572156197\t10.1867572156197\t11.8845500848896\t6.7911714770798\t13.5823429541596\t15.2801358234295\t6.7911714770798\t10.1867572156197\t8.48896434634975\n+1010001N08Rik\t0.970873786407767\t1.45631067961165\t1.94174757281553\t0.970873786407767\t0\t0\t1.94174757281553\t1.45631067961165\t1.94174757281553\n+1110002E22Rik\t0\t0\t0\t0.2000400080016\t0\t0\t0.1000200040008\t0\t0.1000200040008\n+1110002J07Rik\t33.4261838440111\t29.4468762435336\t36.6096299243932\t83.5654596100279\t79.5861520095503\t104.257859132511\t60.0875447672105\t56.9040986868285\t66.8523676880223\n+1110002L01Rik\t97.3129992737836\t88.5984023238925\t96.3447107237957\t81.5783103364803\t84.9673202614379\t99.0075042362624\t91.5032679738562\t97.5550714112806\t91.5032679738562\n+1110002O04Rik\t0\t0\t0\t1.76678445229682\t0\t1.76678445229682\t0\t0\t0\n+1110003F10Rik\t20.8604954367666\t6.51890482398957\t23.4680573663625\t14.3415906127771\t9.1264667535854\t9.1264667535854\t6.51890482398957\t10.4302477183833\t10.4302477183833\n+1110004E09Rik\t277.941176470588\t3'..b'5217391304\t43.4782608695652\t26.0869565217391\t26.0869565217391\n+n-R5s188\t47.6190476190476\t9.52380952380952\t28.5714285714286\t95.2380952380952\t47.6190476190476\t28.5714285714286\t28.5714285714286\t19.047619047619\t19.047619047619\n+n-R5s19\t0\t0\t0\t0\t0\t0\t8.33333333333333\t0\t0\n+n-R5s191\t8.62068965517241\t0\t0\t0\t0\t0\t0\t0\t0\n+n-R5s192\t33.6134453781513\t8.40336134453782\t8.40336134453782\t0\t0\t8.40336134453782\t8.40336134453782\t0\t16.8067226890756\n+n-R5s194\t0\t8.40336134453782\t0\t0\t8.40336134453782\t0\t0\t0\t0\n+n-R5s196\t17.0940170940171\t42.7350427350427\t8.54700854700855\t0\t42.7350427350427\t8.54700854700855\t8.54700854700855\t17.0940170940171\t17.0940170940171\n+n-R5s197\t16.8067226890756\t0\t0\t25.2100840336134\t8.40336134453782\t8.40336134453782\t0\t8.40336134453782\t8.40336134453782\n+n-R5s200\t61.9469026548673\t26.5486725663717\t61.9469026548673\t26.5486725663717\t35.3982300884956\t26.5486725663717\t61.9469026548673\t8.84955752212389\t26.5486725663717\n+n-R5s201\t25.8620689655172\t25.8620689655172\t25.8620689655172\t25.8620689655172\t17.2413793103448\t68.9655172413793\t8.62068965517241\t17.2413793103448\t8.62068965517241\n+n-R5s202\t35.0877192982456\t17.5438596491228\t17.5438596491228\t17.5438596491228\t26.3157894736842\t43.859649122807\t43.859649122807\t26.3157894736842\t35.0877192982456\n+n-R5s205\t0\t0\t8\t8\t0\t16\t0\t0\t16\n+n-R5s207\t0\t0\t0\t0\t0\t8.47457627118644\t42.3728813559322\t0\t8.47457627118644\n+n-R5s21\t8.54700854700855\t0\t0\t0\t0\t0\t8.54700854700855\t0\t17.0940170940171\n+n-R5s210\t0\t0\t0\t0\t0\t0\t8.40336134453782\t0\t0\n+n-R5s217\t0\t0\t0\t8.62068965517241\t0\t0\t0\t0\t0\n+n-R5s24\t8.54700854700855\t8.54700854700855\t0\t0\t0\t0\t0\t0\t0\n+n-R5s25\t8.40336134453782\t0\t0\t0\t0\t0\t0\t8.40336134453782\t0\n+n-R5s26\t8.19672131147541\t0\t24.5901639344262\t16.3934426229508\t16.3934426229508\t0\t8.19672131147541\t8.19672131147541\t8.19672131147541\n+n-R5s29\t16.8067226890756\t0\t0\t33.6134453781513\t0\t33.6134453781513\t16.8067226890756\t0\t16.8067226890756\n+n-R5s31\t18.1818181818182\t9.09090909090909\t9.09090909090909\t9.09090909090909\t0\t9.09090909090909\t18.1818181818182\t9.09090909090909\t0\n+n-R5s32\t9.70873786407767\t0\t0\t0\t0\t0\t0\t0\t0\n+n-R5s39\t9.25925925925926\t0\t18.5185185185185\t37.037037037037\t0\t0\t0\t18.5185185185185\t9.25925925925926\n+n-R5s40\t24.1935483870968\t24.1935483870968\t32.258064516129\t80.6451612903226\t24.1935483870968\t24.1935483870968\t16.1290322580645\t24.1935483870968\t16.1290322580645\n+n-R5s41\t0\t8.40336134453782\t0\t8.40336134453782\t0\t0\t8.40336134453782\t0\t0\n+n-R5s46\t0\t8.62068965517241\t0\t0\t0\t0\t0\t17.2413793103448\t0\n+n-R5s47\t0\t0\t0\t0\t0\t0\t8.40336134453782\t0\t0\n+n-R5s48\t0\t18.1818181818182\t0\t36.3636363636364\t9.09090909090909\t9.09090909090909\t0\t0\t0\n+n-R5s52\t0\t8.84955752212389\t8.84955752212389\t8.84955752212389\t0\t17.6991150442478\t35.3982300884956\t8.84955752212389\t0\n+n-R5s54\t0\t0\t0\t0\t8.92857142857143\t8.92857142857143\t0\t0\t0\n+n-R5s67\t0\t0\t0\t0\t0\t0\t8.7719298245614\t8.7719298245614\t0\n+n-R5s69\t0\t0\t0\t0\t0\t0\t0\t0\t8.40336134453782\n+n-R5s73\t0\t0\t0\t0\t18.6915887850467\t18.6915887850467\t9.34579439252336\t9.34579439252336\t9.34579439252336\n+n-R5s74\t0\t0\t0\t0\t8.62068965517241\t8.62068965517241\t0\t0\t0\n+n-R5s76\t26.5486725663717\t0\t0\t35.3982300884956\t0\t17.6991150442478\t35.3982300884956\t61.9469026548673\t8.84955752212389\n+n-R5s80\t9.00900900900901\t0\t0\t9.00900900900901\t9.00900900900901\t0\t0\t0\t9.00900900900901\n+n-R5s84\t9.1743119266055\t9.1743119266055\t9.1743119266055\t0\t0\t0\t0\t18.348623853211\t9.1743119266055\n+n-R5s85\t35.3982300884956\t0\t0\t0\t26.5486725663717\t17.6991150442478\t0\t26.5486725663717\t8.84955752212389\n+n-R5s87\t8.62068965517241\t0\t0\t17.2413793103448\t0\t17.2413793103448\t0\t0\t8.62068965517241\n+n-R5s89\t0\t0\t9.61538461538461\t0\t0\t0\t0\t0\t0\n+n-R5s96\t0\t0\t0\t0\t0\t0\t0\t8.06451612903226\t0\n+n-R5s97\t26.5486725663717\t35.3982300884956\t0\t8.84955752212389\t17.6991150442478\t17.6991150442478\t8.84955752212389\t0\t8.84955752212389\n+n-TSaga9\t37.3831775700935\t28.0373831775701\t9.34579439252336\t28.0373831775701\t9.34579439252336\t18.6915887850467\t18.6915887850467\t18.6915887850467\t9.34579439252336\n+n-TStga1\t55.045871559633\t55.045871559633\t45.8715596330275\t55.045871559633\t45.8715596330275\t64.2201834862385\t45.8715596330275\t64.2201834862385\t64.2201834862385\n'
b
diff -r 000000000000 -r 35d032c46a4e test-data/tpm.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/tpm.tab Wed Jul 25 13:05:17 2018 -0400
b
b'@@ -0,0 +1,35194 @@\n+Features\tWt1\tWt2\tWt3\tCA1\tCA2\tCA3\tKK1\tKK2\tKK3\n+0610005C13Rik\t2.37381049023012\t1.70536111275201\t1.76793731889918\t1.64805259994156\t1.65160238516669\t1.75765907070531\t2.59858775626434\t1.91029215561158\t2.00310419383368\n+0610006L08Rik\t0\t0\t0\t0\t0\t0.0528471775169269\t0\t0\t0\n+0610009B22Rik\t55.8969688196476\t53.9784350443719\t63.7072204071056\t49.7494715108448\t48.0293586202636\t50.482504611921\t58.3685458889474\t55.6406704887002\t54.8985337007296\n+0610009E02Rik\t13.0420560622898\t10.7893667385481\t11.7110730516098\t11.9640742904764\t13.0629015847409\t14.28345189691\t11.5859570791675\t10.0416026527761\t10.42819676697\n+0610009L18Rik\t5.65784860833049\t5.43926475911583\t2.84263122133178\t3.8936879533089\t3.63283152100137\t3.63356361085688\t2.31408970565307\t2.85354183899371\t1.79636272933552\n+0610009O20Rik\t37.9294901705155\t38.8002226943942\t41.2327363692096\t42.7097400648851\t42.9795719226589\t41.3066201691206\t39.6736273125208\t37.6100879845593\t42.2173772340238\n+0610010F05Rik\t16.8734407866737\t14.1260059563187\t16.7002680462719\t13.2823486186813\t16.1020992998207\t14.8266568882315\t16.7883311476663\t14.9983627872578\t14.7006381099503\n+0610010K14Rik\t1.12148773556099\t0.52616110109278\t0.928053125529734\t1.33475869475375\t1.49814970786133\t1.72009758382099\t1.13324487958801\t1.22274493555773\t1.06631044251888\n+0610012D04Rik\t0.471106845380222\t0\t0.220915094288057\t0\t0.222888562939821\t0.423573611133787\t0.674398082768008\t0.623708473989091\t0\n+0610012G03Rik\t42.9336458508171\t45.219996416962\t48.8706995642276\t33.0254797877817\t39.3147660360564\t34.399160443018\t37.9996483729905\t43.6237677097962\t38.6855952683646\n+0610030E20Rik\t8.57879749303491\t7.22713668795237\t7.24110586833076\t7.31488568635773\t7.10285312454829\t7.867487629022\t7.880119573084\t6.90923970542957\t7.64386615368628\n+0610033M10Rik\t0\t0\t0\t0.218710784310182\t0\t0.102049722101652\t0.216639674500794\t0.100178221321297\t0.091729791243911\n+0610037L13Rik\t9.03729789659485\t9.36413572619426\t8.03836023714644\t9.30617687509072\t8.48836252016724\t8.96396207996683\t8.56113227455614\t9.89706762782086\t8.09335872675418\n+0610038B21Rik\t1.54770334192154\t1.0557488456313\t1.48972018482949\t2.55067624228889\t2.08111581039935\t2.78308965335641\t1.82686996110292\t1.68955740641981\t1.57998666155582\n+0610039K10Rik\t2.23355120443659\t1.96481377561432\t1.97152798431863\t2.65830092988773\t3.8539586497399\t5.07954635662697\t4.26315930892634\t3.94272856771675\t3.39785646893412\n+0610040B10Rik\t0.59618144637011\t1.01043997917198\t0.838698153481589\t1.3211257242912\t0.62053960730767\t1.07205713780763\t0.967237288393201\t0.999776738810922\t0.481821877744471\n+0610040F04Rik\t1.57075787028285\t1.56600227250823\t1.30946137749163\t1.28917291607579\t1.81659362250906\t2.35378870652136\t1.61008621341776\t1.69445637049781\t1.45752238533697\n+0610040J01Rik\t1.14512487884556\t0.778403127084824\t1.07396176923557\t2.2567348718148\t2.41337391557686\t2.52716390462967\t2.4837382573853\t2.48081797519256\t2.18746731479029\n+0610043K17Rik\t1.13708061316772\t0.485844860879177\t1.67579878667083\t0.626024115090444\t0.307412537457259\t0.584201526005301\t0.930143849220292\t1.14697558333578\t0.525123272471636\n+1010001B22Rik\t1.27414805550203\t1.27029046817306\t1.39412802286708\t0.818401644515521\t1.60752226717888\t1.71838564313104\t0.810651685228777\t1.12458132321972\t0.858117401959168\n+1010001N08Rik\t0.121435793639271\t0.181602205280081\t0.227778475858171\t0.116999652577583\t0\t0\t0.231783418737743\t0.160771456159324\t0.196283941652019\n+1110002E22Rik\t0\t0\t0\t0.0241067497809383\t0\t0\t0.0119392339117761\t0\t0.0101106451241038\n+1110002J07Rik\t4.18090921833256\t3.67203079624559\t4.29452613854364\t10.0704436341151\t9.41932566025028\t11.7247130776273\t7.17255772309612\t6.2820076343565\t6.75785381286618\n+1110002L01Rik\t12.1717997371766\t11.0482368024667\t11.3018044533162\t9.83097298625147\t10.0562075161672\t11.1342644992041\t10.9226042424779\t10.7697286754093\t9.24972038765399\n+1110002O04Rik\t0\t0\t0\t0.212914562111149\t0\t0.198690448332191\t0\t0\t0\n+1110003F10Rik\t2.60920714364431\t0.812908611205925\t2.75294194420502\t1.72829995267799\t1.08015226655452\t1.02635144236264\t0.778151633963086\t1.15146179813371\t1.054'..b'62077103799\t3.35159757334167\t11.4771087766581\t5.63589652004975\t3.21310839302915\t3.41052744714107\t2.10278856944894\t1.92545199906267\n+n-R5s19\t0\t0\t0\t0\t0\t0\t0.994737172082812\t0\t0\n+n-R5s191\t1.07826609869353\t0\t0\t0\t0\t0\t0\t0\t0\n+n-R5s192\t4.20433167893946\t1.04790068032764\t0.985763992159314\t0\t0\t0.945031880302692\t1.00309630798267\t0\t1.69892823446706\n+n-R5s194\t0\t1.04790068032764\t0\t0\t0.994569974126426\t0\t0\t0\t0\n+n-R5s196\t2.13810029826409\t5.32906756234995\t1.00261465869195\t0\t5.0578558513267\t0.961186271418977\t1.02024325341827\t1.88711794694135\t1.72796974274855\n+n-R5s197\t2.10216583946973\t0\t0\t3.03805820558598\t0.994569974126426\t0.945031880302692\t0\t0.927700839462766\t0.849464117233529\n+n-R5s200\t7.74824842601012\t3.31062427324749\t7.26673810149299\t3.19937103066134\t4.18951599720512\t2.98563169263771\t7.39450641194303\t0.976959291115656\t2.68370521993248\n+n-R5s201\t3.23479829608058\t3.22500467997385\t3.03377366552478\t3.1166286764201\t2.04058322277663\t7.75577887972554\t1.02903845387877\t1.90338620510464\t0.871433016817155\n+n-R5s202\t4.38873219117365\t2.18772247296472\t2.05799850994664\t2.11420424833176\t3.11457439265907\t4.93240323491317\t5.23545880043585\t2.90516841831761\t3.54688526143123\n+n-R5s205\t0\t0\t0.938447320535666\t0.964077137239284\t0\t1.79934070009633\t0\t0\t1.61737967921264\n+n-R5s207\t0\t0\t0\t0\t0\t0.95304062505102\t5.05798562076006\t0\t0.856662965684661\n+n-R5s21\t1.06905014913204\t0\t0\t0\t0\t0\t1.02024325341827\t0\t1.72796974274855\n+n-R5s210\t0\t0\t0\t0\t0\t0\t1.00309630798267\t0\t0\n+n-R5s217\t0\t0\t0\t1.03887622547337\t0\t0\t0\t0\t0\n+n-R5s24\t1.06905014913204\t1.06581351246999\t0\t0\t0\t0\t0\t0\t0\n+n-R5s25\t1.05108291973487\t0\t0\t0\t0\t0\t0\t0.927700839462766\t0\n+n-R5s26\t1.02523661842991\t0\t2.88457168197438\t1.97556790417886\t1.9402266708368\t0\t0.978430005327356\t0.904888523738272\t0.828575655334344\n+n-R5s29\t2.10216583946973\t0\t0\t4.05074427411464\t0\t3.78012752121077\t2.00619261596534\t0\t1.69892823446706\n+n-R5s31\t2.27416122633544\t1.13363800871808\t1.06641740969962\t1.09554220140828\t0\t1.02235267050928\t2.17033564818068\t1.00360363541881\t0\n+n-R5s32\t1.21435793639271\t0\t0\t0\t0\t0\t0\t0\t0\n+n-R5s39\t1.15813766155971\t0\t2.17233176049923\t4.4633200798115\t0\t0\t0\t2.04437777585313\t0.935983610655463\n+n-R5s40\t3.02610163181732\t3.01693986191102\t3.78406177635349\t9.71851952862181\t2.86339903841237\t2.72077726829081\t1.92529775241835\t2.67088064264683\t1.63042306372242\n+n-R5s41\t0\t1.04790068032764\t0\t1.01268606852866\t0\t0\t1.00309630798267\t0\t0\n+n-R5s46\t0\t1.07500155999128\t0\t0\t0\t0\t0\t1.90338620510464\t0\n+n-R5s47\t0\t0\t0\t0\t0\t0\t1.00309630798267\t0\t0\n+n-R5s48\t0\t2.26727601743616\t0\t4.38216880563311\t1.07594388110041\t1.02235267050928\t0\t0\t0\n+n-R5s52\t0\t1.10354142441583\t1.03810544307043\t1.06645701022045\t0\t1.99042112842514\t4.22543223539602\t0.976959291115656\t0\n+n-R5s54\t0\t0\t0\t0\t1.05673059750933\t1.00409637282161\t0\t0\t0\n+n-R5s67\t0\t0\t0\t0\t0\t0\t1.04709176008717\t0.968389472772536\t0\n+n-R5s69\t0\t0\t0\t0\t0\t0\t0\t0\t0.849464117233529\n+n-R5s73\t0\t0\t0\t0\t2.21222106394476\t2.10203352814991\t1.11559309018633\t1.03174205510345\t0.94473112103542\n+n-R5s74\t0\t0\t0\t0\t1.02029161138832\t0.969472359965692\t0\t0\t0\n+n-R5s76\t3.32067789686148\t0\t0\t4.26582804088179\t0\t1.99042112842514\t4.22543223539602\t6.83871503780959\t0.894568406644159\n+n-R5s80\t1.12683664367972\t0\t0\t1.08567245184604\t1.06625069298238\t0\t0\t0\t0.910686756313423\n+n-R5s84\t1.14751254539862\t1.14403835742192\t1.07620105566017\t0\t0\t0\t0\t2.02562201644164\t0.927396605053119\n+n-R5s85\t4.42757052914864\t0\t0\t0\t3.14213699790384\t1.99042112842514\t0\t2.93087787334697\t0.894568406644159\n+n-R5s87\t1.07826609869353\t0\t0\t2.07775245094673\t0\t1.93894471993138\t0\t0\t0.871433016817155\n+n-R5s89\t0\t0\t1.12794149102845\t0\t0\t0\t0\t0\t0\n+n-R5s96\t0\t0\t0\t0\t0\t0\t0\t0.890293547548945\t0\n+n-R5s97\t3.32067789686148\t4.41416569766332\t0\t1.06645701022045\t2.09475799860256\t1.99042112842514\t1.056358058849\t0\t0.894568406644159\n+n-TSaga9\t4.67584551209155\t3.4962667558595\t1.0963169632426\t3.37877501368908\t1.10611053197238\t2.10203352814991\t2.23118618037266\t2.0634841102069\t0.94473112103542\n+n-TStga1\t6.88507527239169\t6.86423014453149\t5.38100527830084\t6.63355828375654\t5.42907462940572\t7.22212436965268\t5.4756174610063\t7.08967705754572\t6.49177623537183\n'