J. Taroni 2018

In response to comments, we wish to provide a bit more background information about the recount2 compendium. To do so, we’ll gather information from the following sources:

Download MetaSRA data

wget -N -O data/sample_info/metasra.v1-4.json http://metasra.biostat.wisc.edu/static/metasra_versions/v1.4/metasra.v1-4.json
WARNING: timestamping does nothing in combination with -O. See the manual
for details.

--2018-11-29 15:45:23--  http://metasra.biostat.wisc.edu/static/metasra_versions/v1.4/metasra.v1-4.json
Resolving metasra.biostat.wisc.edu (metasra.biostat.wisc.edu)... 128.104.140.173
Connecting to metasra.biostat.wisc.edu (metasra.biostat.wisc.edu)|128.104.140.173|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 64744709 (62M) [application/json]
Saving to: ‘data/sample_info/metasra.v1-4.json’

     0K .......... .......... .......... .......... ..........  0%  296K 3m33s
    50K .......... .......... .......... .......... ..........  0%  367K 3m13s
   100K .......... .......... .......... .......... ..........  0%  534K 2m48s
   150K .......... .......... .......... .......... ..........  0% 97.4K 4m47s
   200K .......... .......... .......... .......... ..........  0%  680K 4m8s
   250K .......... .......... .......... .......... ..........  0%  522K 3m47s
   300K .......... .......... .......... .......... ..........  0%  535K 3m31s
   350K .......... .......... .......... .......... ..........  0%  714K 3m16s
   400K .......... .......... .......... .......... ..........  0%  715K 3m3s
   450K .......... .......... .......... .......... ..........  0%  481K 2m58s
   500K .......... .......... .......... .......... ..........  0%  538K 2m52s
   550K .......... .......... .......... .......... ..........  0%  477K 2m49s
   600K .......... .......... .......... .......... ..........  1%  954K 2m41s
   650K .......... .......... .......... .......... ..........  1% 1006K 2m34s
   700K .......... .......... .......... .......... ..........  1% 1.50M 2m26s
   750K .......... .......... .......... .......... ..........  1% 1.29M 2m20s
   800K .......... .......... .......... .......... ..........  1% 1.68M 2m13s
   850K .......... .......... .......... .......... ..........  1% 1.12M 2m9s
   900K .......... .......... .......... .......... ..........  1% 1.32M 2m4s
   950K .......... .......... .......... .......... ..........  1% 1.31M 2m0s
  1000K .......... .......... .......... .......... ..........  1%  906K 1m58s
  1050K .......... .......... .......... .......... ..........  1% 1.34M 1m54s
  1100K .......... .......... .......... .......... ..........  1% 1.40M 1m51s
  1150K .......... .......... .......... .......... ..........  1% 1.30M 1m49s
  1200K .......... .......... .......... .......... ..........  1% 1.83M 1m45s
  1250K .......... .......... .......... .......... ..........  2% 1.24M 1m43s
  1300K .......... .......... .......... .......... ..........  2% 1.23M 1m41s
  1350K .......... .......... .......... .......... ..........  2% 1.25M 99s
  1400K .......... .......... .......... .......... ..........  2%  929K 98s
  1450K .......... .......... .......... .......... ..........  2%  827K 97s
  1500K .......... .......... .......... .......... ..........  2% 1.08M 96s
  1550K .......... .......... .......... .......... ..........  2% 1.27M 94s
  1600K .......... .......... .......... .......... ..........  2% 1.27M 93s
  1650K .......... .......... .......... .......... ..........  2% 1.30M 91s
  1700K .......... .......... .......... .......... ..........  2%  797K 91s
  1750K .......... .......... .......... .......... ..........  2% 1.01M 90s
  1800K .......... .......... .......... .......... ..........  2% 1.22M 89s
  1850K .......... .......... .......... .......... ..........  3% 1.23M 87s
  1900K .......... .......... .......... .......... ..........  3% 1.76M 86s
  1950K .......... .......... .......... .......... ..........  3% 1.46M 85s
  2000K .......... .......... .......... .......... ..........  3% 1.21M 84s
  2050K .......... .......... .......... .......... ..........  3% 1.57M 83s
  2100K .......... .......... .......... .......... ..........  3% 1.36M 82s
  2150K .......... .......... .......... .......... ..........  3% 1.30M 81s
  2200K .......... .......... .......... .......... ..........  3% 1.46M 80s
  2250K .......... .......... .......... .......... ..........  3% 1.19M 79s
  2300K .......... .......... .......... .......... ..........  3% 1.43M 78s
  2350K .......... .......... .......... .......... ..........  3% 1.39M 78s
  2400K .......... .......... .......... .......... ..........  3% 1.20M 77s
  2450K .......... .......... .......... .......... ..........  3% 1.01M 76s
  2500K .......... .......... .......... .......... ..........  4% 1.32M 76s
  2550K .......... .......... .......... .......... ..........  4% 1.20M 75s
  2600K .......... .......... .......... .......... ..........  4% 1.21M 75s
  2650K .......... .......... .......... .......... ..........  4% 1.28M 74s
  2700K .......... .......... .......... .......... ..........  4% 1.28M 74s
  2750K .......... .......... .......... .......... ..........  4% 1.53M 73s
  2800K .......... .......... .......... .......... ..........  4% 1.24M 72s
  2850K .......... .......... .......... .......... ..........  4%  946K 72s
  2900K .......... .......... .......... .......... ..........  4% 1.21M 72s
  2950K .......... .......... .......... .......... ..........  4% 1.36M 71s
  3000K .......... .......... .......... .......... ..........  4% 1.24M 71s
  3050K .......... .......... .......... .......... ..........  4% 1.13M 70s
  3100K .......... .......... .......... .......... ..........  4% 1.41M 70s
  3150K .......... .......... .......... .......... ..........  5% 2.17M 69s
  3200K .......... .......... .......... .......... ..........  5% 1.38M 69s
  3250K .......... .......... .......... .......... ..........  5% 1.61M 68s
  3300K .......... .......... .......... .......... ..........  5% 1.26M 68s
  3350K .......... .......... .......... .......... ..........  5% 1.53M 67s
  3400K .......... .......... .......... .......... ..........  5% 1.53M 67s
  3450K .......... .......... .......... .......... ..........  5% 1.46M 66s
  3500K .......... .......... .......... .......... ..........  5% 1.36M 66s
  3550K .......... .......... .......... .......... ..........  5% 1.90M 65s
  3600K .......... .......... .......... .......... ..........  5% 1.50M 65s
  3650K .......... .......... .......... .......... ..........  5% 1.26M 65s
  3700K .......... .......... .......... .......... ..........  5% 1.66M 64s
  3750K .......... .......... .......... .......... ..........  6% 1.36M 64s
  3800K .......... .......... .......... .......... ..........  6%  683K 64s
  3850K .......... .......... .......... .......... ..........  6%  529K 65s
  3900K .......... .......... .......... .......... ..........  6%  550K 65s
  3950K .......... .......... .......... .......... ..........  6% 89.6K 73s
  4000K .......... .......... .......... .......... ..........  6%  509K 73s
  4050K .......... .......... .......... .......... ..........  6%  599K 73s
  4100K .......... .......... .......... .......... ..........  6%  608K 74s
  4150K .......... .......... .......... .......... ..........  6% 1.13M 73s
  4200K .......... .......... .......... .......... ..........  6%  731K 73s
  4250K .......... .......... .......... .......... ..........  6%  555K 74s
  4300K .......... .......... .......... .......... ..........  6%  560K 74s
  4350K .......... .......... .......... .......... ..........  6%  637K 74s
  4400K .......... .......... .......... .......... ..........  7%  810K 74s
  4450K .......... .......... .......... .......... ..........  7%  412K 75s
  4500K .......... .......... .......... .......... ..........  7%  406K 75s
  4550K .......... .......... .......... .......... ..........  7%  642K 75s
  4600K .......... .......... .......... .......... ..........  7% 1018K 75s
  4650K .......... .......... .......... .......... ..........  7%  828K 75s
  4700K .......... .......... .......... .......... ..........  7%  677K 75s
  4750K .......... .......... .......... .......... ..........  7%  968K 75s
  4800K .......... .......... .......... .......... ..........  7% 1.04M 75s
  4850K .......... .......... .......... .......... ..........  7% 1.37M 74s
  4900K .......... .......... .......... .......... ..........  7% 1.27M 74s
  4950K .......... .......... .......... .......... ..........  7% 1.28M 73s
  5000K .......... .......... .......... .......... ..........  7%  714K 74s
  5050K .......... .......... .......... .......... ..........  8% 1.40M 73s
  5100K .......... .......... .......... .......... ..........  8% 1.40M 73s
  5150K .......... .......... .......... .......... ..........  8% 1.10M 72s
  5200K .......... .......... .......... .......... ..........  8% 1.35M 72s
  5250K .......... .......... .......... .......... ..........  8% 1.23M 72s
  5300K .......... .......... .......... .......... ..........  8% 1.37M 71s
  5350K .......... .......... .......... .......... ..........  8% 1.33M 71s
  5400K .......... .......... .......... .......... ..........  8% 1.15M 71s
  5450K .......... .......... .......... .......... ..........  8% 1.09M 71s
  5500K .......... .......... .......... .......... ..........  8% 1.87M 70s
  5550K .......... .......... .......... .......... ..........  8% 1.10M 70s
  5600K .......... .......... .......... .......... ..........  8% 1.43M 70s
  5650K .......... .......... .......... .......... ..........  9% 1.25M 69s
  5700K .......... .......... .......... .......... ..........  9% 1.18M 69s
  5750K .......... .......... .......... .......... ..........  9% 1.09M 69s
  5800K .......... .......... .......... .......... ..........  9% 1.35M 69s
  5850K .......... .......... .......... .......... ..........  9% 1.48M 68s
  5900K .......... .......... .......... .......... ..........  9% 1.28M 68s
  5950K .......... .......... .......... .......... ..........  9% 1.25M 68s
  6000K .......... .......... .......... .......... ..........  9% 1.22M 68s
  6050K .......... .......... .......... .......... ..........  9%  872K 67s
  6100K .......... .......... .......... .......... ..........  9% 1.38M 67s
  6150K .......... .......... .......... .......... ..........  9% 1.32M 67s
  6200K .......... .......... .......... .......... ..........  9% 1.30M 67s
  6250K .......... .......... .......... .......... ..........  9% 1.38M 66s
  6300K .......... .......... .......... .......... .......... 10% 1.31M 66s
  6350K .......... .......... .......... .......... .......... 10% 1.86M 66s
  6400K .......... .......... .......... .......... .......... 10% 1.18M 66s
  6450K .......... .......... .......... .......... .......... 10% 2.04M 65s
  6500K .......... .......... .......... .......... .......... 10% 1.71M 65s
  6550K .......... .......... .......... .......... .......... 10% 2.53M 65s
  6600K .......... .......... .......... .......... .......... 10% 3.28M 64s
  6650K .......... .......... .......... .......... .......... 10% 2.03M 64s
  6700K .......... .......... .......... .......... .......... 10% 2.65M 63s
  6750K .......... .......... .......... .......... .......... 10% 3.23M 63s
  6800K .......... .......... .......... .......... .......... 10% 3.23M 63s
  6850K .......... .......... .......... .......... .......... 10% 4.45M 62s
  6900K .......... .......... .......... .......... .......... 10% 2.76M 62s
  6950K .......... .......... .......... .......... .......... 11% 2.95M 62s
  7000K .......... .......... .......... .......... .......... 11% 2.31M 61s
  7050K .......... .......... .......... .......... .......... 11% 2.52M 61s
  7100K .......... .......... .......... .......... .......... 11% 2.55M 61s
  7150K .......... .......... .......... .......... .......... 11% 2.96M 60s
  7200K .......... .......... .......... .......... .......... 11% 3.29M 60s
  7250K .......... .......... .......... .......... .......... 11% 3.16M 59s
  7300K .......... .......... .......... .......... .......... 11% 2.79M 59s
  7350K .......... .......... .......... .......... .......... 11% 2.34M 59s
  7400K .......... .......... .......... .......... .......... 11% 2.72M 59s
  7450K .......... .......... .......... .......... .......... 11% 2.62M 58s
  7500K .......... .......... .......... .......... .......... 11% 3.36M 58s
  7550K .......... .......... .......... .......... .......... 12% 2.78M 58s
  7600K .......... .......... .......... .......... .......... 12% 3.26M 57s
  7650K .......... .......... .......... .......... .......... 12% 3.66M 57s
  7700K .......... .......... .......... .......... .......... 12% 2.44M 57s
  7750K .......... .......... .......... .......... .......... 12% 2.20M 56s
  7800K .......... .......... .......... .......... .......... 12% 2.83M 56s
  7850K .......... .......... .......... .......... .......... 12% 2.40M 56s
  7900K .......... .......... .......... .......... .......... 12% 2.90M 56s
  7950K .......... .......... .......... .......... .......... 12% 3.07M 55s
  8000K .......... .......... .......... .......... .......... 12% 2.62M 55s
  8050K .......... .......... .......... .......... .......... 12% 3.39M 55s
  8100K .......... .......... .......... .......... .......... 12% 3.99M 54s
  8150K .......... .......... .......... .......... .......... 12% 3.83M 54s
  8200K .......... .......... .......... .......... .......... 13% 2.10M 54s
  8250K .......... .......... .......... .......... .......... 13% 3.31M 54s
  8300K .......... .......... .......... .......... .......... 13% 3.65M 53s
  8350K .......... .......... .......... .......... .......... 13% 3.03M 53s
  8400K .......... .......... .......... .......... .......... 13% 2.75M 53s
  8450K .......... .......... .......... .......... .......... 13% 2.75M 53s
  8500K .......... .......... .......... .......... .......... 13% 3.71M 52s
  8550K .......... .......... .......... .......... .......... 13% 2.64M 52s
  8600K .......... .......... .......... .......... .......... 13% 2.20M 52s
  8650K .......... .......... .......... .......... .......... 13% 1.27M 52s
  8700K .......... .......... .......... .......... .......... 13%  714K 52s
  8750K .......... .......... .......... .......... .......... 13%  173K 53s
  8800K .......... .......... .......... .......... .......... 13%  976K 53s
  8850K .......... .......... .......... .......... .......... 14%  894K 53s
  8900K .......... .......... .......... .......... .......... 14%  970K 53s
  8950K .......... .......... .......... .......... .......... 14%  900K 53s
  9000K .......... .......... .......... .......... .......... 14%  792K 53s
  9050K .......... .......... .......... .......... .......... 14%  763K 53s
  9100K .......... .......... .......... .......... .......... 14%  839K 53s
  9150K .......... .......... .......... .......... .......... 14% 1.16M 53s
  9200K .......... .......... .......... .......... .......... 14%  636K 53s
  9250K .......... .......... .......... .......... .......... 14%  796K 53s
  9300K .......... .......... .......... .......... .......... 14%  604K 54s
  9350K .......... .......... .......... .......... .......... 14%  675K 54s
  9400K .......... .......... .......... .......... .......... 14%  719K 54s
  9450K .......... .......... .......... .......... .......... 15%  668K 54s
  9500K .......... .......... .......... .......... .......... 15%  658K 54s
  9550K .......... .......... .......... .......... .......... 15% 2.64M 54s
  9600K .......... .......... .......... .......... .......... 15% 3.69M 53s
  9650K .......... .......... .......... .......... .......... 15% 3.45M 53s
  9700K .......... .......... .......... .......... .......... 15% 2.97M 53s
  9750K .......... .......... .......... .......... .......... 15% 2.17M 53s
  9800K .......... .......... .......... .......... .......... 15% 3.04M 53s
  9850K .......... .......... .......... .......... .......... 15% 2.84M 52s
  9900K .......... .......... .......... .......... .......... 15% 3.46M 52s
  9950K .......... .......... .......... .......... .......... 15% 3.40M 52s
 10000K .......... .......... .......... .......... .......... 15% 3.41M 52s
 10050K .......... .......... .......... .......... .......... 15% 3.15M 51s
 10100K .......... .......... .......... .......... .......... 16% 3.29M 51s
 10150K .......... .......... .......... .......... .......... 16% 2.78M 51s
 10200K .......... .......... .......... .......... .......... 16% 3.85M 51s
 10250K .......... .......... .......... .......... .......... 16% 3.93M 50s
 10300K .......... .......... .......... .......... .......... 16% 4.36M 50s
 10350K .......... .......... .......... .......... .......... 16% 3.93M 50s
 10400K .......... .......... .......... .......... .......... 16% 4.34M 50s
 10450K .......... .......... .......... .......... .......... 16% 2.60M 50s
 10500K .......... .......... .......... .......... .......... 16% 2.25M 49s
 10550K .......... .......... .......... .......... .......... 16% 3.71M 49s
 10600K .......... .......... .......... .......... .......... 16% 2.34M 49s
 10650K .......... .......... .......... .......... .......... 16% 4.07M 49s
 10700K .......... .......... .......... .......... .......... 17% 4.29M 49s
 10750K .......... .......... .......... .......... .......... 17% 2.86M 48s
 10800K .......... .......... .......... .......... .......... 17% 3.72M 48s
 10850K .......... .......... .......... .......... .......... 17% 2.24M 48s
 10900K .......... .......... .......... .......... .......... 17% 2.40M 48s
 10950K .......... .......... .......... .......... .......... 17% 1.95M 48s
 11000K .......... .......... .......... .......... .......... 17% 2.89M 48s
 11050K .......... .......... .......... .......... .......... 17% 3.43M 47s
 11100K .......... .......... .......... .......... .......... 17% 3.78M 47s
 11150K .......... .......... .......... .......... .......... 17% 4.43M 47s
 11200K .......... .......... .......... .......... .......... 17% 2.21M 47s
 11250K .......... .......... .......... .......... .......... 17% 3.52M 47s
 11300K .......... .......... .......... .......... .......... 17% 4.17M 46s
 11350K .......... .......... .......... .......... .......... 18% 3.27M 46s
 11400K .......... .......... .......... .......... .......... 18% 4.42M 46s
 11450K .......... .......... .......... .......... .......... 18% 3.53M 46s
 11500K .......... .......... .......... .......... .......... 18% 3.75M 46s
 11550K .......... .......... .......... .......... .......... 18% 3.54M 45s
 11600K .......... .......... .......... .......... .......... 18% 3.88M 45s
 11650K .......... .......... .......... .......... .......... 18% 2.68M 45s
 11700K .......... .......... .......... .......... .......... 18% 2.00M 45s
 11750K .......... .......... .......... .......... .......... 18% 3.01M 45s
 11800K .......... .......... .......... .......... .......... 18% 1.89M 45s
 11850K .......... .......... .......... .......... .......... 18% 2.47M 45s
 11900K .......... .......... .......... .......... .......... 18% 2.73M 44s
 11950K .......... .......... .......... .......... .......... 18% 3.32M 44s
 12000K .......... .......... .......... .......... .......... 19% 2.89M 44s
 12050K .......... .......... .......... .......... .......... 19% 3.65M 44s
 12100K .......... .......... .......... .......... .......... 19% 4.29M 44s
 12150K .......... .......... .......... .......... .......... 19% 2.22M 44s
 12200K .......... .......... .......... .......... .......... 19% 3.23M 43s
 12250K .......... .......... .......... .......... .......... 19% 3.15M 43s
 12300K .......... .......... .......... .......... .......... 19% 4.09M 43s
 12350K .......... .......... .......... .......... .......... 19% 2.79M 43s
 12400K .......... .......... .......... .......... .......... 19% 3.16M 43s
 12450K .......... .......... .......... .......... .......... 19% 3.58M 43s
 12500K .......... .......... .......... .......... .......... 19% 2.19M 43s
 12550K .......... .......... .......... .......... .......... 19% 2.45M 42s
 12600K .......... .......... .......... .......... .......... 20% 4.17M 42s
 12650K .......... .......... .......... .......... .......... 20% 2.91M 42s
 12700K .......... .......... .......... .......... .......... 20% 3.93M 42s
 12750K .......... .......... .......... .......... .......... 20% 3.54M 42s
 12800K .......... .......... .......... .......... .......... 20%  932K 42s
 12850K .......... .......... .......... .......... .......... 20% 2.55M 42s
 12900K .......... .......... .......... .......... .......... 20% 3.73M 42s
 12950K .......... .......... .......... .......... .......... 20% 2.39M 41s
 13000K .......... .......... .......... .......... .......... 20% 2.66M 41s
 13050K .......... .......... .......... .......... .......... 20% 2.91M 41s
 13100K .......... .......... .......... .......... .......... 20% 4.25M 41s
 13150K .......... .......... .......... .......... .......... 20% 3.85M 41s
 13200K .......... .......... .......... .......... .......... 20% 3.42M 41s
 13250K .......... .......... .......... .......... .......... 21% 3.94M 41s
 13300K .......... .......... .......... .......... .......... 21% 2.19M 40s
 13350K .......... .......... .......... .......... .......... 21% 4.33M 40s
 13400K .......... .......... .......... .......... .......... 21% 2.06M 40s
 13450K .......... .......... .......... .......... .......... 21% 2.76M 40s
 13500K .......... .......... .......... .......... .......... 21% 2.30M 40s
 13550K .......... .......... .......... .......... .......... 21% 1.33M 40s
 13600K .......... .......... .......... .......... .......... 21% 1.70M 40s
 13650K .......... .......... .......... .......... .......... 21% 1.59M 40s
 13700K .......... .......... .......... .......... .......... 21% 2.46M 40s
 13750K .......... .......... .......... .......... .......... 21% 4.45M 40s
 13800K .......... .......... .......... .......... .......... 21% 2.95M 39s
 13850K .......... .......... .......... .......... .......... 21% 4.03M 39s
 13900K .......... .......... .......... .......... .......... 22% 3.52M 39s
 13950K .......... .......... .......... .......... .......... 22% 2.82M 39s
 14000K .......... .......... .......... .......... .......... 22% 3.48M 39s
 14050K .......... .......... .......... .......... .......... 22% 3.66M 39s
 14100K .......... .......... .......... .......... .......... 22% 3.02M 39s
 14150K .......... .......... .......... .......... .......... 22% 4.64M 39s
 14200K .......... .......... .......... .......... .......... 22% 3.74M 38s
 14250K .......... .......... .......... .......... .......... 22% 2.46M 38s
 14300K .......... .......... .......... .......... .......... 22% 2.78M 38s
 14350K .......... .......... .......... .......... .......... 22% 3.24M 38s
 14400K .......... .......... .......... .......... .......... 22% 3.24M 38s
 14450K .......... .......... .......... .......... .......... 22% 2.84M 38s
 14500K .......... .......... .......... .......... .......... 23% 2.73M 38s
 14550K .......... .......... .......... .......... .......... 23% 3.97M 38s
 14600K .......... .......... .......... .......... .......... 23% 2.54M 37s
 14650K .......... .......... .......... .......... .......... 23% 2.56M 37s
 14700K .......... .......... .......... .......... .......... 23% 3.90M 37s
 14750K .......... .......... .......... .......... .......... 23% 3.25M 37s
 14800K .......... .......... .......... .......... .......... 23% 2.30M 37s
 14850K .......... .......... .......... .......... .......... 23% 2.02M 37s
 14900K .......... .......... .......... .......... .......... 23% 2.50M 37s
 14950K .......... .......... .......... .......... .......... 23% 3.29M 37s
 15000K .......... .......... .......... .......... .......... 23% 3.90M 37s
 15050K .......... .......... .......... .......... .......... 23% 2.21M 37s
 15100K .......... .......... .......... .......... .......... 23% 2.96M 36s
 15150K .......... .......... .......... .......... .......... 24% 2.80M 36s
 15200K .......... .......... .......... .......... .......... 24% 2.17M 36s
 15250K .......... .......... .......... .......... .......... 24% 1.87M 36s
 15300K .......... .......... .......... .......... .......... 24% 1.44M 36s
 15350K .......... .......... .......... .......... .......... 24% 1.72M 36s
 15400K .......... .......... .......... .......... .......... 24% 3.86M 36s
 15450K .......... .......... .......... .......... .......... 24% 2.14M 36s
 15500K .......... .......... .......... .......... .......... 24% 2.46M 36s
 15550K .......... .......... .......... .......... .......... 24% 2.71M 36s
 15600K .......... .......... .......... .......... .......... 24% 1.68M 36s
 15650K .......... .......... .......... .......... .......... 24% 1.63M 36s
 15700K .......... .......... .......... .......... .......... 24% 1.27M 35s
 15750K .......... .......... .......... .......... .......... 24%  750K 36s
 15800K .......... .......... .......... .......... .......... 25% 1.01M 36s
 15850K .......... .......... .......... .......... .......... 25%  644K 36s
 15900K .......... .......... .......... .......... .......... 25%  656K 36s
 15950K .......... .......... .......... .......... .......... 25% 1.02M 36s
 16000K .......... .......... .......... .......... .......... 25% 41.5K 39s
 16050K .......... .......... .......... .......... .......... 25%  294M 39s
 16100K .......... .......... .......... .......... .......... 25%  289M 39s
 16150K .......... .......... .......... .......... .......... 25%  337M 39s
 16200K .......... .......... .......... .......... .......... 25%  266M 38s
 16250K .......... .......... .......... .......... .......... 25%  329M 38s
 16300K .......... .......... .......... .......... .......... 25%  289M 38s
 16350K .......... .......... .......... .......... .......... 25%  321M 38s
 16400K .......... .......... .......... .......... .......... 26%  346M 38s
 16450K .......... .......... .......... .......... .......... 26% 4.29M 38s
 16500K .......... .......... .......... .......... .......... 26% 5.34M 38s
 16550K .......... .......... .......... .......... .......... 26% 4.84M 37s
 16600K .......... .......... .......... .......... .......... 26%  145M 37s
 16650K .......... .......... .......... .......... .......... 26%  435M 37s
 16700K .......... .......... .......... .......... .......... 26%  449M 37s
 16750K .......... .......... .......... .......... .......... 26% 3.43M 37s
 16800K .......... .......... .......... .......... .......... 26% 1.41M 37s
 16850K .......... .......... .......... .......... .......... 26%  747K 37s
 16900K .......... .......... .......... .......... .......... 26% 1.65M 37s
 16950K .......... .......... .......... .......... .......... 26%  993K 37s
 17000K .......... .......... .......... .......... .......... 26% 1.06M 37s
 17050K .......... .......... .......... .......... .......... 27% 2.21M 37s
 17100K .......... .......... .......... .......... .......... 27% 1.67M 37s
 17150K .......... .......... .......... .......... .......... 27% 1.50M 37s
 17200K .......... .......... .......... .......... .......... 27% 1.03M 37s
 17250K .......... .......... .......... .......... .......... 27% 1.05M 36s
 17300K .......... .......... .......... .......... .......... 27%  886K 37s
 17350K .......... .......... .......... .......... .......... 27% 1.20M 36s
 17400K .......... .......... .......... .......... .......... 27% 1.65M 36s
 17450K .......... .......... .......... .......... .......... 27% 1.79M 36s
 17500K .......... .......... .......... .......... .......... 27% 1.72M 36s
 17550K .......... .......... .......... .......... .......... 27% 1.92M 36s
 17600K .......... .......... .......... .......... .......... 27% 1.45M 36s
 17650K .......... .......... .......... .......... .......... 27% 1.31M 36s
 17700K .......... .......... .......... .......... .......... 28% 1.26M 36s
 17750K .......... .......... .......... .......... .......... 28% 1010K 36s
 17800K .......... .......... .......... .......... .......... 28% 1.42M 36s
 17850K .......... .......... .......... .......... .......... 28% 1.28M 36s
 17900K .......... .......... .......... .......... .......... 28% 1.63M 36s
 17950K .......... .......... .......... .......... .......... 28% 2.68M 36s
 18000K .......... .......... .......... .......... .......... 28% 1.85M 36s
 18050K .......... .......... .......... .......... .......... 28% 1.25M 36s
 18100K .......... .......... .......... .......... .......... 28%  746K 36s
 18150K .......... .......... .......... .......... .......... 28% 1.80M 36s
 18200K .......... .......... .......... .......... .......... 28% 1.78M 36s
 18250K .......... .......... .......... .......... .......... 28% 1.25M 36s
 18300K .......... .......... .......... .......... .......... 29% 1.52M 35s
 18350K .......... .......... .......... .......... .......... 29% 1.05M 35s
 18400K .......... .......... .......... .......... .......... 29% 1.25M 35s
 18450K .......... .......... .......... .......... .......... 29% 1.28M 35s
 18500K .......... .......... .......... .......... .......... 29% 1.38M 35s
 18550K .......... .......... .......... .......... .......... 29% 1.39M 35s
 18600K .......... .......... .......... .......... .......... 29% 1.57M 35s
 18650K .......... .......... .......... .......... .......... 29% 1.84M 35s
 18700K .......... .......... .......... .......... .......... 29% 1.67M 35s
 18750K .......... .......... .......... .......... .......... 29% 1.70M 35s
 18800K .......... .......... .......... .......... .......... 29% 2.96M 35s
 18850K .......... .......... .......... .......... .......... 29% 1.59M 35s
 18900K .......... .......... .......... .......... .......... 29% 1.70M 35s
 18950K .......... .......... .......... .......... .......... 30% 1.80M 35s
 19000K .......... .......... .......... .......... .......... 30% 1.85M 35s
 19050K .......... .......... .......... .......... .......... 30% 1.77M 35s
 19100K .......... .......... .......... .......... .......... 30% 1.92M 34s
 19150K .......... .......... .......... .......... .......... 30% 2.39M 34s
 19200K .......... .......... .......... .......... .......... 30% 2.67M 34s
 19250K .......... .......... .......... .......... .......... 30% 2.26M 34s
 19300K .......... .......... .......... .......... .......... 30% 2.14M 34s
 19350K .......... .......... .......... .......... .......... 30% 1.87M 34s
 19400K .......... .......... .......... .......... .......... 30% 2.59M 34s
 19450K .......... .......... .......... .......... .......... 30% 3.21M 34s
 19500K .......... .......... .......... .......... .......... 30% 1.86M 34s
 19550K .......... .......... .......... .......... .......... 30% 2.08M 34s
 19600K .......... .......... .......... .......... .......... 31% 1.81M 34s
 19650K .......... .......... .......... .......... .......... 31% 2.36M 34s
 19700K .......... .......... .......... .......... .......... 31% 2.04M 34s
 19750K .......... .......... .......... .......... .......... 31% 1.81M 34s
 19800K .......... .......... .......... .......... .......... 31% 1.64M 33s
 19850K .......... .......... .......... .......... .......... 31% 2.27M 33s
 19900K .......... .......... .......... .......... .......... 31% 2.51M 33s
 19950K .......... .......... .......... .......... .......... 31% 1.54M 33s
 20000K .......... .......... .......... .......... .......... 31% 1.50M 33s
 20050K .......... .......... .......... .......... .......... 31%  786K 33s
 20100K .......... .......... .......... .......... .......... 31%  756K 33s
 20150K .......... .......... .......... .......... .......... 31%  600K 33s
 20200K .......... .......... .......... .......... .......... 32%  569K 33s
 20250K .......... .......... .......... .......... .......... 32%  472K 33s
 20300K .......... .......... .......... .......... .......... 32% 2.86M 33s
 20350K .......... .......... .......... .......... .......... 32%  583K 33s
 20400K .......... .......... .......... .......... .......... 32%  541K 33s
 20450K .......... .......... .......... .......... .......... 32%  793K 34s
 20500K .......... .......... .......... .......... .......... 32%  447K 34s
 20550K .......... .......... .......... .......... .......... 32%  601K 34s
 20600K .......... .......... .......... .......... .......... 32%  594K 34s
 20650K .......... .......... .......... .......... .......... 32% 99.4K 35s
 20700K .......... .......... .......... .......... .......... 32% 1.08M 35s
 20750K .......... .......... .......... .......... .......... 32% 1.47M 35s
 20800K .......... .......... .......... .......... .......... 32% 1.49M 34s
 20850K .......... .......... .......... .......... .......... 33% 1.28M 34s
 20900K .......... .......... .......... .......... .......... 33%  117K 35s
 20950K .......... .......... .......... .......... .......... 33% 4.81M 35s
 21000K .......... .......... .......... .......... .......... 33%  199M 35s
 21050K .......... .......... .......... .......... .......... 33% 4.83M 35s
 21100K .......... .......... .......... .......... .......... 33%  159M 35s
 21150K .......... .......... .......... .......... .......... 33%  220M 35s
 21200K .......... .......... .......... .......... .......... 33%  174M 34s
 21250K .......... .......... .......... .......... .......... 33%  128M 34s
 21300K .......... .......... .......... .......... .......... 33% 6.66M 34s
 21350K .......... .......... .......... .......... .......... 33% 4.57M 34s
 21400K .......... .......... .......... .......... .......... 33%  245M 34s
 21450K .......... .......... .......... .......... .......... 34%  189M 34s
 21500K .......... .......... .......... .......... .......... 34%  223M 34s
 21550K .......... .......... .......... .......... .......... 34%  132M 34s
 21600K .......... .......... .......... .......... .......... 34%  158M 34s
 21650K .......... .......... .......... .......... .......... 34% 2.96M 33s
 21700K .......... .......... .......... .......... .......... 34% 1.66M 33s
 21750K .......... .......... .......... .......... .......... 34% 1.77M 33s
 21800K .......... .......... .......... .......... .......... 34% 1.61M 33s
 21850K .......... .......... .......... .......... .......... 34% 1.86M 33s
 21900K .......... .......... .......... .......... .......... 34% 1.53M 33s
 21950K .......... .......... .......... .......... .......... 34% 1.93M 33s
 22000K .......... .......... .......... .......... .......... 34% 1.86M 33s
 22050K .......... .......... .......... .......... .......... 34% 2.15M 33s
 22100K .......... .......... .......... .......... .......... 35% 1.41M 33s
 22150K .......... .......... .......... .......... .......... 35% 1.10M 33s
 22200K .......... .......... .......... .......... .......... 35% 1.69M 33s
 22250K .......... .......... .......... .......... .......... 35% 2.20M 33s
 22300K .......... .......... .......... .......... .......... 35% 1.77M 33s
 22350K .......... .......... .......... .......... .......... 35% 1.07M 33s
 22400K .......... .......... .......... .......... .......... 35% 2.23M 33s
 22450K .......... .......... .......... .......... .......... 35% 1.86M 33s
 22500K .......... .......... .......... .......... .......... 35% 2.71M 32s
 22550K .......... .......... .......... .......... .......... 35% 1.51M 32s
 22600K .......... .......... .......... .......... .......... 35% 1.12M 32s
 22650K .......... .......... .......... .......... .......... 35% 2.06M 32s
 22700K .......... .......... .......... .......... .......... 35% 2.52M 32s
 22750K .......... .......... .......... .......... .......... 36% 1.45M 32s
 22800K .......... .......... .......... .......... .......... 36% 1.93M 32s
 22850K .......... .......... .......... .......... .......... 36% 2.27M 32s
 22900K .......... .......... .......... .......... .......... 36% 2.99M 32s
 22950K .......... .......... .......... .......... .......... 36% 1.36M 32s
 23000K .......... .......... .......... .......... .......... 36% 1.62M 32s
 23050K .......... .......... .......... .......... .......... 36% 2.78M 32s
 23100K .......... .......... .......... .......... .......... 36% 1.73M 32s
 23150K .......... .......... .......... .......... .......... 36%  871K 32s
 23200K .......... .......... .......... .......... .......... 36% 2.15M 32s
 23250K .......... .......... .......... .......... .......... 36% 1.62M 32s
 23300K .......... .......... .......... .......... .......... 36% 1.03M 32s
 23350K .......... .......... .......... .......... .......... 37% 1.44M 31s
 23400K .......... .......... .......... .......... .......... 37% 1.55M 31s
 23450K .......... .......... .......... .......... .......... 37% 1.50M 31s
 23500K .......... .......... .......... .......... .......... 37% 1.11M 31s
 23550K .......... .......... .......... .......... .......... 37% 1.65M 31s
 23600K .......... .......... .......... .......... .......... 37% 1.48M 31s
 23650K .......... .......... .......... .......... .......... 37% 1.26M 31s
 23700K .......... .......... .......... .......... .......... 37% 1.57M 31s
 23750K .......... .......... .......... .......... .......... 37% 1.51M 31s
 23800K .......... .......... .......... .......... .......... 37% 1.66M 31s
 23850K .......... .......... .......... .......... .......... 37% 1.47M 31s
 23900K .......... .......... .......... .......... .......... 37% 1.17M 31s
 23950K .......... .......... .......... .......... .......... 37% 1.52M 31s
 24000K .......... .......... .......... .......... .......... 38% 1.36M 31s
 24050K .......... .......... .......... .......... .......... 38% 1.47M 31s
 24100K .......... .......... .......... .......... .......... 38% 1.63M 31s
 24150K .......... .......... .......... .......... .......... 38% 2.07M 31s
 24200K .......... .......... .......... .......... .......... 38% 1.51M 31s
 24250K .......... .......... .......... .......... .......... 38% 1.12M 31s
 24300K .......... .......... .......... .......... .......... 38% 1.92M 31s
 24350K .......... .......... .......... .......... .......... 38% 1.53M 31s
 24400K .......... .......... .......... .......... .......... 38% 1.07M 30s
 24450K .......... .......... .......... .......... .......... 38% 1.38M 30s
 24500K .......... .......... .......... .......... .......... 38% 1.11M 30s
 24550K .......... .......... .......... .......... .......... 38%  983K 30s
 24600K .......... .......... .......... .......... .......... 38%  721K 30s
 24650K .......... .......... .......... .......... .......... 39%  982K 30s
 24700K .......... .......... .......... .......... .......... 39%  638K 30s
 24750K .......... .......... .......... .......... .......... 39%  888K 30s
 24800K .......... .......... .......... .......... .......... 39%  614K 30s
 24850K .......... .......... .......... .......... .......... 39%  480K 30s
 24900K .......... .......... .......... .......... .......... 39%  552K 30s
 24950K .......... .......... .......... .......... .......... 39%  554K 31s
 25000K .......... .......... .......... .......... .......... 39%  808K 31s
 25050K .......... .......... .......... .......... .......... 39%  498K 31s
 25100K .......... .......... .......... .......... .......... 39%  485K 31s
 25150K .......... .......... .......... .......... .......... 39%  479K 31s
 25200K .......... .......... .......... .......... .......... 39% 69.9K 32s
 25250K .......... .......... .......... .......... .......... 40%  621K 32s
 25300K .......... .......... .......... .......... .......... 40%  447K 32s
 25350K .......... .......... .......... .......... .......... 40%  478K 32s
 25400K .......... .......... .......... .......... .......... 40%  831K 32s
 25450K .......... .......... .......... .......... .......... 40% 1.43M 32s
 25500K .......... .......... .......... .......... .......... 40% 1.39M 32s
 25550K .......... .......... .......... .......... .......... 40% 1.07M 32s
 25600K .......... .......... .......... .......... .......... 40% 1.04M 32s
 25650K .......... .......... .......... .......... .......... 40% 1.40M 32s
 25700K .......... .......... .......... .......... .......... 40% 1.24M 31s
 25750K .......... .......... .......... .......... .......... 40% 1.31M 31s
 25800K .......... .......... .......... .......... .......... 40% 67.0K 32s
 25850K .......... .......... .......... .......... .......... 40%  290M 32s
 25900K .......... .......... .......... .......... .......... 41%  317M 32s
 25950K .......... .......... .......... .......... .......... 41%  276M 32s
 26000K .......... .......... .......... .......... .......... 41%  323M 32s
 26050K .......... .......... .......... .......... .......... 41%  322M 32s
 26100K .......... .......... .......... .......... .......... 41%  325M 32s
 26150K .......... .......... .......... .......... .......... 41%  280M 32s
 26200K .......... .......... .......... .......... .......... 41%  290M 32s
 26250K .......... .......... .......... .......... .......... 41%  330M 31s
 26300K .......... .......... .......... .......... .......... 41%  322M 31s
 26350K .......... .......... .......... .......... .......... 41%  277M 31s
 26400K .......... .......... .......... .......... .......... 41%  334M 31s
 26450K .......... .......... .......... .......... .......... 41%  766K 31s
 26500K .......... .......... .......... .......... .......... 41%  635K 31s
 26550K .......... .......... .......... .......... .......... 42%  752K 31s
 26600K .......... .......... .......... .......... .......... 42%  877K 31s
 26650K .......... .......... .......... .......... .......... 42%  756K 31s
 26700K .......... .......... .......... .......... .......... 42%  926K 31s
 26750K .......... .......... .......... .......... .......... 42%  836K 31s
 26800K .......... .......... .......... .......... .......... 42% 1.06M 31s
 26850K .......... .......... .......... .......... .......... 42%  818K 31s
 26900K .......... .......... .......... .......... .......... 42%  995K 31s
 26950K .......... .......... .......... .......... .......... 42%  833K 31s
 27000K .......... .......... .......... .......... .......... 42%  688K 31s
 27050K .......... .......... .......... .......... .......... 42% 1.20M 31s
 27100K .......... .......... .......... .......... .......... 42% 1.14M 31s
 27150K .......... .......... .......... .......... .......... 43% 1.15M 31s
 27200K .......... .......... .......... .......... .......... 43% 1.56M 31s
 27250K .......... .......... .......... .......... .......... 43% 1.57M 31s
 27300K .......... .......... .......... .......... .......... 43%  801K 31s
 27350K .......... .......... .......... .......... .......... 43%  977K 31s
 27400K .......... .......... .......... .......... .......... 43% 1.02M 31s
 27450K .......... .......... .......... .......... .......... 43%  825K 31s
 27500K .......... .......... .......... .......... .......... 43% 1.23M 31s
 27550K .......... .......... .......... .......... .......... 43% 1.19M 31s
 27600K .......... .......... .......... .......... .......... 43%  516K 31s
 27650K .......... .......... .......... .......... .......... 43%  525K 31s
 27700K .......... .......... .......... .......... .......... 43%  849K 31s
 27750K .......... .......... .......... .......... .......... 43%  592K 31s
 27800K .......... .......... .......... .......... .......... 44%  506K 31s
 27850K .......... .......... .......... .......... .......... 44%  814K 31s
 27900K .......... .......... .......... .......... .......... 44%  652K 31s
 27950K .......... .......... .......... .......... .......... 44%  441K 31s
 28000K .......... .......... .......... .......... .......... 44% 93.2K 31s
 28050K .......... .......... .......... .......... .......... 44%  476K 31s
 28100K .......... .......... .......... .......... .......... 44%  484K 31s
 28150K .......... .......... .......... .......... .......... 44%  649K 31s
 28200K .......... .......... .......... .......... .......... 44%  504K 31s
 28250K .......... .......... .......... .......... .......... 44%  510K 31s
 28300K .......... .......... .......... .......... .......... 44%  509K 31s
 28350K .......... .......... .......... .......... .......... 44%  467K 31s
 28400K .......... .......... .......... .......... .......... 44% 1.29M 31s
 28450K .......... .......... .......... .......... .......... 45%  518K 31s
 28500K .......... .......... .......... .......... .......... 45%  755K 31s
 28550K .......... .......... .......... .......... .......... 45% 1.55M 31s
 28600K .......... .......... .......... .......... .......... 45%  893K 31s
 28650K .......... .......... .......... .......... .......... 45% 1.14M 31s
 28700K .......... .......... .......... .......... .......... 45% 1.10M 31s
 28750K .......... .......... .......... .......... .......... 45% 1.12M 31s
 28800K .......... .......... .......... .......... .......... 45% 1.96M 31s
 28850K .......... .......... .......... .......... .......... 45%  861K 31s
 28900K .......... .......... .......... .......... .......... 45% 1.01M 31s
 28950K .......... .......... .......... .......... .......... 45%  920K 31s
 29000K .......... .......... .......... .......... .......... 45% 1.19M 31s
 29050K .......... .......... .......... .......... .......... 46% 1.03M 31s
 29100K .......... .......... .......... .......... .......... 46% 1.04M 31s
 29150K .......... .......... .......... .......... .......... 46%  640K 31s
 29200K .......... .......... .......... .......... .......... 46% 1.91M 31s
 29250K .......... .......... .......... .......... .......... 46% 1.24M 31s
 29300K .......... .......... .......... .......... .......... 46% 1.37M 31s
 29350K .......... .......... .......... .......... .......... 46% 1.20M 31s
 29400K .......... .......... .......... .......... .......... 46% 1.15M 30s
 29450K .......... .......... .......... .......... .......... 46% 1.45M 30s
 29500K .......... .......... .......... .......... .......... 46% 1.36M 30s
 29550K .......... .......... .......... .......... .......... 46% 1.56M 30s
 29600K .......... .......... .......... .......... .......... 46% 1.17M 30s
 29650K .......... .......... .......... .......... .......... 46% 1.86M 30s
 29700K .......... .......... .......... .......... .......... 47% 1.22M 30s
 29750K .......... .......... .......... .......... .......... 47% 1.52M 30s
 29800K .......... .......... .......... .......... .......... 47% 1.41M 30s
 29850K .......... .......... .......... .......... .......... 47% 1.37M 30s
 29900K .......... .......... .......... .......... .......... 47% 1.36M 30s
 29950K .......... .......... .......... .......... .......... 47% 1.35M 30s
 30000K .......... .......... .......... .......... .......... 47% 1.07M 30s
 30050K .......... .......... .......... .......... .......... 47% 1.42M 30s
 30100K .......... .......... .......... .......... .......... 47% 1.52M 30s
 30150K .......... .......... .......... .......... .......... 47% 1.62M 30s
 30200K .......... .......... .......... .......... .......... 47% 1.23M 30s
 30250K .......... .......... .......... .......... .......... 47% 1.36M 30s
 30300K .......... .......... .......... .......... .......... 48% 1.37M 29s
 30350K .......... .......... .......... .......... .......... 48% 1.44M 29s
 30400K .......... .......... .......... .......... .......... 48% 1.60M 29s
 30450K .......... .......... .......... .......... .......... 48% 1.76M 29s
 30500K .......... .......... .......... .......... .......... 48% 1.50M 29s
 30550K .......... .......... .......... .......... .......... 48% 1.15M 29s
 30600K .......... .......... .......... .......... .......... 48% 1.12M 29s
 30650K .......... .......... .......... .......... .......... 48% 1.21M 29s
 30700K .......... .......... .......... .......... .......... 48% 1.55M 29s
 30750K .......... .......... .......... .......... .......... 48% 1.34M 29s
 30800K .......... .......... .......... .......... .......... 48% 1.23M 29s
 30850K .......... .......... .......... .......... .......... 48% 1.42M 29s
 30900K .......... .......... .......... .......... .......... 48% 1.57M 29s
 30950K .......... .......... .......... .......... .......... 49% 1.33M 29s
 31000K .......... .......... .......... .......... .......... 49% 1.30M 29s
 31050K .......... .......... .......... .......... .......... 49% 1.45M 29s
 31100K .......... .......... .......... .......... .......... 49% 1.22M 29s
 31150K .......... .......... .......... .......... .......... 49% 1.17M 29s
 31200K .......... .......... .......... .......... .......... 49%  958K 29s
 31250K .......... .......... .......... .......... .......... 49%  643K 29s
 31300K .......... .......... .......... .......... .......... 49%  678K 28s
 31350K .......... .......... .......... .......... .......... 49%  479K 29s
 31400K .......... .......... .......... .......... .......... 49%  680K 28s
 31450K .......... .......... .......... .......... .......... 49%  442K 29s
 31500K .......... .......... .......... .......... .......... 49%  114K 29s
 31550K .......... .......... .......... .......... .......... 49%  839K 29s
 31600K .......... .......... .......... .......... .......... 50%  544K 29s
 31650K .......... .......... .......... .......... .......... 50%  644K 29s
 31700K .......... .......... .......... .......... .......... 50%  965K 29s
 31750K .......... .......... .......... .......... .......... 50%  980K 29s
 31800K .......... .......... .......... .......... .......... 50% 1.05M 29s
 31850K .......... .......... .......... .......... .......... 50%  582K 29s
 31900K .......... .......... .......... .......... .......... 50%  724K 29s
 31950K .......... .......... .......... .......... .......... 50%  572K 29s
 32000K .......... .......... .......... .......... .......... 50%  530K 29s
 32050K .......... .......... .......... .......... .......... 50%  818K 29s
 32100K .......... .......... .......... .......... .......... 50%  504K 29s
 32150K .......... .......... .......... .......... .......... 50%  481K 29s
 32200K .......... .......... .......... .......... .......... 51%  495K 29s
 32250K .......... .......... .......... .......... .......... 51%  894K 29s
 32300K .......... .......... .......... .......... .......... 51%  590K 29s
 32350K .......... .......... .......... .......... .......... 51%  867K 29s
 32400K .......... .......... .......... .......... .......... 51%  843K 29s
 32450K .......... .......... .......... .......... .......... 51% 1.18M 28s
 32500K .......... .......... .......... .......... .......... 51%  621K 28s
 32550K .......... .......... .......... .......... .......... 51% 1.47M 28s
 32600K .......... .......... .......... .......... .......... 51%  907K 28s
 32650K .......... .......... .......... .......... .......... 51%  485K 28s
 32700K .......... .......... .......... .......... .......... 51% 1.01M 28s
 32750K .......... .......... .......... .......... .......... 51%  877K 28s
 32800K .......... .......... .......... .......... .......... 51% 1.02M 28s
 32850K .......... .......... .......... .......... .......... 52%  523K 28s
 32900K .......... .......... .......... .......... .......... 52%  989K 28s
 32950K .......... .......... .......... .......... .......... 52% 1018K 28s
 33000K .......... .......... .......... .......... .......... 52%  784K 28s
 33050K .......... .......... .......... .......... .......... 52% 1005K 28s
 33100K .......... .......... .......... .......... .......... 52%  995K 28s
 33150K .......... .......... .......... .......... .......... 52% 1.18M 28s
 33200K .......... .......... .......... .......... .......... 52%  629K 28s
 33250K .......... .......... .......... .......... .......... 52% 1.38M 28s
 33300K .......... .......... .......... .......... .......... 52% 2.13M 28s
 33350K .......... .......... .......... .......... .......... 52% 2.23M 28s
 33400K .......... .......... .......... .......... .......... 52% 4.12M 28s
 33450K .......... .......... .......... .......... .......... 52% 3.20M 28s
 33500K .......... .......... .......... .......... .......... 53% 2.76M 28s
 33550K .......... .......... .......... .......... .......... 53% 1.76M 28s
 33600K .......... .......... .......... .......... .......... 53% 2.97M 27s
 33650K .......... .......... .......... .......... .......... 53% 2.40M 27s
 33700K .......... .......... .......... .......... .......... 53% 2.50M 27s
 33750K .......... .......... .......... .......... .......... 53% 2.49M 27s
 33800K .......... .......... .......... .......... .......... 53% 3.17M 27s
 33850K .......... .......... .......... .......... .......... 53% 2.05M 27s
 33900K .......... .......... .......... .......... .......... 53% 2.46M 27s
 33950K .......... .......... .......... .......... .......... 53% 2.99M 27s
 34000K .......... .......... .......... .......... .......... 53% 1.22M 27s
 34050K .......... .......... .......... .......... .......... 53% 2.71M 27s
 34100K .......... .......... .......... .......... .......... 54% 2.54M 27s
 34150K .......... .......... .......... .......... .......... 54% 2.19M 27s
 34200K .......... .......... .......... .......... .......... 54% 2.93M 27s
 34250K .......... .......... .......... .......... .......... 54% 2.08M 27s
 34300K .......... .......... .......... .......... .......... 54% 2.49M 26s
 34350K .......... .......... .......... .......... .......... 54% 3.01M 26s
 34400K .......... .......... .......... .......... .......... 54% 2.88M 26s
 34450K .......... .......... .......... .......... .......... 54% 2.59M 26s
 34500K .......... .......... .......... .......... .......... 54% 3.25M 26s
 34550K .......... .......... .......... .......... .......... 54% 2.69M 26s
 34600K .......... .......... .......... .......... .......... 54% 3.16M 26s
 34650K .......... .......... .......... .......... .......... 54% 2.56M 26s
 34700K .......... .......... .......... .......... .......... 54% 2.47M 26s
 34750K .......... .......... .......... .......... .......... 55% 2.75M 26s
 34800K .......... .......... .......... .......... .......... 55% 3.62M 26s
 34850K .......... .......... .......... .......... .......... 55% 2.75M 26s
 34900K .......... .......... .......... .......... .......... 55% 2.75M 26s
 34950K .......... .......... .......... .......... .......... 55% 2.79M 26s
 35000K .......... .......... .......... .......... .......... 55% 2.08M 26s
 35050K .......... .......... .......... .......... .......... 55% 1.93M 25s
 35100K .......... .......... .......... .......... .......... 55% 2.95M 25s
 35150K .......... .......... .......... .......... .......... 55% 2.65M 25s
 35200K .......... .......... .......... .......... .......... 55% 3.22M 25s
 35250K .......... .......... .......... .......... .......... 55% 2.50M 25s
 35300K .......... .......... .......... .......... .......... 55% 2.69M 25s
 35350K .......... .......... .......... .......... .......... 55% 2.95M 25s
 35400K .......... .......... .......... .......... .......... 56% 2.94M 25s
 35450K .......... .......... .......... .......... .......... 56% 2.73M 25s
 35500K .......... .......... .......... .......... .......... 56% 2.40M 25s
 35550K .......... .......... .......... .......... .......... 56% 2.80M 25s
 35600K .......... .......... .......... .......... .......... 56% 3.68M 25s
 35650K .......... .......... .......... .......... .......... 56% 2.93M 25s
 35700K .......... .......... .......... .......... .......... 56% 3.22M 25s
 35750K .......... .......... .......... .......... .......... 56% 3.03M 25s
 35800K .......... .......... .......... .......... .......... 56% 3.34M 24s
 35850K .......... .......... .......... .......... .......... 56% 3.59M 24s
 35900K .......... .......... .......... .......... .......... 56% 2.63M 24s
 35950K .......... .......... .......... .......... .......... 56% 2.42M 24s
 36000K .......... .......... .......... .......... .......... 57% 4.53M 24s
 36050K .......... .......... .......... .......... .......... 57% 3.55M 24s
 36100K .......... .......... .......... .......... .......... 57% 3.02M 24s
 36150K .......... .......... .......... .......... .......... 57% 2.87M 24s
 36200K .......... .......... .......... .......... .......... 57% 2.21M 24s
 36250K .......... .......... .......... .......... .......... 57% 2.86M 24s
 36300K .......... .......... .......... .......... .......... 57% 3.43M 24s
 36350K .......... .......... .......... .......... .......... 57% 3.19M 24s
 36400K .......... .......... .......... .......... .......... 57% 3.26M 24s
 36450K .......... .......... .......... .......... .......... 57% 3.02M 24s
 36500K .......... .......... .......... .......... .......... 57% 2.10M 24s
 36550K .......... .......... .......... .......... .......... 57% 3.30M 23s
 36600K .......... .......... .......... .......... .......... 57% 3.32M 23s
 36650K .......... .......... .......... .......... .......... 58% 3.21M 23s
 36700K .......... .......... .......... .......... .......... 58%  863K 23s
 36750K .......... .......... .......... .......... .......... 58% 2.87M 23s
 36800K .......... .......... .......... .......... .......... 58% 3.41M 23s
 36850K .......... .......... .......... .......... .......... 58% 2.63M 23s
 36900K .......... .......... .......... .......... .......... 58% 3.31M 23s
 36950K .......... .......... .......... .......... .......... 58% 2.22M 23s
 37000K .......... .......... .......... .......... .......... 58% 2.69M 23s
 37050K .......... .......... .......... .......... .......... 58% 3.02M 23s
 37100K .......... .......... .......... .......... .......... 58% 2.39M 23s
 37150K .......... .......... .......... .......... .......... 58% 3.02M 23s
 37200K .......... .......... .......... .......... .......... 58% 2.66M 23s
 37250K .......... .......... .......... .......... .......... 58% 2.08M 23s
 37300K .......... .......... .......... .......... .......... 59% 3.16M 23s
 37350K .......... .......... .......... .......... .......... 59% 2.92M 23s
 37400K .......... .......... .......... .......... .......... 59% 2.53M 22s
 37450K .......... .......... .......... .......... .......... 59% 3.00M 22s
 37500K .......... .......... .......... .......... .......... 59% 2.96M 22s
 37550K .......... .......... .......... .......... .......... 59% 3.84M 22s
 37600K .......... .......... .......... .......... .......... 59% 1.57M 22s
 37650K .......... .......... .......... .......... .......... 59% 2.63M 22s
 37700K .......... .......... .......... .......... .......... 59% 2.30M 22s
 37750K .......... .......... .......... .......... .......... 59% 3.34M 22s
 37800K .......... .......... .......... .......... .......... 59% 2.92M 22s
 37850K .......... .......... .......... .......... .......... 59% 3.01M 22s
 37900K .......... .......... .......... .......... .......... 60% 2.82M 22s
 37950K .......... .......... .......... .......... .......... 60% 3.92M 22s
 38000K .......... .......... .......... .......... .......... 60% 2.68M 22s
 38050K .......... .......... .......... .......... .......... 60% 2.86M 22s
 38100K .......... .......... .......... .......... .......... 60% 3.24M 22s
 38150K .......... .......... .......... .......... .......... 60% 2.46M 22s
 38200K .......... .......... .......... .......... .......... 60% 1.99M 21s
 38250K .......... .......... .......... .......... .......... 60% 2.41M 21s
 38300K .......... .......... .......... .......... .......... 60% 3.01M 21s
 38350K .......... .......... .......... .......... .......... 60% 2.13M 21s
 38400K .......... .......... .......... .......... .......... 60% 3.27M 21s
 38450K .......... .......... .......... .......... .......... 60% 2.61M 21s
 38500K .......... .......... .......... .......... .......... 60% 2.90M 21s
 38550K .......... .......... .......... .......... .......... 61% 3.15M 21s
 38600K .......... .......... .......... .......... .......... 61% 3.30M 21s
 38650K .......... .......... .......... .......... .......... 61% 2.97M 21s
 38700K .......... .......... .......... .......... .......... 61% 2.94M 21s
 38750K .......... .......... .......... .......... .......... 61% 3.23M 21s
 38800K .......... .......... .......... .......... .......... 61% 3.80M 21s
 38850K .......... .......... .......... .......... .......... 61% 2.74M 21s
 38900K .......... .......... .......... .......... .......... 61% 2.71M 21s
 38950K .......... .......... .......... .......... .......... 61% 2.95M 21s
 39000K .......... .......... .......... .......... .......... 61% 3.18M 21s
 39050K .......... .......... .......... .......... .......... 61% 2.94M 20s
 39100K .......... .......... .......... .......... .......... 61% 2.78M 20s
 39150K .......... .......... .......... .......... .......... 61% 3.13M 20s
 39200K .......... .......... .......... .......... .......... 62% 3.15M 20s
 39250K .......... .......... .......... .......... .......... 62% 3.46M 20s
 39300K .......... .......... .......... .......... .......... 62% 3.37M 20s
 39350K .......... .......... .......... .......... .......... 62% 2.78M 20s
 39400K .......... .......... .......... .......... .......... 62% 3.21M 20s
 39450K .......... .......... .......... .......... .......... 62% 3.00M 20s
 39500K .......... .......... .......... .......... .......... 62% 3.23M 20s
 39550K .......... .......... .......... .......... .......... 62% 2.96M 20s
 39600K .......... .......... .......... .......... .......... 62% 2.36M 20s
 39650K .......... .......... .......... .......... .......... 62% 2.56M 20s
 39700K .......... .......... .......... .......... .......... 62% 2.41M 20s
 39750K .......... .......... .......... .......... .......... 62% 2.17M 20s
 39800K .......... .......... .......... .......... .......... 63% 2.50M 20s
 39850K .......... .......... .......... .......... .......... 63% 1.71M 20s
 39900K .......... .......... .......... .......... .......... 63% 1.87M 20s
 39950K .......... .......... .......... .......... .......... 63% 1.64M 19s
 40000K .......... .......... .......... .......... .......... 63% 2.08M 19s
 40050K .......... .......... .......... .......... .......... 63% 1.59M 19s
 40100K .......... .......... .......... .......... .......... 63% 1.71M 19s
 40150K .......... .......... .......... .......... .......... 63% 1.51M 19s
 40200K .......... .......... .......... .......... .......... 63% 2.31M 19s
 40250K .......... .......... .......... .......... .......... 63% 2.19M 19s
 40300K .......... .......... .......... .......... .......... 63% 1.45M 19s
 40350K .......... .......... .......... .......... .......... 63% 1.03M 19s
 40400K .......... .......... .......... .......... .......... 63% 1.81M 19s
 40450K .......... .......... .......... .......... .......... 64% 1.30M 19s
 40500K .......... .......... .......... .......... .......... 64% 1.34M 19s
 40550K .......... .......... .......... .......... .......... 64% 1.24M 19s
 40600K .......... .......... .......... .......... .......... 64% 1.15M 19s
 40650K .......... .......... .......... .......... .......... 64% 1.53M 19s
 40700K .......... .......... .......... .......... .......... 64% 1.31M 19s
 40750K .......... .......... .......... .......... .......... 64%  943K 19s
 40800K .......... .......... .......... .......... .......... 64% 1.03M 19s
 40850K .......... .......... .......... .......... .......... 64%  915K 19s
 40900K .......... .......... .......... .......... .......... 64% 1.17M 19s
 40950K .......... .......... .......... .......... .......... 64% 1022K 19s
 41000K .......... .......... .......... .......... .......... 64% 1.28M 19s
 41050K .......... .......... .......... .......... .......... 65% 1.13M 18s
 41100K .......... .......... .......... .......... .......... 65% 1.29M 18s
 41150K .......... .......... .......... .......... .......... 65% 1.27M 18s
 41200K .......... .......... .......... .......... .......... 65% 1.13M 18s
 41250K .......... .......... .......... .......... .......... 65% 1003K 18s
 41300K .......... .......... .......... .......... .......... 65% 1.18M 18s
 41350K .......... .......... .......... .......... .......... 65% 1.03M 18s
 41400K .......... .......... .......... .......... .......... 65% 1.28M 18s
 41450K .......... .......... .......... .......... .......... 65% 1.10M 18s
 41500K .......... .......... .......... .......... .......... 65% 1.28M 18s
 41550K .......... .......... .......... .......... .......... 65% 1.02M 18s
 41600K .......... .......... .......... .......... .......... 65% 1005K 18s
 41650K .......... .......... .......... .......... .......... 65% 1.18M 18s
 41700K .......... .......... .......... .......... .......... 66%  958K 18s
 41750K .......... .......... .......... .......... .......... 66%  901K 18s
 41800K .......... .......... .......... .......... .......... 66%  944K 18s
 41850K .......... .......... .......... .......... .......... 66%  910K 18s
 41900K .......... .......... .......... .......... .......... 66% 1.27M 18s
 41950K .......... .......... .......... .......... .......... 66%  755K 18s
 42000K .......... .......... .......... .......... .......... 66%  813K 18s
 42050K .......... .......... .......... .......... .......... 66%  847K 18s
 42100K .......... .......... .......... .......... .......... 66% 1.65M 18s
 42150K .......... .......... .......... .......... .......... 66% 2.55M 18s
 42200K .......... .......... .......... .......... .......... 66% 3.22M 18s
 42250K .......... .......... .......... .......... .......... 66% 2.97M 18s
 42300K .......... .......... .......... .......... .......... 66% 3.59M 17s
 42350K .......... .......... .......... .......... .......... 67% 2.94M 17s
 42400K .......... .......... .......... .......... .......... 67% 3.41M 17s
 42450K .......... .......... .......... .......... .......... 67% 1.72M 17s
 42500K .......... .......... .......... .......... .......... 67% 2.65M 17s
 42550K .......... .......... .......... .......... .......... 67% 3.10M 17s
 42600K .......... .......... .......... .......... .......... 67% 2.79M 17s
 42650K .......... .......... .......... .......... .......... 67% 3.24M 17s
 42700K .......... .......... .......... .......... .......... 67% 2.78M 17s
 42750K .......... .......... .......... .......... .......... 67% 3.42M 17s
 42800K .......... .......... .......... .......... .......... 67% 2.87M 17s
 42850K .......... .......... .......... .......... .......... 67% 2.49M 17s
 42900K .......... .......... .......... .......... .......... 67% 3.55M 17s
 42950K .......... .......... .......... .......... .......... 68% 3.49M 17s
 43000K .......... .......... .......... .......... .......... 68% 3.57M 17s
 43050K .......... .......... .......... .......... .......... 68% 3.16M 17s
 43100K .......... .......... .......... .......... .......... 68% 4.32M 17s
 43150K .......... .......... .......... .......... .......... 68% 3.89M 17s
 43200K .......... .......... .......... .......... .......... 68% 3.92M 16s
 43250K .......... .......... .......... .......... .......... 68% 2.90M 16s
 43300K .......... .......... .......... .......... .......... 68% 2.39M 16s
 43350K .......... .......... .......... .......... .......... 68% 2.93M 16s
 43400K .......... .......... .......... .......... .......... 68% 2.85M 16s
 43450K .......... .......... .......... .......... .......... 68% 3.35M 16s
 43500K .......... .......... .......... .......... .......... 68% 3.07M 16s
 43550K .......... .......... .......... .......... .......... 68% 3.32M 16s
 43600K .......... .......... .......... .......... .......... 69% 2.60M 16s
 43650K .......... .......... .......... .......... .......... 69% 2.49M 16s
 43700K .......... .......... .......... .......... .......... 69% 2.50M 16s
 43750K .......... .......... .......... .......... .......... 69% 2.30M 16s
 43800K .......... .......... .......... .......... .......... 69% 1.96M 16s
 43850K .......... .......... .......... .......... .......... 69% 2.94M 16s
 43900K .......... .......... .......... .......... .......... 69% 3.25M 16s
 43950K .......... .......... .......... .......... .......... 69% 3.24M 16s
 44000K .......... .......... .......... .......... .......... 69% 3.14M 16s
 44050K .......... .......... .......... .......... .......... 69% 4.32M 16s
 44100K .......... .......... .......... .......... .......... 69% 1.73M 16s
 44150K .......... .......... .......... .......... .......... 69% 3.38M 16s
 44200K .......... .......... .......... .......... .......... 69% 1.40M 15s
 44250K .......... .......... .......... .......... .......... 70% 2.87M 15s
 44300K .......... .......... .......... .......... .......... 70% 2.52M 15s
 44350K .......... .......... .......... .......... .......... 70% 3.60M 15s
 44400K .......... .......... .......... .......... .......... 70% 2.27M 15s
 44450K .......... .......... .......... .......... .......... 70% 3.82M 15s
 44500K .......... .......... .......... .......... .......... 70% 2.89M 15s
 44550K .......... .......... .......... .......... .......... 70% 2.76M 15s
 44600K .......... .......... .......... .......... .......... 70% 2.48M 15s
 44650K .......... .......... .......... .......... .......... 70% 3.15M 15s
 44700K .......... .......... .......... .......... .......... 70% 3.61M 15s
 44750K .......... .......... .......... .......... .......... 70% 3.03M 15s
 44800K .......... .......... .......... .......... .......... 70% 2.94M 15s
 44850K .......... .......... .......... .......... .......... 71% 3.86M 15s
 44900K .......... .......... .......... .......... .......... 71% 2.58M 15s
 44950K .......... .......... .......... .......... .......... 71% 1.11M 15s
 45000K .......... .......... .......... .......... .......... 71% 4.38M 15s
 45050K .......... .......... .......... .......... .......... 71% 4.13M 15s
 45100K .......... .......... .......... .......... .......... 71% 5.29M 15s
 45150K .......... .......... .......... .......... .......... 71% 3.84M 15s
 45200K .......... .......... .......... .......... .......... 71% 3.55M 14s
 45250K .......... .......... .......... .......... .......... 71% 2.06M 14s
 45300K .......... .......... .......... .......... .......... 71% 2.79M 14s
 45350K .......... .......... .......... .......... .......... 71% 3.68M 14s
 45400K .......... .......... .......... .......... .......... 71% 3.15M 14s
 45450K .......... .......... .......... .......... .......... 71% 3.42M 14s
 45500K .......... .......... .......... .......... .......... 72% 3.07M 14s
 45550K .......... .......... .......... .......... .......... 72% 4.06M 14s
 45600K .......... .......... .......... .......... .......... 72% 3.42M 14s
 45650K .......... .......... .......... .......... .......... 72%  187K 14s
 45700K .......... .......... .......... .......... .......... 72%  103M 14s
 45750K .......... .......... .......... .......... .......... 72%  217M 14s
 45800K .......... .......... .......... .......... .......... 72%  227M 14s
 45850K .......... .......... .......... .......... .......... 72%  222M 14s
 45900K .......... .......... .......... .......... .......... 72%  183M 14s
 45950K .......... .......... .......... .......... .......... 72%  229M 14s
 46000K .......... .......... .......... .......... .......... 72%  225M 14s
 46050K .......... .......... .......... .......... .......... 72%  232M 14s
 46100K .......... .......... .......... .......... .......... 72%  189M 14s
 46150K .......... .......... .......... .......... .......... 73%  228M 14s
 46200K .......... .......... .......... .......... .......... 73%  215M 14s
 46250K .......... .......... .......... .......... .......... 73%  214M 13s
 46300K .......... .......... .......... .......... .......... 73%  196M 13s
 46350K .......... .......... .......... .......... .......... 73%  233M 13s
 46400K .......... .......... .......... .......... .......... 73% 1.12M 13s
 46450K .......... .......... .......... .......... .......... 73% 2.71M 13s
 46500K .......... .......... .......... .......... .......... 73% 2.93M 13s
 46550K .......... .......... .......... .......... .......... 73% 2.95M 13s
 46600K .......... .......... .......... .......... .......... 73% 3.40M 13s
 46650K .......... .......... .......... .......... .......... 73% 2.27M 13s
 46700K .......... .......... .......... .......... .......... 73% 2.66M 13s
 46750K .......... .......... .......... .......... .......... 74% 2.69M 13s
 46800K .......... .......... .......... .......... .......... 74% 2.67M 13s
 46850K .......... .......... .......... .......... .......... 74% 2.89M 13s
 46900K .......... .......... .......... .......... .......... 74% 3.97M 13s
 46950K .......... .......... .......... .......... .......... 74% 2.36M 13s
 47000K .......... .......... .......... .......... .......... 74% 3.21M 13s
 47050K .......... .......... .......... .......... .......... 74% 3.27M 13s
 47100K .......... .......... .......... .......... .......... 74% 4.25M 13s
 47150K .......... .......... .......... .......... .......... 74% 2.77M 13s
 47200K .......... .......... .......... .......... .......... 74% 4.05M 13s
 47250K .......... .......... .......... .......... .......... 74% 2.71M 12s
 47300K .......... .......... .......... .......... .......... 74% 3.42M 12s
 47350K .......... .......... .......... .......... .......... 74% 2.48M 12s
 47400K .......... .......... .......... .......... .......... 75% 2.26M 12s
 47450K .......... .......... .......... .......... .......... 75% 1.73M 12s
 47500K .......... .......... .......... .......... .......... 75% 2.17M 12s
 47550K .......... .......... .......... .......... .......... 75% 2.04M 12s
 47600K .......... .......... .......... .......... .......... 75% 2.13M 12s
 47650K .......... .......... .......... .......... .......... 75% 2.00M 12s
 47700K .......... .......... .......... .......... .......... 75% 2.42M 12s
 47750K .......... .......... .......... .......... .......... 75% 2.63M 12s
 47800K .......... .......... .......... .......... .......... 75% 3.32M 12s
 47850K .......... .......... .......... .......... .......... 75% 2.01M 12s
 47900K .......... .......... .......... .......... .......... 75% 1.47M 12s
 47950K .......... .......... .......... .......... .......... 75% 1.77M 12s
 48000K .......... .......... .......... .......... .......... 75% 2.12M 12s
 48050K .......... .......... .......... .......... .......... 76% 1.40M 12s
 48100K .......... .......... .......... .......... .......... 76% 1.37M 12s
 48150K .......... .......... .......... .......... .......... 76% 1.25M 12s
 48200K .......... .......... .......... .......... .......... 76% 1.49M 12s
 48250K .......... .......... .......... .......... .......... 76% 2.87M 12s
 48300K .......... .......... .......... .......... .......... 76% 2.46M 12s
 48350K .......... .......... .......... .......... .......... 76% 2.81M 12s
 48400K .......... .......... .......... .......... .......... 76% 3.40M 11s
 48450K .......... .......... .......... .......... .......... 76% 3.54M 11s
 48500K .......... .......... .......... .......... .......... 76% 3.16M 11s
 48550K .......... .......... .......... .......... .......... 76% 3.24M 11s
 48600K .......... .......... .......... .......... .......... 76% 3.47M 11s
 48650K .......... .......... .......... .......... .......... 77% 4.06M 11s
 48700K .......... .......... .......... .......... .......... 77% 4.01M 11s
 48750K .......... .......... .......... .......... .......... 77% 1.93M 11s
 48800K .......... .......... .......... .......... .......... 77% 3.51M 11s
 48850K .......... .......... .......... .......... .......... 77% 3.03M 11s
 48900K .......... .......... .......... .......... .......... 77% 2.62M 11s
 48950K .......... .......... .......... .......... .......... 77% 3.04M 11s
 49000K .......... .......... .......... .......... .......... 77% 2.94M 11s
 49050K .......... .......... .......... .......... .......... 77% 3.28M 11s
 49100K .......... .......... .......... .......... .......... 77% 3.71M 11s
 49150K .......... .......... .......... .......... .......... 77% 3.95M 11s
 49200K .......... .......... .......... .......... .......... 77% 3.72M 11s
 49250K .......... .......... .......... .......... .......... 77% 3.15M 11s
 49300K .......... .......... .......... .......... .......... 78% 3.27M 11s
 49350K .......... .......... .......... .......... .......... 78% 3.21M 11s
 49400K .......... .......... .......... .......... .......... 78% 3.20M 11s
 49450K .......... .......... .......... .......... .......... 78% 4.49M 11s
 49500K .......... .......... .......... .......... .......... 78% 3.44M 10s
 49550K .......... .......... .......... .......... .......... 78% 2.11M 10s
 49600K .......... .......... .......... .......... .......... 78% 2.20M 10s
 49650K .......... .......... .......... .......... .......... 78% 2.26M 10s
 49700K .......... .......... .......... .......... .......... 78% 2.43M 10s
 49750K .......... .......... .......... .......... .......... 78% 1.58M 10s
 49800K .......... .......... .......... .......... .......... 78% 1.22M 10s
 49850K .......... .......... .......... .......... .......... 78% 1.16M 10s
 49900K .......... .......... .......... .......... .......... 79% 1.73M 10s
 49950K .......... .......... .......... .......... .......... 79% 1.29M 10s
 50000K .......... .......... .......... .......... .......... 79% 1.42M 10s
 50050K .......... .......... .......... .......... .......... 79% 1.30M 10s
 50100K .......... .......... .......... .......... .......... 79% 1.95M 10s
 50150K .......... .......... .......... .......... .......... 79% 1.77M 10s
 50200K .......... .......... .......... .......... .......... 79% 1.41M 10s
 50250K .......... .......... .......... .......... .......... 79% 2.27M 10s
 50300K .......... .......... .......... .......... .......... 79% 1.70M 10s
 50350K .......... .......... .......... .......... .......... 79% 3.35M 10s
 50400K .......... .......... .......... .......... .......... 79% 2.65M 10s
 50450K .......... .......... .......... .......... .......... 79% 1.46M 10s
 50500K .......... .......... .......... .......... .......... 79% 1.81M 10s
 50550K .......... .......... .......... .......... .......... 80% 1.49M 10s
 50600K .......... .......... .......... .......... .......... 80% 2.18M 10s
 50650K .......... .......... .......... .......... .......... 80%  913K 10s
 50700K .......... .......... .......... .......... .......... 80% 1.28M 10s
 50750K .......... .......... .......... .......... .......... 80% 1.07M 9s
 50800K .......... .......... .......... .......... .......... 80% 1.54M 9s
 50850K .......... .......... .......... .......... .......... 80% 1.24M 9s
 50900K .......... .......... .......... .......... .......... 80%  324K 9s
 50950K .......... .......... .......... .......... .......... 80%  507K 9s
 51000K .......... .......... .......... .......... .......... 80%  853K 9s
 51050K .......... .......... .......... .......... .......... 80% 1.08M 9s
 51100K .......... .......... .......... .......... .......... 80%  711K 9s
 51150K .......... .......... .......... .......... .......... 80%  372K 9s
 51200K .......... .......... .......... .......... .......... 81%  644K 9s
 51250K .......... .......... .......... .......... .......... 81%  562K 9s
 51300K .......... .......... .......... .......... .......... 81%  867K 9s
 51350K .......... .......... .......... .......... .......... 81%  734K 9s
 51400K .......... .......... .......... .......... .......... 81%  820K 9s
 51450K .......... .......... .......... .......... .......... 81%  845K 9s
 51500K .......... .......... .......... .......... .......... 81%  440K 9s
 51550K .......... .......... .......... .......... .......... 81%  396K 9s
 51600K .......... .......... .......... .......... .......... 81%  367K 9s
 51650K .......... .......... .......... .......... .......... 81%  525K 9s
 51700K .......... .......... .......... .......... .......... 81%  429K 9s
 51750K .......... .......... .......... .......... .......... 81%  116K 9s
 51800K .......... .......... .......... .......... .......... 82%  537K 9s
 51850K .......... .......... .......... .......... .......... 82% 58.3K 9s
 51900K .......... .......... .......... .......... .......... 82%  312M 9s
 51950K .......... .......... .......... .......... .......... 82%  277M 9s
 52000K .......... .......... .......... .......... .......... 82%  335M 9s
 52050K .......... .......... .......... .......... .......... 82%  340M 9s
 52100K .......... .......... .......... .......... .......... 82%  328M 9s
 52150K .......... .......... .......... .......... .......... 82%  288M 9s
 52200K .......... .......... .......... .......... .......... 82%  823K 9s
 52250K .......... .......... .......... .......... .......... 82%  244M 9s
 52300K .......... .......... .......... .......... .......... 82%  112M 9s
 52350K .......... .......... .......... .......... .......... 82%  318M 9s
 52400K .......... .......... .......... .......... .......... 82% 4.36M 9s
 52450K .......... .......... .......... .......... .......... 83% 75.8M 9s
 52500K .......... .......... .......... .......... .......... 83%  287M 9s
 52550K .......... .......... .......... .......... .......... 83%  344M 8s
 52600K .......... .......... .......... .......... .......... 83% 3.16M 8s
 52650K .......... .......... .......... .......... .......... 83% 1.08M 8s
 52700K .......... .......... .......... .......... .......... 83% 1.14M 8s
 52750K .......... .......... .......... .......... .......... 83% 1.69M 8s
 52800K .......... .......... .......... .......... .......... 83% 1.32M 8s
 52850K .......... .......... .......... .......... .......... 83%  710K 8s
 52900K .......... .......... .......... .......... .......... 83% 1.27M 8s
 52950K .......... .......... .......... .......... .......... 83% 1.15M 8s
 53000K .......... .......... .......... .......... .......... 83% 1.03M 8s
 53050K .......... .......... .......... .......... .......... 83% 2.26M 8s
 53100K .......... .......... .......... .......... .......... 84% 2.17M 8s
 53150K .......... .......... .......... .......... .......... 84% 3.70M 8s
 53200K .......... .......... .......... .......... .......... 84% 2.48M 8s
 53250K .......... .......... .......... .......... .......... 84% 1.38M 8s
 53300K .......... .......... .......... .......... .......... 84% 2.87M 8s
 53350K .......... .......... .......... .......... .......... 84% 2.36M 8s
 53400K .......... .......... .......... .......... .......... 84% 2.24M 8s
 53450K .......... .......... .......... .......... .......... 84% 2.06M 8s
 53500K .......... .......... .......... .......... .......... 84%  662K 8s
 53550K .......... .......... .......... .......... .......... 84% 1.03M 8s
 53600K .......... .......... .......... .......... .......... 84% 1.12M 8s
 53650K .......... .......... .......... .......... .......... 84% 1.02M 8s
 53700K .......... .......... .......... .......... .......... 85%  596K 8s
 53750K .......... .......... .......... .......... .......... 85% 1.27M 7s
 53800K .......... .......... .......... .......... .......... 85% 1.40M 7s
 53850K .......... .......... .......... .......... .......... 85% 1.17M 7s
 53900K .......... .......... .......... .......... .......... 85% 1.29M 7s
 53950K .......... .......... .......... .......... .......... 85%  705K 7s
 54000K .......... .......... .......... .......... .......... 85% 1.83M 7s
 54050K .......... .......... .......... .......... .......... 85% 1.19M 7s
 54100K .......... .......... .......... .......... .......... 85% 1.24M 7s
 54150K .......... .......... .......... .......... .......... 85% 1.41M 7s
 54200K .......... .......... .......... .......... .......... 85% 1.30M 7s
 54250K .......... .......... .......... .......... .......... 85% 1.38M 7s
 54300K .......... .......... .......... .......... .......... 85% 1.47M 7s
 54350K .......... .......... .......... .......... .......... 86% 1.12M 7s
 54400K .......... .......... .......... .......... .......... 86% 1.46M 7s
 54450K .......... .......... .......... .......... .......... 86% 2.35M 7s
 54500K .......... .......... .......... .......... .......... 86% 1.17M 7s
 54550K .......... .......... .......... .......... .......... 86% 1.41M 7s
 54600K .......... .......... .......... .......... .......... 86% 1.33M 7s
 54650K .......... .......... .......... .......... .......... 86% 1.18M 7s
 54700K .......... .......... .......... .......... .......... 86% 1.18M 7s
 54750K .......... .......... .......... .......... .......... 86% 1.55M 7s
 54800K .......... .......... .......... .......... .......... 86%  621K 7s
 54850K .......... .......... .......... .......... .......... 86%  965K 7s
 54900K .......... .......... .......... .......... .......... 86%  594K 7s
 54950K .......... .......... .......... .......... .......... 86% 1.01M 7s
 55000K .......... .......... .......... .......... .......... 87%  544K 7s
 55050K .......... .......... .......... .......... .......... 87%  394K 6s
 55100K .......... .......... .......... .......... .......... 87%  531K 6s
 55150K .......... .......... .......... .......... .......... 87%  600K 6s
 55200K .......... .......... .......... .......... .......... 87%  544K 6s
 55250K .......... .......... .......... .......... .......... 87%  505K 6s
 55300K .......... .......... .......... .......... .......... 87% 75.1K 6s
 55350K .......... .......... .......... .......... .......... 87%  452K 6s
 55400K .......... .......... .......... .......... .......... 87%  410K 6s
 55450K .......... .......... .......... .......... .......... 87%  492K 6s
 55500K .......... .......... .......... .......... .......... 87%  490K 6s
 55550K .......... .......... .......... .......... .......... 87%  547K 6s
 55600K .......... .......... .......... .......... .......... 88% 1.78M 6s
 55650K .......... .......... .......... .......... .......... 88%  965K 6s
 55700K .......... .......... .......... .......... .......... 88%  594K 6s
 55750K .......... .......... .......... .......... .......... 88%  689K 6s
 55800K .......... .......... .......... .......... .......... 88% 1018K 6s
 55850K .......... .......... .......... .......... .......... 88%  576K 6s
 55900K .......... .......... .......... .......... .......... 88% 1.14M 6s
 55950K .......... .......... .......... .......... .......... 88%  996K 6s
 56000K .......... .......... .......... .......... .......... 88% 1.33M 6s
 56050K .......... .......... .......... .......... .......... 88% 1.08M 6s
 56100K .......... .......... .......... .......... .......... 88% 1.25M 6s
 56150K .......... .......... .......... .......... .......... 88%  759K 6s
 56200K .......... .......... .......... .......... .......... 88% 1015K 6s
 56250K .......... .......... .......... .......... .......... 89% 1.10M 6s
 56300K .......... .......... .......... .......... .......... 89%  600K 6s
 56350K .......... .......... .......... .......... .......... 89% 1.30M 6s
 56400K .......... .......... .......... .......... .......... 89%  944K 6s
 56450K .......... .......... .......... .......... .......... 89% 1.22M 6s
 56500K .......... .......... .......... .......... .......... 89% 1.25M 5s
 56550K .......... .......... .......... .......... .......... 89% 1.17M 5s
 56600K .......... .......... .......... .......... .......... 89% 1.47M 5s
 56650K .......... .......... .......... .......... .......... 89% 1.27M 5s
 56700K .......... .......... .......... .......... .......... 89% 1.49M 5s
 56750K .......... .......... .......... .......... .......... 89% 1.20M 5s
 56800K .......... .......... .......... .......... .......... 89% 1.33M 5s
 56850K .......... .......... .......... .......... .......... 89%  966K 5s
 56900K .......... .......... .......... .......... .......... 90%  905K 5s
 56950K .......... .......... .......... .......... .......... 90%  870K 5s
 57000K .......... .......... .......... .......... .......... 90%  745K 5s
 57050K .......... .......... .......... .......... .......... 90%  578K 5s
 57100K .......... .......... .......... .......... .......... 90% 1.01M 5s
 57150K .......... .......... .......... .......... .......... 90% 1.08M 5s
 57200K .......... .......... .......... .......... .......... 90% 1.11M 5s
 57250K .......... .......... .......... .......... .......... 90%  902K 5s
 57300K .......... .......... .......... .......... .......... 90% 2.15M 5s
 57350K .......... .......... .......... .......... .......... 90% 1.24M 5s
 57400K .......... .......... .......... .......... .......... 90% 1.55M 5s
 57450K .......... .......... .......... .......... .......... 90% 1.16M 5s
 57500K .......... .......... .......... .......... .......... 91% 1.24M 5s
 57550K .......... .......... .......... .......... .......... 91% 1.88M 5s
 57600K .......... .......... .......... .......... .......... 91%  965K 5s
 57650K .......... .......... .......... .......... .......... 91%  971K 5s
 57700K .......... .......... .......... .......... .......... 91% 1.54M 5s
 57750K .......... .......... .......... .......... .......... 91% 1.30M 4s
 57800K .......... .......... .......... .......... .......... 91% 2.25M 4s
 57850K .......... .......... .......... .......... .......... 91% 2.08M 4s
 57900K .......... .......... .......... .......... .......... 91% 1.94M 4s
 57950K .......... .......... .......... .......... .......... 91% 2.12M 4s
 58000K .......... .......... .......... .......... .......... 91% 1.81M 4s
 58050K .......... .......... .......... .......... .......... 91% 1.26M 4s
 58100K .......... .......... .......... .......... .......... 91% 1.06M 4s
 58150K .......... .......... .......... .......... .......... 92% 1.08M 4s
 58200K .......... .......... .......... .......... .......... 92% 1.36M 4s
 58250K .......... .......... .......... .......... .......... 92% 1.38M 4s
 58300K .......... .......... .......... .......... .......... 92% 1.43M 4s
 58350K .......... .......... .......... .......... .......... 92% 1015K 4s
 58400K .......... .......... .......... .......... .......... 92% 1.22M 4s
 58450K .......... .......... .......... .......... .......... 92% 1.26M 4s
 58500K .......... .......... .......... .......... .......... 92% 1.59M 4s
 58550K .......... .......... .......... .......... .......... 92% 1.56M 4s
 58600K .......... .......... .......... .......... .......... 92% 2.03M 4s
 58650K .......... .......... .......... .......... .......... 92% 1.84M 4s
 58700K .......... .......... .......... .......... .......... 92% 1.39M 4s
 58750K .......... .......... .......... .......... .......... 92%  287K 4s
 58800K .......... .......... .......... .......... .......... 93% 1.45M 4s
 58850K .......... .......... .......... .......... .......... 93% 1.51M 4s
 58900K .......... .......... .......... .......... .......... 93% 1.44M 4s
 58950K .......... .......... .......... .......... .......... 93% 1.10M 3s
 59000K .......... .......... .......... .......... .......... 93% 1.98M 3s
 59050K .......... .......... .......... .......... .......... 93% 2.57M 3s
 59100K .......... .......... .......... .......... .......... 93% 1.24M 3s
 59150K .......... .......... .......... .......... .......... 93% 1.84M 3s
 59200K .......... .......... .......... .......... .......... 93% 1.70M 3s
 59250K .......... .......... .......... .......... .......... 93% 1.27M 3s
 59300K .......... .......... .......... .......... .......... 93% 1.24M 3s
 59350K .......... .......... .......... .......... .......... 93% 1.26M 3s
 59400K .......... .......... .......... .......... .......... 94% 1.53M 3s
 59450K .......... .......... .......... .......... .......... 94% 2.24M 3s
 59500K .......... .......... .......... .......... .......... 94% 2.03M 3s
 59550K .......... .......... .......... .......... .......... 94% 1.44M 3s
 59600K .......... .......... .......... .......... .......... 94% 1.54M 3s
 59650K .......... .......... .......... .......... .......... 94% 1.38M 3s
 59700K .......... .......... .......... .......... .......... 94% 1.39M 3s
 59750K .......... .......... .......... .......... .......... 94%  716K 3s
 59800K .......... .......... .......... .......... .......... 94%  623K 3s
 59850K .......... .......... .......... .......... .......... 94%  522K 3s
 59900K .......... .......... .......... .......... .......... 94%  859K 3s
 59950K .......... .......... .......... .......... .......... 94%  592K 3s
 60000K .......... .......... .......... .......... .......... 94%  813K 3s
 60050K .......... .......... .......... .......... .......... 95%  705K 3s
 60100K .......... .......... .......... .......... .......... 95%  971K 3s
 60150K .......... .......... .......... .......... .......... 95%  806K 3s
 60200K .......... .......... .......... .......... .......... 95%  962K 2s
 60250K .......... .......... .......... .......... .......... 95%  928K 2s
 60300K .......... .......... .......... .......... .......... 95% 1.33M 2s
 60350K .......... .......... .......... .......... .......... 95%  921K 2s
 60400K .......... .......... .......... .......... .......... 95% 2.81M 2s
 60450K .......... .......... .......... .......... .......... 95% 1.49M 2s
 60500K .......... .......... .......... .......... .......... 95%  831K 2s
 60550K .......... .......... .......... .......... .......... 95%  933K 2s
 60600K .......... .......... .......... .......... .......... 95%  854K 2s
 60650K .......... .......... .......... .......... .......... 96%  750K 2s
 60700K .......... .......... .......... .......... .......... 96%  903K 2s
 60750K .......... .......... .......... .......... .......... 96%  729K 2s
 60800K .......... .......... .......... .......... .......... 96%  442K 2s
 60850K .......... .......... .......... .......... .......... 96%  632K 2s
 60900K .......... .......... .......... .......... .......... 96%  661K 2s
 60950K .......... .......... .......... .......... .......... 96%  659K 2s
 61000K .......... .......... .......... .......... .......... 96%  843K 2s
 61050K .......... .......... .......... .......... .......... 96% 1.06M 2s
 61100K .......... .......... .......... .......... .......... 96%  874K 2s
 61150K .......... .......... .......... .......... .......... 96% 1.62M 2s
 61200K .......... .......... .......... .......... .......... 96% 3.82M 2s
 61250K .......... .......... .......... .......... .......... 96% 4.49M 2s
 61300K .......... .......... .......... .......... .......... 97% 2.97M 2s
 61350K .......... .......... .......... .......... .......... 97% 3.83M 2s
 61400K .......... .......... .......... .......... .......... 97% 3.20M 1s
 61450K .......... .......... .......... .......... .......... 97% 3.52M 1s
 61500K .......... .......... .......... .......... .......... 97% 2.92M 1s
 61550K .......... .......... .......... .......... .......... 97% 3.29M 1s
 61600K .......... .......... .......... .......... .......... 97% 3.41M 1s
 61650K .......... .......... .......... .......... .......... 97% 3.75M 1s
 61700K .......... .......... .......... .......... .......... 97% 3.07M 1s
 61750K .......... .......... .......... .......... .......... 97% 3.88M 1s
 61800K .......... .......... .......... .......... .......... 97% 2.54M 1s
 61850K .......... .......... .......... .......... .......... 97% 2.05M 1s
 61900K .......... .......... .......... .......... .......... 97% 3.78M 1s
 61950K .......... .......... .......... .......... .......... 98% 3.30M 1s
 62000K .......... .......... .......... .......... .......... 98% 3.31M 1s
 62050K .......... .......... .......... .......... .......... 98% 4.22M 1s
 62100K .......... .......... .......... .......... .......... 98% 3.72M 1s
 62150K .......... .......... .......... .......... .......... 98% 4.95M 1s
 62200K .......... .......... .......... .......... .......... 98% 3.32M 1s
 62250K .......... .......... .......... .......... .......... 98% 3.63M 1s
 62300K .......... .......... .......... .......... .......... 98% 3.90M 1s
 62350K .......... .......... .......... .......... .......... 98% 3.56M 1s
 62400K .......... .......... .......... .......... .......... 98% 3.03M 1s
 62450K .......... .......... .......... .......... .......... 98% 3.89M 1s
 62500K .......... .......... .......... .......... .......... 98% 4.26M 1s
 62550K .......... .......... .......... .......... .......... 99% 3.84M 1s
 62600K .......... .......... .......... .......... .......... 99% 3.65M 0s
 62650K .......... .......... .......... .......... .......... 99% 2.64M 0s
 62700K .......... .......... .......... .......... .......... 99% 4.10M 0s
 62750K .......... .......... .......... .......... .......... 99% 3.54M 0s
 62800K .......... .......... .......... .......... .......... 99% 3.66M 0s
 62850K .......... .......... .......... .......... .......... 99% 3.45M 0s
 62900K .......... .......... .......... .......... .......... 99% 3.27M 0s
 62950K .......... .......... .......... .......... .......... 99% 2.87M 0s
 63000K .......... .......... .......... .......... .......... 99% 4.06M 0s
 63050K .......... .......... .......... .......... .......... 99% 3.53M 0s
 63100K .......... .......... .......... .......... .......... 99% 2.05M 0s
 63150K .......... .......... .......... .......... .......... 99% 3.31M 0s
 63200K .......... .......... .......                         100% 1.70M=51s

2018-11-29 15:46:15 (1.20 MB/s) - ‘data/sample_info/metasra.v1-4.json’ saved [64744709/64744709]

Libraries, functions

# BiocInstaller::biocLite("SRAdb")
# library(SRAdb)
# magrittr pipe
`%>%` <- dplyr::`%>%`

Custom function for converting between the sample (e.g., SRS) accession codes and the sample names in recount2 which follow this pattern: SRPxxxxxx.SRRxxxxx

ConvertToRecountSampleName <- function(sample.vector, conversion.df) {
  # Takes a vector of sample accession codes and converts them to sample/column
  # names for use with recount2 expression matrices
  # 
  # Args:
  #   sample.vector: a vector of sample accession codes
  #   conversion.df: a data.frame that provides the mappings between study,
  #                  sample, and run accession codes -- must have "run", 
  #                  "study", and "sample" column names
  # 
  # Returns:
  #   sample.names: a vector of sample/column names for use with recount2 --
  #                 these are the study and run accession codes separated with
  #                 a `.`
  
  # error handling
  check.colnames <- all(c("run", "study", "sample") %in% 
                            colnames(conversion.df))
  if (!check.colnames) {
    stop("colnames(conversion.df) must contain 'run', 'study', 'sample'")
  }
  
  # magrittr pipe, just in case
  `%>%` <- dplyr::`%>%`
  
  # filter to only the samples in the supplied vector and then concatenate their
  # study and sample accession codes
  sample.names.df <- conversion.df %>%
    dplyr::filter(`sample` %in% sample.vector) %>%
    dplyr::mutate(recount.name = paste(study, run, sep = "."))
 
  # return a vector of the recount2 names
  return(sample.names.df$recount.name) 
}

Read in data

recount2 data used to train PLIER

plier.file <- file.path("data", "recount2_PLIER_data", 
                        "recount_data_prep_PLIER.RDS")
plier.data <- readRDS(plier.file)

The experiment accession is in the column name of the expression data matrix, as is the run accession.

experiment.accession <- unique(stringr::word(colnames(plier.data$rpkm.cm), 1, 
                                             sep = "[.]"))
head(experiment.accession)
[1] "SRP000599" "SRP001313" "SRP001349" "SRP001462" "SRP001540" "SRP001558"
run.accession <- stringr::word(colnames(plier.data$rpkm.cm), 2, sep = "[.]")
# remove the training data from the workspace, we no longer need it
rm(plier.data)

MetaSRA

metasra.file <- file.path("data", "sample_info", "metasra.v1-4.json")
metasra <- jsonlite::read_json(metasra.file)

The MetaSRA project uses sample identifiers (SRS), whereas recount2 uses study (SRP) and run (SRR) identifiers. We’ll need to convert between the two. We’ll use the SRAdb Bioconductor package to do so.

Identifier conversion

For notebook purposes, I will comment most of this out, as the file downloaded and unzipped by calling SRAdb::getSRAdbFile() is ~35GB. I will save (& commit) the most important part: the data.frame that contains the mapping between accessions.

