{ "metadata": { "name": "", "signature": "sha256:49ff6951f1c6fd75295d9a551dceb2bddec109650115f7386f664e9eb9c75cb2" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Lineage and developmental patterns of DNA methylation in oysters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This notebook includes procedures for analyzing data desribed in \n", "the manuscript...\"Lineage and developmental patterns of DNA methylation in oysters\" submitted to xxxx. \n", "\n", "---\n", " \n", "\n", "\n", "In theory, anyone should be able to reproduce our work in IPython, if they have the following software installed.\n", "* BSMAP\n", "* rpy2 (interface to R from Python) \n", "\n", "The analysis was originally done on the Mac OSX operating system. \n", "\n", "The general premise of how this framework is set-up is that you will provide minimal information including a working directory and location of software. The following image denotes need for user input. \n", "![](img/input.png) Otherwise you should just be able to run each cell in order (shift-enter).\n", "\n", "The intent is to clone the github repository local and run so accompaning scripts, etc. are available.\n", "\n", "\n", "The notebook is divided into 5 sections \n", "* [Downloading data](#Downloading-Files)\n", "* [Read aligning: BSMAP](#Running-BSMAP)\n", "* [Global differences: methylkit](#Global-Differences:-methylkit)\n", "* [Differentially methylated loci](#Differentially-methylated-loci)\n", "* [Genomic location of DMLs: bedtools](#Genomic-location-of-DMLs)\n", "\n", "Please post any comments and questions in issues." ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Downloading Data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![](img/input.png)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#this notebook is developed under the assumption you are in the olson-dev directory downloaded from github.\n", "#note you will need ~20Gb of disk space\n", "#to confirm you current directory run the command and you should see a wd directory\n", "!ls\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\u001b[31mBiGo_dev_manu.html\u001b[m\u001b[m \u001b[31mREADME.md\u001b[m\u001b[m \u001b[34mwd\u001b[m\u001b[m\r\n", "\u001b[31mBiGo_dev_manu.ipynb\u001b[m\u001b[m \u001b[34mimg\u001b[m\u001b[m\r\n", "\u001b[31mBiGo_dev_manu_V2.ipynb\u001b[m\u001b[m \u001b[34mscripts\u001b[m\u001b[m\r\n" ] } ], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "cd wd" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "/Users/Steven/Desktop/olson-dev-master/wd\n" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "#This command downloads a archived file including six BS-seq libraries (4.3 Gb)\n", "\n", "#!wget http://eagle.fish.washington.edu/trilobite/Crassostrea_gigas_HTSdata/BiGo_lar_fastq_mcf.tgz\n", "!curl -O http://eagle.fish.washington.edu/trilobite/Crassostrea_gigas_HTSdata/BiGo_lar_fastq_mcf.tgz \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " % Total % Received % Xferd Average Speed Time Time Time Current\r\n", " Dload Upload Total Spent Left Speed\r\n", "\r", " 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 0 4221M 0 29.5M 0 0 43.9M 0 0:01:36 --:--:-- 0:01:36 44.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 1 4221M 1 79.0M 0 0 47.0M 0 0:01:29 0:00:01 0:01:28 47.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 2 4221M 2 109M 0 0 39.4M 0 0:01:47 0:00:02 0:01:45 39.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 4 4221M 4 175M 0 0 47.7M 0 0:01:28 0:00:03 0:01:25 47.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 5 4221M 5 226M 0 0 48.5M 0 0:01:26 0:00:04 0:01:22 48.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 6 4221M 6 258M 0 0 45.2M 0 0:01:33 0:00:05 0:01:28 45.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 7 4221M 7 318M 0 0 47.7M 0 0:01:28 0:00:06 0:01:22 48.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 8 4221M 8 371M 0 0 48.1M 0 0:01:27 0:00:07 0:01:20 53.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 10 4221M 10 422M 0 0 48.6M 0 0:01:26 0:00:08 0:01:18 49.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 11 4221M 11 479M 0 0 49.6M 0 0:01:25 0:00:09 0:01:16 50.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 12 4221M 12 531M 0 0 49.7M 0 0:01:24 0:00:10 0:01:14 54.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 13 4221M 13 573M 0 0 49.1M 0 0:01:25 0:00:11 0:01:14 50.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 14 4221M 14 610M 0 0 48.1M 0 0:01:27 0:00:12 0:01:15 48.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 15 4221M 15 648M 0 0 47.3M 0 0:01:29 0:00:13 0:01:16 45.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 16 4221M 16 690M 0 0 47.0M 0 0:01:29 0:00:14 0:01:15 42.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 17 4221M 17 735M 0 0 46.8M 0 0:01:30 0:00:15 0:01:15 40.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 18 4221M 18 785M 0 0 47.0M 0 0:01:29 0:00:16 0:01:13 42.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 19 4221M 19 823M 0 0 46.6M 0 0:01:30 0:00:17 0:01:13 42.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 20 4221M 20 865M 0 0 46.3M 0 0:01:31 0:00:18 0:01:13 43.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 21 4221M 21 927M 0 0 47.0M 0 0:01:29 0:00:19 " ] }, { "output_type": "stream", "stream": "stdout", "text": [ "0:01:10 47.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 23 4221M 23 974M 0 0 47.0M 0 0:01:29 0:00:20 0:01:09 47.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 24 4221M 24 1034M 0 0 47.7M 0 0:01:28 0:00:21 0:01:07 49.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 25 4221M 25 1083M 0 0 47.7M 0 0:01:28 0:00:22 0:01:06 51.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 27 4221M 27 1152M 0 0 48.6M 0 0:01:26 0:00:23 0:01:03 57.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 28 4221M 28 1211M 0 0 49.0M 0 0:01:25 0:00:24 0:01:01 57.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 30 4221M 30 1280M 0 0 49.8M 0 0:01:24 0:00:25 0:00:59 61.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 31 4221M 31 1333M 0 0 49.9M 0 0:01:24 0:00:26 0:00:58 59.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 32 4221M 32 1372M 0 0 49.6M 0 0:01:25 0:00:27 0:00:58 57.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 33 4221M 33 1433M 0 0 49.9M 0 0:01:24 0:00:28 0:00:56 56.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 35 4221M 35 1501M 0 0 50.6M 0 0:01:23 0:00:29 0:00:54 58.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 37 4221M 37 1571M 0 0 51.1M 0 0:01:22 0:00:30 0:00:52 58.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 38 4221M 38 1631M 0 0 51.5M 0 0:01:21 0:00:31 0:00:50 59.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 40 4221M 40 1698M 0 0 51.7M 0 0:01:21 0:00:32 0:00:49 63.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 40 4221M 40 1723M 0 0 51.1M 0 0:01:22 0:00:33 0:00:49 57.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 42 4221M 42 1797M 0 0 51.8M 0 0:01:21 0:00:34 0:00:47 59.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 44 4221M 44 1863M 0 0 52.2M 0 0:01:20 0:00:35 0:00:45 58.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 45 4221M 45 1924M 0 0 52.4M 0 0:01:20 0:00:36 0:00:44 58.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 46 4221M 46 1983M 0 0 52.5M 0 0:01:20 0:00:37 0:00:43 58.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 48 4221M 48 2027M 0 0 52.4M 0 0:01:20 0:00:38 0:00:42 60.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 49 4221M 49 2086M 0 0 52.5M 0 0:01:20 0:00:39 0:00:41 57.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 50 4221M 50 2142M 0 0 52.6M " ] }, { "output_type": "stream", "stream": "stdout", "text": [ "0 0:01:20 0:00:40 0:00:40 55.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 52 4221M 52 2217M 0 0 53.2M 0 0:01:19 0:00:41 0:00:38 58.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 54 4221M 54 2280M 0 0 53.4M 0 0:01:19 0:00:42 0:00:37 59.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 55 4221M 55 2341M 0 0 53.6M 0 0:01:18 0:00:43 0:00:35 62.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 56 4221M 56 2400M 0 0 53.7M 0 0:01:18 0:00:44 0:00:34 62.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 58 4221M 58 2474M 0 0 54.1M 0 0:01:17 0:00:45 0:00:32 66.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 59 4221M 59 2528M 0 0 54.1M 0 0:01:18 0:00:46 0:00:32 61.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 61 4221M 61 2605M 0 0 54.6M 0 0:01:17 0:00:47 0:00:30 65.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 62 4221M 62 2639M 0 0 54.2M 0 0:01:17 0:00:48 0:00:29 59.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 64 4221M 64 2712M 0 0 54.6M 0 0:01:17 0:00:49 0:00:28 62.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 66 4221M 66 2786M 0 0 54.9M 0 0:01:16 0:00:50 0:00:26 62.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 67 4221M 67 2862M 0 0 55.3M 0 0:01:16 0:00:51 0:00:25 67.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 69 4221M 69 2944M 0 0 55.9M 0 0:01:15 0:00:52 0:00:23 67.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 71 4221M 71 3028M 0 0 56.4M 0 0:01:14 0:00:53 0:00:21 77.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 72 4221M 72 3079M 0 0 56.3M 0 0:01:14 0:00:54 0:00:20 73.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 74 4221M 74 3145M 0 0 56.5M 0 0:01:14 0:00:55 0:00:19 71.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 76 4221M 76 3239M 0 0 57.1M 0 0:01:13 0:00:56 0:00:17 75.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 78 4221M 78 3319M 0 0 57.5M 0 0:01:13 0:00:57 0:00:16 74.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 79 4221M 79 3370M 0 0 57.4M 0 0:01:13 0:00:58 0:00:15 68.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 82 4221M 82 3466M 0 0 58.0M 0 0:01:12 0:00:59 0:00:13 77.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 84 4221M 84 3557M 0 0 58.6M 0 0:01:11 0:01:00 0:00:11 82.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 86 4221M 86 3650M 0 0 59.1M 0 0:01:11 0:01:01 0:00:10 82.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 88 4221M 88 3727M 0 0 59.4M 0 0:01:10 0:01:02 0:00:08 81.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 89 4221M 89 3790M 0 0 59.5M 0 0:01:10 0:01:03 0:00:07 84.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 92 4221M 92 3885M 0 0 60.0M 0 0:01:10 0:01:04 0:00:06 83.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 94 4221M 94 3981M 0 0 60.6M 0 0:01:09 0:01:05 0:00:04 84.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 96 4221M 96 4078M 0 0 61.1M 0 0:01:09 0:01:06 0:00:03 85.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 98 4221M 98 4175M 0 0 61.6M 0" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " 0:01:08 0:01:07 0:00:01 89.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 99 4221M 99 4216M 0 0 61.3M 0 0:01:08 0:01:08 --:--:-- 85.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", "100 4221M 100 4221M 0 0 61.3M 0 0:01:08 0:01:08 --:--:-- 82.1M\r\n" ] } ], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "#uncompress\n", "!tar -zxvf BiGo_lar_fastq_mcf.tgz" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "x mcf_M1_R1.fastq" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "x mcf_M1_R2.fastq" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "x mcf_M3_R1.fastq" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "x mcf_M3_R2.fastq" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "x mcf_T1D3_R1.fastq" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "x mcf_T1D3_R2.fastq" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "x mcf_T1D5_R1.fastq" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "x mcf_T1D5_R2.fastq" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "x mcf_T3D3_R1.fastq" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "x mcf_T3D3_R2.fastq" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "x mcf_T3D5_R1.fastq" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "x mcf_T3D5_R2.fastq" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n" ] } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "#Downloading the oyster genome \n", "#!wget http://eagle.fish.washington.edu/trilobite/Crassostrea_gigas_ensembl_tracks/Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa\n", "!curl -O http://eagle.fish.washington.edu/trilobite/Crassostrea_gigas_ensembl_tracks/Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa \n", " " ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " % Total % Received % Xferd Average Speed Time Time Time Current\r\n", " Dload Upload Total Spent Left Speed\r\n", "\r", " 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 11 541M 11 64.0M 0 0 65.1M 0 0:00:08 --:--:-- 0:00:08 65.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 23 541M 23 126M 0 0 64.0M 0 0:00:08 0:00:01 0:00:07 64.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 38 541M 38 206M 0 0 69.0M 0 0:00:07 0:00:02 0:00:05 69.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 51 541M 51 280M 0 0 70.5M 0 0:00:07 0:00:03 0:00:04 70.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 63 541M 63 342M 0 0 68.7M 0 0:00:07 0:00:04 0:00:03 68.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 78 541M 78 424M 0 0 70.8M 0 0:00:07 0:00:05 0:00:02 71.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 92 541M 92 500M 0 0 71.7M 0 0:00:07 0:00:06 0:00:01 74.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", "100 541M 100 541M 0 0 71.5M 0 0:00:07 0:00:07 --:--:-- 73.1M\r\n" ] } ], "prompt_number": 5 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Running BSMAP" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![](img/input.png)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#bsmap will need to be downloaded if not already installed from https://code.google.com/p/bsmap/\n", "#set location of BSMAP this is assuming it is not in your PATH\n", "bsmaploc=\"/Users/Shared/Apps/bsmap-2.74/\"\n", "\n", "#another option in running bsmap on iPlant (iplantcollaborative.org)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "for i in (\"M1\",\"T1D3\",\"T1D5\", \"M3\", \"T3D3\", \"T3D5\"):\n", " !{bsmaploc}bsmap \\\n", "-a mcf_{i}_R1.fastq \\\n", "-b mcf_{i}_R2.fastq \\\n", "-d Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa \\\n", "-o bsmap_out_{i}.sam \\\n", "-p 4" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "BSMAP v2.74\r\n", "Start at: Tue Dec 2 14:03:03 2014\r\n", "\r\n", "Input reference file: Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " \t(format: FASTA)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Load in 7658 db seqs, total size 557717710 bp. 9 secs passed\r\n", "total_kmers: 43046721\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Create seed table. 25 secs passed\r\n", "max number of mismatches: read_length * 8% \tmax gap size: 0\r\n", "kmer cut-off ratio: 5e-07\r\n", "max multi-hits: 100\tmax Ns: 5\tseed size: 16\tindex interval: 4\r\n", "quality cutoff: 0\tbase quality char: '!'\r\n", "min fragment size:28\tmax fragemt size:500\r\n", "start from read #1\tend at read #4294967295\r\n", "additional alignment: T in reads => C in reference\r\n", "mapping strand (read_1): ++,-+\r\n", "mapping strand (read_2): +-,--\r\n", "Pair-end alignment(4 threads)\r\n", "Input read file #1: mcf_M1_R1.fastq" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " \t(format: FASTQ)\r\n", "Input read file #2: mcf_M1_R2.fastq \t(format: FASTQ)\r\n", "Output file: bsmap_out_M1.sam\t (format: SAM)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t100000 read pairs finished. 44 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t50000 read pairs finished. 45 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t150000 read pairs finished. 45 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t200000 read pairs finished. 46 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t250000 read pairs finished. 61 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t300000 read pairs finished. 62 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t350000 read pairs finished. 63 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t400000 read pairs finished. 64 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t450000 read pairs finished. 78 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t500000 read pairs finished. 79 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t550000 read pairs finished. 81 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t600000 read pairs finished. 81 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t650000 read pairs finished. 95 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t700000 read pairs finished. 97 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t750000 read pairs finished. 98 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t800000 read pairs finished. 99 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t850000 read pairs finished. 113 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t900000 read pairs finished. 114 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1000000 read pairs finished. 116 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t950000 read pairs finished. 117 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1050000 read pairs finished. 129 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1100000 read pairs finished. 132 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1150000 read pairs finished. 133 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1200000 read pairs finished. 135 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1250000 read pairs finished. 146 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1300000 read pairs finished. 149 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1350000 read pairs finished. 150 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1400000 read pairs finished. 153 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1450000 read pairs finished. 163 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1500000 read pairs finished. 166 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1550000 read pairs finished. 167 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1600000 read pairs finished. 169 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1650000 read pairs finished. 181 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1700000 read pairs finished. 184 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1750000 read pairs finished. 185 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1800000 read pairs finished. 187 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1850000 read pairs finished. 198 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1900000 read pairs finished. 202 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1950000 read pairs finished. 202 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2000000 read pairs finished. 205 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2050000 read pairs finished. 215 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2100000 read pairs finished. 219 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2150000 read pairs finished. 219 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2200000 read pairs finished. 222 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2250000 read pairs finished. 233 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2350000 read pairs finished. 237 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2300000 read pairs finished. 237 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2400000 read pairs finished. 239 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2450000 read pairs finished. 249 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2550000 read pairs finished. 255 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2500000 read pairs finished. 255 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2600000 read pairs finished. 256 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2650000 read pairs finished. 267 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2700000 read pairs finished. 273 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2750000 read pairs finished. 273 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2800000 read pairs finished. 274 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2850000 read pairs finished. 284 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2950000 read pairs finished. 291 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2900000 read pairs finished. 291 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3000000 read pairs finished. 291 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3050000 read pairs finished. 301 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3100000 read pairs finished. 308 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3150000 read pairs finished. 309 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3200000 read pairs finished. 309 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3250000 read pairs finished. 318 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3300000 read pairs finished. 325 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3350000 read pairs finished. 326 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3400000 read pairs finished. 326 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3450000 read pairs finished. 334 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3500000 read pairs finished. 342 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3550000 read pairs finished. 344 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3600000 read pairs finished. 345 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3650000 read pairs finished. 353 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3700000 read pairs finished. 360 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3750000 read pairs finished. 362 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3800000 read pairs finished. 362 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3850000 read pairs finished. 370 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3900000 read pairs finished. 377 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3950000 read pairs finished. 379 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4000000 read pairs finished. 379 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4050000 read pairs finished. 388 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4100000 read pairs finished. 394 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4150000 read pairs finished. 396 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4200000 read pairs finished. 396 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4250000 read pairs finished. 405 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4300000 read pairs finished. 412 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4350000 read pairs finished. 413 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4400000 read pairs finished. 414 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4450000 read pairs finished. 423 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4500000 read pairs finished. 429 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4550000 read pairs finished. 430 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4600000 read pairs finished. 432 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4650000 read pairs finished. 440 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4700000 read pairs finished. 446 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4750000 read pairs finished. 448 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4800000 read pairs finished. 449 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4850000 read pairs finished. 457 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4900000 read pairs finished. 464 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4950000 read pairs finished. 465 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5000000 read pairs finished. 466 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5050000 read pairs finished. 474 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5100000 read pairs finished. 480 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5150000 read pairs finished. 482 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5200000 read pairs finished. 483 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5250000 read pairs finished. 491 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5300000 read pairs finished. 499 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5350000 read pairs finished. 499 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5400000 read pairs finished. 500 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5450000 read pairs finished. 508 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5500000 read pairs finished. 516 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5550000 read pairs finished. 517 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5600000 read pairs finished. 518 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5650000 read pairs finished. 526 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5700000 read pairs finished. 533 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5750000 read pairs finished. 534 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5800000 read pairs finished. 535 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5850000 read pairs finished. 543 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5900000 read pairs finished. 552 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5950000 read pairs finished. 553 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6000000 read pairs finished. 554 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6050000 read pairs finished. 561 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6100000 read pairs finished. 569 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6150000 read pairs finished. 570 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6200000 read pairs finished. 571 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6250000 read pairs finished. 579 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6300000 read pairs finished. 588 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6350000 read pairs finished. 588 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6400000 read pairs finished. 589 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6450000 read pairs finished. 597 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6500000 read pairs finished. 605 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6550000 read pairs finished. 606 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6600000 read pairs finished. 606 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6650000 read pairs finished. 614 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6700000 read pairs finished. 623 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6750000 read pairs finished. 623 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6800000 read pairs finished. 624 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6850000 read pairs finished. 631 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6900000 read pairs finished. 640 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6950000 read pairs finished. 641 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7000000 read pairs finished. 641 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7050000 read pairs finished. 649 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7100000 read pairs finished. 657 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7150000 read pairs finished. 659 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7200000 read pairs finished. 659 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7250000 read pairs finished. 666 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7300000 read pairs finished. 674 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7350000 read pairs finished. 676 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7400000 read pairs finished. 677 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7450000 read pairs finished. 683 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7500000 read pairs finished. 692 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7550000 read pairs finished. 693 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7600000 read pairs finished. 694 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7650000 read pairs finished. 699 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7700000 read pairs finished. 709 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7750000 read pairs finished. 710 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7800000 read pairs finished. 711 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7850000 read pairs finished. 717 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t8023643 read pairs finished. 725 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7900000 read pairs finished. 726 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7950000 read pairs finished. 726 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t8000000 read pairs finished. 727 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Total number of aligned reads: \r\n", "pairs: 3982551 (50%)\r\n", "single a: 1489442 (19%)\r\n", "single b: 1430646 (18%)\r\n", "Done.\r\n", "Finished at Tue Dec 2 14:15:10 2014\r\n", "Total time consumed: 727 secs\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "BSMAP v2.74\r\n", "Start at: Tue Dec 2 14:15:11 2014\r\n", "\r\n", "Input reference file: Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa \t(format: FASTA)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Load in 7658 db seqs, total size 557717710 bp. 9 secs passed\r\n", "total_kmers: 43046721\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Create seed table. 25 secs passed\r\n", "max number of mismatches: read_length * 8% \tmax gap size: 0\r\n", "kmer cut-off ratio: 5e-07\r\n", "max multi-hits: 100\tmax Ns: 5\tseed size: 16\tindex interval: 4\r\n", "quality cutoff: 0\tbase quality char: '!'\r\n", "min fragment size:28\tmax fragemt size:500\r\n", "start from read #1\tend at read #4294967295\r\n", "additional alignment: T in reads => C in reference\r\n", "mapping strand (read_1): ++,-+\r\n", "mapping strand (read_2): +-,--\r\n", "Pair-end alignment(4 threads)\r\n", "Input read file #1: mcf_T1D3_R1.fastq" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " \t(format: FASTQ)\r\n", "Input read file #2: mcf_T1D3_R2.fastq \t(format: FASTQ)\r\n", "Output file: bsmap_out_T1D3.sam\t (format: SAM)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t50000 read pairs finished. 39 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t100000 read pairs finished. 39 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t150000 read pairs finished. 40 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t200000 read pairs finished. 40 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t250000 read pairs finished. 54 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t300000 read pairs finished. 54 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t350000 read pairs finished. 55 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t400000 read pairs finished. 55 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t450000 read pairs finished. 68 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t500000 read pairs finished. 68 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t600000 read pairs finished. 69 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t550000 read pairs finished. 69 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t650000 read pairs finished. 82 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t700000 read pairs finished. 83 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t750000 read pairs finished. 83 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t800000 read pairs finished. 83 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t850000 read pairs finished. 96 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t900000 read pairs finished. 97 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t950000 read pairs finished. 97 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1000000 read pairs finished. 98 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1050000 read pairs finished. 110 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1100000 read pairs finished. 111 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1150000 read pairs finished. 111 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1200000 read pairs finished. 111 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1250000 read pairs finished. 124 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1300000 read pairs finished. 125 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1350000 read pairs finished. 125 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1400000 read pairs finished. 126 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1450000 read pairs finished. 137 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1500000 read pairs finished. 139 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1550000 read pairs finished. 140 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1600000 read pairs finished. 140 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1650000 read pairs finished. 151 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1700000 read pairs finished. 153 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1750000 read pairs finished. 154 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1800000 read pairs finished. 154 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1850000 read pairs finished. 165 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1900000 read pairs finished. 168 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1950000 read pairs finished. 168 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2000000 read pairs finished. 168 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2050000 read pairs finished. 179 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2150000 read pairs finished. 182 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2100000 read pairs finished. 182 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2200000 read pairs finished. 182 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2250000 read pairs finished. 192 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2300000 read pairs finished. 195 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2400000 read pairs finished. 196 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2350000 read pairs finished. 196 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2450000 read pairs finished. 205 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2500000 read pairs finished. 209 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2550000 read pairs finished. 210 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2600000 read pairs finished. 210 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2650000 read pairs finished. 218 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2700000 read pairs finished. 223 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2750000 read pairs finished. 223 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2800000 read pairs finished. 224 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2850000 read pairs finished. 231 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2900000 read pairs finished. 236 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2950000 read pairs finished. 237 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3000000 read pairs finished. 238 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3050000 read pairs finished. 244 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3100000 read pairs finished. 250 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3150000 read pairs finished. 251 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3200000 read pairs finished. 251 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3250000 read pairs finished. 258 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3300000 read pairs finished. 263 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3350000 read pairs finished. 264 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3400000 read pairs finished. 265 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3450000 read pairs finished. 271 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3500000 read pairs finished. 277 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3550000 read pairs finished. 278 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3600000 read pairs finished. 279 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3650000 read pairs finished. 286 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3700000 read pairs finished. 291 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3750000 read pairs finished. 291 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3800000 read pairs finished. 292 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3850000 read pairs finished. 299 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3900000 read pairs finished. 304 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3950000 read pairs finished. 305 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4000000 read pairs finished. 306 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4050000 read pairs finished. 314 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4100000 read pairs finished. 319 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4150000 read pairs finished. 320 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4200000 read pairs finished. 321 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4250000 read pairs finished. 329 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4300000 read pairs finished. 333 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4350000 read pairs finished. 333 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4400000 read pairs finished. 334 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4450000 read pairs finished. 342 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4500000 read pairs finished. 347 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4550000 read pairs finished. 348 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4600000 read pairs finished. 348 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4650000 read pairs finished. 357 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4700000 read pairs finished. 361 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4750000 read pairs finished. 361 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4800000 read pairs finished. 362 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4850000 read pairs finished. 371 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4900000 read pairs finished. 375 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5016400 read pairs finished. 375 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4950000 read pairs finished. 376 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5000000 read pairs finished. 376 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Total number of aligned reads: \r\n", "pairs: 2717832 (54%)\r\n", "single a: 1117376 (22%)\r\n", "single b: 1178713 (23%)\r\n", "Done.\r\n", "Finished at Tue Dec 2 14:21:27 2014\r\n", "Total time consumed: 376 secs\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "BSMAP v2.74\r\n", "Start at: Tue Dec 2 14:21:28 2014\r\n", "\r\n", "Input reference file: Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa \t(format: FASTA)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Load in 7658 db seqs, total size 557717710 bp. 8 secs passed\r\n", "total_kmers: 43046721\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Create seed table. 25 secs passed\r\n", "max number of mismatches: read_length * 8% \tmax gap size: 0\r\n", "kmer cut-off ratio: 5e-07\r\n", "max multi-hits: 100\tmax Ns: 5\tseed size: 16\tindex interval: 4\r\n", "quality cutoff: 0\tbase quality char: '!'\r\n", "min fragment size:28\tmax fragemt size:500\r\n", "start from read #1\tend at read #4294967295\r\n", "additional alignment: T in reads => C in reference\r\n", "mapping strand (read_1): ++,-+\r\n", "mapping strand (read_2): +-,--\r\n", "Pair-end alignment(4 threads)\r\n", "Input read file #1: mcf_T1D5_R1.fastq \t(format: FASTQ)\r\n", "Input read file #2: mcf_T1D5_R2.fastq \t(format: FASTQ)\r\n", "Output file: bsmap_out_T1D5.sam\t (format: SAM)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t50000 read pairs finished. 43 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t150000 read pairs finished. 43 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t100000 read pairs finished. 44 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t200000 read pairs finished. 44 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t250000 read pairs finished. 60 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t300000 read pairs finished. 61 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t350000 read pairs finished. 62 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t400000 read pairs finished. 63 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t450000 read pairs finished. 77 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t500000 read pairs finished. 78 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t550000 read pairs finished. 80 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t600000 read pairs finished. 80 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t650000 read pairs finished. 94 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t700000 read pairs finished. 96 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t750000 read pairs finished. 98 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t800000 read pairs finished. 99 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t850000 read pairs finished. 112 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t900000 read pairs finished. 114 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t950000 read pairs finished. 116 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1000000 read pairs finished. 117 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1050000 read pairs finished. 129 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1100000 read pairs finished. 131 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1150000 read pairs finished. 133 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1200000 read pairs finished. 134 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1250000 read pairs finished. 146 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1300000 read pairs finished. 147 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1350000 read pairs finished. 150 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1400000 read pairs finished. 152 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1450000 read pairs finished. 163 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1500000 read pairs finished. 164 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1550000 read pairs finished. 167 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1600000 read pairs finished. 168 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1650000 read pairs finished. 179 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1700000 read pairs finished. 182 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1750000 read pairs finished. 184 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1800000 read pairs finished. 185 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1850000 read pairs finished. 196 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1900000 read pairs finished. 199 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1950000 read pairs finished. 201 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2000000 read pairs finished. 202 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2050000 read pairs finished. 213 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2100000 read pairs finished. 216 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2150000 read pairs finished. 218 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2200000 read pairs finished. 219 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2250000 read pairs finished. 229 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2300000 read pairs finished. 233 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2350000 read pairs finished. 235 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2400000 read pairs finished. 236 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2450000 read pairs finished. 246 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2500000 read pairs finished. 250 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2550000 read pairs finished. 252 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2600000 read pairs finished. 253 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2650000 read pairs finished. 262 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2700000 read pairs finished. 267 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2750000 read pairs finished. 268 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2800000 read pairs finished. 269 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2850000 read pairs finished. 279 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2900000 read pairs finished. 284 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2950000 read pairs finished. 285 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3000000 read pairs finished. 287 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3050000 read pairs finished. 296 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3100000 read pairs finished. 301 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3150000 read pairs finished. 303 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3200000 read pairs finished. 304 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3250000 read pairs finished. 313 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3300000 read pairs finished. 318 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3350000 read pairs finished. 320 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3400000 read pairs finished. 321 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3450000 read pairs finished. 330 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3500000 read pairs finished. 335 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3550000 read pairs finished. 337 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3600000 read pairs finished. 338 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3650000 read pairs finished. 348 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3700000 read pairs finished. 352 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3750000 read pairs finished. 355 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3800000 read pairs finished. 355 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3850000 read pairs finished. 364 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3900000 read pairs finished. 369 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3950000 read pairs finished. 371 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4000000 read pairs finished. 374 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4050000 read pairs finished. 382 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4100000 read pairs finished. 386 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4150000 read pairs finished. 388 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4200000 read pairs finished. 391 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4250000 read pairs finished. 399 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4300000 read pairs finished. 403 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4350000 read pairs finished. 405 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4400000 read pairs finished. 408 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4450000 read pairs finished. 416 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4500000 read pairs finished. 419 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4550000 read pairs finished. 422 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4600000 read pairs finished. 424 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4650000 read pairs finished. 433 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4700000 read pairs finished. 436 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4750000 read pairs finished. 439 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4800000 read pairs finished. 441 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4850000 read pairs finished. 450 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4900000 read pairs finished. 454 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4950000 read pairs finished. 456 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5000000 read pairs finished. 458 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5050000 read pairs finished. 467 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5100000 read pairs finished. 471 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5150000 read pairs finished. 474 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5200000 read pairs finished. 475 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5250000 read pairs finished. 483 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5300000 read pairs finished. 488 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5350000 read pairs finished. 491 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5400000 read pairs finished. 492 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5450000 read pairs finished. 500 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5500000 read pairs finished. 505 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5550000 read pairs finished. 509 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5600000 read pairs finished. 510 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5650000 read pairs finished. 517 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5700000 read pairs finished. 522 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5750000 read pairs finished. 527 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5800000 read pairs finished. 527 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5850000 read pairs finished. 534 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5900000 read pairs finished. 539 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6000000 read pairs finished. 545 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5950000 read pairs finished. 545 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6050000 read pairs finished. 550 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6179274 read pairs finished. 554 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6100000 read pairs finished. 554 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6150000 read pairs finished. 558 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Total number of aligned reads: \r\n", "pairs: 2725017 (44%)\r\n", "single a: 1704213 (28%)\r\n", "single b: 1415455 (23%)\r\n", "Done.\r\n", "Finished at Tue Dec 2 14:30:46 2014\r\n", "Total time consumed: 558 secs\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "BSMAP v2.74\r\n", "Start at: Tue Dec 2 14:30:47 2014\r\n", "\r\n", "Input reference file: Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa \t(format: FASTA)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Load in 7658 db seqs, total size 557717710 bp. 9 secs passed\r\n", "total_kmers: 43046721\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Create seed table. 26 secs passed\r\n", "max number of mismatches: read_length * 8% \tmax gap size: 0\r\n", "kmer cut-off ratio: 5e-07\r\n", "max multi-hits: 100\tmax Ns: 5\tseed size: 16\tindex interval: 4\r\n", "quality cutoff: 0\tbase quality char: '!'\r\n", "min fragment size:28\tmax fragemt size:500\r\n", "start from read #1\tend at read #4294967295\r\n", "additional alignment: T in reads => C in reference\r\n", "mapping strand (read_1): ++,-+\r\n", "mapping strand (read_2): +-,--\r\n", "Pair-end alignment(4 threads)\r\n", "Input read file #1: mcf_M3_R1.fastq \t(format: FASTQ)\r\n", "Input read file #2: mcf_M3_R2.fastq" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " \t(format: FASTQ)\r\n", "Output file: bsmap_out_M3.sam\t (format: SAM)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t50000 read pairs finished. 41 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t100000 read pairs finished. 41 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t200000 read pairs finished. 42 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t150000 read pairs finished. 42 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t250000 read pairs finished. 55 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t300000 read pairs finished. 57 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t350000 read pairs finished. 57 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t400000 read pairs finished. 58 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t450000 read pairs finished. 71 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t500000 read pairs finished. 72 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t550000 read pairs finished. 72 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t600000 read pairs finished. 73 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t650000 read pairs finished. 85 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t700000 read pairs finished. 87 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t750000 read pairs finished. 88 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t800000 read pairs finished. 89 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t850000 read pairs finished. 101 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t900000 read pairs finished. 103 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t950000 read pairs finished. 103 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1000000 read pairs finished. 104 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1050000 read pairs finished. 116 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1100000 read pairs finished. 118 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1150000 read pairs finished. 118 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1200000 read pairs finished. 119 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1250000 read pairs finished. 131 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1300000 read pairs finished. 133 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1350000 read pairs finished. 133 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1400000 read pairs finished. 134 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1450000 read pairs finished. 146 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1500000 read pairs finished. 148 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1550000 read pairs finished. 149 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1600000 read pairs finished. 150 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1650000 read pairs finished. 160 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1700000 read pairs finished. 164 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1750000 read pairs finished. 164 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1800000 read pairs finished. 165 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1850000 read pairs finished. 176 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1900000 read pairs finished. 179 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1950000 read pairs finished. 179 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2000000 read pairs finished. 181 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2050000 read pairs finished. 191 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2100000 read pairs finished. 194 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2150000 read pairs finished. 195 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2200000 read pairs finished. 196 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2250000 read pairs finished. 205 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2300000 read pairs finished. 209 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2350000 read pairs finished. 210 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2400000 read pairs finished. 211 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2450000 read pairs finished. 220 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2500000 read pairs finished. 225 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2550000 read pairs finished. 226 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2600000 read pairs finished. 227 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2650000 read pairs finished. 236 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2700000 read pairs finished. 240 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2750000 read pairs finished. 241 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2800000 read pairs finished. 242 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2850000 read pairs finished. 251 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2900000 read pairs finished. 255 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2950000 read pairs finished. 256 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3000000 read pairs finished. 257 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3050000 read pairs finished. 265 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3100000 read pairs finished. 271 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3150000 read pairs finished. 271 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3200000 read pairs finished. 272 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3250000 read pairs finished. 280 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3300000 read pairs finished. 285 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3350000 read pairs finished. 286 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3400000 read pairs finished. 289 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3450000 read pairs finished. 297 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3500000 read pairs finished. 301 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3550000 read pairs finished. 302 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3600000 read pairs finished. 304 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3650000 read pairs finished. 312 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3700000 read pairs finished. 317 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3750000 read pairs finished. 317 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3800000 read pairs finished. 319 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3850000 read pairs finished. 327 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3900000 read pairs finished. 332 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3950000 read pairs finished. 332 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4000000 read pairs finished. 334 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4050000 read pairs finished. 342 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4100000 read pairs finished. 346 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4150000 read pairs finished. 347 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4200000 read pairs finished. 349 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4250000 read pairs finished. 358 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4300000 read pairs finished. 361 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4350000 read pairs finished. 363 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4400000 read pairs finished. 365 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4450000 read pairs finished. 373 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4500000 read pairs finished. 376 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4550000 read pairs finished. 378 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4600000 read pairs finished. 380 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4650000 read pairs finished. 388 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4700000 read pairs finished. 391 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4750000 read pairs finished. 393 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4800000 read pairs finished. 395 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4850000 read pairs finished. 403 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4900000 read pairs finished. 406 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4950000 read pairs finished. 408 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5000000 read pairs finished. 410 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5050000 read pairs finished. 417 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5100000 read pairs finished. 421 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5150000 read pairs finished. 423 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5200000 read pairs finished. 426 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5250000 read pairs finished. 433 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5300000 read pairs finished. 436 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5350000 read pairs finished. 438 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5400000 read pairs finished. 442 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5450000 read pairs finished. 448 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5500000 read pairs finished. 451 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5550000 read pairs finished. 453 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5600000 read pairs finished. 457 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5650000 read pairs finished. 463 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5700000 read pairs finished. 466 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5750000 read pairs finished. 468 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5800000 read pairs finished. 472 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5850000 read pairs finished. 478 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5900000 read pairs finished. 481 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5950000 read pairs finished. 483 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6000000 read pairs finished. 487 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6050000 read pairs finished. 492 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6100000 read pairs finished. 498 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6150000 read pairs finished. 500 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6200000 read pairs finished. 502 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6250000 read pairs finished. 508 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6300000 read pairs finished. 513 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6350000 read pairs finished. 515 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6400000 read pairs finished. 518 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6450000 read pairs finished. 523 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6500000 read pairs finished. 528 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6550000 read pairs finished. 530 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6600000 read pairs finished. 533 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6650000 read pairs finished. 538 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6700000 read pairs finished. 543 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6750000 read pairs finished. 545 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6800000 read pairs finished. 548 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6850000 read pairs finished. 553 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6900000 read pairs finished. 558 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6950000 read pairs finished. 561 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7000000 read pairs finished. 564 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7050000 read pairs finished. 568 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7100000 read pairs finished. 573 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7150000 read pairs finished. 576 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7200000 read pairs finished. 579 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7250000 read pairs finished. 583 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7300000 read pairs finished. 589 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7350000 read pairs finished. 591 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7400000 read pairs finished. 594 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7450000 read pairs finished. 598 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7500000 read pairs finished. 604 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7550000 read pairs finished. 606 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7600000 read pairs finished. 609 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7650000 read pairs finished. 613 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7700000 read pairs finished. 618 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7750000 read pairs finished. 621 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7867124 read pairs finished. 623 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7800000 read pairs finished. 624 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7850000 read pairs finished. 626 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Total number of aligned reads: \r\n", "pairs: 4545285 (58%)\r\n", "single a: 1331429 (17%)\r\n", "single b: 1233410 (16%)\r\n", "Done.\r\n", "Finished at Tue Dec 2 14:41:13 2014\r\n", "Total time consumed: 626 secs\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "BSMAP v2.74\r\n", "Start at: Tue Dec 2 14:41:14 2014\r\n", "\r\n", "Input reference file: Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa \t(format: FASTA)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Load in 7658 db seqs, total size 557717710 bp. 9 secs passed\r\n", "total_kmers: 43046721\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Create seed table. 25 secs passed\r\n", "max number of mismatches: read_length * 8% \tmax gap size: 0\r\n", "kmer cut-off ratio: 5e-07\r\n", "max multi-hits: 100\tmax Ns: 5\tseed size: 16\tindex interval: 4\r\n", "quality cutoff: 0\tbase quality char: '!'\r\n", "min fragment size:28\tmax fragemt size:500\r\n", "start from read #1\tend at read #4294967295\r\n", "additional alignment: T in reads => C in reference\r\n", "mapping strand (read_1): ++,-+\r\n", "mapping strand (read_2): +-,--\r\n", "Pair-end alignment(4 threads)\r\n", "Input read file #1: mcf_T3D3_R1.fastq \t(format: FASTQ)\r\n", "Input read file #2: mcf_T3D3_R2.fastq \t(format: FASTQ)\r\n", "Output file: bsmap_out_T3D3.sam\t (format: SAM)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t50000 read pairs finished. 41 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t100000 read pairs finished. 41 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t150000 read pairs finished. 42 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t200000 read pairs finished. 42 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t250000 read pairs finished. 57 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t300000 read pairs finished. 57 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t350000 read pairs finished. 58 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t400000 read pairs finished. 58 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t450000 read pairs finished. 72 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t500000 read pairs finished. 73 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t550000 read pairs finished. 73 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t600000 read pairs finished. 74 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t650000 read pairs finished. 87 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t700000 read pairs finished. 88 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t750000 read pairs finished. 89 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t800000 read pairs finished. 90 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t850000 read pairs finished. 103 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t900000 read pairs finished. 103 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t950000 read pairs finished. 104 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1000000 read pairs finished. 105 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1050000 read pairs finished. 119 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1100000 read pairs finished. 119 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1150000 read pairs finished. 120 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1200000 read pairs finished. 121 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1250000 read pairs finished. 134 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1300000 read pairs finished. 135 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1350000 read pairs finished. 135 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1400000 read pairs finished. 136 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1450000 read pairs finished. 149 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1500000 read pairs finished. 151 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1550000 read pairs finished. 152 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1600000 read pairs finished. 152 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1650000 read pairs finished. 165 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1700000 read pairs finished. 167 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1750000 read pairs finished. 167 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1800000 read pairs finished. 168 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1850000 read pairs finished. 181 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1900000 read pairs finished. 182 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1950000 read pairs finished. 183 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2000000 read pairs finished. 184 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2050000 read pairs finished. 196 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2100000 read pairs finished. 198 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2150000 read pairs finished. 198 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2200000 read pairs finished. 199 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2250000 read pairs finished. 212 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2300000 read pairs finished. 213 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2350000 read pairs finished. 214 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2400000 read pairs finished. 215 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2450000 read pairs finished. 229 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2500000 read pairs finished. 230 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2550000 read pairs finished. 230 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2600000 read pairs finished. 231 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2650000 read pairs finished. 245 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2700000 read pairs finished. 246 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2750000 read pairs finished. 247 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2800000 read pairs finished. 247 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2850000 read pairs finished. 260 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2900000 read pairs finished. 262 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2950000 read pairs finished. 263 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3000000 read pairs finished. 263 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3050000 read pairs finished. 275 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3100000 read pairs finished. 277 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3150000 read pairs finished. 278 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3200000 read pairs finished. 279 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3250000 read pairs finished. 291 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3300000 read pairs finished. 293 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3350000 read pairs finished. 294 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3400000 read pairs finished. 294 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3450000 read pairs finished. 306 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3500000 read pairs finished. 309 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3550000 read pairs finished. 310 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3600000 read pairs finished. 310 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3650000 read pairs finished. 322 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3700000 read pairs finished. 324 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3750000 read pairs finished. 325 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3800000 read pairs finished. 326 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3850000 read pairs finished. 337 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3900000 read pairs finished. 339 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3950000 read pairs finished. 341 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4000000 read pairs finished. 341 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4050000 read pairs finished. 353 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4100000 read pairs finished. 355 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4150000 read pairs finished. 356 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4200000 read pairs finished. 356 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4250000 read pairs finished. 369 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4300000 read pairs finished. 371 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4350000 read pairs finished. 372 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4400000 read pairs finished. 372 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4450000 read pairs finished. 385 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4500000 read pairs finished. 386 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4550000 read pairs finished. 388 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4600000 read pairs finished. 388 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4650000 read pairs finished. 400 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4700000 read pairs finished. 401 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4750000 read pairs finished. 404 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4800000 read pairs finished. 404 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4850000 read pairs finished. 415 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4900000 read pairs finished. 416 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4950000 read pairs finished. 419 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5000000 read pairs finished. 420 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5050000 read pairs finished. 431 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5100000 read pairs finished. 432 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5150000 read pairs finished. 435 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5200000 read pairs finished. 435 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5250000 read pairs finished. 448 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5300000 read pairs finished. 449 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5400000 read pairs finished. 451 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5350000 read pairs finished. 452 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5450000 read pairs finished. 464 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5500000 read pairs finished. 464 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5550000 read pairs finished. 467 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5600000 read pairs finished. 468 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5650000 read pairs finished. 479 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5700000 read pairs finished. 480 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5750000 read pairs finished. 483 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5800000 read pairs finished. 484 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5850000 read pairs finished. 494 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5900000 read pairs finished. 495 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5950000 read pairs finished. 499 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6000000 read pairs finished. 500 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6050000 read pairs finished. 510 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6100000 read pairs finished. 510 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6150000 read pairs finished. 515 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6200000 read pairs finished. 516 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6250000 read pairs finished. 525 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6300000 read pairs finished. 526 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6350000 read pairs finished. 531 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6400000 read pairs finished. 532 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6450000 read pairs finished. 541 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6500000 read pairs finished. 542 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6550000 read pairs finished. 547 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6600000 read pairs finished. 548 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6650000 read pairs finished. 557 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6700000 read pairs finished. 557 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6750000 read pairs finished. 562 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6800000 read pairs finished. 563 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6850000 read pairs finished. 572 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6900000 read pairs finished. 572 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6950000 read pairs finished. 578 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7000000 read pairs finished. 579 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7109789 read pairs finished. 580 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7050000 read pairs finished. 585 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7100000 read pairs finished. 585 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Total number of aligned reads: \r\n", "pairs: 4047152 (57%)\r\n", "single a: 1332491 (19%)\r\n", "single b: 1205102 (17%)\r\n", "Done.\r\n", "Finished at Tue Dec 2 14:50:59 2014\r\n", "Total time consumed: 585 secs\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "BSMAP v2.74\r\n", "Start at: Tue Dec 2 14:51:00 2014\r\n", "\r\n", "Input reference file: Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa \t(format: FASTA)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Load in 7658 db seqs, total size 557717710 bp. 9 secs passed\r\n", "total_kmers: 43046721\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Create seed table. 25 secs passed\r\n", "max number of mismatches: read_length * 8% \tmax gap size: 0\r\n", "kmer cut-off ratio: 5e-07\r\n", "max multi-hits: 100\tmax Ns: 5\tseed size: 16\tindex interval: 4\r\n", "quality cutoff: 0\tbase quality char: '!'\r\n", "min fragment size:28\tmax fragemt size:500\r\n", "start from read #1\tend at read #4294967295\r\n", "additional alignment: T in reads => C in reference\r\n", "mapping strand (read_1): ++,-+\r\n", "mapping strand (read_2): +-,--\r\n", "Pair-end alignment(4 threads)\r\n", "Input read file #1: mcf_T3D5_R1.fastq \t(format: FASTQ)\r\n", "Input read file #2: mcf_T3D5_R2.fastq \t(format: FASTQ)\r\n", "Output file: bsmap_out_T3D5.sam\t (format: SAM)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t50000 read pairs finished. 41 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t100000 read pairs finished. 42 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t150000 read pairs finished. 42 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t200000 read pairs finished. 42 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t250000 read pairs finished. 57 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t300000 read pairs finished. 58 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t350000 read pairs finished. 58 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t400000 read pairs finished. 59 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t450000 read pairs finished. 72 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t500000 read pairs finished. 73 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t550000 read pairs finished. 74 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t600000 read pairs finished. 75 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t650000 read pairs finished. 87 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t700000 read pairs finished. 88 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t750000 read pairs finished. 90 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t800000 read pairs finished. 90 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t850000 read pairs finished. 102 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t900000 read pairs finished. 103 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t950000 read pairs finished. 105 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1000000 read pairs finished. 106 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1050000 read pairs finished. 118 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1100000 read pairs finished. 118 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1150000 read pairs finished. 120 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1200000 read pairs finished. 121 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1250000 read pairs finished. 134 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1300000 read pairs finished. 134 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1350000 read pairs finished. 136 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1400000 read pairs finished. 136 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1450000 read pairs finished. 150 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1500000 read pairs finished. 151 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1550000 read pairs finished. 151 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1600000 read pairs finished. 152 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1650000 read pairs finished. 166 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1700000 read pairs finished. 166 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1750000 read pairs finished. 167 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1800000 read pairs finished. 168 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1850000 read pairs finished. 181 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1900000 read pairs finished. 182 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1950000 read pairs finished. 182 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2000000 read pairs finished. 183 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2050000 read pairs finished. 197 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2100000 read pairs finished. 197 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2150000 read pairs finished. 198 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2200000 read pairs finished. 199 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2250000 read pairs finished. 212 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2300000 read pairs finished. 213 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2350000 read pairs finished. 214 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2400000 read pairs finished. 214 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2450000 read pairs finished. 228 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2500000 read pairs finished. 229 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2550000 read pairs finished. 229 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2600000 read pairs finished. 230 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2650000 read pairs finished. 244 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2700000 read pairs finished. 244 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2750000 read pairs finished. 244 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2800000 read pairs finished. 245 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2850000 read pairs finished. 260 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2950000 read pairs finished. 261 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2900000 read pairs finished. 261 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3000000 read pairs finished. 261 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3050000 read pairs finished. 275 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3100000 read pairs finished. 276 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3150000 read pairs finished. 277 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3200000 read pairs finished. 278 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3250000 read pairs finished. 291 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3300000 read pairs finished. 291 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3350000 read pairs finished. 292 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3400000 read pairs finished. 293 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3450000 read pairs finished. 306 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3500000 read pairs finished. 306 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3550000 read pairs finished. 308 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3600000 read pairs finished. 310 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3700000 read pairs finished. 322 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3650000 read pairs finished. 323 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3750000 read pairs finished. 323 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3800000 read pairs finished. 325 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3850000 read pairs finished. 338 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3950000 read pairs finished. 338 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3900000 read pairs finished. 339 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4000000 read pairs finished. 339 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4050000 read pairs finished. 352 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4100000 read pairs finished. 353 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4150000 read pairs finished. 354 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4200000 read pairs finished. 355 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4250000 read pairs finished. 367 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4300000 read pairs finished. 369 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4350000 read pairs finished. 370 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4400000 read pairs finished. 371 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4450000 read pairs finished. 382 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4500000 read pairs finished. 384 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4550000 read pairs finished. 386 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4600000 read pairs finished. 386 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4650000 read pairs finished. 397 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4700000 read pairs finished. 399 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4750000 read pairs finished. 401 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4800000 read pairs finished. 402 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4850000 read pairs finished. 412 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4900000 read pairs finished. 414 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4950000 read pairs finished. 417 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5000000 read pairs finished. 418 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5050000 read pairs finished. 427 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5100000 read pairs finished. 429 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5150000 read pairs finished. 433 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5200000 read pairs finished. 433 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5250000 read pairs finished. 442 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5300000 read pairs finished. 444 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5350000 read pairs finished. 448 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5400000 read pairs finished. 449 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5450000 read pairs finished. 457 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5500000 read pairs finished. 458 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5550000 read pairs finished. 464 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5600000 read pairs finished. 464 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5650000 read pairs finished. 472 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5700000 read pairs finished. 475 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5750000 read pairs finished. 481 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5800000 read pairs finished. 482 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5850000 read pairs finished. 487 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5900000 read pairs finished. 490 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6000000 read pairs finished. 497 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5950000 read pairs finished. 498 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6050000 read pairs finished. 503 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6100000 read pairs finished. 505 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6150000 read pairs finished. 512 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6200000 read pairs finished. 513 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6250000 read pairs finished. 518 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6300000 read pairs finished. 520 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6350000 read pairs finished. 527 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6400000 read pairs finished. 529 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6450000 read pairs finished. 534 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6500000 read pairs finished. 536 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6550000 read pairs finished. 542 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6600000 read pairs finished. 545 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6650000 read pairs finished. 549 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6700000 read pairs finished. 551 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6750000 read pairs finished. 557 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6800000 read pairs finished. 560 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6850000 read pairs finished. 564 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6900000 read pairs finished. 566 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6950000 read pairs finished. 572 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7000000 read pairs finished. 575 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7050000 read pairs finished. 579 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7125800 read pairs finished. 579 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7100000 read pairs finished. 580 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Total number of aligned reads: \r\n", "pairs: 4092568 (57%)\r\n", "single a: 1250715 (18%)\r\n", "single b: 1133306 (16%)\r\n", "Done.\r\n", "Finished at Tue Dec 2 15:00:40 2014\r\n", "Total time consumed: 580 secs\r\n" ] } ], "prompt_number": 8 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "_methratio_" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "methratio is a python script that accompanies BSMAP that determines methylation level on CpG loci" ] }, { "cell_type": "code", "collapsed": false, "input": [ "for i in (\"M1\",\"T1D3\",\"T1D5\", \"M3\", \"T3D3\", \"T3D5\"):\n", " !python {bsmaploc}methratio.py \\\n", "-d Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa \\\n", "-u -z -g \\\n", "-o methratio_out_{i}.txt \\\n", "-s {bsmaploc}samtools \\\n", "bsmap_out_{i}.sam \\\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:00:08 2014: reading reference Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:00:42 2014: reading bsmap_out_M1.sam ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "[samopen] SAM header is present: 7658 sequences.\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\t@ Wed Dec 3 04:05:20 2014: read 10000000 lines\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:05:44 2014: combining CpG methylation from both strands ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:06:07 2014: writing methratio_out_M1.txt ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:15:07 2014: done.\r\n", "total 8716467 valid mappings, 48671764 covered cytosines, average coverage: 1.78 fold.\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:15:08 2014: reading reference Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:15:42 2014: reading bsmap_out_T1D3.sam ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "[samopen] SAM header is present: 7658 sequences.\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:18:10 2014: combining CpG methylation from both strands ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:18:34 2014: writing methratio_out_T1D3.txt ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:24:04 2014: done.\r\n", "total 5759215 valid mappings, 26507310 covered cytosines, average coverage: 1.32 fold.\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:24:05 2014: reading reference Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:24:39 2014: reading bsmap_out_T1D5.sam ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "[samopen] SAM header is present: 7658 sequences.\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:28:39 2014: combining CpG methylation from both strands ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:29:03 2014: writing methratio_out_T1D5.txt ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:37:34 2014: done.\r\n", "total 6974208 valid mappings, 45446465 covered cytosines, average coverage: 1.54 fold.\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:37:35 2014: reading reference Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:38:09 2014: reading bsmap_out_M3.sam ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "[samopen] SAM header is present: 7658 sequences.\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\t@ Wed Dec 3 04:42:53 2014: read 10000000 lines\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:43:39 2014: combining CpG methylation from both strands ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:44:03 2014: writing methratio_out_M3.txt ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:54:10 2014: done.\r\n", "total 9773223 valid mappings, 53389886 covered cytosines, average coverage: 1.78 fold.\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:54:11 2014: reading reference Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:54:47 2014: reading bsmap_out_T3D3.sam ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "[samopen] SAM header is present: 7658 sequences.\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\t@ Wed Dec 3 04:59:30 2014: read 10000000 lines\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:59:48 2014: combining CpG methylation from both strands ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 05:00:12 2014: writing methratio_out_T3D3.txt ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 05:09:49 2014: done.\r\n", "total 8847902 valid mappings, 52255860 covered cytosines, average coverage: 1.65 fold.\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 05:09:51 2014: reading reference Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 05:10:24 2014: reading bsmap_out_T3D5.sam ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "[samopen] SAM header is present: 7658 sequences.\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\t@ Wed Dec 3 05:15:09 2014: read 10000000 lines\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 05:15:25 2014: combining CpG methylation from both strands ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 05:15:49 2014: writing methratio_out_T3D5.txt ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 05:25:16 2014: done.\r\n", "total 8808414 valid mappings, 51732152 covered cytosines, average coverage: 1.69 fold.\r\n" ] } ], "prompt_number": 9 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Global Differences: methylkit" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Converting methratio files for methylkit**" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#first methratio files are converted to filter for CG context, 3x coverage (mr3x.awk), and reformatting (mr_gg.awk.sh).\n", "#due to issue passing variable to awk, simple scripts were used (included in repository)\n", "for i in (\"M1\",\"T1D3\",\"T1D5\", \"M3\", \"T3D3\", \"T3D5\"):\n", " !echo {i}\n", " !grep \"[A-Z][A-Z]CG[A-Z]\" methratio_out_{i}CG.txt\n", " !awk -f ../scripts/mr3x.awk methratio_out_{i}CG.txt > mr3x.{i}.txt\n", " !awk -f ../scripts/mr_gg.awk.sh mr3x.{i}.txt > mkfmt_{i}.txt\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "M1\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "T1D3\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "T1D5\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "M3\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "T3D3\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "T3D5\r\n" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Running R > methylkit**" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%pylab inline" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "%load_ext rpy2.ipython\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "%%R \n", "# dependencies\n", "install.packages( c(\"data.table\",\"devtools\"))\n", "source(\"http://bioconductor.org/biocLite.R\")\n", "biocLite(c(\"GenomicRanges\",\"IRanges\"))\n", "\n", "# install the development version from github\n", "library(devtools)\n", "install_github(\"al2na/methylKit\",build_vignettes=FALSE)\n" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "text": [ "--- Please select a CRAN mirror for use in this session ---\n", "\n", " There is a binary version available (and will be installed) but the\n", " source version is later:\n", " binary source\n", "data.table 1.9.2 1.9.4\n", "\n", "also installing the dependencies \u2018bitops\u2019, \u2018httr\u2019, \u2018RCurl\u2019, \u2018memoise\u2019, \u2018whisker\u2019, \u2018evaluate\u2019, \u2018digest\u2019, \u2018rstudioapi\u2019, \u2018jsonlite\u2019\n", "\n", "trying URL 'http://cran.fhcrc.org/bin/macosx/contrib/3.1/bitops_1.0-6.tgz'\n", "Content type 'application/x-gzip' length 22076 bytes (21 Kb)\n", "opened URL\n", "==================================================\n", "downloaded 21 Kb\n", "\n", "trying URL 'http://cran.fhcrc.org/bin/macosx/contrib/3.1/httr_0.5.tgz'\n", "Content type 'application/x-gzip' length 388016 bytes (378 Kb)\n", "opened URL\n", "==================================================\n", "downloaded 378 Kb\n", "\n", "trying URL 'http://cran.fhcrc.org/bin/macosx/contrib/3.1/RCurl_1.95-4.4.tgz'\n", "Content type 'application/x-gzip' length 710617 bytes (693 Kb)\n", "opened URL\n", "==================================================\n", "downloaded 693 Kb\n", "\n", "trying URL 'http://cran.fhcrc.org/bin/macosx/contrib/3.1/memoise_0.2.1.tgz'\n", "Content type 'application/x-gzip' length 14111 bytes (13 Kb)\n", "opened URL\n", "==================================================\n", "downloaded 13 Kb\n", "\n", "trying URL 'http://cran.fhcrc.org/bin/macosx/contrib/3.1/whisker_0.3-2.tgz'\n", "Content type 'application/x-gzip' length 47145 bytes (46 Kb)\n", "opened URL\n", "==================================================\n", "downloaded 46 Kb\n", "\n", "trying URL 'http://cran.fhcrc.org/bin/macosx/contrib/3.1/evaluate_0.5.5.tgz'\n", "Content type 'application/x-gzip' length 36465 bytes (35 Kb)\n", "opened URL\n", "==================================================\n", "downloaded 35 Kb\n", "\n", "trying URL 'http://cran.fhcrc.org/bin/macosx/contrib/3.1/digest_0.6.4.tgz'\n", "Content type 'application/x-gzip' length 103487 bytes (101 Kb)\n", "opened URL\n", "==================================================\n", "downloaded 101 Kb\n", "\n", "trying URL 'http://cran.fhcrc.org/bin/macosx/contrib/3.1/rstudioapi_0.1.tgz'\n", "Content type 'application/x-gzip' length 13345 bytes (13 Kb)\n", "opened URL\n", "==================================================\n", "downloaded 13 Kb\n", "\n", "trying URL 'http://cran.fhcrc.org/bin/macosx/contrib/3.1/jsonlite_0.9.14.tgz'\n", "Content type 'application/x-gzip' length 883801 bytes (863 Kb)\n", "opened URL\n", "==================================================\n", "downloaded 863 Kb\n", "\n", "trying URL 'http://cran.fhcrc.org/bin/macosx/contrib/3.1/data.table_1.9.2.tgz'\n", "Content type 'application/x-gzip' length 1270347 bytes (1.2 Mb)\n", "opened URL\n", "==================================================\n", "downloaded 1.2 Mb\n", "\n", "trying URL 'http://cran.fhcrc.org/bin/macosx/contrib/3.1/devtools_1.6.1.tgz'\n", "Content type 'application/x-gzip' length 271631 bytes (265 Kb)\n", "opened URL\n", "==================================================\n", "downloaded 265 Kb\n", "\n", "\n", "The downloaded binary packages are in\n", "\t/var/folders/fm/hb4lxvc52w580njy5kf5r9040000gn/T//RtmpU4EfD1/downloaded_packages\n", "Bioconductor version 3.0 (BiocInstaller 1.16.1), ?biocLite for help\n", "BioC_mirror: http://bioconductor.org\n", "Using Bioconductor version 3.0 (BiocInstaller 1.16.1), R version 3.1.1.\n", "Installing package(s) 'GenomicRanges' 'IRanges'\n", "trying URL 'http://bioconductor.org/packages/3.0/bioc/bin/macosx/contrib/3.1/GenomicRanges_1.18.3.tgz'\n", "Content type 'application/x-gzip' length 1232689 bytes (1.2 Mb)\n", "opened URL\n", "==================================================\n", "downloaded 1.2 Mb\n", "\n", "trying URL 'http://bioconductor.org/packages/3.0/bioc/bin/macosx/contrib/3.1/IRanges_2.0.0.tgz'\n", "Content type 'application/x-gzip' length 1582195 bytes (1.5 Mb)\n", "opened URL\n", "==================================================\n", "downloaded 1.5 Mb\n", "\n", "\n", "The downloaded binary packages are in\n", "\t/var/folders/fm/hb4lxvc52w580njy5kf5r9040000gn/T//RtmpU4EfD1/downloaded_packages\n", "Downloading github repo al2na/methylKit@master\n", "Installing methylKit\n", "'/Library/Frameworks/R.framework/Resources/bin/R' --vanilla CMD INSTALL \\\n", " '/private/var/folders/fm/hb4lxvc52w580njy5kf5r9040000gn/T/RtmpU4EfD1/devtools173a9208a2/al2na-methylKit-e130672' \\\n", " --library='/Library/Frameworks/R.framework/Versions/3.1/Resources/library' \\\n", " --install-tests \n", "\n" ] } ], "prompt_number": 35 }, { "cell_type": "code", "collapsed": false, "input": [ "%R library(methylKit)\n" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 40, "text": [ "array(['methylKit', 'devtools', 'BiocInstaller', 'tools', 'stats',\n", " 'graphics', 'grDevices', 'utils', 'datasets', 'methods', 'base'], \n", " dtype='|S13')" ] } ], "prompt_number": 40 }, { "cell_type": "code", "collapsed": false, "input": [ "%%R file.list <- list \n", "('mkfmt_M1.txt',\n", " 'mkfmt_T1D3.txt',\n", " 'mkfmt_T1D5.txt',\n", " 'mkfmt_M3.txt',\n", " 'mkfmt_T3D3.txt',\n", " 'mkfmt_T3D5.txt'\n", ")\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 41 }, { "cell_type": "code", "collapsed": false, "input": [ "%%R\n", "myobj=read(file.list,sample.id=list(\"1_sperm\",\"1_72hpf\",\"1_120hpf\",\"3_sperm\",\"3_72hpf\",\"3_120hpf\"),assembly=\"v9\",treatment=c(0,0,0,1,1,1))\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 42 }, { "cell_type": "code", "collapsed": false, "input": [ "%%R\n", "meth<-unite(myobj)\n", "head(meth)\n", "nrow(meth)\n", "#getCorrelation(meth,plot=T)\n", "hc<- clusterSamples(meth, dist=\"correlation\", method=\"ward\", plot=T)\n", "#PCA<-PCASamples(meth)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "text": [ "The \"ward\" method has been renamed to \"ward.D\"; note new \"ward.D2\"\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAYAAAB91L6VAAAEJGlDQ1BJQ0MgUHJvZmlsZQAAOBGF\nVd9v21QUPolvUqQWPyBYR4eKxa9VU1u5GxqtxgZJk6XtShal6dgqJOQ6N4mpGwfb6baqT3uBNwb8\nAUDZAw9IPCENBmJ72fbAtElThyqqSUh76MQPISbtBVXhu3ZiJ1PEXPX6yznfOec7517bRD1fabWa\nGVWIlquunc8klZOnFpSeTYrSs9RLA9Sr6U4tkcvNEi7BFffO6+EdigjL7ZHu/k72I796i9zRiSJP\nwG4VHX0Z+AxRzNRrtksUvwf7+Gm3BtzzHPDTNgQCqwKXfZwSeNHHJz1OIT8JjtAq6xWtCLwGPLzY\nZi+3YV8DGMiT4VVuG7oiZpGzrZJhcs/hL49xtzH/Dy6bdfTsXYNY+5yluWO4D4neK/ZUvok/17X0\nHPBLsF+vuUlhfwX4j/rSfAJ4H1H0qZJ9dN7nR19frRTeBt4Fe9FwpwtN+2p1MXscGLHR9SXrmMgj\nONd1ZxKzpBeA71b4tNhj6JGoyFNp4GHgwUp9qplfmnFW5oTdy7NamcwCI49kv6fN5IAHgD+0rbyo\nBc3SOjczohbyS1drbq6pQdqumllRC/0ymTtej8gpbbuVwpQfyw66dqEZyxZKxtHpJn+tZnpnEdrY\nBbueF9qQn93S7HQGGHnYP7w6L+YGHNtd1FJitqPAR+hERCNOFi1i1alKO6RQnjKUxL1GNjwlMsiE\nhcPLYTEiT9ISbN15OY/jx4SMshe9LaJRpTvHr3C/ybFYP1PZAfwfYrPsMBtnE6SwN9ib7AhLwTrB\nDgUKcm06FSrTfSj187xPdVQWOk5Q8vxAfSiIUc7Z7xr6zY/+hpqwSyv0I0/QMTRb7RMgBxNodTfS\nPqdraz/sDjzKBrv4zu2+a2t0/HHzjd2Lbcc2sG7GtsL42K+xLfxtUgI7YHqKlqHK8HbCCXgjHT1c\nAdMlDetv4FnQ2lLasaOl6vmB0CMmwT/IPszSueHQqv6i/qluqF+oF9TfO2qEGTumJH0qfSv9KH0n\nfS/9TIp0Wboi/SRdlb6RLgU5u++9nyXYe69fYRPdil1o1WufNSdTTsp75BfllPy8/LI8G7AUuV8e\nk6fkvfDsCfbNDP0dvRh0CrNqTbV7LfEEGDQPJQadBtfGVMWEq3QWWdufk6ZSNsjG2PQjp3ZcnOWW\ning6noonSInvi0/Ex+IzAreevPhe+CawpgP1/pMTMDo64G0sTCXIM+KdOnFWRfQKdJvQzV1+Bt8O\nokmrdtY2yhVX2a+qrykJfMq4Ml3VR4cVzTQVz+UoNne4vcKLoyS+gyKO6EHe+75Fdt0Mbe5bRIf/\nwjvrVmhbqBN97RD1vxrahvBOfOYzoosH9bq94uejSOQGkVM6sN/7HelL4t10t9F4gPdVzydEOx83\nGv+uNxo7XyL/FtFl8z9ZAHF4bBsrEwAAQABJREFUeAHtnQucVVP7x58zk3QzqaSSoZoQKsali8tU\nLimh8PZSUe5EMaV4pZekJCShklv8XYpIdHnfIuXyVkihTDfddBuSTIkuM7P/z2+NfZw5c86ZS3NZ\ne8/v+XzOnLPX3nvt9XzXnv3s9axnrRVwVIRCAiRAAiRAAiRQqgTiSvVqvBgJkAAJkAAJkIAhQAPM\nG4EESIAESIAEyoAADXAZQOclSYAESIAESIAGmPcACZAACZAACZQBARrgMoDOS5IACZAACZAADTDv\nARIgARIgARIoAwI0wGUAnZckARIgARIgARpg3gMkQAIkQAIkUAYEaIDLADovSQIkQAIkQAI0wLwH\nSIAESIAESKAMCNAAlwF0XpIESIAESIAEaIB5D5AACZAACZBAGRCgAS4D6LwkCZAACZAACdAA8x4g\nARIgARIggTIgQANcBtB5SRIgARIgARKgAeY9QAIkQAIkQAJlQIAGuAyg85IkQAIkQAIkQAPMe4AE\nSIAESIAEyoAADXAZQOclSYAESIAESIAGmPcACZAACZAACZQBARrgMoDOS5IACZAACZAADTDvARIg\nARIgARIoAwI0wGUAnZckARIgARIggQpEQAK2ENi3b598+eWXsmzZMqlSpYqceeaZcvLJJxe5eD/8\n8IN89dVX8tNPP8mxxx4rF154oVSrVq3I+R3MidnZ2RIXl/O+u2TJEtm8ebOcccYZctRRRxUp2xkz\nZgjyvOyyywp1fmg5ippHoS6Yz8FLly6VTZs2yemnny7169fP5+jC7Q7VtXBn5hyN++aLL76QevXq\nmXuxKHnwHBKIScChkIAFBPRB7KixdfRmDX4CgYBzww03OJmZmYUq4a5du5xzzz03mI+bZ40aNZxP\nPvmkUHkd7MG//fab069fP+fZZ58NZnXNNdeYsr399tvBtML+qFSpkskjKyurQKd+++23Ttu2bR01\n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\nAjTApUGZ1yABEiABEiCBMAI0wGFAuEkCJEACJEACpUGABrg0KPMaJEACJEACJBBGwJr1gMPKxU0S\nIAES8DyB++67TzZu3CgJCQmlqssXX3whcXFxsmDBglK9bkZGhjRq1EiGDx9eqtf16sVogL1acyw3\nCZCA9QT++OMP6dy5s5x66qmlWtb09HRzvbp165bqdZcsWSJfffVVqV7TyxejAfZy7bHsJEACVhOo\nUqWKHHvssXLCCSeUajlL+3qucr/88ot8//337ia/8yHAPuB8AHE3CZAACZAACZQEARrgkqDKPEmA\nBEiABEggHwI0wPkA4m4SIAESIAESKAkCNMAlQZV5kgAJkAAJkEA+BKwzwJmZmbJz5858is3dJEAC\nJEACJOBtAlYY4P3798ugQYMkMTFRKlasKDVr1pSqVatK06ZNZeLEid4mzNKTAAmQAAmQQAQCVgxD\n6tu3r2Dc2syZM80gbhjfXbt2SVpamqSmpsrevXuld+/eEYrPJBIgARIgARLwJgErWsBz5syRCRMm\nSPPmzaVatWoSCASkevXq0rp1axkzZoxMmzbNm3RZahIgARIgARKIQsAKAwxX87x58yIWccaMGVK7\ndu2I+5hIAiRAAiRAAl4lYIULeujQodK9e3cZPXq0JCUlmXlTMafoihUrBEFZs2bN8ipflpsESIAE\nSIAEIhKwwgAnJyfL0qVLZeHChbJhwwbTH4xWL/p9zz77bMnKyopYeCaSAAmQAAmQgFcJWGGAN23a\nJPfff79MnTrV9PuOHz9eGjdubJhOnjzZpL/99tteZcxykwAJkAAJkEAeAlb0AcP1XK9ePVm8eLEx\nwCkpKbJ69eo8hWUCCZAACZAACfiFgBUtYPTxwgVduXJlQX/wSSedJBdddJF8/vnnfuFMPUiABEiA\nBEggFwErDDAMLlq/5557rinc1VdfLVu3bpWOHTvKrbfemqvAsTZ+++03QfBWJNm+fbsZTxxpH9NI\ngARIgARIoLQJWGGAb7vtNunatav069dP7r33XsOgf//+snv3bpPWpUuXAnH58MMPzWQekQ5GcNcp\np5wSaRfTSIAESIAESKDUCVhhgNu3by9r166VdevW5QLw4IMPSps2bcy+XDuibMCI4xNJpkyZImgF\nU0iABEiABEjABgJWGGCAwPSTzZo1y8Okbdu2gg+FBEiABEiABPxEwIoo6FhAV61aZQK0Yh3DfSRA\n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\nkcD/Ay67A1+IV3H0AAAAAElFTkSuQmCC\n" } ], "prompt_number": 45 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Differentially methylated loci" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Determining differentially methylated loci using methylkit\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "pwd" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 61, "text": [ "u'/Users/Steven/Desktop/olson-dev-master/wd'" ] } ], "prompt_number": 61 }, { "cell_type": "code", "collapsed": false, "input": [ "%%R file.list <- list \n", "('mkfmt_M1.txt',\n", " 'mkfmt_T1D3.txt',\n", " 'mkfmt_T1D5.txt',\n", " 'mkfmt_M3.txt',\n", " 'mkfmt_T3D3.txt',\n", " 'mkfmt_T3D5.txt'\n", ")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 62 }, { "cell_type": "code", "collapsed": false, "input": [ "%%R\n", "#lineage-specific DMLs\n", "DMLobj=read(file.list,sample.id=list(\"M1\",\"T1D3\",\"T1D5\",\"M3\",\"T3D3\",\"T3D5\"),assembly=\"v9\",treatment=c(1,1,1,0,0,0), context=\"CpG\")\n", "lin<-unite(DMLobj)\n", "lin.pooled <- pool(lin, sample.ids <- c(\"lin_1\", \"lin_3\"))\n", "lin_DML.fisher <- calculateDiffMeth(lin.pooled)\n", "select(lin_DML.fisher, 1)\n", "lin_DML_p <- getData(lin_DML.fisher)\n", "lin_DML_filt <- lin_DML_p[lin_DML_p$pvalue < 0.01 & lin_DML_p$meth.diff > 25,]\n", "write.csv(lin_DML_filt,file=\"lin_DML_filt\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 63 }, { "cell_type": "code", "collapsed": false, "input": [ "!wc -l lin_DML_filt" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " 190 lin_DML_filt\r\n" ] } ], "prompt_number": 66 }, { "cell_type": "code", "collapsed": false, "input": [ "%%R file.list <- list \n", "('mkfmt_M1.txt',\n", " 'mkfmt_T1D3.txt',\n", " 'mkfmt_M3.txt',\n", " 'mkfmt_T3D3.txt'\n", ")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 68 }, { "cell_type": "code", "collapsed": false, "input": [ "%%R \n", "#Developmentally different DMLs (Males v Day3)\n", "DMLobj=read(file.list,sample.id=list(\"M1\",\"T1D3\",\"M3\",\"T3D3\"), assembly=\"v9\",treatment=c(1,0,1,0), context=\"CpG\")\n", "DevelMvD3<-unite(DMLobj)\n", "DevelMvD3.pooled <- pool(DevelMvD3, sample.ids <- c(\"Males\", \"Day3\"))\n", "DevelMvD3_DML.fisher <- calculateDiffMeth(DevelMvD3.pooled)\n", "select(DevelMvD3_DML.fisher, 1)\n", "DevelMvD3_DML_p <- getData(DevelMvD3_DML.fisher)\n", "DevelMvD3_DML_filt <- DevelMvD3_DML_p[DevelMvD3_DML_p$pvalue < 0.01 & DevelMvD3_DML_p$meth.diff > 25,]\n", "write.csv(DevelMvD3_DML_filt,file=\"DevelMvD3_DML_filt\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 69 }, { "cell_type": "code", "collapsed": false, "input": [ "!wc -l DevelMvD3_DML_filt" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " 30 DevelMvD3_DML_filt\r\n" ] } ], "prompt_number": 70 }, { "cell_type": "code", "collapsed": false, "input": [ "%%R file.list <- list \n", "('mkfmt_M1.txt',\n", " 'mkfmt_T1D5.txt',\n", " 'mkfmt_M3.txt',\n", " 'mkfmt_T3D5.txt'\n", ")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 114 }, { "cell_type": "code", "collapsed": false, "input": [ "%%R \n", "#Developmentally different DMLs (Males v Day5)\n", "DMLobj=read(file.list,sample.id=list(\"M1\",\"T1D5\",\"M3\",\"T3D5\"), assembly=\"v9\",treatment=c(1,0,1,0), context=\"CpG\")\n", "DevelMvD5<-unite(DMLobj)\n", "DevelMvD5.pooled <- pool(DevelMvD5, sample.ids <- c(\"Males\", \"Day5\"))\n", "DevelMvD5_DML.fisher <- calculateDiffMeth(DevelMvD5.pooled)\n", "select(DevelMvD5_DML.fisher, 1)\n", "DevelMvD5_DML_p <- getData(DevelMvD5_DML.fisher)\n", "DevelMvD5_DML_filt <- DevelMvD5_DML_p[DevelMvD5_DML_p$pvalue < 0.01 & DevelMvD5_DML_p$meth.diff > 25,]\n", "write.csv(DevelMvD5_DML_filt,file=\"DevelMvD5_DML_filt\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 115 }, { "cell_type": "code", "collapsed": false, "input": [ "!wc -l DevelMvD5_DML_filt" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " 86 DevelMvD5_DML_filt\r\n" ] } ], "prompt_number": 117 }, { "cell_type": "code", "collapsed": false, "input": [ "%%R file.list <- list \n", "('mkfmt_T1D3.txt',\n", " 'mkfmt_T1D5.txt',\n", " 'mkfmt_T3D3.txt',\n", " 'mkfmt_T3D5.txt'\n", ")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 74 }, { "cell_type": "code", "collapsed": false, "input": [ "%%R \n", "#Developmentally different DMLs (Day3 v Day5)\n", "DMLobj=read(file.list,sample.id=list(\"T1D3\",\"T1D5\",\"T3D3\",\"T3D5\"), assembly=\"v9\",treatment=c(1,0,1,0), context=\"CpG\")\n", "DevelD3vD5<-unite(DMLobj)\n", "DevelD3vD5.pooled <- pool(DevelD3vD5, sample.ids <- c(\"Day3\", \"Day5\"))\n", "DevelD3vD5_DML.fisher <- calculateDiffMeth(DevelD3vD5.pooled)\n", "select(DevelD3vD5_DML.fisher, 1)\n", "DevelD3vD5_DML_p <- getData(DevelD3vD5_DML.fisher)\n", "DevelD3vD5_DML_filt <- DevelD3vD5_DML_p[DevelD3vD5_DML_p$pvalue < 0.01 & DevelD3vD5_DML_p$meth.diff > 25,]\n", "write.csv(DevelD3vD5_DML_filt,file=\"DevelD3vD5_DML_filt\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 75 }, { "cell_type": "code", "collapsed": false, "input": [ "!wc -l DevelD3vD5_DML_filt" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " 47 DevelD3vD5_DML_filt\r\n" ] } ], "prompt_number": 116 }, { "cell_type": "code", "collapsed": false, "input": [ "!tail -n +2 DevelMvD5_DML_filt > DevelMvD5_DML | tail -n +2 DevelD3vD5_DML_filt > DevelD3vD5_DML " ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 123 }, { "cell_type": "code", "collapsed": false, "input": [ "#Concatenate all developmetnally different DMLs to one file\n", "!cat DevelMvD3_DML_filt DevelMvD5_DML DevelD3vD5_DML > Devel_DML_filt" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 124 }, { "cell_type": "code", "collapsed": false, "input": [ "!wc -l Devel_DML_filt" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " 161 Devel_DML_filt\r\n" ] } ], "prompt_number": 125 }, { "cell_type": "markdown", "metadata": {}, "source": [ "###Creating DML BED files" ] }, { "cell_type": "code", "collapsed": false, "input": [ "!tail -n +2 lin_DML_filt | awk -F, '{print $2, $3, $4, \"DML_lin\" }' | tr -d '\"' | tr ' ' \"\\t\" > lineage_dml.bed" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 173 }, { "cell_type": "code", "collapsed": false, "input": [ "!head lineage_dml.bed" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "C23232\t379\t379\tDML_lin\r\n", "C26004\t260\t260\tDML_lin\r\n", "C26812\t1897\t1897\tDML_lin\r\n", "C27566\t2051\t2051\tDML_lin\r\n", "C27928\t1300\t1300\tDML_lin\r\n", "C27928\t1323\t1323\tDML_lin\r\n", "C30526\t1477\t1477\tDML_lin\r\n", "C33236\t10478\t10478\tDML_lin\r\n", "C33236\t10483\t10483\tDML_lin\r\n", "C34176\t2127\t2127\tDML_lin\r\n" ] } ], "prompt_number": 174 }, { "cell_type": "code", "collapsed": false, "input": [ "!wc -l lineage_dml.bed" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " 189 lineage_dml.bed\r\n" ] } ], "prompt_number": 175 }, { "cell_type": "code", "collapsed": false, "input": [ "!tail -n +2 Devel_DML_filt | awk -F, '{print $2, $3, $4, \"DML_dev\" }' | tr -d '\"' | tr ' ' \"\\t\" > dev_dml.bed" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 233 }, { "cell_type": "code", "collapsed": false, "input": [ "!head dev_dml.bed" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "C24224\t2053\t2053\tDML_dev\r\n", "C30124\t6380\t6380\tDML_dev\r\n", "scaffold1024\t1265774\t1265774\tDML_dev\r\n", "scaffold1103\t28814\t28814\tDML_dev\r\n", "scaffold1103\t30261\t30261\tDML_dev\r\n", "scaffold1188\t81327\t81327\tDML_dev\r\n", "scaffold1297\t43485\t43485\tDML_dev\r\n", "scaffold1337\t180233\t180233\tDML_dev\r\n", "scaffold1423\t296279\t296279\tDML_dev\r\n", "scaffold1896\t38848\t38848\tDML_dev\r\n" ] } ], "prompt_number": 234 }, { "cell_type": "code", "collapsed": false, "input": [ "!wc -l dev_dml.bed" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " 160 dev_dml.bed\r\n" ] } ], "prompt_number": 235 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Genomic location of DMLs" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#In order to find location of DMLs oyster genome tracks will be downloaded\n", "#and intersectbed (bedtools suite) run\n", "#Note track with all CG's is large (~977mb)" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "cd genome_tracks\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "/Users/Steven/Desktop/olson-dev-master/wd/genome_tracks\n" ] } ], "prompt_number": 178 }, { "cell_type": "code", "collapsed": false, "input": [ "for i in (\"exon\",\"intron\",\"TE\",\"gene\",\"1k5p_gene_promoter\",\"CG\"):\n", " !curl -O --test http://eagle.fish.washington.edu/trilobite/Crassostrea_gigas_v9_tracks/Cgigas_v9_{i}.gff \n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "curl: option --test: is unknown\r\n", "curl: try 'curl --help' or 'curl --manual' for more information\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "curl: option --test: is unknown\r\n", "curl: try 'curl --help' or 'curl --manual' for more information\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "curl: option --test: is unknown\r\n", "curl: try 'curl --help' or 'curl --manual' for more information\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "curl: option --test: is unknown\r\n", "curl: try 'curl --help' or 'curl --manual' for more information\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "curl: option --test: is unknown\r\n", "curl: try 'curl --help' or 'curl --manual' for more information\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "curl: option --test: is unknown\r\n", "curl: try 'curl --help' or 'curl --manual' for more information\r\n" ] } ], "prompt_number": 145 }, { "cell_type": "code", "collapsed": false, "input": [ "cd .." ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "/Users/Steven/Desktop/olson-dev-master/wd\n" ] } ], "prompt_number": 179 }, { "cell_type": "code", "collapsed": false, "input": [ "for i in (\"exon\",\"intron\",\"TE\",\"1k5p_gene_promoter\"):\n", " !intersectbed \\\n", " -u \\\n", " -a lineage_dml.bed \\\n", " -b ./genome_tracks/Cgigas_v9_{i}.gff \\\n", " > {i}_intersect_DML_lin_u.txt\n", " !wc -l {i}_intersect_DML_lin_u.txt > lin{i}" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 238 }, { "cell_type": "code", "collapsed": false, "input": [ "!cat linintron linexon lin1k5p_gene_promoter linTE > dmltable" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 266 }, { "cell_type": "code", "collapsed": false, "input": [ "!head dmltable" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " 42 intron_intersect_DML_lin_u.txt\r\n", " 25 exon_intersect_DML_lin_u.txt\r\n", " 8 1k5p_gene_promoter_intersect_DML_lin_u.txt\r\n", " 27 TE_intersect_DML_lin_u.txt\r\n" ] } ], "prompt_number": 267 }, { "cell_type": "code", "collapsed": false, "input": [ "!awk 'FNR==NR{sum+=$1;next}; {print $0,sum}' dmltable{,} > lin_total" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 268 }, { "cell_type": "code", "collapsed": false, "input": [ "!head lin_total" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " 42 intron_intersect_DML_lin_u.txt 102\r\n", " 25 exon_intersect_DML_lin_u.txt 102\r\n", " 8 1k5p_gene_promoter_intersect_DML_lin_u.txt 102\r\n", " 27 TE_intersect_DML_lin_u.txt 102\r\n" ] } ], "prompt_number": 269 }, { "cell_type": "code", "collapsed": false, "input": [ "!awk '{print $2, $1, $3, (($1/$3)*100)}' lin_total > lin_final" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 270 }, { "cell_type": "code", "collapsed": false, "input": [ "!head lin_final" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "intron_intersect_DML_lin_u.txt 42 102 41.1765\r\n", "exon_intersect_DML_lin_u.txt 25 102 24.5098\r\n", "1k5p_gene_promoter_intersect_DML_lin_u.txt 8 102 7.84314\r\n", "TE_intersect_DML_lin_u.txt 27 102 26.4706\r\n" ] } ], "prompt_number": 278 }, { "cell_type": "code", "collapsed": false, "input": [ "for i in (\"exon\",\"intron\",\"TE\",\"1k5p_gene_promoter\"):\n", " !intersectbed \\\n", " -u \\\n", " -a dev_dml.bed \\\n", " -b ./genome_tracks/Cgigas_v9_{i}.gff \\\n", " > {i}_intersect_DML_dev_u.txt\n", " !wc -l {i}_intersect_DML_dev_u.txt > dev{i}" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 271 }, { "cell_type": "code", "collapsed": false, "input": [ "!cat devintron devexon dev1k5p_gene_promoter devTE > devtable" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 272 }, { "cell_type": "code", "collapsed": false, "input": [ "!head devtable" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " 60 intron_intersect_DML_dev_u.txt\r\n", " 13 exon_intersect_DML_dev_u.txt\r\n", " 6 1k5p_gene_promoter_intersect_DML_dev_u.txt\r\n", " 20 TE_intersect_DML_dev_u.txt\r\n" ] } ], "prompt_number": 273 }, { "cell_type": "code", "collapsed": false, "input": [ "!awk 'FNR==NR{sum+=$1;next}; {print $0,sum}' devtable{,} > dev_total" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 274 }, { "cell_type": "code", "collapsed": false, "input": [ "!head dev_total" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " 60 intron_intersect_DML_dev_u.txt 99\r\n", " 13 exon_intersect_DML_dev_u.txt 99\r\n", " 6 1k5p_gene_promoter_intersect_DML_dev_u.txt 99\r\n", " 20 TE_intersect_DML_dev_u.txt 99\r\n" ] } ], "prompt_number": 275 }, { "cell_type": "code", "collapsed": false, "input": [ "!awk '{print $2, $1, $3, (($1/$3)*100)}' dev_total > dev_final" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 277 }, { "cell_type": "code", "collapsed": false, "input": [ "!head dev_final" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "intron_intersect_DML_dev_u.txt 60 99 60.6061\r\n", "exon_intersect_DML_dev_u.txt 13 99 13.1313\r\n", "1k5p_gene_promoter_intersect_DML_dev_u.txt 6 99 6.06061\r\n", "TE_intersect_DML_dev_u.txt 20 99 20.202\r\n" ] } ], "prompt_number": 279 }, { "cell_type": "code", "collapsed": false, "input": [ "for i in (\"exon\",\"intron\",\"TE\",\"gene\",\"1k5p_gene_promoter\"):\n", " !intersectbed \\\n", " -u \\\n", " -a ./genome_tracks/Cgigas_v9_CG.gff \\\n", " -b ./genome_tracks/Cgigas_v9_{i}.gff \\\n", " > {i}_intersect_CG_u.txt\n", " !wc -l {i}_intersect_CG_u.txt > CG{i}" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 264 }, { "cell_type": "code", "collapsed": false, "input": [ "!cat CGintron CGexon CG1k5p_gene_promoter CGTE > CGtable" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 280 }, { "cell_type": "code", "collapsed": false, "input": [ "!head CGtable" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " 2815997 intron_intersect_CG_u.txt\r\n", " 1129658 exon_intersect_CG_u.txt\r\n", " 593081 1k5p_gene_promoter_intersect_CG_u.txt\r\n", " 589509 TE_intersect_CG_u.txt\r\n" ] } ], "prompt_number": 281 }, { "cell_type": "code", "collapsed": false, "input": [ "!awk 'FNR==NR{sum+=$1;next}; {print $0,sum}' CGtable{,} > CG_total" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 282 }, { "cell_type": "code", "collapsed": false, "input": [ "!head CG_total" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " 2815997 intron_intersect_CG_u.txt 5128245\r\n", " 1129658 exon_intersect_CG_u.txt 5128245\r\n", " 593081 1k5p_gene_promoter_intersect_CG_u.txt 5128245\r\n", " 589509 TE_intersect_CG_u.txt 5128245\r\n" ] } ], "prompt_number": 284 }, { "cell_type": "code", "collapsed": false, "input": [ "!awk '{print $2, $1, $3, (($1/$3)*100)}' CG_total > CG_final" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 285 }, { "cell_type": "code", "collapsed": false, "input": [ "!head CG_final" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "intron_intersect_CG_u.txt 2815997 5128245 54.9115\r\n", "exon_intersect_CG_u.txt 1129658 5128245 22.0282\r\n", "1k5p_gene_promoter_intersect_CG_u.txt 593081 5128245 11.565\r\n", "TE_intersect_CG_u.txt 589509 5128245 11.4953\r\n" ] } ], "prompt_number": 286 }, { "cell_type": "code", "collapsed": false, "input": [ "!paste -d\" \" lin_final dev_final CG_final > StackedBars" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 292 }, { "cell_type": "code", "collapsed": false, "input": [ "!awk '{print $4, $8, $12}' StackedBars | tr ' ' \"\\t\" > StackedBars_DMLs" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 297 }, { "cell_type": "code", "collapsed": false, "input": [ "!wc -l Cgigas_v9_CG.gff" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " 10035701 Cgigas_v9_CG.gff\r\n" ] } ], "prompt_number": 316 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Stacked Bar Plot of DMLs versus all CGs" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%%R \n", "DMLs<-as.matrix(read.table('StackedBars_DMLs', header=F))\n", "colnames(DMLs)<-c(\"Lin DMLs\",\"Devel DMLs\", \"All CpGs\")\n", "par(mar=c(5.1, 4.1, 4.1, 8.1), xpd=T)\n", "par(xpd=T, mar=par()$mar+c(0,0,0,5))\n", "barplot(as.matrix(DMLs), col=c(\"#BCCCC1\", \"#8DAB96\", \"#4A7958\", \"#2F583B\"), ylab=\"Proportion of CpG within a genomic region (%)\")\n", "legend(\"topright\",inset=c(-0.63,-0), legend=c(\"Transposable Element\", \"Promoter Region\", \"Exon\", \"Intron\"), pch=c(19,19,19), col=c(\"#2F583B\",\"#4A7958\",\"#8DAB96\",\"#BCCCC1\"))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nuMJ0+6RS0aJFbcGCBa6tVcH3yy+/dMv1j6bF6969uzVq1MiV/N566y0XgFTS08xsKjlqEorjjz/e\n3n77bStWrJgLsCoxNmjQwOWtdSqh67j6kaC27BNOOMF+/vnncD6aZlU/AlSaVnBX8ItMyrd58+Zu\nmzJlythdd91lU6dOjdwkxWsFTgVz76GZ5lInBXn94ND4/U2aNHEldwVjL916662m0vGf/vQnN9GL\nfsyoxC8THU8/bHQOf/nLX6x06dKm9nqt92oWYnl77fhyyg/9hdJuQPEkeUYAAQQCFGjWsKl9PHem\nHQwFXS+VKF7CGtdr5L3N9LPahr2kkqKmmFSJTNXMmvHKm8VJ1adeUhBTdbHSww8/bDfddJOdcsop\nrsr1nnvusSuvvNKtU0nZS6oifu2112zdunVu2kUFXy+pClulbo1/r2Dev39/S0pKsquuuspVZat6\n+9VXX3UP3S2ioOydl44ROQuc8lHAjUwqdapaV4EyMqkqPPI8vHUvvPBCzDZgb72eta+q2R955JHw\nYlWNe0nBVEk/YvRa16BUvHhx27dvn/shog5fqedo148PXYOftztIPvmHEnA++SC5DATys8BVF/ex\nCmXLm4KuUtnSZaxB7frWq1vPLF92kSK/T6epEplKYWpjVDBU6U9tml67poJFrKQSsKqON2/e7AKx\ngqaql5VUfewlVV2rVK12Wh1/586d3ipXra320oMHD4bzV3WzSpTPP/+8KSCqVKt8VPJVadI7Lx1E\nwdBLasdWVW1k0o+D0047ze2r/fVQoPeCZOS2GX3drl07V43tHU/V5DpnL8klraS2YVU/64eBdwyV\nflUtreTnndYx89o6AnBe+8Q4XwQKoEDJEiVt1uSP7G833GHXX9bP7h5wp705fkpC/0h7YxCovVKT\nw6hNU22RaQ2Tq4/immuusWeffdbUPqySr6qvveD48ccfu2C7a9cuVyrt2rWrq7JVsNU+2k7togqG\nKsW+8sordvnll7vr6tGjR7jEqh8HqsbW3OnaR0E58rzUpqrzV1BXkFY7dmTSNakKW7POKaktWlXj\nkaXoyO137NjhqoiVr/dQiTwyqd164sSJpm11Tmo/9zqtRW7n91olYXXW0uBLOg/9gFHVumof0kqq\nfZBnfkhp/0TJD1fINSCAQL4QUEn1ygv+lG3XUqdOHdfTWb1x1dNZwUBBUb2cVXL1S//85z9dlfH4\n8eNdRyz1fK5cubLbXNXbXrvtueeeawMHDnTBVSVatdVqHwV5BSEFV5UK1aFJ7aqq/m7ZsqXbTlW2\nCpo6NwVeBTsFXS1X0n6qMlcAVlC78cYb3XLvH1UD/+tf/3LV66py1nt1YvJK/9523nPqqmotV/6R\nDgryKvFqmUr16qH917/+1TtEhp7vvPNO10b83HPPuXNRz3C1Y0f28E59IK1XKV/Xqx8veTkVCv1y\n+b3feF6+igyc++uvv+46NOh/AL/UuWtnW3tosxUrWcxvk3y7/OCWfTb+3jGuN2ZGL7JN2xPtt2OS\nrHDR36vwMrpfftgueVuSPTPmKTvrrLMyfDmNTwi1v9X5vQo1wzvlkw0LbztiLz/7ogtGsS5Jt/go\nkCkIBp327t3rgqQ6BsWTVBJUO6dX9arORSoN6/YjVS17baCRx1TPaQWv1NWtCsoqcaojUmRS1XbF\nihVdR6zI5XqtwKxz1y09fklBXUFaPzASlZSnkkqmmU1qe9ePltQOfsdTiVmm+iGROqkjnB76AZXb\nEyXg3P4JcX4IIJCjApkNJAqMsZKqWvWIlSI7GkWuVxW4HqlTWoFTPYPTCr46lkq8aR0jdX4ZeZ9Z\nr8hj60dIPEm9oWMF33iOkRu2JQDnhk+Bc0AAgXwncNlll/lW8ea7i+WCMiVAAM4UGzshgAACaQuo\nlzAJgbQE6AWdlg7rEEAAAQQQyCYBAnA2wXJYBBBAAAEE0hIgAKelwzoEEMhVAivXr7b53y+0nzav\nz9B56R5W9az1ptRTJyXdg6sxmoNI06ZNC0+8kNn8NW61OmjpFic9NJiG7hHW7U9+9/VmJC/dQhQ5\nvnRG9mGbrAnQBpw1P/ZGAIEcEnjizWftk/mf2sHDSaEhKZPsz90vt6t69MlQ7prAQKMuKXmzF+ke\nW92bm5Pp6aeftksuuSTLWWqIy5kzZ4aPo8ErdM9y+/bt3QAb4RVxvNA9uRm9DSiOw7JpGgKUgNPA\nYRUCCOQOgU/mz7JXPn7TtuzYZpoXeP/B/fbSR2/Y18u/ifsEGzdu7EqMGr7x22+/dSNZaVAJDWah\ne1o1bZ+myNPIVj179nQjNCkTjXusxxlnnOHGKdZsQhoqUpMmKPDNnTvXnYtKoRpYQwNwaNALr2Sq\nwSY0eIZKmhrUQkMwaEKGWNP5pZ4mMb2L1LlrfGhvhCjdVxtrmj8dR+NEaxAL5Tt69Gg3U5GWq2St\nka2UZBNrukS/aQLdTvwTtwAl4LjJ2AEBBHJa4LNFX9jR5KMpst27f6/NXfqVtWv2xwQAKTaI8Wb/\n/v324YcfuiEZNT2fps1TMFTVqwbp0cAYmlVo3LhxbpQqjbmsQUJUdaygpuEjtb8GydAgLBp1SpPD\na5IF7aOS6RNPPOFGmVLA1YQN14SGqlQg/vOf/+xmPNL0fLpFKXI6P22nmYU0ZKSCucaQ1n293jSJ\nqS9Fg35omEslDUGp17oWzeqkpPGUNbCFSsY6Xx1b6/XQKFma9UlBW+NWe/MC69qVp5JG6dIPC41I\n9cEHH7gBelasWBGeJlATTmhsa00NqOkYNR0iKX4BSsDxm7EHAgjksECZUtGjLGl+4DIlo5fHOjWN\nsKX2X1VDaypBBRBv8Ae1p957770ueGkYSA0JqaCpEqJG51KAVXBSUnBWgNSMSVqvAKaSp4KqNw2h\nhme87rrr3OxImgBBx1Kw1ahYCnAauEKv05vOL3KaxNTXpAB9++232/XXXx+u0lZw1bHV7u03zZ+C\nsUrmqgbX0JGafSl10sxJftMlattY0wSmPgbvMyZACThjTmyFAAIBCvzfWRfbnMXz7Jddv4bPIjRP\nkV3S6fcSX3ihzwsFJA0FqdGT6tatm2JkKgVSL2mqwMip/RRcNXKUZi9Sipw9SMfyxkxWQPWmJ9Qx\nIqch1GuvatfLR8/pTecXOU1i5H56rXuMvTZgVYuryls/IpQUQNWWG2uavzVr1ljklIGx7lVOa7pE\nHT9y9C4FfO+6tY4UnwAl4Pi82BoBBAIQaFCzno0a+A+rXrma1ahc3U5s3Nom3zPBKpWPPfxj6lNU\nqVaD+Ku3cOphISMnJFC1rQb695KmyVOJUj2nlSK39bZJ/axjfPfdd+HFajdVdW7qlN50fhnJS8dU\nNbkmb9AcwkqqWvab5k/TEkZOYKA28NRJNQN+0yVqWzpqpRbL/HsCcObt2BMBBHJQoGndxvb6yEn2\n2sjn7dEho61+jboJz129omfPnu0CqDpTPfPMM9a8efNwD+qMZKhjaCpDdYhS8NZEMKeffrrbVSVG\nbx7grE7nF3kuandW9bLaYtOa5q9bt26us9iMGTNcSVltzKmTgrnfdImpt+V91gQIwFnzY28EEMhH\nAiqVqn1YJcV6oWn2FDzffvvtuK5QnZJUJa0gptKoqry1TEltx0OHDnVty+p5Xa1aNZePSuaaqSje\n6fy8E1NV+G233ebahTVLkG4peumll9w5qB3am+ZPPbsfeeQR10lLVeN+NQKaLlHV2jp3BW1vukQv\nP54TI8B0hBGOTEfIdIQRX4c0XzIdYZo8USvz0nSEOnm1a6oEm5WZg3bv3u06XaWetUdTDaozllfF\nnIjp/KLA//+C1NP8/fjjj6Z2YPXeVlLvbZWeP/30U/c+9T9+0yWm3i43vWc6wtz0aXAuCCCAQJwC\nmtM3K8FX2aWey9c7hdTTDKpaOruS19PbO37VqlWtY8eOrpe2fhg89dRT7nYrb33q58gOV6nX8T7r\nAlRBZ92QIyCAAAJ5QqB06dLu3l5Vj+u1BhLx7h3OExeQz06S25Dy2QfK5SCAAAJpCajdWfcvk4IX\noAQc/GfAGSCAAAIIFEABSsAF8EPnkoMR2PzzZrNthYLJPOBcD+49YGpXzemkYRo1AEfZsmWj7l+d\nP3++aVxoEgJBCeT8/xFBXSn5IhCwQPVa1a1i2xoBn0Uw2e9buTPLIyZpIoap86bbrr27Q0NQlrYr\nulxi5UqXy9AFqedv6g5JGdqRjRDIRgGqoLMRl0MjEClQqFBhK1qiWIF8FCqctZL/nn2/2aNvTbDV\nm34MDUe53dZtWW8T3n/BtDwrSZMSaEAMzUykpHGiNfiGUlqzIo0ZM8Y6derkxpfu3bu3aZIHEgLx\nChCA4xVjewQQyHGBmQtnR+W587dd9vX3GZuOUEH10UcfDT80SIWSOiMtX77cTZbw/PPPuxl+NPuR\n7pfVxAt6LF682I0hreVKurd21KhRbrALDeW4YMECdz+tW8k/CMQhQBV0HFhsigACwQjsC83/mzqp\n1Bpreert9F7DS2p0Ki9pooMrr7zSdE/u008/bX379nVV5N5QjpGzImkfzYqkUaO8WZE0m1D37t3d\n4bp27Wpr1651r/kHgXgECMDxaLEtAggEItCoVkP7Yf0qSzp8KJx/4VCV/vE1G4Tfp/VCQyv6tQF3\n7tzZqlev7oKxNztQerMiRQ5QwYxAacmzLi0BqqDT0mEdAgjkCoGTGrVywbZk8dCcukWLWflQ56tT\nT2hrTes0yvL5aTAKTZCgGYD0Wim9WZGYESjL7BwgJEAJmK8BAgjkegEFvD7n/J/9+PM623tgnx1T\ntrzVqlIzw+e9Y8eO8NjL3k66NUnjMg8cONB1vNL4z5qgXp2rNKOR2nk1raAmrs/MrEhePjwj4CdA\nAPaTYTkCCOQ6gfrVMzcFoWYLSp1efPFF+/zzz+3UU08Nt+c+++yzbkaiJ598MjwrksaE1vy68c6K\nlDo/3iOQWoAAnFqE9wggkG8EVMr1bjGKdVHqiBWZ1PnKS3/5y19syJAhUbMijR492tvEPad+n2Il\nbxBIQ4A24DRwWIUAAgVbIBGzIhVsQa4+LQHfEnBSUpItXLjQtYFoFJnjjz/eTj75ZNceEsSQcmld\nBOsQQAABBBDIawJRJWBV17z88svWvHlzu/32223GjBlulJepU6e6++Zq1aplGgVGAZqEAAIIIIAA\nApkTSFECVo/AXr16mW4snzt3ruuKn/qw6k34xBNPWJcuXdzoLzVqFMyxbVO78B4BBBBAAIF4BFKU\ngFW1/Morr9jgwYNjBl8duGLFinbXXXfZ9OnTXc/AeDJjWwQQQCCnBerWrWszZ85MN9sRI0ZQs5eu\nEhskUiAqAGvqroykUqVKmUaAISGAAAI5IaDmsQ1bN9mqjT/az9u3JDTLI0eO2H333WdHjx5N6HE5\nGAJpCaQIwLE2PHjwoA0dOtROOOEEu/TSS+3LL7+MtRnLEEAAgWwTUPD99JvP7duVS2zp6mU2f/lC\nm7PkyzRvMYp1MmeffbZp0gV1KtXwk2pOU9IsSEqtW7e2X375xTQ8pQbiqFq1qv3vf/+zjRs32h13\n3GFqcmvVqpXrG6PtlyxZYpqk4bbbbjPdL9ymTRs3eYPWkRBITyBFAI51v9xrr73mvoQKvCNHjnSD\nkqd3UNYjgAACiRRYs3Gtm3rw0JHD7rBHjh6xX3fvdCXiePJZvXq1TZkyxTTpgka3UkfTXbt2pZiC\nUIF01apVLsj+5z//sRNPPNH69Olj27dvt6+//tpuueUWN4Whhq5UvxkN6FGpUiU3k1KHDh1s+PDh\n8ZwS2xZggRQB+LfffnPDsE2bNi1Moi/jDz/8YIsWLXK/7IoVKxZexwsEEEAgJwS27/7VjianrB4+\nHArGO/bsjDv7YcOGWdOmTe2CCy5w/VgUSL2mt2OOOca8cZ7VF0bbHDp0yD777DNXAKlZs6bdcMMN\nrgTtjYxVvnx5U/uxStQqSTMzUtwfSYHdIUUA1pdQnbA0IPk555zjJqQ+77zz7JRTTnHzaK5YscLG\njh1bYLG4cAQQCEagVIlSURkXDo0PXbJ4yajl6S1QtbKX1I9FATZW0pSFSpoZSa8VfL2k4SsVuJWY\nGclT4TlegRQBWDvrV9xjjz1mqnrRFF4KwGrXUFW0fuXVq1cv3jzYHgEEEMiSQKPaDax0RBAuZIXc\n8RrWqhf3cb0Sbno7FilSxG2iaQwVbDVjkpeWLl1q9evXd28zejxvX54R8ASiArBWqMpZbSBPPfWU\nPfLII67Uqwmov/32W28/nhFAAIEcE1BJt/PJZ1qt42pa5QrHWv0ada37qedYkcK/B8msnoiCbYkS\nJVx7cOpjNWzY0AVbTdSgfjJqjluwYIGbxCH1trxHIB6BFANxaEdNx6Uef+pUoIHIdf+cRsZavHix\nKwHr9iN1YiAhgAACOSmgeYDbNm2TbVmq57NG+lOAjUwKzqoNVEes8ePHu45Xjz/+uLVo0cJ1yorc\nltcIxCOQIgDrHjiVfDXIhtJzzz1nGoKyb9++ruu9Oh3Mnz8/nuPHva3m5NyzZ48b8CPundkBAQQQ\nSCWgNlwvpe4g9eOPP3qr7MMPP7S9e/e68Q3Wr18fXq4X6t2sbbdu3Wqqkvaqndu1a2fff/99eNu2\nbdumeB9ewQsEYgikqIIuXLiwuw/u9NNPt549e7pfe+oFGJn0BUt00rjS6rqvjg7Fixd3pW91jtAv\nzIkTJyY6O46HAAIIxBRIb3Ahdbjygm/MA7AQgTgEUpSAtd9DDz1k+vWne950U3pOfNkGDRpkmzdv\ntg8++MAaNGjgfoHu3r3bli1b5obF1L12qhonIYAAAgggkF8EUpSA9+/f79p8VRJVz+e0gu/s2bPt\n559/TojDRx99ZE8//bSr5tYE2sq3QoUKrtpn3LhxFjlJdkIy5CAIIIAAAggELJAiAKv699NPPzX1\neFbHK40QE5k2bNhgb775pnXs2NGt925ej9wmM69V1ew3WLpGrFGbCwkBBBBAAIH8JJCiClq9/f7x\nj3+4e950z6+qhtUxSzeuK/hqlBh1RlAPwJYtWybMQYOgq4ehBvlQl3+NLKPgv3z5clOnLHUEIyGA\nAAIIIJCfBFIEYO/CNOC4xknVQ22za9ascUOvRY744m2biGeNtbpw4UI3B7F6KSpPlXrV7qvSdlpV\n4ZH5qypbQ8bFSgrmCu4kBBBAAAEEcoNAzAAceWLVqlUzPbI7lSwZutE+dB+el1Ty3rdvX4aDr/Zr\n0qSJ7xSJusle8x2TEieg0YH2rt4b+oxStGQkLoNcfKSD+w7wfcrFnw+nhkBeEMgVEUk9nidMmODG\nntbgH7oPuH///qapEDW4+cMPP2zqnJVe0sTbesRKChbbtm2LtYplmRSoVSd029gJFaxQ4d+HBczk\nYfLkbr+t+tU1j+TJk+ekEUAgVwjkigCseTc1AIjGnda8mmr3/e9//+tKtArIr7/+uvXr1y9XgHES\nfwiEOquHSr9mRYomZjjAP46c+19ltFkk919J7jhD3Wo4Y8YMU00YCYGsCMyaNctuvvnmrBwix/bN\nFQH43Xffta+++spVH2/ZssVNiK3OXkp33nmnGxKTAJxj3wkyQiDHBdT5U384VetFQiArAvfff781\na9YsK4fIsX19A7Bm/hg4cKAtWbLENFKVl3r06OEmaPDeJ+JZWBr+Um3A6kSl+5G9pDGoTzrpJO8t\nzwggkA8FND+vHiQECpKAbwAePXq0uxVIg49Htr9qkoZEp6FDh9q1117relvfeuutrg1YQVkjcX3+\n+efu3uRE58nxEEAAAQQQCFLANwBrRiSVgCN7JmfXiaq6WcNO/vrrr3bssce6aqhp06a5+Tc1FrRm\nYCIhgAACCCCQnwR8A/Cll15qkydPNs32kV33/0ZCqlOLgq+Sbhm66KKLIlfzGgEEEEAAgXwl4HsD\np27b0QhU1atXt0aNGrn2GbXRDB48OF8BcDEIIIAAAggEIeBbAtY0hLGmHsyONuAgLpw8EchpgeTQ\n4DJJ+wtmL9+Cet05/R0jv7wl4BuANSOSHpqWUONAqxRcunTpvHV1nC0CuUhg29Zttv3jX3PRGeXc\nqRzYu9801jwJAQT+EPANwEeOHLHrrrvOnn/+eVOpV7cl9ezZ06ZMmeLaaP84BK8QQCAjAhql7fyb\nemVk03y3zZfvzTb9TSEhgMAfAr5twJqfV6NTqXeySsErV6605ORke/DBB//Ym1cIIIAAAgggkCkB\n3wA8b948GzZsWHhEkQYNGtg999zjRqvJVE7shAACCCCAAAJhAd8AfNppp9ns2bPDG+qF3muaQBIC\nCCCAAAIIZE3Atw34sssus5YtW7oS7xlnnGELFiywRYsWUQLOmjd7I4AAAggg4AR8S8AaFEPjQPft\n29c0N+/5559vS5cutTZt2kCHAAIIIIAAAlkUiCoBt2/f3jQO9Jw5c0zDQEamZ5991jQZw7hx4yIX\n8xoBBBBAAAEE4hSICsATJkywevXqWcOGDa1bt25Rh6tYsWLUMhYggAACCCCAQHwCUQFYMxApVahQ\nwWrVqhXf0dgaAQQQQAABBDIkEBWAvb00qbGqnCOTJkzQaFgaE1rV0DVr1oxczesCJpB8NNmOHj5q\nR48cKmBXbnbowB9zZBe4i+eCEUAgIQK+Afiss86yF1980W6//XZTu/CXX35pY8aMsSFDhtjPP/9s\nGit64cKFCTmJ3HKQffv228F9+yxpj2/ftNxyqgk/j72bd8V9zC2bt9i+tWutcJFCce+b13fYt2ef\nFS3q+79PXr88zh8BBHJAwPcvyKRJk9zAG71793anoarpkiVL2vz58238+PH2zjvv2JYtW6xq1ao5\ncJo5k8Wunbvs4O79Vqy4L0vOnEgAuRzanxT3WL3qK3D65V2seMkSAZxxsFku+GieHT58ONiTIHcE\nEMjTAr6RRrchaSjKyPTDDz9Y8eLF3aJDhw5ZqVKlIlfn+dc169SycsceZyXKlszz1xLvBez4YQtj\n9caLxvYIIIBAFgR8A/A111xj3bt3t5kzZ7ppCTU0pcaD1mhYqoZW6ad8+fJZyJpdEUAAAQQQKLgC\nvo2dTZo0MQVdjYilgTg0LvSPP/5oxx9/vPXv399VQRdcNq4cAQQQQACBrAn4loB1WLXvDhgwwDZv\n3myVK1cOdzpp3rx51nJlbwQQQAABBAq4gG8JWKXekSNHWqtWraxr1672ySefuPmAt23bVsDJuHwE\nEEAAAQSyLuAbgDUi1owZM+ytt95yuXTp0sXd96vlJAQQQAABBBDImoBvAFZnqzvuuMNq1KjhcihW\nrJgNHjzYBeWsZcneCCCAAAIIIOAbgGvXrh01H/C7775r1atXRw0BBBBAAAEEsijg2wlLI2C1a9fO\npk+f7ka+6tChg60NjXr08ccfZzFLdkcAAQQQQAAB3wCse3yXLVtmr776qv3000/WqVMn9yhSpAhq\nCCCAAAIIIJBFAd8APHz4cHcb0t/+9rcsZsHuCCCAAAIIIJBawLcNuG7durZkyRKGJ0wtxnsEEEAA\nAQQSIOBbAtY4z++//74bblIdsryq53PPPdcefvjhBGTNIRBAAAEEECi4Ar4BWONAawak1EmTNJAQ\nQAABBBBAIGsCvgFYVdB6kBBAAAEEEEAg8QK+bcCJz4ojIoAAAggggIAnQAD2JHhGAAEEEEAgBwV8\nA3BycrK9/PLL9tlnn7nTeeKJJ2zixIn0is7BD4esEEAAAQTyr4BvANYkDGPHjrVq1aq5q+/YsaML\nyJMmTcq/GlwZAggggAACOSTgG4A//PBDu//++61x48buVFq0aOEC8htvvJFDp0Y2CCCAAAII5F8B\n3wCsHtDTpk1LceWzZs1y9wWnWMgbBBBAAAEEEIhbwPc2pGuvvdbOOecc++CDD+zUU0+1xYsX25Yt\nW0wlYxICCCCAAAIIZE3ANwDXrFnT5s2b52Y/WrlypV133XWmGZEKF/YtNGftTNgbAQQQQACBAiTg\nG4BlUKFCBevVq1cB4uBSEUAAAQQQyBmBqADcvn17Gz16tM2ZM8fddpT6NHr06GHjxo1LvZj3CCCA\nAAIIIBCHQFQAnjBhgtWrV88aNmxo3bp1izpUxYoVo5bllwX79u61347ss73b9+SXS8rwdWz7cXOG\nt2VDBBBAAIGsC0QFYG8CBlU/V69e3b799ls7ePBgOKfDhw+HX+e3F7/t/s0O/LLXSpQsmd8uLd3r\nObw3KTzjVbobswECCCCAQJYFogKwd8QvvvjCtf+WK1fOSkYEJJWKx4wZ422Wr57r1qtrDU5vZuUr\nVchX15WRi1k082tGOcsIFNsggAACCRLwDcCTJ0+2UaNG2TXXXJOgrDgMAggggAACCHgCvvcUaSCO\nHTt2eNvxjAACCCCAAAIJFPAtAQ8dOtROPPFEmz59ujVv3jycpdqI+/btG37PCwQQQAABBBCIX8A3\nAD/++ON24MABa9KkSYo24GLFisWfC3sggAACCCCAQAoB3wC8aNEie+ihh+ySSy5JsQNvEEAAAQQQ\nQCDrAr5twBdddJEbB/ro0aNZz4UjIIAAAggggEAKAd8AvG3bNnvttdesbNmy1qhRI2vatKl7DB48\nOMUBeIMAAggggAAC8Qv4VkGff/75dvLJJ9vOnTtt69atVqdOHdcWXKlSpfhzYQ8EEEAAAQQQSCHg\nG4Br1Khh99xzjz3//POmoKtA3LNnT5syZUqKA/AGAQQQQAABBOIX8K2Cfvrpp23VqlW2bNky2759\nu2lKwuTkZHvwwQfjz4U9EEAAAQQQQCCFgG8A1lzAw4YNs2bNmrkdGjRo4ErEs2bNSnEA3iCAAAII\nIIBA/AK+Afi0006z2bNnpzii3lepUiXFskS/0WQPjMCVaFWOhwACCCCQ2wR824Avu+wya9mypanE\ne8YZZ9iCBQtM9wZnRwk4KSnJ7r33XtP40xs3bnRV3aVLl7b69eubRuTq169fbnPjfBBAAAEEEMiS\ngG8J+Nhjj7UlS5a4YSd1L7B6RS9dutTatGmTpQxj7Txo0CD77rvv3H3Hu3fvNuW3adMme+aZZ+yp\np56yJ598MtZuLEMAAQQQQCDPCviWgHVFCsK33nprtl/cRx99ZHPnzrVq1aqF89J8xB06dLBx48bZ\niBEjbMCAAeF1vEAAAQQQQCCvC/gGYN12NHDgQFcKVhWxl3r06GGPPPKI9zYhzy1atLCZM2da7969\no473/vvvZ3u7c1SmLMiQwIb1G+zlhydZkSJFMrR9ftpo+5Ztdtegv+anS+JaEEAghwV8A/Do0aNt\n165dNn78eDcalnde2TEQx3333Wd9+vSxsWPHWsOGDa18+fIu7+XLl5s6ZU2dOtXLnudcJKA2+msH\n32BFCvu2ZOSis03sqfzv7anuu5nYo3I0BBAoSAK+AVidoVQC7ty5c7Z7aNrDhQsXumrotWvX2ubN\nm12pV9XOHTt2tEKFCmXoHDRoyBtvvBFz259//tnat28fcx0LMydQuFBh0+xYpUqXytwB8vBehQvg\nj448/HFx6gjkSgHfAHzppZe6Xsnt2rWz4447LttPvmTJkimCvaZCVNVmRoOvTvDKK6809d6Old56\n6y03mlesdSxDAAEEEEAgpwV86w7VC1lVv9WrV8/2yRh++uknu+qqq2z+/PmmSSD69+/vOmQdc8wx\ndu2111pkG3RaQCqNlSlTJuZDAb4gtlWm5cU6BBBAAIHgBHxLwBdccIG1bds26syyow1YY05rsofm\nzZvbAw884NrWdMvTwYMH7W9/+5v985//dI+ok2EBAggggAACeVTANwDXrl3b9FBSm2zlypWtaFHf\nzbN0+Z999pl9//33Vrx4cXv77bftnXfesVq1arljKvjedNNNWTo+OyOAAAIIIJDbBHyroDUYxsiR\nI61Vq1bWtWtX++STT9xsSKoiTnRq3LixvfDCC+6wZ511Vopez7oNSfMRkxBAAAEEEMhPAr4BeMKE\nCTZjxgxT5yWlLl26WM2aNU3LE50ef/xxGzNmjBt4Q/cf33HHHaae0ZqPWLMy6TYlEgIIIIAAAvlJ\nwLdOWRMvKBBqXmAldXAaPHiwqw6+6667Emqge3817eH06dNtxYoVrj24YsWKruSrITCzq+o7oRfB\nwRBAAAEEEIhDwDcAq/1XQVhVwl569913Xa9o730in3W7Ubdu3dwjkcflWAgggAACCORGAd8AfPvt\nt5vuAVapVINYaFxmDZLx8ccf58br4JwQQAABBBDIUwK+Abhq1aquWvjVV1813afbqVMn9+Be2jz1\n+XKyCCCAAAK5VMA3AN9///327LPPhk9bvZRVTax5eps2bepmKVKnLBICCCCAAAIIxC/g2wtabb8a\nPerOO+909+XqWR2xhgwZ4nooa6AOEgIIIIAAAghkTsC3BDxp0iTTCFXeFIGtW7d2AVnDRWqGJA2W\nsWXLFlNVNQkBBBBAAAEE4hPwLQEfe+yxtmrVqhRH++GHH9xoVVp46NAhK1Wq4M2CkwKENwgggAAC\nCGRSwLcEfM0111j37t1t5syZbkzoefPm2cqVK92tSaqGrlevnpu3N5P5shsCCCCAAAIFWsC3BNyk\nSRNT0NX0fhqWctiwYfbjjz/a8ccf72YrUhU0CQEEEEAAAQQyJ+BbAtbh1L47YMCAqCNr1iISAgjE\nJ7B/33776Ye18e2UT7b+ac26fHIlXAYCiRNIMwAnLhuOhAACO3fssMUzFxRIiJ2/7GA+7gL5yXPR\naQkQgNPSYR0CCRRQv4m/jbo7gUfMO4ea8sxkO3LkSN45Yc4UgRwQ8G0D9st7//79fqtYjgACCCCA\nAAIZFPAtAf/yyy9u5iP1fNYvV3XEOnDggJ166qk2ZcqUDB6ezRBAAAEEEEAgloBvCXjs2LG2b98+\nu/76661WrVpuTt7y5cvb8OHDYx2HZQgggAACCCAQh4BvAF69erUNHTrUdD/wxo0b7f/+7/9s4sSJ\nNmbMmDgOz6YIIIAAAgggEEvANwBrogXNglS2bFlLSkqy7du3W6VKldyyWAdiGQIIIIAAAghkXMC3\nDbh///5uDmANvHHRRReZJl9QINbAHCQEEEAAAQQQyJqAbwA+4YQTbMWKFe7evQ4dOthTTz1lxxxz\njF1++eVZy5G9EUAAAQQQQMB8A7BsqlWrFia65ZZbwq95gQACCCCAAAJZE/BtA87aYdkbAQQQQAAB\nBNISIACnpcM6BBBAAAEEskmAAJxNsBwWAQQQQACBtAR824B37txpAwcOtCVLlrjez95BevToYY88\n8oj3lmcEEEAAAQQQyISAbwAePXq07dq1y8aPH+/uBfaOrXuBSQgggAACCCCQNQHfAKzRr1QC7ty5\nc9ZyYG8EEEAAAQQQiBLwbQO+9NJLbfLkybZ169aonViAAAIIIIAAAlkT8A3AmzZtsqlTp1r16tWt\nUaNG1rRpU/cYPHhw1nJkbwQQQAABBBDwH4hDQ0+2bds2iog24CgSFiCAAAIIIBC3gG8bcO3atU0P\nEgIIIIAAAggkXiAqALdv397UA3rOnDlu+sHUWeo2pHHjxqVezHsEEEAAAQQQiEMgKgBPmDDB6tWr\nZw0bNrRu3bpFHapixYpRy1iAAAIIIIAAAvEJRAXg1q1buyNUqFDBatWqFd/R2BoBBBBAAAEEMiQQ\nFYC9vfbs2WO33nqrffPNN7Z3715vsZ133nlucI7wAl4ggAACCCCAQNwCvgFY7cDr16+3f//731a5\ncuXwgamCDlPwAgEEEEAAgUwL+AbgdevW2e233x6zHTjTubEjAggggAACCDgB34E4NBLWq6++akeP\nHoUKAQQQQAABBBIsEFUC7tChg+3YscNls2rVKnvzzTddZ6xChQq5Zd27d2c2pAR/CBwOAQQQQKDg\nCUQF4CeeeMIOHz7sOl4VL17cihUrFlY5ePCgWxdewAsEEEAAAQQQyJRAVBV08+bNrWXLlvb222+7\n6Qj12nts2LDBdcrKVE7shAACCCCAAAJhgagS8HPPPWcDBgxwG2gu4MhUrlw5GzVqVOQiXiOAAAII\nIIBAJgSiSsA33XSTHTp0yMaMGWNz5851r/Ve1dK7d+92cwRnIh92QQABBBBAAIEIgagSsNYVLVrU\nhgwZErEZLxFAAAEEEEAgkQJRAZjJGBLJy7EQQAABBBCILRAVgL3JGDZu3GjDhg0zjQ1dpEiR8N6M\nhBWm4AUCCCCAAAKZFogKwN5kDOXLlzfdkrR69Wo3/nPPnj3tnHPOsVKlSmU6M3ZEAAEEEEAAgd8F\nojpheTAXXHCBff7557Z06VLr0qWLvfjii1a9enUbOXKktwnPCCCAAAIIIJBJgagScORxVqxYYTNm\nzHCP2bNnW7Nmzax27dqRm/AaAQQQQAABBDIh4FsCvvPOO61p06b24YcfWt++fU3BWLclXX311ZnI\nhl0QQAABBBBAIFLAtwR8zTXXWOnSpW369OmuM1bHjh3t7LPPdo/jjjsu8hi8RgABBBBAAIE4BXxL\nwE2aNLG7777bPvvsM5s3b55VqlTJ+vfvb7fcckucWbA5AggggAACCKQW8C0Ba9zn//73vzZt2jT7\n4osv7OSTT7aHHnrILr744tTH4D0CCCCAAAIIxCngG4AnTpzo2n3V/qse0BoHmoQAAggggAACiRHw\nDcCqfiYhgAACCCCAQPYI+LYBZ092HBUBBBBAAAEEJJDrArBmXdqxYwefDgIIIIAAAvlawLcKOiev\nOikpye69916bPHmyaQzq5ORkdwtU/fr1bejQodavX78cOR3lm5x81JIOHMyR/HJTJklJh3LT6XAu\nCCCAQL4XiBmAd+3aZWvWrLETTzzRjQf93XffOYhTTjklWwbiGDRokG3evNk++OADa9CggZUpU8bN\nPbxs2TIbPHiwHThwwAYMGJDtH8aG9Rvsq4e/smIlimd7Xrktg907dtrt/bjFLLd9LpwPAgjkX4Go\nAKyxn88880wX8BSA33//fRcQFRhvvfVW04AcKpkmMn300UdulK1q1aqFD1uhQgXr0KGDjRs3zkaM\nGJEjAbhhw4Y2aPjtVvm4yuHzKCgvpr71vqkmgoQAAgggkDMCUW3AGmjjgQcesH/961/hM9Dwkw8+\n+KD9+c9/tqeeeiq8PFEvWrRoYTNnzox5OP0AqFKlSsx1LEQAAQQQQCCvCqQoAR89etQWLVrkBt+I\ndUEaijI7AvB9991nffr0sbFjx5pKoZoKUdXgy5cvN3XKmjp1aqzTYRkCCCCAAAJ5ViBFAFYnpGLF\nilnRon8sfvPNN90yXaHWZ8d8wKrqXrhwoauGXrt2rWsPVqlX7b6q8i5UqFCGgCdMmGBTpkyJue22\nbdvsjDPOiLmOhQgggAACCOS0wB+RNpRzkSJFrHXr1m4e4E6dOrlziQy4//vf/7ItiJUsWdI6d+4c\nvn51vFKbZEaDr3a84YYb3CN8kIgXr7/+uikIkxBAAAEEEMgNAlFtwCp1XnfddW4SBlVJK+3evdtG\njRrlqoIvv/zyHDlvlbyHDBmSI3mRCQIIIIAAAjktkKIErMx79eplhQsXtksuucTd/qOeyT/++KM1\nbtzYdZSqU6dOws+xUaNG9ssvv6Q4rkq/av9VIO7Zs6dpbGoSAggggAAC+UUgKgDrwhR8FfRWrFhh\nK1eudPcD16pVK9uuWcH12muvNU38oB7XSu+8845rE1bva90XTEIAAQQQQCA/CURVQXsXp7bXpk2b\n2rnnnmv79++3Q4eyb6QkdY6aP3++rVq1ylU7K+BWrlzZypYta3Xr1nWvvfPiGQEEEEAAgfwg4BuA\nFXBvvvlmFwRPOukk96xOTtkViHXr0QsvvGB/+tOfXM/njz/+OD/4cg0IIIAAAgjEFPANwLqlR8NR\nLl682Pbs2eOet2/f7gbpiHmkBC1UJy+NjKU24ciRsRJ0eA6DAAIIIIBArhCI2QasM/vqq69s2LBh\nrhpa75s0aWL33HNPjvRMVnvze++9p2xJCCCAAAII5EsB3xJw165d3UQM3tSAui930qRJ5t0fnC81\nuCgEEEAAAQRySMC3BKx7fzU7kUakat68uesNrc5Yxx9/fHi0qQULFtBDOYc+KLJBAAEEEMhfAr4B\n+MILL7R27dq5qz1y5IgbhjJyiEqtiBwlK3+xcDUIIIAAAghkr0BUANZ4z4899pht2bLFRo4c6XKf\nM2eOXX/99W555HCR2XtqHB0BBBBAAIH8KxDVBqyg++yzz7qBOLzLPuWUU2zQoEF22WWXuft1veU8\nI4AAAggggEDmBKJKwBr68ZVXXrFmzZqFj6iq55tuusndGvTGG29Y27Ztw+t4gQACCCCAAALxC6Qo\nAWvsZd37q3GfY6WzzjrLvv7661irWIYAAggggAACcQikCMAq6Z5wwgn25ZdfxjyElqs6moQAAggg\ngAACWRNIEYB1qH79+ln//v3t22+/DR9Z0xJqPl21D6t3NAkBBBBAAAEEsiYQ1QZ84403uskXVNI9\n9thj3X3AmhGpXLlyboai0047LWs5sjcCCCCAAAIIWFQAlsngwYNtwIAB9s0339i6deusVatWbijK\nIkWKQIYAAggggAACCRCIGYB13BIlSliHDh3cIwH5cAgEEEAAAQQQiBCIagOOWMdLBBBAAAEEEMgm\nAQJwNsFyWAQQQAABBNISSBGA1dtZvaCVvvvuOzfwRlo7sw4BBBBAAAEEMieQIgBr0gWNdDV//nx7\n9NFHbebMmW5MaI0L7T127dqVuZzYCwEEEEAAAQTCAik6YRUrVsxuvfVW69Gjh+3cudPN/1u4cIoY\nbZdeeqlNnjw5fABeIIAAAggggED8Aimja2j/+++/37Zt22Z33323TZ8+3fbu3ZviQfCNH5k9EEAA\nAQQQSC2QogQcufKee+5xb7dv324bNmywRo0aWenSpSM34TUCCCCAAAIIZFIgqgTsHUftweqQVbly\nZevSpYsbCatXr1528OBBbxOeEUAAAQQQQCCTAr4B+Omnn7ZVq1bZsmXLTKVgDUeZnJxsDz74YCaz\nYjcEEEAAAQQQ8AR8A/C8efNs2LBh4XmBGzRoYKqWnjVrlrcvzwgggAACCCCQSQHfAKxJF2bPnp3i\nsHpfpUqVFMt4gwACCCCAAALxC/h2wrrsssusZcuWrsR7xhln2IIFC2zRokWUgOM3Zg8EEEAAAQSi\nBHxLwJqKcMmSJda3b1/TCFnnn3++LV261Nq0aRN1EBYggAACCCCAQHwCviVgHUZBWANzkBBAAAEE\nEEAgsQK+JeDEZsPREEAAAQQQQCBSgAAcqcFrBBBAAAEEckiAAJxD0GSDAAIIIIBApIBvG7AmYxg4\ncKDriJWUlBTeRxM1PPLII+H3vEAAAQQQQACB+AV8A/Do0aNNUw+OHz/eypYtGz5ypUqVwq95gQAC\nCCCAAAKZE/ANwBs3bnQl4M6dO2fuyOyFAAIIIIAAAr4Cvm3A3ry/W7du9d2ZFQgggAACCCCQOQHf\nALxp0yabOnWqVa9e3U1F2LRpU9Nj8ODBmcuJvRBAAAEEEEAgLOBbBX3BBRdY27ZtTZ2xVAquU6eO\nlSxZ0mgDDtvxAgEEEEAAgUwL+AbgGjVquNmPnn/+eRd0FYh79uxpU6ZMyXRm7IgAAggggAACvwv4\nVkEzHzBfEQQQQAABBLJPwDcAMx9w9qFzZAQQQAABBHwDMPMB8+VAAAEEEEAg+wR824CZDzj70Dky\nAggggAACviVg5gPmy4EAAggggED2CfiWgJUl8wFnHzxHRgABBBAo2AJRAbh9+/amcaDnzJljEydO\njNLRZAzjxo2LWs4CBBBAAAEEEMi4QFQAnjBhgtWrV8+qVq1qGge6WLFi4aMdPHjQDh06FH7PCwQQ\nQAABBBDInEBUG3CzZs2sRIkS9uSTT9qOHTusefPm4cdPP/3kSseZy4q9EEAAAQQQQMATiCoBP/fc\nczZgwAC3XlMRRqZy5crZqFGjIhfxGgEEEEAAAQQyIRBVAr7ppptcNbMC7dy5c91rVTsfPnzYdu/e\n7aYozEQ+7IIAAggggAACEQJRAVjrihYtaps3b7ZPP/3Uvdb7IkWKROzGSwQQQAABBBDIikDMAKwD\n1q1b15YsWWJHjhzJyvHZFwEEEEAAAQRiCES1AXvblCpVyt5//30rX7681a5dO1wCPvfcc+3hhx/2\nNuMZAQQQQAABBDIh4BuAu3fvbq1bt446pAbnICGAAAIIIIBA1gR8A7CqoPXYvn27bdiwwRo1amSl\nS5fOWm7sjQACCCCAAAJOwLcNWG2//fr1s8qVK1uXLl1MtyD16tXLNBgHCQEEEEAAAQSyJuAbgJ9+\n+mlbtWqVLVu2zJWCV65cacnJyfbggw9mLUf2RgABBBBAAAHzDcDz5s2zYcOGmUbGUmrQoIHdc889\nNmvWrGxl0/3GGoGLhAACCCCAQH4W8A3Ap512ms2ePTvFtet9lSpVUixLxJukpCQbPny4621dvHhx\nq1SpkpUpU8ZatGgRc0KIROTJMRBAAAEEEAhSwLcT1mWXXWYtW7Z0Jd4zzjjDFixYYIsWLcqWEl3m\nV6AAABXhSURBVPCgQYPcwB8ffPCBK2kr+GrULVV/Dx482A4cOBAeHjNILPJGAAEEEEAgUQK+JWDd\nbqSBOPr27WtHjx61888/35YuXWpt2rRJVN7h43z00UemNudWrVpZ2bJlrVChQlahQgXr0KGDm/rw\nnXfeCW/LCwQQQAABBPKDgG8JWBenIKyxodetW+emKIycmjCRF6+q5pkzZ1rv3r2jDqvBQLKj2jsq\nIxYggAACCCCQgwK+AVgTMKj695lnnnHTE6qd9uqrr7bHH388xRzBiTjX++67z/r06WNjx461hg0b\nutG3du3aZcuXL3eTQEydOjVD2ezfv9/0iJV+++035jKOBcMyBBBAAIFABHwD8IQJE2zNmjW2ePFi\na9q0qa1YscJ1lHrggQdcb+hEnu2JJ55oCxcudLMvrV271rUHq9SraRFPP/30DI9H/eabb9rbb78d\n89Q0mEi7du1irmMhAggggAACOS3gG4C/+uordxuSgq9SkyZNXOAdMmRIws9x/fr1dtddd9lbb73l\n2n2ffPJJO/74410+r7zyilv+2muvpZuv2qv1iJVef/1127ZtW6xVLEMAAQQQQCDHBXw7YXXt2tWe\neOKJ8D256ok8adIk69SpU8JPUlXP1atXt/nz57sA3LFjR/vhhx8Sng8HRAABBBBAILcI+JaAdRuQ\nbgtSVXDz5s1NI2GpfVUl0ylTprjz161JumUoq0ltvKqC1gxMag8+4YQTTLMuff7551k9NPsjgAAC\nCCCQKwV8A/CFF17o2kx37txpW7dutTp16ljJkiVTXIQCZiKSAq5Kv2eeeaY73BVXXGGbNm2yHj16\n2I033piILDgGAggggAACuUrANwDXqFHDtfk+//zzbmQqBeKePXu60m+JEiUSehG61UkDf9x+++32\n17/+1R1bbc179uxxy5QvCQEEEEAAgfwk4NsGnJOTMXTr1s1Wr15t5513XgrbESNGmAbpUHU0CQEE\n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\nL1/ePSpUqGAnn3yyvfbaa+H9xo4d67YZP358eJleHD582CpXrmydOnVyy9M6rxQ7ZsObs88+20qV\nKuWuoVy5clanTh278847bf/+/dmQm1mNGjVsxYoVUcdO7zw2btzoLM8888yofa+//nq3buvWrfbT\nTz+510eOHInaLqcX3HbbbVamTBnbsWNHiqw9gy+++MJatWqVYp33Jjk52e69915r2rSpnXLKKdak\nSRPT8ZKSkrxN0nxesGCBdevWzU444QT3PatVq5b985//dN+9NHdkJQIIxCVAAI6LK/bGn3/+uftj\nFXut/9L169fb7t27XSlj9OjR7o/ku+++G96hZs2a9uabb4bf68WMGTOscOHc87HpB4KuQQ85fP31\n13bDDTekOOeceJPeecjsxx9/tM2bN4dPRz9mdM65Lem89D3o27evvfTSS3GfXr9+/Wzu3Lk2Z84c\n94Nl0aJFtmrVKvvLX/6S7rG0X69eveyuu+6y77//3pYuXWra/8MPP7Qnnngi3f3ZAAEEMi6Qe/6S\nZ/ycc92WV111la1Zs8aWLFliV199tQukxx57rLVp08YWL16c7vkWLVrUVIobNGiQ/fvf/w5vf9pp\np9kPP/xgKp15SaXknj17em/TfJ48ebIrlepcLrvssqjSVJo7x7lSJXqVgJ988kl78cUX7eeff3ZH\nmDVrlrVu3dqOOeYYV4Pwyy+/2G+//eaW7dy5M5zLwIED7a233jKV3kaOHGkqdekHyP333++WhTdM\n54XfeWj5hRdeaG+//Xb4CPoxE6tUHN4g4oU+h1NPPdVU0j/ppJNcgItYndCXCnYnnnii3Xjjjfbs\ns8/GdWz9EJK/AnelSpXcvqql+M9//mPdu3d37/Ud+8c//uFqXfSZ3X333eE8Hn30UZevV8OiFapx\nmTBhgjsnvc9JC+VHQiC/ChCAE/DJKvgeOHDAPfTHT3/4VHLo0KGDDR8+PMM56A+7/rh5qUiRInbB\nBReEg4ZKRrNnzw5XP3vbxXrW+Sio/fe//7XVq1fb3r177amnnoq1aUKXHX/88S5I6Tq2bdvmgt6w\nYcNs+fLlpqr2Bx54wMqWLeuqk9977z2X9759+1zA6Nixo+lHgwy17p133rGXX37Zvvrqq7jPMfI8\nvJ0vueSSFDUK+jHj16zg7eM963O86KKL3I8hlTBvvvlmb1XCn1944QW7/PLLXaCXzfz58zOch6qP\n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\n" } ], "prompt_number": 365 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "/bin/sh: wd: command not found\r\n" ] } ], "prompt_number": 368 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }