Repository 'mean_center_matrix'
hg clone https://toolshed.g2.bx.psu.edu/repos/insilico-bob/mean_center_matrix

Changeset 2:621af44576a2 (2017-01-26)
Previous changeset 1:e7e80f706eb6 (2016-04-04) Next changeset 3:9c8c6c3ae359 (2017-01-26)
Commit message:
Uploaded
added:
._.
._.DS_Store
._meancentermatrix.py
._meancentermatrix.xml
._test-data
meancentermatrix.py
meancentermatrix.xml
test-data/._.DS_Store
test-data/._MeanCenterMatrix-in.txt
test-data/._MeanCenterMatrix-out.txt
test-data/MeanCenterMatrix-in.txt
test-data/MeanCenterMatrix-out.txt
removed:
meancentermatrix.zip
b
diff -r e7e80f706eb6 -r 621af44576a2 ._.
b
Binary file ._. has changed
b
diff -r e7e80f706eb6 -r 621af44576a2 ._.DS_Store
b
Binary file ._.DS_Store has changed
b
diff -r e7e80f706eb6 -r 621af44576a2 ._meancentermatrix.py
b
Binary file ._meancentermatrix.py has changed
b
diff -r e7e80f706eb6 -r 621af44576a2 ._meancentermatrix.xml
b
Binary file ._meancentermatrix.xml has changed
b
diff -r e7e80f706eb6 -r 621af44576a2 ._test-data
b
Binary file ._test-data has changed
b
diff -r e7e80f706eb6 -r 621af44576a2 meancentermatrix.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/meancentermatrix.py Thu Jan 26 12:14:01 2017 -0500
[
@@ -0,0 +1,134 @@
+#!/usr/bin/env python
+
+# created by Robert E. Brown all rights reserved. Use by signed written agreement only. 2014Jan03.
+#=========================
+#SMean Center each columns in Matrix v0
+#========================================
+
+# by Bob Brown 09 Feb 2016
+
+
+import sys  
+import traceback 
+#from scipy.stats.mstats import rankdata  
+#from scipy.stats import norm  
+#from scipy import *  
+#from numpy
+#import math  ##v33 for the log function
+
+
+###================ Galaxyy mods below v34a v0 ============
+def main():
+
+
+ # check the command line
+ sys.stdout.write(' starting set invalid values to mean value. Arguments=')
+ sys.stdout.write(str(sys.argv[1:])+'\n')
+ #outFile = "/Users/bobbrown/Desktop/bobMatrixOut.txt"
+
+ try:
+ inFile = sys.argv[1]
+ outFile = sys.argv[2]
+ # colDelimiter  = sys.argv[3]
+
+ #print  "sys arguments=", sys.argv[1:]
+ colDelimiter  = '\t'
+
+ Matrix = []
+ #infile = "/Users/bobbrown/Desktop/bobINmatrix.txt"
+ fin = open( inFile, 'rU')
+ indata = fin.read()
+    # split the file into lines
+ #print 'fin', indata[1:]
+ a = indata[:].split('\n')
+ cnt = -1
+ for i in a:  # for each row from matrix
+ tmp = i.replace('\n','') ##v22 fix /n
+ b = tmp.split(colDelimiter)
+ tmp2 = []
+ for j in b:
+ tmp2.append(j)
+ Matrix.append(tmp2)
+
+ #find text in numeric cells and convert to 
+ badvalue = 'false'
+ #use header row for correct number of rows
+ numrows = len(Matrix)
+ numcols = len(Matrix[0])
+ for rows in range(1, numrows ):
+ for cols in range(1,numcols):
+ if numcols <= len(Matrix[rows] ):
+ try:
+ Matrix[rows][cols] = float(Matrix[rows][cols])   # if non real number will cause error
+ except:
+ #sys.stdout.write('Illegal Value '+str(Matrix[i][cols])+ ' in row and column '+rows +cols +'\n' )
+ print('Illegal value at row, column - ', rows+1,cols+1 )
+ Matrix[rows][cols] = 99999   # temporarily set to number then later to the mean value
+ #badvalue = 'true'
+  
+  else:  
+  if rows < numrows -1: print('skip row', rows+1, 'not enough columns')
+  #if i == numrows-1: numrows = numrows -1
+


+ #if non valid values above then change them to the COLUMN Mean value 
+ if badvalue == 'false' and numrows >1 and numcols > 1: 
+ for rows in range(1, numrows ):
+#  skip = 0
+  top  = 0
+#  print (str(Matrix[1:][i]))
+#  print (str(Matrix[i][1:]))
+ if len(Matrix[rows]) > 1:
+ for cols in range(1,numcols):
+ try:
+ top =top + float(Matrix[rows][cols])
+ except:
+ junk = 0
+  
+ meanN  = top / (numcols -1)
+
+   for cols in range(1,numcols):
+ try:
+ Matrix[rows][cols] = str('%.3f' % (float(Matrix[rows][cols]) -meanN))
+ #temp = Matrix[k][i]
+ except:
+ junk = 0
+  
+ #print('For row', rows+1,' the mean =', meanN )
+
+ else:
+ print( 'bad value or insufficient columns or rows ' , badvalue, numcols, numrows)
+
+ # have mean so go back and set bad values to mean
+ fout = open( outFile, 'w') 
+
+ for rows in range(0, numrows ):
+ #print('out', str(Matrix[i]))
+ if len(Matrix[rows])> 2:
+ try:
+ for cols in range(0, numcols-1):
+ fout.write( str(str(Matrix[rows][cols])) +'\t' )
+ fout.write( str(str(Matrix[rows][cols]))+'\n' )
+ except: junk = 0
+ #if (rows < numrows -1 and len(Matrix[cols]) > 1): fout.write( '\n')
+ #fout.write( '\n')
+
+
+ fout.close()
+ fin.close()
+ except Exception as e:
+  print( 'Usage: python MeanCenter  failed', e )
+  print traceback.format_exc()
+  sys.exit(-1)
+
+
+
+##   
+ print 'Success ', numrows, ' rows mean centered \n'
+##
+ return
+##
+##
+
+if __name__ == "__main__": main()
b
diff -r e7e80f706eb6 -r 621af44576a2 meancentermatrix.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/meancentermatrix.xml Thu Jan 26 12:14:01 2017 -0500
b
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+    <tool id='meancentermatrix' name='meancentermatrix' >
+   <description>Mean Center Sample N columns and Value X Rows matrix avg based on rows</description>
+   <command interpreter="python">meancentermatrix.py  '$input1' '$outfile'   </command>
+   <inputs>
+ <param format="text" name="input1" type="data" label="Input Matrix" help="Input tab delimited matrix with a 1st row of Sample IDs and 1st column with labels for values to be mean-centered"/>
+   </inputs>
+   <outputs>
+ <data format="text"  name="outfile"/>
+   </outputs>
+  <tests>
+    <test>
+      <param name='input1' value='test_input.txt' />
+      <output name='outfile' file='test_output.txt' />
+    </test>
+  </tests>
+  <help>This tool mean-centered an array with the row mean value</help>
+</tool>
\ No newline at end of file
b
diff -r e7e80f706eb6 -r 621af44576a2 meancentermatrix.zip
b
Binary file meancentermatrix.zip has changed
b
diff -r e7e80f706eb6 -r 621af44576a2 test-data/._.DS_Store
b
Binary file test-data/._.DS_Store has changed
b
diff -r e7e80f706eb6 -r 621af44576a2 test-data/._MeanCenterMatrix-in.txt
b
Binary file test-data/._MeanCenterMatrix-in.txt has changed
b
diff -r e7e80f706eb6 -r 621af44576a2 test-data/._MeanCenterMatrix-out.txt
b
Binary file test-data/._MeanCenterMatrix-out.txt has changed
b
diff -r e7e80f706eb6 -r 621af44576a2 test-data/MeanCenterMatrix-in.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/MeanCenterMatrix-in.txt Thu Jan 26 12:14:01 2017 -0500
b
b'@@ -0,0 +1,419 @@\n+\tTCGA-BR-7851\tTCGA-IN-A7NR\tTCGA-BR-8059\tTCGA-BR-7901\tTCGA-BR-8297\tTCGA-FP-A9TM\tTCGA-BR-8291\tTCGA-SW-A7EA\tTCGA-VQ-A94T\tTCGA-VQ-A94U\tTCGA-VQ-A94R\tTCGA-BR-8058\tTCGA-VQ-A94P\tTCGA-HF-7136\tTCGA-HF-7134\tTCGA-HF-7132\tTCGA-HF-7133\tTCGA-CG-5728\tTCGA-D7-8573\tTCGA-EQ-8122\tTCGA-VQ-A94O\tTCGA-CG-5726\tTCGA-VQ-A8DU\tTCGA-VQ-A8DT\tTCGA-D7-5577\tTCGA-D7-A6F2\tTCGA-D7-A6F0\tTCGA-BR-A4CS\tTCGA-BR-A4J9\tTCGA-BR-8289\tTCGA-BR-8286\tTCGA-BR-8284\tTCGA-RD-A8N4\tTCGA-BR-7957\tTCGA-R5-A7ZR\tTCGA-RD-A8MW\tTCGA-RD-A8MV\tTCGA-MX-A666\tTCGA-CD-8536\tTCGA-CD-8534\tTCGA-CD-8535\tTCGA-CD-8532\tTCGA-CD-8533\tTCGA-CD-8530\tTCGA-CD-8531\tTCGA-R5-A7ZF\tTCGA-R5-A7ZE\tTCGA-R5-A7ZI\tTCGA-BR-7958\tTCGA-R5-A805\tTCGA-RD-A7C1\tTCGA-BR-A4QI\tTCGA-BR-7959\tTCGA-CD-5799\tTCGA-CD-5798\tTCGA-HU-8238\tTCGA-FP-8099\tTCGA-CD-5813\tTCGA-VQ-AA6B\tTCGA-VQ-AA6D\tTCGA-BR-6456\tTCGA-BR-6457\tTCGA-BR-6458\tTCGA-VQ-AA6I\tTCGA-VQ-AA6J\tTCGA-VQ-AA6K\tTCGA-CG-5732\tTCGA-CD-8529\tTCGA-CD-8528\tTCGA-RD-A8NB\tTCGA-FP-7998\tTCGA-CD-8524\tTCGA-CD-8526\tTCGA-FP-8210\tTCGA-FP-8211\tTCGA-FP-A8CX\tTCGA-RD-A8N9\tTCGA-RD-A8N6\tTCGA-FP-7916\tTCGA-RD-A8N5\tTCGA-RD-A8N2\tTCGA-RD-A8N0\tTCGA-RD-A8N1\tTCGA-FP-A4BF\tTCGA-BR-A4PF\tTCGA-CD-5804\tTCGA-BR-A4PD\tTCGA-BR-A4PE\tTCGA-CD-5801\tTCGA-CD-5800\tTCGA-CD-5803\tTCGA-VQ-A924\tTCGA-VQ-A925\tTCGA-D7-A4YV\tTCGA-VQ-A927\tTCGA-VQ-A922\tTCGA-VQ-A923\tTCGA-RD-A7BS\tTCGA-VQ-A928\tTCGA-RD-A7BT\tTCGA-RD-A7BW\tTCGA-D7-A6EV\tTCGA-D7-A4YT\tTCGA-VQ-AA64\tTCGA-D7-A4YU\tTCGA-VQ-AA68\tTCGA-VQ-AA69\tTCGA-D7-A6EZ\tTCGA-D7-A6EX\tTCGA-D7-A6EY\tTCGA-EQ-A4SO\tTCGA-BR-8060\tTCGA-BR-A4IU\tTCGA-BR-A4IV\tTCGA-BR-A4IY\tTCGA-FP-7735\tTCGA-BR-A4IZ\tTCGA-IN-A6RS\tTCGA-VQ-A8PX\tTCGA-BR-6564\tTCGA-BR-6565\tTCGA-BR-6566\tTCGA-MX-A663\tTCGA-BR-6563\tTCGA-FP-A4BE\tTCGA-FP-7829\tTCGA-HU-A4GJ\tTCGA-D7-A4YY\tTCGA-HU-A4HD\tTCGA-BR-A4J6\tTCGA-HU-A4HB\tTCGA-HU-A4H5\tTCGA-HU-A4H4\tTCGA-HU-A4H6\tTCGA-HU-A4H0\tTCGA-F1-6875\tTCGA-F1-6874\tTCGA-D7-6518\tTCGA-HU-A4H8\tTCGA-IN-A7NT\tTCGA-BR-8364\tTCGA-FP-8209\tTCGA-BR-8361\tTCGA-BR-8362\tTCGA-BR-8363\tTCGA-HU-A4GH\tTCGA-F1-6177\tTCGA-D7-6822\tTCGA-VQ-AA6A\tTCGA-D7-A4Z0\tTCGA-IN-A7NU\tTCGA-IP-7968\tTCGA-F1-A72C\tTCGA-HU-A4GX\tTCGA-HU-A4GY\tTCGA-VQ-AA6F\tTCGA-R5-A7O7\tTCGA-HU-A4GP\tTCGA-HU-A4GQ\tTCGA-VQ-AA6G\tTCGA-HU-A4GT\tTCGA-HU-A4GU\tTCGA-D7-6520\tTCGA-D7-A748\tTCGA-BR-6705\tTCGA-BR-6706\tTCGA-HU-A4GN\tTCGA-BR-8077\tTCGA-BR-8078\tTCGA-HU-A4GC\tTCGA-HU-A4GD\tTCGA-HU-A4GF\tTCGA-D7-A747\tTCGA-HF-A5NB\tTCGA-SW-A7EB\tTCGA-HU-A4H3\tTCGA-HU-A4H2\tTCGA-D7-8570\tTCGA-D7-8572\tTCGA-F1-A448\tTCGA-D7-8574\tTCGA-D7-8575\tTCGA-D7-8576\tTCGA-D7-8578\tTCGA-D7-8579\tTCGA-BR-8081\tTCGA-BR-8080\tTCGA-VQ-A92D\tTCGA-D7-5578\tTCGA-IN-AB1V\tTCGA-D7-6519\tTCGA-BR-A4J8\tTCGA-IN-AB1X\tTCGA-MX-A5UJ\tTCGA-BR-A4J1\tTCGA-BR-A4J2\tTCGA-BR-A4J4\tTCGA-BR-A4J5\tTCGA-MX-A5UG\tTCGA-BR-A4J7\tTCGA-VQ-A91Y\tTCGA-VQ-A91X\tTCGA-VQ-A91Z\tTCGA-VQ-A91U\tTCGA-D7-A74A\tTCGA-VQ-A91W\tTCGA-VQ-A91V\tTCGA-VQ-A91Q\tTCGA-VQ-A91S\tTCGA-FP-8631\tTCGA-VQ-A91N\tTCGA-VQ-A91K\tTCGA-VQ-A91E\tTCGA-VQ-A91D\tTCGA-CG-5734\tTCGA-VQ-A91A\tTCGA-CG-5733\tTCGA-CG-5730\n+DQ571691\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\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+BC041342\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\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+TCRAV5.1a\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t'..b'\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\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+PCDH8\t0.0431\t0.0\t0.0\t0.1141\t0.0962\t0.03\t0.0858\t0.0\t0.0\t0.0713\t0.0337\t0.0097\t0.1351\t0.1308\t0.3159\t0.0518\t0.0268\t0.0107\t0.0048\t0.3782\t0.0181\t0.2611\t0.0322\t0.0041\t0.0\t0.0198\t0.0673\t0.005\t0.0587\t0.0232\t0.0155\t0.004\t0.0411\t0.0403\t0.0033\t0.2397\t0.2641\t0.2577\t0.0\t0.0484\t0.0065\t0.5311\t4.6959\t0.0301\t0.0\t0.0131\t0.014\t0.0155\t0.0\t0.0366\t0.2653\t0.008\t0.0101\t0.0614\t0.0\t0.0132\t0.0147\t0.2406\t0.0038\t0.3642\t0.0582\t0.0199\t0.0361\t0.0102\t0.0469\t0.0\t2.4668\t0.2824\t0.0\t0.0048\t0.0037\t0.0638\t0.4809\t0.0992\t0.0047\t0.0026\t0.0414\t0.6645\t0.1578\t0.0\t0.0155\t0.1475\t2.2281\t0.0169\t0.0065\t2.2356\t0.003\t0.0025\t0.0\t0.6805\t0.0206\t0.0\t0.0\t0.0159\t0.0239\t1.253\t0.0335\t0.2221\t1.1444\t0.0\t0.0709\t0.3332\t0.5389\t0.1725\t0.0\t0.0342\t0.0\t0.0\t0.1352\t0.0859\t0.0464\t0.0933\t0.0034\t0.1124\t0.0\t0.0611\t0.0024\t0.0\t0.0135\t0.0735\t0.0092\t0.0\t1.3334\t0.0822\t0.0\t0.0391\t0.0329\t0.0\t0.0072\t0.0\t0.066\t0.0384\t0.0343\t0.0024\t0.0096\t0.021\t0.0353\t0.0089\t0.0111\t0.0185\t0.5831\t0.0207\t0.0044\t0.0466\t0.0036\t0.3151\t0.0066\t0.0\t0.0404\t0.0\t0.0\t0.0343\t0.1804\t0.1772\t0.2519\t0.0036\t0.0449\t0.204\t0.0195\t0.0036\t0.0449\t0.0\t0.1288\t0.0105\t0.2028\t0.0107\t0.1065\t0.0443\t0.0127\t0.1086\t0.2677\t0.0\t0.0318\t0.0057\t0.1618\t0.0\t0.0069\t0.0042\t0.0152\t0.0085\t0.0322\t0.0046\t0.0664\t0.3304\t0.0784\t0.008\t0.0047\t0.0103\t0.4497\t0.0\t0.128\t0.0274\t0.0\t0.0145\t0.0647\t0.2207\t0.0338\t0.0309\t0.0311\t0.1159\t0.7656\t0.015\t0.0862\t0.0167\t0.167\t0.0174\t0.0\t0.2791\t0.0\t0.2018\t0.1293\t0.0\t0.0176\t0.0503\t0.0059\t0.0126\t0.0025\t0.0091\n+C1QTNF9\t0.1026\t0.0845\t0.1391\t0.1483\t0.3511\t0.0132\t0.8101\t0.0\t0.0162\t0.3096\t0.259\t0.017\t0.8628\t0.0099\t0.0\t0.0517\t0.0732\t0.0702\t0.0391\t0.0774\t0.0248\t0.0119\t0.0927\t0.1208\t0.0555\t0.0182\t0.0942\t0.0164\t0.0989\t0.0437\t0.2467\t0.0713\t0.5005\t0.4969\t0.0143\t0.0729\t0.1593\t0.0665\t0.0088\t0.5306\t0.1438\t0.0219\t0.0575\t0.5499\t0.0\t0.036\t0.0306\t0.0\t0.0311\t0.0\t0.4574\t0.0385\t0.054\t0.0112\t0.3133\t0.0483\t0.0163\t0.5808\t0.0865\t0.0733\t0.0128\t0.0348\t0.1189\t0.0449\t0.0605\t0.11\t0.1181\t0.079\t0.0\t0.0978\t0.0328\t0.1008\t0.0485\t0.3151\t0.0155\t0.0231\t0.2641\t0.1969\t0.0846\t0.0735\t0.5159\t0.3236\t0.0447\t0.0278\t0.0334\t0.1332\t0.1423\t0.0249\t0.0161\t0.266\t0.0603\t0.0701\t0.0797\t0.2499\t0.1631\t0.0118\t0.0686\t0.2048\t0.0519\t0.011\t0.3532\t0.5451\t0.0196\t0.0277\t0.0696\t0.0254\t0.0235\t0.0088\t0.0252\t0.0761\t0.0092\t0.3544\t0.2573\t0.4178\t0.0\t0.5014\t0.6959\t0.0224\t0.102\t0.156\t0.0505\t0.0167\t0.5618\t0.1803\t0.0\t0.4558\t0.045\t0.0257\t0.0441\t0.0642\t0.0885\t0.1377\t0.0585\t0.031\t0.0345\t0.204\t0.0773\t0.1943\t0.0347\t0.1217\t0.3366\t0.1806\t0.0\t0.2016\t0.1644\t0.6922\t0.0194\t0.0185\t0.089\t0.1215\t0.0191\t0.1251\t0.0089\t0.0\t0.7667\t0.0798\t0.0\t0.5399\t0.2761\t0.0197\t0.0292\t0.0353\t0.021\t0.2538\t0.5212\t0.0293\t0.4252\t0.1426\t0.0735\t0.2602\t0.7563\t0.0641\t0.4065\t0.0498\t0.0876\t0.0282\t0.0075\t0.0415\t0.1455\t0.0627\t0.0187\t0.0501\t0.068\t0.0458\t0.1066\t0.0968\t0.1536\t0.034\t0.034\t0.066\t0.011\t0.0451\t0.0447\t0.2869\t0.0427\t0.2162\t0.0319\t0.2863\t0.0749\t0.8513\t0.0998\t0.0745\t0.1384\t0.0788\t0.0323\t0.0393\t0.084\t0.009\t0.0149\t0.1625\t0.132\t0.0838\t0.0357\t0.0179\t0.0839\t0.0239\t0.1047\t0.0998\n+DM119508\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\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+DQ585809\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\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 e7e80f706eb6 -r 621af44576a2 test-data/MeanCenterMatrix-out.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/MeanCenterMatrix-out.txt Thu Jan 26 12:14:01 2017 -0500
b
b'@@ -0,0 +1,1 @@\n+\tTCGA-BR-7851\tTCGA-IN-A7NR\tTCGA-BR-8059\tTCGA-BR-7901\tTCGA-BR-8297\tTCGA-FP-A9TM\tTCGA-BR-8291\tTCGA-SW-A7EA\tTCGA-VQ-A94T\tTCGA-VQ-A94U\tTCGA-VQ-A94R\tTCGA-BR-8058\tTCGA-VQ-A94P\tTCGA-HF-7136\tTCGA-HF-7134\tTCGA-HF-7132\tTCGA-HF-7133\tTCGA-CG-5728\tTCGA-D7-8573\tTCGA-EQ-8122\tTCGA-VQ-A94O\tTCGA-CG-5726\tTCGA-VQ-A8DU\tTCGA-VQ-A8DT\tTCGA-D7-5577\tTCGA-D7-A6F2\tTCGA-D7-A6F0\tTCGA-BR-A4CS\tTCGA-BR-A4J9\tTCGA-BR-8289\tTCGA-BR-8286\tTCGA-BR-8284\tTCGA-RD-A8N4\tTCGA-BR-7957\tTCGA-R5-A7ZR\tTCGA-RD-A8MW\tTCGA-RD-A8MV\tTCGA-MX-A666\tTCGA-CD-8536\tTCGA-CD-8534\tTCGA-CD-8535\tTCGA-CD-8532\tTCGA-CD-8533\tTCGA-CD-8530\tTCGA-CD-8531\tTCGA-R5-A7ZF\tTCGA-R5-A7ZE\tTCGA-R5-A7ZI\tTCGA-BR-7958\tTCGA-R5-A805\tTCGA-RD-A7C1\tTCGA-BR-A4QI\tTCGA-BR-7959\tTCGA-CD-5799\tTCGA-CD-5798\tTCGA-HU-8238\tTCGA-FP-8099\tTCGA-CD-5813\tTCGA-VQ-AA6B\tTCGA-VQ-AA6D\tTCGA-BR-6456\tTCGA-BR-6457\tTCGA-BR-6458\tTCGA-VQ-AA6I\tTCGA-VQ-AA6J\tTCGA-VQ-AA6K\tTCGA-CG-5732\tTCGA-CD-8529\tTCGA-CD-8528\tTCGA-RD-A8NB\tTCGA-FP-7998\tTCGA-CD-8524\tTCGA-CD-8526\tTCGA-FP-8210\tTCGA-FP-8211\tTCGA-FP-A8CX\tTCGA-RD-A8N9\tTCGA-RD-A8N6\tTCGA-FP-7916\tTCGA-RD-A8N5\tTCGA-RD-A8N2\tTCGA-RD-A8N0\tTCGA-RD-A8N1\tTCGA-FP-A4BF\tTCGA-BR-A4PF\tTCGA-CD-5804\tTCGA-BR-A4PD\tTCGA-BR-A4PE\tTCGA-CD-5801\tTCGA-CD-5800\tTCGA-CD-5803\tTCGA-VQ-A924\tTCGA-VQ-A925\tTCGA-D7-A4YV\tTCGA-VQ-A927\tTCGA-VQ-A922\tTCGA-VQ-A923\tTCGA-RD-A7BS\tTCGA-VQ-A928\tTCGA-RD-A7BT\tTCGA-RD-A7BW\tTCGA-D7-A6EV\tTCGA-D7-A4YT\tTCGA-VQ-AA64\tTCGA-D7-A4YU\tTCGA-VQ-AA68\tTCGA-VQ-AA69\tTCGA-D7-A6EZ\tTCGA-D7-A6EX\tTCGA-D7-A6EY\tTCGA-EQ-A4SO\tTCGA-BR-8060\tTCGA-BR-A4IU\tTCGA-BR-A4IV\tTCGA-BR-A4IY\tTCGA-FP-7735\tTCGA-BR-A4IZ\tTCGA-IN-A6RS\tTCGA-VQ-A8PX\tTCGA-BR-6564\tTCGA-BR-6565\tTCGA-BR-6566\tTCGA-MX-A663\tTCGA-BR-6563\tTCGA-FP-A4BE\tTCGA-FP-7829\tTCGA-HU-A4GJ\tTCGA-D7-A4YY\tTCGA-HU-A4HD\tTCGA-BR-A4J6\tTCGA-HU-A4HB\tTCGA-HU-A4H5\tTCGA-HU-A4H4\tTCGA-HU-A4H6\tTCGA-HU-A4H0\tTCGA-F1-6875\tTCGA-F1-6874\tTCGA-D7-6518\tTCGA-HU-A4H8\tTCGA-IN-A7NT\tTCGA-BR-8364\tTCGA-FP-8209\tTCGA-BR-8361\tTCGA-BR-8362\tTCGA-BR-8363\tTCGA-HU-A4GH\tTCGA-F1-6177\tTCGA-D7-6822\tTCGA-VQ-AA6A\tTCGA-D7-A4Z0\tTCGA-IN-A7NU\tTCGA-IP-7968\tTCGA-F1-A72C\tTCGA-HU-A4GX\tTCGA-HU-A4GY\tTCGA-VQ-AA6F\tTCGA-R5-A7O7\tTCGA-HU-A4GP\tTCGA-HU-A4GQ\tTCGA-VQ-AA6G\tTCGA-HU-A4GT\tTCGA-HU-A4GU\tTCGA-D7-6520\tTCGA-D7-A748\tTCGA-BR-6705\tTCGA-BR-6706\tTCGA-HU-A4GN\tTCGA-BR-8077\tTCGA-BR-8078\tTCGA-HU-A4GC\tTCGA-HU-A4GD\tTCGA-HU-A4GF\tTCGA-D7-A747\tTCGA-HF-A5NB\tTCGA-SW-A7EB\tTCGA-HU-A4H3\tTCGA-HU-A4H2\tTCGA-D7-8570\tTCGA-D7-8572\tTCGA-F1-A448\tTCGA-D7-8574\tTCGA-D7-8575\tTCGA-D7-8576\tTCGA-D7-8578\tTCGA-D7-8579\tTCGA-BR-8081\tTCGA-BR-8080\tTCGA-VQ-A92D\tTCGA-D7-5578\tTCGA-IN-AB1V\tTCGA-D7-6519\tTCGA-BR-A4J8\tTCGA-IN-AB1X\tTCGA-MX-A5UJ\tTCGA-BR-A4J1\tTCGA-BR-A4J2\tTCGA-BR-A4J4\tTCGA-BR-A4J5\tTCGA-MX-A5UG\tTCGA-BR-A4J7\tTCGA-VQ-A91Y\tTCGA-VQ-A91X\tTCGA-VQ-A91Z\tTCGA-VQ-A91U\tTCGA-D7-A74A\tTCGA-VQ-A91W\tTCGA-VQ-A91V\tTCGA-VQ-A91Q\tTCGA-VQ-A91S\tTCGA-FP-8631\tTCGA-VQ-A91N\tTCGA-VQ-A91K\tTCGA-VQ-A91E\tTCGA-VQ-A91D\tTCGA-CG-5734\tTCGA-VQ-A91A\tTCGA-CG-5733\tTCGA-CG-5733\rDQ571691\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\rBC041342\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\rTCRAV5.1a\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0'..b'\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\rPCDH8\t-0.103\t-0.146\t-0.146\t-0.032\t-0.05\t-0.116\t-0.06\t-0.146\t-0.146\t-0.075\t-0.112\t-0.136\t-0.011\t-0.015\t0.17\t-0.094\t-0.119\t-0.135\t-0.141\t0.232\t-0.128\t0.115\t-0.114\t-0.142\t-0.146\t-0.126\t-0.079\t-0.141\t-0.087\t-0.123\t-0.13\t-0.142\t-0.105\t-0.106\t-0.143\t0.094\t0.118\t0.112\t-0.146\t-0.098\t-0.139\t0.385\t4.55\t-0.116\t-0.146\t-0.133\t-0.132\t-0.13\t-0.146\t-0.109\t0.119\t-0.138\t-0.136\t-0.085\t-0.146\t-0.133\t-0.131\t0.095\t-0.142\t0.218\t-0.088\t-0.126\t-0.11\t-0.136\t-0.099\t-0.146\t2.321\t0.136\t-0.146\t-0.141\t-0.142\t-0.082\t0.335\t-0.047\t-0.141\t-0.143\t-0.105\t0.519\t0.012\t-0.146\t-0.13\t0.002\t2.082\t-0.129\t-0.139\t2.09\t-0.143\t-0.143\t-0.146\t0.535\t-0.125\t-0.146\t-0.146\t-0.13\t-0.122\t1.107\t-0.112\t0.076\t0.998\t-0.146\t-0.075\t0.187\t0.393\t0.027\t-0.146\t-0.112\t-0.146\t-0.146\t-0.011\t-0.06\t-0.1\t-0.053\t-0.143\t-0.034\t-0.146\t-0.085\t-0.144\t-0.146\t-0.132\t-0.072\t-0.137\t-0.146\t1.187\t-0.064\t-0.146\t-0.107\t-0.113\t-0.146\t-0.139\t-0.146\t-0.08\t-0.108\t-0.112\t-0.144\t-0.136\t-0.125\t-0.111\t-0.137\t-0.135\t-0.127\t0.437\t-0.125\t-0.142\t-0.099\t-0.142\t0.169\t-0.139\t-0.146\t-0.106\t-0.146\t-0.146\t-0.112\t0.034\t0.031\t0.106\t-0.142\t-0.101\t0.058\t-0.126\t-0.142\t-0.101\t-0.146\t-0.017\t-0.135\t0.057\t-0.135\t-0.039\t-0.102\t-0.133\t-0.037\t0.122\t-0.146\t-0.114\t-0.14\t0.016\t-0.146\t-0.139\t-0.142\t-0.131\t-0.137\t-0.114\t-0.141\t-0.08\t0.184\t-0.068\t-0.138\t-0.141\t-0.136\t0.304\t-0.146\t-0.018\t-0.119\t-0.146\t-0.131\t-0.081\t0.075\t-0.112\t-0.115\t-0.115\t-0.03\t0.62\t-0.131\t-0.06\t-0.129\t0.021\t-0.129\t-0.146\t0.133\t-0.146\t0.056\t-0.017\t-0.146\t-0.128\t-0.096\t-0.14\t-0.133\t-0.143\t-0.143\rC1QTNF9\t-0.036\t-0.054\t0.001\t0.01\t0.213\t-0.125\t0.672\t-0.138\t-0.122\t0.171\t0.121\t-0.121\t0.724\t-0.128\t-0.138\t-0.087\t-0.065\t-0.068\t-0.099\t-0.061\t-0.114\t-0.126\t-0.046\t-0.018\t-0.083\t-0.12\t-0.044\t-0.122\t-0.039\t-0.095\t0.108\t-0.067\t0.362\t0.359\t-0.124\t-0.065\t0.021\t-0.072\t-0.13\t0.392\t0.005\t-0.116\t-0.081\t0.412\t-0.138\t-0.102\t-0.108\t-0.138\t-0.107\t-0.138\t0.319\t-0.1\t-0.084\t-0.127\t0.175\t-0.09\t-0.122\t0.442\t-0.052\t-0.065\t-0.126\t-0.104\t-0.019\t-0.093\t-0.078\t-0.028\t-0.02\t-0.059\t-0.138\t-0.041\t-0.106\t-0.038\t-0.09\t0.177\t-0.123\t-0.115\t0.126\t0.059\t-0.054\t-0.065\t0.378\t0.185\t-0.094\t-0.111\t-0.105\t-0.005\t0.004\t-0.113\t-0.122\t0.128\t-0.078\t-0.068\t-0.059\t0.112\t0.025\t-0.127\t-0.07\t0.066\t-0.086\t-0.127\t0.215\t0.407\t-0.119\t-0.111\t-0.069\t-0.113\t-0.115\t-0.13\t-0.113\t-0.062\t-0.129\t0.216\t0.119\t0.279\t-0.138\t0.363\t0.558\t-0.116\t-0.036\t0.018\t-0.088\t-0.122\t0.423\t0.042\t-0.138\t0.317\t-0.093\t-0.113\t-0.094\t-0.074\t-0.05\t-0.001\t-0.08\t-0.107\t-0.104\t0.066\t-0.061\t0.056\t-0.104\t-0.017\t0.198\t0.042\t-0.138\t0.063\t0.026\t0.554\t-0.119\t-0.12\t-0.049\t-0.017\t-0.119\t-0.013\t-0.129\t-0.138\t0.628\t-0.059\t-0.138\t0.402\t0.138\t-0.119\t-0.109\t-0.103\t-0.117\t0.115\t0.383\t-0.109\t0.287\t0.004\t-0.065\t0.122\t0.618\t-0.074\t0.268\t-0.089\t-0.051\t-0.11\t-0.131\t-0.097\t0.007\t-0.076\t-0.12\t-0.088\t-0.07\t-0.093\t-0.032\t-0.042\t0.015\t-0.104\t-0.104\t-0.072\t-0.127\t-0.093\t-0.094\t0.149\t-0.096\t0.078\t-0.106\t0.148\t-0.063\t0.713\t-0.039\t-0.064\t0\t-0.06\t-0.106\t-0.099\t-0.054\t-0.129\t-0.123\t0.024\t-0.006\t-0.055\t-0.103\t-0.12\t-0.054\t-0.114\t-0.034\t-0.034\rDM119508\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\rDQ585809\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\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\\ No newline at end of file\n'