# sql.file <- getSRAdbFile()
# sql.file <- "SRAmetadb.sqlite"
# sra.con <- dbConnect(SQLite(), sql.file)  
# given the run accession, return the study and sample accesions
# conversion.df <- sraConvert(run.accession, 
#                             out_type = c("study", "sample"), sra.con)
# conversion.file <- file.path("data/sample_info/recount2_srr_srs_srp.tsv")
# readr::write_tsv(conversion.df, conversion.file)
# md5sum SRAmetadb.sqlite

Because we’ve commented the above out for size concerns, we’ll go ahead and read conversion.df back in using the TSV file we’ve saved and committed.

conversion.file <- file.path("data", "sample_info", "recount2_srr_srs_srp.tsv")
conversion.df <- readr::read_tsv(conversion.file)
Parsed with column specification:
cols(
  run = col_character(),
  study = col_character(),
  sample = col_character()
)

Describe recount2

We’ll also use these metadata to split the recount2 data into different training sets based on the biological conditions or sample types.

# only proceed with samples that are in the recount2 compendium that we used
filtered.metasra <- metasra[which(names(metasra) %in% conversion.df$sample)]

Not all of the runs in the subset of the recount2 compendium we used are present in MetaSRA.

length(filtered.metasra) / length(unique(conversion.df$sample))
[1] 0.9940266

But the majority are.

Sample type

The MetaSRA project (Bernstein, Doan, and Dewey. Bioinformatics. 2017.) predicted the “sample type” – e.g., cell line vs. tissue. What’s the breakdown in the compendium we used for training (with no regard for confidence)?

sample.type <- lapply(filtered.metasra, function(x) x$`sample type`)
table(unlist(sample.type))

                         cell line      in vitro differentiated cells induced pluripotent stem cell line 
                             11760                               1760                                545 
                     primary cells                         stem cells                             tissue 
                              4663                               1120                              10272 

The bulk of samples are predicted to be cell lines and tissue samples. Let’s get a list of recount2 sample/column names for the cell line samples and the tissue samples.

cell.line.samples <- names(sample.type[which(sample.type == "cell line")])
cell.line.accessions <- ConvertToRecountSampleName(cell.line.samples,
                                                   conversion.df)
cell.line.file <- file.path("data", "sample_info", 
                            "recount2_cell_line_accessions.tsv")
write.table(cell.line.accessions, file = cell.line.file, sep = "\t", 
            row.names = FALSE, col.names = FALSE, quote = FALSE)
tissue.samples <- names(sample.type[which(sample.type == "tissue")])
tissue.accessions <- ConvertToRecountSampleName(tissue.samples,
                                                   conversion.df)
tissue.file <- file.path("data", "sample_info", 
                         "recount2_tissue_accessions.tsv")
write.table(tissue.accessions, file = tissue.file, sep = "\t", 
            row.names = FALSE, col.names = FALSE, quote = FALSE)

Experimental Factor Ontology (EFO)

We’ll use the mapped ontology terms – specifically, the mapped Experimental Factor Ontology terms – provided in MetaSRA to get an idea of what’s in our training set.

We’ve been asked specifically about autoimmune samples and cancer samples, so let’s start there.

Autoimmune disease

# "autoimmune disease"
# https://www.ebi.ac.uk/ols/ontologies/efo/terms?short_form=EFO_0005140
autoimmune.samples <- 
  lapply(filtered.metasra, 
         function(x) any("EFO:0005140" %in% x$`mapped ontology terms`))
sum(unlist(autoimmune.samples))
[1] 99

There are 99 SLE samples (and 18 controls) in the single SLE whole blood data set in recount2 (SRP062966).

Cancer

# "cancer"
# https://www.ebi.ac.uk/ols/ontologies/efo/terms?short_form=EFO_0000311
cancer.samples <- 
  lapply(filtered.metasra, 
         function(x) any("EFO:0000311" %in% x$`mapped ontology terms`))
sum(unlist(cancer.samples))
[1] 6760

Let’s write these accession codes to file.

# just use the accession code, which is the name of the list for which the
# element == TRUE
cancer.samples <- names(cancer.samples[which(unlist(cancer.samples))])
cancer.accessions <- 
  ConvertToRecountSampleName(cancer.samples, 
                             conversion.df)
cancer.file <- file.path("data", "sample_info", 
                         "recount2_cancer_accessions.tsv")
write.table(cancer.accessions, file = cancer.file, sep = "\t", 
            row.names = FALSE, col.names = FALSE, quote = FALSE)

What about treated samples?

treatment

From EFO term:

A process in which the act is intended to modify or alter some other material entity

# "treatment"
# https://www.ebi.ac.uk/ols/ontologies/efo/terms?short_form=EFO_0000727
treatment.samples <- 
  lapply(filtered.metasra, 
         function(x) any("EFO:0000727" %in% x$`mapped ontology terms`))
sum(unlist(treatment.samples))
[1] 4506

Blood samples

We’ll want to train models exclusively on blood samples and on everything-but-blood samples. We’re interested in this because the model learns leukocyte associated latent variables.

We’ll use the Uberon term for this UBERON:0000178

blood.samples <- 
  lapply(filtered.metasra, 
         function(x) any("UBERON:0000178" %in% x$`mapped ontology terms`))
sum(unlist(blood.samples))
[1] 2973

Convert the blood samples and the everything-but-blood samples to the recount2 sample/column names and write to file.

# just the accession codes
blood.samples <- names(blood.samples[which(unlist(blood.samples))])
blood.accessions <- ConvertToRecountSampleName(blood.samples, conversion.df)
blood.file <- file.path("data", "sample_info", 
                        "recount2_blood_accessions.tsv")
write.table(blood.accessions, file = blood.file, sep = "\t", 
            row.names = FALSE, col.names = FALSE, quote = FALSE)
not.blood.samples <- setdiff(names(filtered.metasra), blood.samples)
not.blood.accessions <- ConvertToRecountSampleName(not.blood.samples, 
                                                   conversion.df)
not.blood.file <- file.path("data", "sample_info", 
                            "recount2_other_tissues_accessions.tsv")
write.table(not.blood.accessions, file = not.blood.file, sep = "\t", 
            row.names = FALSE, col.names = FALSE, quote = FALSE)
LS0tCnRpdGxlOiAiRGVzY3JpYmUgcmVjb3VudDIgY29tcGVuZGl1bSIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKKipKLiBUYXJvbmkgMjAxOCoqCgpJbiByZXNwb25zZSB0byBjb21tZW50cywgd2Ugd2lzaCB0byBwcm92aWRlIGEgYml0IG1vcmUgYmFja2dyb3VuZCBpbmZvcm1hdGlvbiAKYWJvdXQgdGhlIHJlY291bnQyIGNvbXBlbmRpdW0uClRvIGRvIHNvLCB3ZSdsbCBnYXRoZXIgaW5mb3JtYXRpb24gZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CgoqIFRoZSBleHByZXNzaW9uIGRhdGEgdXNlZCB0byB0cmFpbiB0aGUgbW9kZWwKKiBbTWV0YVNSQV0oaHR0cDovL21ldGFzcmEuYmlvc3RhdC53aXNjLmVkdS9pbmRleC5odG1sKQoqIFNSQWRiIChmb3IgYWNjZXNzaW9uIGlkZW50aWZpZXIgY29udmVyc2lvbikKCiMjIERvd25sb2FkIE1ldGFTUkEgZGF0YQoKYGBge3NofQp3Z2V0IC1OIC1PIGRhdGEvc2FtcGxlX2luZm8vbWV0YXNyYS52MS00Lmpzb24gaHR0cDovL21ldGFzcmEuYmlvc3RhdC53aXNjLmVkdS9zdGF0aWMvbWV0YXNyYV92ZXJzaW9ucy92MS40L21ldGFzcmEudjEtNC5qc29uCmBgYAoKIyMgTGlicmFyaWVzLCBmdW5jdGlvbnMKCmBgYHtyfQojIEJpb2NJbnN0YWxsZXI6OmJpb2NMaXRlKCJTUkFkYiIpCiMgbGlicmFyeShTUkFkYikKCiMgbWFncml0dHIgcGlwZQpgJT4lYCA8LSBkcGx5cjo6YCU+JWAKYGBgCgpDdXN0b20gZnVuY3Rpb24gZm9yIGNvbnZlcnRpbmcgYmV0d2VlbiB0aGUgc2FtcGxlIChlLmcuLCBgU1JTYCkgYWNjZXNzaW9uIGNvZGVzCmFuZCB0aGUgc2FtcGxlIG5hbWVzIGluIHJlY291bnQyIHdoaWNoIGZvbGxvdyB0aGlzIHBhdHRlcm46IGBTUlB4eHh4eHguU1JSeHh4eHhgCgpgYGB7cn0KQ29udmVydFRvUmVjb3VudFNhbXBsZU5hbWUgPC0gZnVuY3Rpb24oc2FtcGxlLnZlY3RvciwgY29udmVyc2lvbi5kZikgewogICMgVGFrZXMgYSB2ZWN0b3Igb2Ygc2FtcGxlIGFjY2Vzc2lvbiBjb2RlcyBhbmQgY29udmVydHMgdGhlbSB0byBzYW1wbGUvY29sdW1uCiAgIyBuYW1lcyBmb3IgdXNlIHdpdGggcmVjb3VudDIgZXhwcmVzc2lvbiBtYXRyaWNlcwogICMgCiAgIyBBcmdzOgogICMgICBzYW1wbGUudmVjdG9yOiBhIHZlY3RvciBvZiBzYW1wbGUgYWNjZXNzaW9uIGNvZGVzCiAgIyAgIGNvbnZlcnNpb24uZGY6IGEgZGF0YS5mcmFtZSB0aGF0IHByb3ZpZGVzIHRoZSBtYXBwaW5ncyBiZXR3ZWVuIHN0dWR5LAogICMgICAgICAgICAgICAgICAgICBzYW1wbGUsIGFuZCBydW4gYWNjZXNzaW9uIGNvZGVzIC0tIG11c3QgaGF2ZSAicnVuIiwgCiAgIyAgICAgICAgICAgICAgICAgICJzdHVkeSIsIGFuZCAic2FtcGxlIiBjb2x1bW4gbmFtZXMKICAjIAogICMgUmV0dXJuczoKICAjICAgc2FtcGxlLm5hbWVzOiBhIHZlY3RvciBvZiBzYW1wbGUvY29sdW1uIG5hbWVzIGZvciB1c2Ugd2l0aCByZWNvdW50MiAtLQogICMgICAgICAgICAgICAgICAgIHRoZXNlIGFyZSB0aGUgc3R1ZHkgYW5kIHJ1biBhY2Nlc3Npb24gY29kZXMgc2VwYXJhdGVkIHdpdGgKICAjICAgICAgICAgICAgICAgICBhIGAuYAogIAogICMgZXJyb3IgaGFuZGxpbmcKICBjaGVjay5jb2xuYW1lcyA8LSBhbGwoYygicnVuIiwgInN0dWR5IiwgInNhbXBsZSIpICVpbiUgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xuYW1lcyhjb252ZXJzaW9uLmRmKSkKICBpZiAoIWNoZWNrLmNvbG5hbWVzKSB7CiAgICBzdG9wKCJjb2xuYW1lcyhjb252ZXJzaW9uLmRmKSBtdXN0IGNvbnRhaW4gJ3J1bicsICdzdHVkeScsICdzYW1wbGUnIikKICB9CiAgCiAgIyBtYWdyaXR0ciBwaXBlLCBqdXN0IGluIGNhc2UKICBgJT4lYCA8LSBkcGx5cjo6YCU+JWAKICAKICAjIGZpbHRlciB0byBvbmx5IHRoZSBzYW1wbGVzIGluIHRoZSBzdXBwbGllZCB2ZWN0b3IgYW5kIHRoZW4gY29uY2F0ZW5hdGUgdGhlaXIKICAjIHN0dWR5IGFuZCBzYW1wbGUgYWNjZXNzaW9uIGNvZGVzCiAgc2FtcGxlLm5hbWVzLmRmIDwtIGNvbnZlcnNpb24uZGYgJT4lCiAgICBkcGx5cjo6ZmlsdGVyKGBzYW1wbGVgICVpbiUgc2FtcGxlLnZlY3RvcikgJT4lCiAgICBkcGx5cjo6bXV0YXRlKHJlY291bnQubmFtZSA9IHBhc3RlKHN0dWR5LCBydW4sIHNlcCA9ICIuIikpCiAKICAjIHJldHVybiBhIHZlY3RvciBvZiB0aGUgcmVjb3VudDIgbmFtZXMKICByZXR1cm4oc2FtcGxlLm5hbWVzLmRmJHJlY291bnQubmFtZSkgCn0KYGBgCgojIyBSZWFkIGluIGRhdGEKCiMjIyByZWNvdW50MiBkYXRhIHVzZWQgdG8gdHJhaW4gUExJRVIKCmBgYHtyfQpwbGllci5maWxlIDwtIGZpbGUucGF0aCgiZGF0YSIsICJyZWNvdW50Ml9QTElFUl9kYXRhIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICJyZWNvdW50X2RhdGFfcHJlcF9QTElFUi5SRFMiKQpwbGllci5kYXRhIDwtIHJlYWRSRFMocGxpZXIuZmlsZSkKYGBgCgpUaGUgZXhwZXJpbWVudCBhY2Nlc3Npb24gaXMgaW4gdGhlIGNvbHVtbiBuYW1lIG9mIHRoZSBleHByZXNzaW9uIGRhdGEgbWF0cml4LAphcyBpcyB0aGUgcnVuIGFjY2Vzc2lvbi4KCmBgYHtyfQpleHBlcmltZW50LmFjY2Vzc2lvbiA8LSB1bmlxdWUoc3RyaW5ncjo6d29yZChjb2xuYW1lcyhwbGllci5kYXRhJHJwa20uY20pLCAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VwID0gIlsuXSIpKQpoZWFkKGV4cGVyaW1lbnQuYWNjZXNzaW9uKQpgYGAKCmBgYHtyfQpydW4uYWNjZXNzaW9uIDwtIHN0cmluZ3I6OndvcmQoY29sbmFtZXMocGxpZXIuZGF0YSRycGttLmNtKSwgMiwgc2VwID0gIlsuXSIpCmBgYAoKYGBge3J9CiMgcmVtb3ZlIHRoZSB0cmFpbmluZyBkYXRhIGZyb20gdGhlIHdvcmtzcGFjZSwgd2Ugbm8gbG9uZ2VyIG5lZWQgaXQKcm0ocGxpZXIuZGF0YSkKYGBgCgojIyMgTWV0YVNSQQoKYGBge3J9Cm1ldGFzcmEuZmlsZSA8LSBmaWxlLnBhdGgoImRhdGEiLCAic2FtcGxlX2luZm8iLCAibWV0YXNyYS52MS00Lmpzb24iKQptZXRhc3JhIDwtIGpzb25saXRlOjpyZWFkX2pzb24obWV0YXNyYS5maWxlKQpgYGAKClRoZSBNZXRhU1JBIHByb2plY3QgdXNlcyBfc2FtcGxlXyBpZGVudGlmaWVycyAoYFNSU2ApLCB3aGVyZWFzIHJlY291bnQyIHVzZXMgCl9zdHVkeV8gKGBTUlBgKSBhbmQgX3J1bl8gKGBTUlJgKSBpZGVudGlmaWVycy4KV2UnbGwgbmVlZCB0byBjb252ZXJ0IGJldHdlZW4gdGhlIHR3by4gCldlJ2xsIHVzZSB0aGUgYFNSQWRiYCBCaW9jb25kdWN0b3IgcGFja2FnZSB0byBkbyBzby4KCiMjIyMgSWRlbnRpZmllciBjb252ZXJzaW9uCgpGb3Igbm90ZWJvb2sgcHVycG9zZXMsIEkgd2lsbCBjb21tZW50IG1vc3Qgb2YgdGhpcyBvdXQsIGFzIHRoZSBmaWxlIGRvd25sb2FkZWQgCmFuZCB1bnppcHBlZCBieSBjYWxsaW5nIGBTUkFkYjo6Z2V0U1JBZGJGaWxlKClgIGlzIH4zNUdCLgpJIHdpbGwgc2F2ZSAoJiBjb21taXQpIHRoZSBtb3N0IGltcG9ydGFudCBwYXJ0OiB0aGUgZGF0YS5mcmFtZSB0aGF0IGNvbnRhaW5zCnRoZSBtYXBwaW5nIGJldHdlZW4gYWNjZXNzaW9ucy4KCmBgYHtyfQojIHNxbC5maWxlIDwtIGdldFNSQWRiRmlsZSgpCmBgYAoKYGBge3J9CiMgc3FsLmZpbGUgPC0gIlNSQW1ldGFkYi5zcWxpdGUiCiMgc3JhLmNvbiA8LSBkYkNvbm5lY3QoU1FMaXRlKCksIHNxbC5maWxlKSAgCiMgZ2l2ZW4gdGhlIHJ1biBhY2Nlc3Npb24sIHJldHVybiB0aGUgc3R1ZHkgYW5kIHNhbXBsZSBhY2Nlc2lvbnMKIyBjb252ZXJzaW9uLmRmIDwtIHNyYUNvbnZlcnQocnVuLmFjY2Vzc2lvbiwgCiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dF90eXBlID0gYygic3R1ZHkiLCAic2FtcGxlIiksIHNyYS5jb24pCiMgY29udmVyc2lvbi5maWxlIDwtIGZpbGUucGF0aCgiZGF0YS9zYW1wbGVfaW5mby9yZWNvdW50Ml9zcnJfc3JzX3NycC50c3YiKQojIHJlYWRyOjp3cml0ZV90c3YoY29udmVyc2lvbi5kZiwgY29udmVyc2lvbi5maWxlKQpgYGAKCmBgYHtzaH0KIyBtZDVzdW0gU1JBbWV0YWRiLnNxbGl0ZQpgYGAKCkJlY2F1c2Ugd2UndmUgY29tbWVudGVkIHRoZSBhYm92ZSBvdXQgZm9yIHNpemUgY29uY2VybnMsIHdlJ2xsIGdvIGFoZWFkIGFuZCAKcmVhZCBgY29udmVyc2lvbi5kZmAgYmFjayBpbiB1c2luZyB0aGUgVFNWIGZpbGUgd2UndmUgc2F2ZWQgYW5kIGNvbW1pdHRlZC4KCmBgYHtyfQpjb252ZXJzaW9uLmZpbGUgPC0gZmlsZS5wYXRoKCJkYXRhIiwgInNhbXBsZV9pbmZvIiwgInJlY291bnQyX3Nycl9zcnNfc3JwLnRzdiIpCmNvbnZlcnNpb24uZGYgPC0gcmVhZHI6OnJlYWRfdHN2KGNvbnZlcnNpb24uZmlsZSkKYGBgCgojIyBEZXNjcmliZSByZWNvdW50MgoKV2UnbGwgYWxzbyB1c2UgdGhlc2UgbWV0YWRhdGEgdG8gc3BsaXQgdGhlIHJlY291bnQyIGRhdGEgaW50byBkaWZmZXJlbnQgdHJhaW5pbmcKc2V0cyBiYXNlZCBvbiB0aGUgYmlvbG9naWNhbCBjb25kaXRpb25zIG9yIHNhbXBsZSB0eXBlcy4KCmBgYHtyfQojIG9ubHkgcHJvY2VlZCB3aXRoIHNhbXBsZXMgdGhhdCBhcmUgaW4gdGhlIHJlY291bnQyIGNvbXBlbmRpdW0gdGhhdCB3ZSB1c2VkCmZpbHRlcmVkLm1ldGFzcmEgPC0gbWV0YXNyYVt3aGljaChuYW1lcyhtZXRhc3JhKSAlaW4lIGNvbnZlcnNpb24uZGYkc2FtcGxlKV0KYGBgCgpOb3QgYWxsIG9mIHRoZSBydW5zIGluIHRoZSBzdWJzZXQgb2YgdGhlIHJlY291bnQyIGNvbXBlbmRpdW0gd2UgdXNlZCBhcmUgCnByZXNlbnQgaW4gTWV0YVNSQS4KCmBgYHtyfQpsZW5ndGgoZmlsdGVyZWQubWV0YXNyYSkgLyBsZW5ndGgocnVuLmFjY2Vzc2lvbikKYGBgCgpCdXQgdGhlIG1ham9yaXR5IGFyZS4KCiMjIyBTYW1wbGUgdHlwZQoKVGhlIE1ldGFTUkEgcHJvamVjdCAoW0Jlcm5zdGVpbiwgRG9hbiwgYW5kIERld2V5LiBfQmlvaW5mb3JtYXRpY3MuXyAyMDE3Ll0oaHR0cHM6Ly9kb2kub3JnLzEwLjEwOTMvYmlvaW5mb3JtYXRpY3MvYnR4MzM0KSkgCnByZWRpY3RlZCB0aGUgInNhbXBsZSB0eXBlIiAtLSBlLmcuLCBjZWxsIGxpbmUgdnMuIHRpc3N1ZS4KV2hhdCdzIHRoZSBicmVha2Rvd24gaW4gdGhlIGNvbXBlbmRpdW0gd2UgdXNlZCBmb3IgdHJhaW5pbmcgKHdpdGggbm8gcmVnYXJkIApmb3IgX2NvbmZpZGVuY2VfKT8KCmBgYHtyfQpzYW1wbGUudHlwZSA8LSBsYXBwbHkoZmlsdGVyZWQubWV0YXNyYSwgZnVuY3Rpb24oeCkgeCRgc2FtcGxlIHR5cGVgKQp0YWJsZSh1bmxpc3Qoc2FtcGxlLnR5cGUpKQpgYGAKClRoZSBidWxrIG9mIHNhbXBsZXMgYXJlIHByZWRpY3RlZCB0byBiZSBjZWxsIGxpbmVzIGFuZCB0aXNzdWUgc2FtcGxlcy4gCkxldCdzIGdldCBhIGxpc3Qgb2YgcmVjb3VudDIgc2FtcGxlL2NvbHVtbiBuYW1lcyBmb3IgdGhlIGNlbGwgbGluZSBzYW1wbGVzIGFuZAp0aGUgdGlzc3VlIHNhbXBsZXMuCgpgYGB7cn0KY2VsbC5saW5lLnNhbXBsZXMgPC0gbmFtZXMoc2FtcGxlLnR5cGVbd2hpY2goc2FtcGxlLnR5cGUgPT0gImNlbGwgbGluZSIpXSkKY2VsbC5saW5lLmFjY2Vzc2lvbnMgPC0gQ29udmVydFRvUmVjb3VudFNhbXBsZU5hbWUoY2VsbC5saW5lLnNhbXBsZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZlcnNpb24uZGYpCmNlbGwubGluZS5maWxlIDwtIGZpbGUucGF0aCgiZGF0YSIsICJzYW1wbGVfaW5mbyIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlY291bnQyX2NlbGxfbGluZV9hY2Nlc3Npb25zLnRzdiIpCndyaXRlLnRhYmxlKGNlbGwubGluZS5hY2Nlc3Npb25zLCBmaWxlID0gY2VsbC5saW5lLmZpbGUsIHNlcCA9ICJcdCIsIAogICAgICAgICAgICByb3cubmFtZXMgPSBGQUxTRSwgY29sLm5hbWVzID0gRkFMU0UsIHF1b3RlID0gRkFMU0UpCmBgYAoKYGBge3J9CnRpc3N1ZS5zYW1wbGVzIDwtIG5hbWVzKHNhbXBsZS50eXBlW3doaWNoKHNhbXBsZS50eXBlID09ICJ0aXNzdWUiKV0pCnRpc3N1ZS5hY2Nlc3Npb25zIDwtIENvbnZlcnRUb1JlY291bnRTYW1wbGVOYW1lKHRpc3N1ZS5zYW1wbGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb252ZXJzaW9uLmRmKQp0aXNzdWUuZmlsZSA8LSBmaWxlLnBhdGgoImRhdGEiLCAic2FtcGxlX2luZm8iLCAKICAgICAgICAgICAgICAgICAgICAgICAgICJyZWNvdW50Ml90aXNzdWVfYWNjZXNzaW9ucy50c3YiKQp3cml0ZS50YWJsZSh0aXNzdWUuYWNjZXNzaW9ucywgZmlsZSA9IHRpc3N1ZS5maWxlLCBzZXAgPSAiXHQiLCAKICAgICAgICAgICAgcm93Lm5hbWVzID0gRkFMU0UsIGNvbC5uYW1lcyA9IEZBTFNFLCBxdW90ZSA9IEZBTFNFKQpgYGAKCiMjIyBFeHBlcmltZW50YWwgRmFjdG9yIE9udG9sb2d5IChFRk8pCgpXZSdsbCB1c2UgdGhlIG1hcHBlZCBvbnRvbG9neSB0ZXJtcyAtLSBzcGVjaWZpY2FsbHksIHRoZSBtYXBwZWQKW0V4cGVyaW1lbnRhbCBGYWN0b3IgT250b2xvZ3ldKGh0dHBzOi8vd3d3LmViaS5hYy51ay9lZm8vKSB0ZXJtcyAtLSBwcm92aWRlZCBpbgpNZXRhU1JBIHRvIGdldCBhbiBpZGVhIG9mIHdoYXQncyBpbiBvdXIgdHJhaW5pbmcgc2V0LgoKV2UndmUgYmVlbiBhc2tlZCBzcGVjaWZpY2FsbHkgYWJvdXQgYXV0b2ltbXVuZSBzYW1wbGVzIGFuZCBjYW5jZXIgc2FtcGxlcywgc28KbGV0J3Mgc3RhcnQgdGhlcmUuCgojIyMgQXV0b2ltbXVuZSBkaXNlYXNlCgpgYGB7cn0KIyAiYXV0b2ltbXVuZSBkaXNlYXNlIgojIGh0dHBzOi8vd3d3LmViaS5hYy51ay9vbHMvb250b2xvZ2llcy9lZm8vdGVybXM/c2hvcnRfZm9ybT1FRk9fMDAwNTE0MAphdXRvaW1tdW5lLnNhbXBsZXMgPC0gCiAgbGFwcGx5KGZpbHRlcmVkLm1ldGFzcmEsIAogICAgICAgICBmdW5jdGlvbih4KSBhbnkoIkVGTzowMDA1MTQwIiAlaW4lIHgkYG1hcHBlZCBvbnRvbG9neSB0ZXJtc2ApKQpzdW0odW5saXN0KGF1dG9pbW11bmUuc2FtcGxlcykpCmBgYAoKVGhlcmUgYXJlIDk5IFNMRSBzYW1wbGVzIChhbmQgMTggY29udHJvbHMpIGluIHRoZSBzaW5nbGUgU0xFIHdob2xlIGJsb29kIGRhdGEgCnNldCBpbiByZWNvdW50MiAKKFtgU1JQMDYyOTY2YF0oaHR0cDovL3RyYWNlLm5jYmkubmxtLm5paC5nb3YvVHJhY2VzL3NyYS8/c3R1ZHk9U1JQMDYyOTY2KSkuCgojIyMgQ2FuY2VyCgpgYGB7cn0KIyAiY2FuY2VyIgojIGh0dHBzOi8vd3d3LmViaS5hYy51ay9vbHMvb250b2xvZ2llcy9lZm8vdGVybXM/c2hvcnRfZm9ybT1FRk9fMDAwMDMxMQpjYW5jZXIuc2FtcGxlcyA8LSAKICBsYXBwbHkoZmlsdGVyZWQubWV0YXNyYSwgCiAgICAgICAgIGZ1bmN0aW9uKHgpIGFueSgiRUZPOjAwMDAzMTEiICVpbiUgeCRgbWFwcGVkIG9udG9sb2d5IHRlcm1zYCkpCnN1bSh1bmxpc3QoY2FuY2VyLnNhbXBsZXMpKQpgYGAKCkxldCdzIHdyaXRlIHRoZXNlIGFjY2Vzc2lvbiBjb2RlcyB0byBmaWxlLgoKYGBge3J9CiMganVzdCB1c2UgdGhlIGFjY2Vzc2lvbiBjb2RlLCB3aGljaCBpcyB0aGUgbmFtZSBvZiB0aGUgbGlzdCBmb3Igd2hpY2ggdGhlCiMgZWxlbWVudCA9PSBUUlVFCmNhbmNlci5zYW1wbGVzIDwtIG5hbWVzKGNhbmNlci5zYW1wbGVzW3doaWNoKHVubGlzdChjYW5jZXIuc2FtcGxlcykpXSkKY2FuY2VyLmFjY2Vzc2lvbnMgPC0gCiAgQ29udmVydFRvUmVjb3VudFNhbXBsZU5hbWUoY2FuY2VyLnNhbXBsZXMsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZlcnNpb24uZGYpCmNhbmNlci5maWxlIDwtIGZpbGUucGF0aCgiZGF0YSIsICJzYW1wbGVfaW5mbyIsIAogICAgICAgICAgICAgICAgICAgICAgICAgInJlY291bnQyX2NhbmNlcl9hY2Nlc3Npb25zLnRzdiIpCndyaXRlLnRhYmxlKGNhbmNlci5hY2Nlc3Npb25zLCBmaWxlID0gY2FuY2VyLmZpbGUsIHNlcCA9ICJcdCIsIAogICAgICAgICAgICByb3cubmFtZXMgPSBGQUxTRSwgY29sLm5hbWVzID0gRkFMU0UsIHF1b3RlID0gRkFMU0UpCmBgYAoKIyMjIFdoYXQgYWJvdXQgdHJlYXRlZCBzYW1wbGVzPwoKW2B0cmVhdG1lbnRgXShodHRwczovL3d3dy5lYmkuYWMudWsvb2xzL29udG9sb2dpZXMvZWZvL3Rlcm1zP3Nob3J0X2Zvcm09RUZPXzAwMDA3MjcpCgpGcm9tIEVGTyB0ZXJtOgoKPiBBIHByb2Nlc3MgaW4gd2hpY2ggdGhlIGFjdCBpcyBpbnRlbmRlZCB0byBtb2RpZnkgb3IgYWx0ZXIgc29tZSBvdGhlciAKbWF0ZXJpYWwgZW50aXR5CgpgYGB7cn0KIyAidHJlYXRtZW50IgojIGh0dHBzOi8vd3d3LmViaS5hYy51ay9vbHMvb250b2xvZ2llcy9lZm8vdGVybXM/c2hvcnRfZm9ybT1FRk9fMDAwMDcyNwp0cmVhdG1lbnQuc2FtcGxlcyA8LSAKICBsYXBwbHkoZmlsdGVyZWQubWV0YXNyYSwgCiAgICAgICAgIGZ1bmN0aW9uKHgpIGFueSgiRUZPOjAwMDA3MjciICVpbiUgeCRgbWFwcGVkIG9udG9sb2d5IHRlcm1zYCkpCnN1bSh1bmxpc3QodHJlYXRtZW50LnNhbXBsZXMpKQpgYGAKCiMjIyBCbG9vZCBzYW1wbGVzCgpXZSdsbCB3YW50IHRvIHRyYWluIG1vZGVscyBfZXhjbHVzaXZlbHlfIG9uIGJsb29kIHNhbXBsZXMgYW5kIG9uIApfZXZlcnl0aGluZy1idXQtYmxvb2RfIHNhbXBsZXMuIApXZSdyZSBpbnRlcmVzdGVkIGluIHRoaXMgYmVjYXVzZSB0aGUgbW9kZWwgbGVhcm5zIGxldWtvY3l0ZSBhc3NvY2lhdGVkCmxhdGVudCB2YXJpYWJsZXMuCgpXZSdsbCB1c2UgdGhlIFtVYmVyb25dKGh0dHBzOi8vd3d3LmViaS5hYy51ay9vbHMvb250b2xvZ2llcy91YmVyb24pIHRlcm0gZm9yIHRoaXMgCltgVUJFUk9OOjAwMDAxNzhgXShodHRwczovL3d3dy5lYmkuYWMudWsvb2xzL29udG9sb2dpZXMvdWJlcm9uL3Rlcm1zP3Nob3J0X2Zvcm09VUJFUk9OXzAwMDAxNzgpCgpgYGB7cn0KYmxvb2Quc2FtcGxlcyA8LSAKICBsYXBwbHkoZmlsdGVyZWQubWV0YXNyYSwgCiAgICAgICAgIGZ1bmN0aW9uKHgpIGFueSgiVUJFUk9OOjAwMDAxNzgiICVpbiUgeCRgbWFwcGVkIG9udG9sb2d5IHRlcm1zYCkpCnN1bSh1bmxpc3QoYmxvb2Quc2FtcGxlcykpCmBgYAoKQ29udmVydCB0aGUgYmxvb2Qgc2FtcGxlcyBhbmQgdGhlIGV2ZXJ5dGhpbmctYnV0LWJsb29kIHNhbXBsZXMgdG8gdGhlIHJlY291bnQyCnNhbXBsZS9jb2x1bW4gbmFtZXMgYW5kIHdyaXRlIHRvIGZpbGUuCgpgYGB7cn0KIyBqdXN0IHRoZSBhY2Nlc3Npb24gY29kZXMKYmxvb2Quc2FtcGxlcyA8LSBuYW1lcyhibG9vZC5zYW1wbGVzW3doaWNoKHVubGlzdChibG9vZC5zYW1wbGVzKSldKQpibG9vZC5hY2Nlc3Npb25zIDwtIENvbnZlcnRUb1JlY291bnRTYW1wbGVOYW1lKGJsb29kLnNhbXBsZXMsIGNvbnZlcnNpb24uZGYpCmJsb29kLmZpbGUgPC0gZmlsZS5wYXRoKCJkYXRhIiwgInNhbXBsZV9pbmZvIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICJyZWNvdW50Ml9ibG9vZF9hY2Nlc3Npb25zLnRzdiIpCndyaXRlLnRhYmxlKGJsb29kLmFjY2Vzc2lvbnMsIGZpbGUgPSBibG9vZC5maWxlLCBzZXAgPSAiXHQiLCAKICAgICAgICAgICAgcm93Lm5hbWVzID0gRkFMU0UsIGNvbC5uYW1lcyA9IEZBTFNFLCBxdW90ZSA9IEZBTFNFKQpgYGAKCmBgYHtyfQpub3QuYmxvb2Quc2FtcGxlcyA8LSBzZXRkaWZmKG5hbWVzKGZpbHRlcmVkLm1ldGFzcmEpLCBibG9vZC5zYW1wbGVzKQpub3QuYmxvb2QuYWNjZXNzaW9ucyA8LSBDb252ZXJ0VG9SZWNvdW50U2FtcGxlTmFtZShub3QuYmxvb2Quc2FtcGxlcywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZlcnNpb24uZGYpCm5vdC5ibG9vZC5maWxlIDwtIGZpbGUucGF0aCgiZGF0YSIsICJzYW1wbGVfaW5mbyIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlY291bnQyX290aGVyX3Rpc3N1ZXNfYWNjZXNzaW9ucy50c3YiKQp3cml0ZS50YWJsZShub3QuYmxvb2QuYWNjZXNzaW9ucywgZmlsZSA9IG5vdC5ibG9vZC5maWxlLCBzZXAgPSAiXHQiLCAKICAgICAgICAgICAgcm93Lm5hbWVzID0gRkFMU0UsIGNvbC5uYW1lcyA9IEZBTFNFLCBxdW90ZSA9IEZBTFNFKQpgYGAKCg==