{ "metadata": { "name": "", "signature": "sha256:a5fc53e2d4385e768d1f939429f0336a3bca7a6fafc5edfa3f5c29cf62e45c1a" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Supplemental Data and Code: 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 Master's thesis \"DNA methylation variation in gametes and larvae of the Pacific oyster, _Crassostrea gigas_\" by Claire Olson. \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", "* bedtools\n", "* R\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", "\n", "The intent is to clone the github repository locally and run so accompaning scripts, etc. are available. Please note Data files that you will download and will produce are large (>20Gb).\n", "\n", "\n", "The notebook is divided into 5 sections \n", "\n", "* [Downloading data](#Downloading-Files) \n", "\n", "* [Read aligning: BSMAP](#Running-BSMAP) \n", "\n", "* [Global differences: methylkit](#Global-Differences:-methylkit) \n", "\n", "* [Differentially methylated loci: methylkit](#Differentially-methylated-loci) \n", "\n", "* [Genomic location of DMLs: bedtools](#Genomic-location-of-DMLs) \n", "\n", "\n", "Please post any comments and questions in issues." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Before getting started, set the location o BSMAP on your computer and hit shift-enter" ] }, { "cell_type": "code", "collapsed": false, "input": [ "bsmaploc=\"/Users/Shared/Apps/bsmap-2.74/\"" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Downloading Data" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#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.ipynb\u001b[m\u001b[m \u001b[31mREADME.md\u001b[m\u001b[m \u001b[30m\u001b[43mscripts\u001b[m\u001b[m \u001b[30m\u001b[43mwd\u001b[m\u001b[m\r\n" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "cd wd" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "/Volumes/web/cnidarian/olson-thesis-nb-master-12100836/wd\n" ] } ], "prompt_number": 3 }, { "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 31.6M 0 0 43.7M 0 0:01:36 --:--:-- 0:01:36 43.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 1 4221M 1 76.6M 0 0 44.4M 0 0:01:35 0:00:01 0:01:34 44.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 2 4221M 2 119M 0 0 43.5M 0 0:01:36 0:00:02 0:01:34 43.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 3 4221M 3 141M 0 0 34.5M 0 0:02:02 0:00:04 0:01:58 34.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 3 4221M 3 156M 0 0 32.9M 0 0:02:08 0:00:04 0:02:04 32.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 4 4221M 4 171M 0 0 29.8M 0 0:02:21 0:00:05 0:02:16 27.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 4 4221M 4 189M 0 0 28.0M 0 0:02:30 0:00:06 0:02:24 22.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 4 4221M 4 206M 0 0 26.5M 0 0:02:39 0:00:07 0:02:32 17.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 5 4221M 5 228M 0 0 26.0M 0 0:02:41 0:00:08 0:02:33 18.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 5 4221M 5 251M 0 0 25.7M 0 0:02:43 0:00:09 0:02:34 19.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 6 4221M 6 286M 0 0 26.6M 0 0:02:38 0:00:10 0:02:28 22.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 7 4221M 7 311M 0 0 26.5M 0 0:02:39 0:00:11 0:02:28 24.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 7 4221M 7 337M 0 0 26.4M 0 0:02:39 0:00:12 0:02:27 26.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 8 4221M 8 360M 0 0 26.1M 0 0:02:41 0:00:13 0:02:28 26.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 9 4221M 9 385M 0 0 26.1M 0 0:02:41 0:00:14 0:02:27 26.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 9 4221M 9 410M 0 0 26.0M 0 0:02:42 0:00:15 0:02:27 24.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 10 4221M 10 437M 0 0 26.0M 0 0:02:41 0:00:16 0:02:25 25.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 10 4221M 10 462M 0 0 26.0M 0 0:02:42 0:00:17 0:02:25 24.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 11 4221M 11 488M 0 0 26.0M 0 0:02:42 0:00:18 0:02:24 25.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 12 4221M 12 507M 0 0 25.7M 0 0:02:43 0:00:19 0:02:24 24.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 12 4221M 12 529M 0 0 25.5M 0 0:02:45 0:00:20 0:02:25 23.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 13 4221M 13 555M 0 0 25.5M 0 0:02:45 0:00:21 0:02:24 23.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 13 4221M 13 583M 0 0 25.6M 0 0:02:44 0:00:22 0:02:22 24.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 14 4221M 14 607M 0 0 25.5M 0 0:02:44 0:00:23 0:02:21 24.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 14 4221M 14 629M 0 0 25.4M 0 0:02:45 0:00:24 0:02:21 24.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 15 4221M 15 650M 0 0 25.2M 0 0:02:47 0:00:25 0:02:22 24.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 15 4221M 15 670M 0 0 25.0M 0 0:02:48 0:00:26 0:02:22 22.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 16 4221M 16 682M 0 0 24.4M 0 0:02:52 0:00:27 0:02:25 19.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 16 4221M 16 699M 0 0 24.3M 0 0:02:53 0:00:28 0:02:25 18.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 17 4221M 17 726M 0 0 24.4M 0 0:02:52 0:00:29 0:02:23 19.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 17 4221M 17 748M 0 0 24.3M 0 0:02:53 0:00:30 0:02:23 19.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 18 4221M 18 772M 0 0 24.3M 0 0:02:53 0:00:31 0:02:22 20.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 18 4221M 18 792M 0 0 24.1M 0 0:02:54 0:00:32 0:02:22 22.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 19 4221M 19 817M 0 0 24.2M 0 0:02:54 0:00:33 0:02:21 23.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 19 4221M 19 837M 0 0 24.1M 0 0:02:55 0:00:34 0:02:21 22.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 20 4221M 20 858M 0 0 24.0M 0 0:02:55 0:00:35 0:02:20 21.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 20 4221M 20 883M 0 0 23.9M 0 0:02:55 0:00:36 0:02:19 21.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 21 4221M 21 905M 0 0 23.9M 0 0:02:55 0:00:37 0:02:18 22.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 22 4221M 22 931M 0 0 23.9M 0 0:02:56 0:00:38 0:02:18 22.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 22 4221M 22 952M 0 0 23.9M 0 0:02:56 0:00:39 0:02:17 22.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 23 4221M 23 975M 0 0 23.9M 0 0:02:56 0:00:40 0:02:16 23.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 23 4221M 23 999M 0 0 23.9M 0 0:02:56 0:00:41 0:02:15 23.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 24 4221M 24 1024M 0 0 23.9M 0 0:02:56 0:00:42 0:02:14 23.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 24 4221M 24 1051M 0 0 24.0M 0 0:02:55 0:00:43 0:02:12 24.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 25 4221M 25 1076M 0 0 24.0M 0 0:02:55 0:00:44 0:02:11 24.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 26 4221M 26 1101M 0 0 24.0M 0 0:02:55 0:00:45 0:02:10 25.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 26 4221M 26 1127M 0 0 24.1M 0 0:02:55 0:00:46 0:02:09 25.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 27 4221M 27 1151M 0 0 24.1M 0 0:02:54 0:00:47 0:02:07 25.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 27 4221M 27 1175M 0 0 24.1M 0 0:02:55 0:00:48 0:02:07 24.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 28 4221M 28 1202M 0 0 24.1M 0 0:02:54 0:00:49 0:02:05 25.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 29 4221M 29 1228M 0 0 24.2M 0 0:02:54 0:00:50 0:02:04 25.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 29 4221M 29 1254M 0 0 24.2M 0 0:02:54 0:00:51 0:02:03 25.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 30 4221M 30 1277M 0 0 24.2M 0 0:02:54 0:00:52 0:02:02 25.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 30 4221M 30 1304M 0 0 24.2M 0 0:02:53 0:00:53 0:02:00 25.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 31 4221M 31 1327M 0 0 24.2M 0 0:02:53 0:00:54 0:01:59 25.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 31 4221M 31 1347M 0 0 24.1M 0 0:02:54 0:00:55 0:01:59 23.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 32 4221M 32 1369M 0 0 24.1M 0 0:02:54 0:00:56 0:01:58 23.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 32 4221M 32 1391M 0 0 24.0M 0 0:02:55 0:00:57 0:01:58 22.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 33 4221M 33 1413M 0 0 24.0M 0 0:02:55 0:00:58 0:01:57 21.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 34 4221M 34 1442M 0 0 24.1M 0 0:02:54 0:00:59 0:01:55 22.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 34 4221M 34 1465M 0 0 24.1M 0 0:02:55 0:01:00 0:01:55 23.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 35 4221M 35 1488M 0 0 24.0M 0 0:02:55 0:01:01 0:01:54 23.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 35 4221M 35 1514M 0 0 24.1M 0 0:02:54 0:01:02 0:01:52 24.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 36 4221M 36 1539M 0 0 24.1M 0 0:02:54 0:01:03 0:01:51 25.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 37 4221M 37 1566M 0 0 24.1M 0 0:02:54 0:01:04 0:01:50 24.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 37 4221M 37 1587M 0 0 24.0M 0 0:02:55 0:01:05 0:01:50 23.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 38 4221M 38 1612M 0 0 24.1M 0 0:02:54 0:01:06 0:01:48 25.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 38 4221M 38 1635M 0 0 24.1M 0 0:02:54 0:01:07 0:01:47 24.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 39 4221M 39 1658M 0 0 24.0M 0 0:02:55 0:01:08 0:01:47 23.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 39 4221M 39 1680M 0 0 24.0M 0 0:02:55 0:01:09 0:01:46 22.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 40 4221M 40 1706M 0 0 24.1M 0 0:02:55 0:01:10 0:01:45 24.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 41 4221M 41 1731M 0 0 24.1M 0 0:02:54 0:01:11 0:01:43 23.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 41 4221M 41 1749M 0 0 24.0M 0 0:02:55 0:01:12 0:01:43 22.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 42 4221M 42 1776M 0 0 24.0M 0 0:02:55 0:01:13 0:01:42 23.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 42 4221M 42 1801M 0 0 24.0M 0 0:02:55 0:01:14 0:01:41 24.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 43 4221M 43 1827M 0 0 24.1M 0 0:02:55 0:01:15 0:01:40 24.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 43 4221M 43 1850M 0 0 24.1M 0 0:02:55 0:01:16 0:01:39 23.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 44 4221M 44 1870M 0 0 24.0M 0 0:02:55 0:01:17 0:01:38 24.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 44 4221M 44 1895M 0 0 24.0M 0 0:02:55 0:01:18 0:01:37 23.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 45 4221M 45 1915M 0 0 24.0M 0 0:02:55 0:01:19 0:01:36 22.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 45 4221M 45 1931M 0 0 23.9M 0 0:02:56 0:01:20 0:01:36 20.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 46 4221M 46 1955M 0 0 23.9M 0 0:02:56 0:01:21 0:01:35 21.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 46 4221M 46 1982M 0 0 23.9M 0 0:02:56 0:01:22 0:01:34 22.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 47 4221M 47 2005M 0 0 23.9M 0 0:02:56 0:01:23 0:01:33 22.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 48 4221M 48 2029M 0 0 23.9M 0 0:02:56 0:01:24 0:01:32 23.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 48 4221M 48 2052M 0 0 23.9M 0 0:02:56 0:01:25 0:01:31 24.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 49 4221M 49 2078M 0 0 23.9M 0 0:02:56 0:01:26 0:01:30 24.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 49 4221M 49 2101M 0 0 23.9M 0 0:02:56 0:01:27 0:01:29 23.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 50 4221M 50 2125M 0 0 23.9M 0 0:02:56 0:01:28 0:01:28 23.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 50 4221M 50 2150M 0 0 23.9M 0 0:02:56 0:01:29 0:01:27 24.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 51 4221M 51 2176M 0 0 23.9M 0 0:02:55 0:01:30 0:01:25 24.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 52 4221M 52 2200M 0 0 23.9M 0 0:02:55 0:01:31 0:01:24 24.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 52 4221M 52 2222M 0 0 23.9M 0 0:02:56 0:01:32 0:01:24 24.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 53 4221M 53 2245M 0 0 23.9M 0 0:02:56 0:01:33 0:01:23 24.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 53 4221M 53 2267M 0 0 23.9M 0 0:02:56 0:01:34 0:01:22 23.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 54 4221M 54 2293M 0 0 23.9M 0 0:02:56 0:01:35 0:01:21 23.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 54 4221M 54 2315M 0 0 23.9M 0 0:02:56 0:01:36 0:01:20 22.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 55 4221M 55 2338M 0 0 23.9M 0 0:02:56 0:01:37 0:01:19 23.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 56 4221M 56 2364M 0 0 23.9M 0 0:02:56 0:01:38 0:01:18 23.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 56 4221M 56 2388M 0 0 23.9M 0 0:02:56 0:01:39 0:01:17 24.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 57 4221M 57 2412M 0 0 23.9M 0 0:02:56 0:01:40 0:01:16 23.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 57 4221M 57 2432M 0 0 23.9M 0 0:02:56 0:01:41 0:01:15 23.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 58 4221M 58 2458M 0 0 23.9M 0 0:02:56 0:01:42 0:01:14 24.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 58 4221M 58 2484M 0 0 23.9M 0 0:02:56 0:01:43 0:01:13 23.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 59 4221M 59 2500M 0 0 23.8M 0 0:02:56 0:01:44 0:01:12 22.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 59 4221M 59 2512M 0 0 23.7M 0 0:02:57 0:01:45 0:01:12 20.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 60 4221M 60 2535M 0 0 23.7M 0 0:02:57 0:01:46 0:01:11 20.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 60 4221M 60 2560M 0 0 23.7M 0 0:02:57 0:01:47 0:01:10 20.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 61 4221M 61 2588M 0 0 23.7M 0 0:02:57 0:01:48 0:01:09 20.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 61 4221M 61 2610M 0 0 23.7M 0 0:02:57 0:01:49 0:01:08 21.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 62 4221M 62 2623M 0 0 23.6M 0 0:02:58 0:01:51 0:01:07 20.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 62 4221M 62 2643M 0 0 23.6M 0 0:02:58 0:01:51 0:01:07 21.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 63 4221M 63 2661M 0 0 23.6M 0 0:02:58 0:01:52 0:01:06 20.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 63 4221M 63 2677M 0 0 23.5M 0 0:02:59 0:01:53 0:01:06 17.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 63 4221M 63 2698M 0 0 23.5M 0 0:02:59 0:01:54 0:01:05 17.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 64 4221M 64 2719M 0 0 23.5M 0 0:02:59 0:01:55 0:01:04 20.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 64 4221M 64 2733M 0 0 23.4M 0 0:03:00 0:01:56 0:01:04 17.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 65 4221M 65 2754M 0 0 23.3M 0 0:03:00 0:01:57 0:01:03 18.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 65 4221M 65 2774M 0 0 23.3M 0 0:03:00 0:01:58 0:01:02 19.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 66 4221M 66 2790M 0 0 23.3M 0 0:03:01 0:01:59 0:01:02 18.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 66 4221M 66 2813M 0 0 23.2M 0 0:03:01 0:02:00 0:01:01 17.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 67 4221M 67 2834M 0 0 23.2M 0 0:03:01 0:02:01 0:01:00 20.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 67 4221M 67 2854M 0 0 23.2M 0 0:03:01 0:02:02 0:00:59 19.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 68 4221M 68 2874M 0 0 23.2M 0 0:03:01 0:02:03 0:00:58 20.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 68 4221M 68 2901M 0 0 23.2M 0 0:03:01 0:02:04 0:00:57 21.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 69 4221M 69 2922M 0 0 23.2M 0 0:03:01 0:02:05 0:00:56 22.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 69 4221M 69 2944M 0 0 23.2M 0 0:03:01 0:02:06 0:00:55 22.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 70 4221M 70 2967M 0 0 23.2M 0 0:03:01 0:02:07 0:00:54 23.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 70 4221M 70 2992M 0 0 23.2M 0 0:03:01 0:02:08 0:00:53 23.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 71 4221M 71 3009M 0 0 23.1M 0 0:03:01 0:02:09 0:00:52 21.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 71 4221M 71 3035M 0 0 23.2M 0 0:03:01 0:02:10 0:00:51 22.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 72 4221M 72 3059M 0 0 23.2M 0 0:03:01 0:02:11 0:00:50 22.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 72 4221M 72 3081M 0 0 23.2M 0 0:03:01 0:02:12 0:00:49 22.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 73 4221M 73 3108M 0 0 23.2M 0 0:03:01 0:02:13 0:00:48 23.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 74 4221M 74 3130M 0 0 23.2M 0 0:03:01 0:02:14 0:00:47 24.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 74 4221M 74 3155M 0 0 23.2M 0 0:03:01 0:02:15 0:00:46 23.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 75 4221M 75 3180M 0 0 23.2M 0 0:03:01 0:02:16 0:00:45 24.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 75 4221M 75 3202M 0 0 23.2M 0 0:03:01 0:02:17 0:00:44 24.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 76 4221M 76 3227M 0 0 23.2M 0 0:03:01 0:02:18 0:00:43 23.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 77 4221M 77 3251M 0 0 23.2M 0 0:03:01 0:02:19 0:00:42 24.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 77 4221M 77 3274M 0 0 23.2M 0 0:03:01 0:02:20 0:00:41 23.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 78 4221M 78 3293M 0 0 23.2M 0 0:03:01 0:02:21 0:00:40 22.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 78 4221M 78 3321M 0 0 23.2M 0 0:03:01 0:02:22 0:00:39 23.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 79 4221M 79 3343M 0 0 23.2M 0 0:03:01 0:02:23 0:00:38 23.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 79 4221M 79 3365M 0 0 23.2M 0 0:03:01 0:02:24 0:00:37 22.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 80 4221M 80 3387M 0 0 23.2M 0 0:03:01 0:02:25 0:00:36 22.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 80 4221M 80 3401M 0 0 23.1M 0 0:03:02 0:02:26 0:00:36 20.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 80 4221M 80 3411M 0 0 23.0M 0 0:03:02 0:02:27 0:00:35 17.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 81 4221M 81 3426M 0 0 23.0M 0 0:03:03 0:02:28 0:00:35 16.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 81 4221M 81 3452M 0 0 23.0M 0 0:03:03 0:02:29 0:00:34 17.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 82 4221M 82 3480M 0 0 23.0M 0 0:03:02 0:02:30 0:00:32 18.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 82 4221M 82 3502M 0 0 23.0M 0 0:03:02 0:02:31 0:00:31 21.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 83 4221M 83 3518M 0 0 23.0M 0 0:03:03 0:02:32 0:00:31 21.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 83 4221M 83 3544M 0 0 23.0M 0 0:03:03 0:02:33 0:00:30 23.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 84 4221M 84 3570M 0 0 23.0M 0 0:03:02 0:02:34 0:00:28 23.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 85 4221M 85 3594M 0 0 23.0M 0 0:03:02 0:02:35 0:00:27 22.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 85 4221M 85 3617M 0 0 23.0M 0 0:03:02 0:02:36 0:00:26 23.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 86 4221M 86 3635M 0 0 23.0M 0 0:03:03 0:02:37 0:00:26 23.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 86 4221M 86 3659M 0 0 23.0M 0 0:03:03 0:02:38 0:00:25 22.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 87 4221M 87 3685M 0 0 23.0M 0 0:03:02 0:02:39 0:00:23 23.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 87 4221M 87 3710M 0 0 23.0M 0 0:03:02 0:02:40 0:00:22 23.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 88 4221M 88 3735M 0 0 23.0M 0 0:03:02 0:02:41 0:00:21 23.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 89 4221M 89 3757M 0 0 23.0M 0 0:03:02 0:02:42 0:00:20 24.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 89 4221M 89 3777M 0 0 23.0M 0 0:03:02 0:02:43 0:00:19 23.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 90 4221M 90 3804M 0 0 23.0M 0 0:03:02 0:02:44 0:00:18 23.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 90 4221M 90 3824M 0 0 23.0M 0 0:03:02 0:02:45 0:00:17 22.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 91 4221M 91 3849M 0 0 23.0M 0 0:03:02 0:02:46 0:00:16 22.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 91 4221M 91 3868M 0 0 23.0M 0 0:03:03 0:02:47 0:00:16 21.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 92 4221M 92 3886M 0 0 23.0M 0 0:03:03 0:02:48 0:00:15 21.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 92 4221M 92 3909M 0 0 23.0M 0 0:03:03 0:02:49 0:00:14 20.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 93 4221M 93 3929M 0 0 23.0M 0 0:03:03 0:02:50 0:00:13 21.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 93 4221M 93 3952M 0 0 23.0M 0 0:03:03 0:02:51 0:00:12 20.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 94 4221M 94 3968M 0 0 22.9M 0 0:03:03 0:02:52 0:00:11 20.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 94 4221M 94 3987M 0 0 22.9M 0 0:03:03 0:02:53 0:00:10 20.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 94 4221M 94 4008M 0 0 22.9M 0 0:03:04 0:02:54 0:00:10 19.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 95 4221M 95 4028M 0 0 22.9M 0 0:03:04 0:02:55 0:00:09 19.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 95 4221M 95 4047M 0 0 22.8M 0 0:03:04 0:02:56 0:00:08 18.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 96 4221M 96 4060M 0 0 22.8M 0 0:03:04 0:02:57 0:00:07 18.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 96 4221M 96 4085M 0 0 22.8M 0 0:03:04 0:02:58 0:00:06 19.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 97 4221M 97 4106M 0 0 22.8M 0 0:03:04 0:02:59 0:00:05 19.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 97 4221M 97 4128M 0 0 22.8M 0 0:03:04 0:03:00 0:00:04 19.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 98 4221M 98 4142M 0 0 22.7M 0 0:03:05 0:03:01 0:00:04 18.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 98 4221M 98 4167M 0 0 22.8M 0 0:03:05 0:03:02 0:00:03 21.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 99 4221M 99 4193M 0 0 22.8M 0 0:03:05 0:03:03 0:00:02 21.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 99 4221M 99 4215M 0 0 22.8M 0 0:03:05 0:03:04 0:00:01 21.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", "100 4221M 100 4221M 0 0 22.8M 0 0:03:04 0:03:04 --:--:-- 22.2M\r\n" ] } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "#uncompress files\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": 5 }, { "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", " 0 541M 0 4119 0 0 19382 0 8:08:05 --:--:-- 8:08:05 19429" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 7 541M 7 41.0M 0 0 35.1M 0 0:00:15 0:00:01 0:00:14 35.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 13 541M 13 72.5M 0 0 33.5M 0 0:00:16 0:00:02 0:00:14 33.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 17 541M 17 94.5M 0 0 29.8M 0 0:00:18 0:00:03 0:00:15 29.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 21 541M 21 115M 0 0 27.6M 0 0:00:19 0:00:04 0:00:15 27.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 27 541M 27 149M 0 0 28.8M 0 0:00:18 0:00:05 0:00:13 30.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 30 541M 30 165M 0 0 26.7M 0 0:00:20 0:00:06 0:00:14 24.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 32 541M 32 178M 0 0 24.7M 0 0:00:21 0:00:07 0:00:14 20.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 38 541M 38 208M 0 0 25.4M 0 0:00:21 0:00:08 0:00:13 22.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 42 541M 42 232M 0 0 24.9M 0 0:00:21 0:00:09 0:00:12 22.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 46 541M 46 253M 0 0 24.9M 0 0:00:21 0:00:10 0:00:11 20.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 52 541M 52 285M 0 0 25.5M 0 0:00:21 0:00:11 0:00:10 24.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 57 541M 57 309M 0 0 25.3M 0 0:00:21 0:00:12 0:00:09 26.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 60 541M 60 328M 0 0 24.9M 0 0:00:21 0:00:13 0:00:08 24.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 66 541M 66 361M 0 0 25.4M 0 0:00:21 0:00:14 0:00:07 26.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 69 541M 69 375M 0 0 24.7M 0 0:00:21 0:00:15 0:00:06 24.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 74 541M 74 402M 0 0 24.8M 0 0:00:21 0:00:16 0:00:05 23.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 79 541M 79 429M 0 0 25.0M 0 0:00:21 0:00:17 0:00:04 24.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 83 541M 83 450M 0 0 24.7M 0 0:00:21 0:00:18 0:00:03 24.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 87 541M 87 471M 0 0 24.5M 0 0:00:22 0:00:19 0:00:03 22.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 94 541M 94 509M 0 0 25.2M 0 0:00:21 0:00:20 0:00:01 26.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 98 541M 98 533M 0 0 25.1M 0 0:00:21 0:00:21 --:--:-- 26.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", "100 541M 100 541M 0 0 25.2M 0 0:00:21 0:00:21 --:--:-- 26.0M\r\n" ] } ], "prompt_number": 6 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Running BSMAP" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#bsmap will need to be downloaded if not already installed from https://code.google.com/p/bsmap/\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" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Start at: Wed Dec 10 08:49:02 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. 24 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. 40 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t50000 read pairs finished. 40 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t150000 read pairs finished. 40 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t200000 read pairs finished. 41 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t250000 read pairs finished. 54 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t300000 read pairs finished. 55 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t350000 read pairs finished. 56 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t400000 read pairs finished. 56 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t450000 read pairs finished. 69 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t500000 read pairs finished. 71 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t550000 read pairs finished. 71 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t600000 read pairs finished. 72 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t650000 read pairs finished. 84 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t700000 read pairs finished. 86 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t750000 read pairs finished. 87 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t800000 read pairs finished. 87 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t850000 read pairs finished. 99 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t900000 read pairs finished. 101 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t950000 read pairs finished. 102 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1000000 read pairs finished. 103 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1050000 read pairs finished. 115 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1100000 read pairs finished. 117 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1150000 read pairs finished. 117 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1200000 read pairs finished. 118 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1250000 read pairs finished. 130 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1300000 read pairs finished. 132 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1350000 read pairs finished. 133 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1400000 read pairs finished. 134 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1450000 read pairs finished. 145 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1500000 read pairs finished. 147 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1550000 read pairs finished. 148 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1600000 read pairs finished. 149 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 #3: \t1700000 read pairs finished. 163 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1750000 read pairs finished. 164 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1800000 read pairs finished. 165 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1850000 read pairs finished. 175 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1900000 read pairs finished. 178 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1950000 read pairs finished. 179 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2000000 read pairs finished. 180 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2050000 read pairs finished. 190 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2100000 read pairs finished. 194 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2150000 read pairs finished. 196 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \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 #3: \t2300000 read pairs finished. 209 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2350000 read pairs finished. 211 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2400000 read pairs finished. 212 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 #3: \t2500000 read pairs finished. 225 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2550000 read pairs finished. 226 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \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 #3: \t2700000 read pairs finished. 241 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2750000 read pairs finished. 242 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2800000 read pairs finished. 243 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2850000 read pairs finished. 252 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2900000 read pairs finished. 256 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2950000 read pairs finished. 257 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3000000 read pairs finished. 258 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3050000 read pairs finished. 267 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3100000 read pairs finished. 272 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3150000 read pairs finished. 273 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3200000 read pairs finished. 273 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3250000 read pairs finished. 283 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3300000 read pairs finished. 287 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3350000 read pairs finished. 288 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3400000 read pairs finished. 289 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3450000 read pairs finished. 298 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3500000 read pairs finished. 302 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3550000 read pairs finished. 305 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3600000 read pairs finished. 306 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3650000 read pairs finished. 314 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3700000 read pairs finished. 317 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3750000 read pairs finished. 321 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3800000 read pairs finished. 322 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3850000 read pairs finished. 329 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3900000 read pairs finished. 333 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3950000 read pairs finished. 337 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4000000 read pairs finished. 338 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4050000 read pairs finished. 345 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4100000 read pairs finished. 348 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4150000 read pairs finished. 352 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4200000 read pairs finished. 353 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4250000 read pairs finished. 361 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4300000 read pairs finished. 364 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4350000 read pairs finished. 368 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4400000 read pairs finished. 369 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4450000 read pairs finished. 378 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4500000 read pairs finished. 381 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4550000 read pairs finished. 384 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4600000 read pairs finished. 385 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4650000 read pairs finished. 394 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4700000 read pairs finished. 398 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4750000 read pairs finished. 400 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4800000 read pairs finished. 401 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4850000 read pairs finished. 410 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4900000 read pairs finished. 414 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4950000 read pairs finished. 417 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5000000 read pairs finished. 418 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5050000 read pairs finished. 428 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5100000 read pairs finished. 431 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5150000 read pairs finished. 434 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5200000 read pairs finished. 435 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5250000 read pairs finished. 445 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 #2: \t5350000 read pairs finished. 451 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5400000 read pairs finished. 452 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5450000 read pairs finished. 462 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5500000 read pairs finished. 467 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5550000 read pairs finished. 469 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5600000 read pairs finished. 470 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5650000 read pairs finished. 480 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5700000 read pairs finished. 484 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5750000 read pairs finished. 487 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5800000 read pairs finished. 488 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5850000 read pairs finished. 498 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5900000 read pairs finished. 502 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5950000 read pairs finished. 504 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6000000 read pairs finished. 505 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6050000 read pairs finished. 515 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6100000 read pairs finished. 520 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6150000 read pairs finished. 522 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6200000 read pairs finished. 522 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6250000 read pairs finished. 535 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6300000 read pairs finished. 538 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6350000 read pairs finished. 540 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6400000 read pairs finished. 541 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6450000 read pairs finished. 553 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6500000 read pairs finished. 556 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6550000 read pairs finished. 559 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6600000 read pairs finished. 560 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6650000 read pairs finished. 571 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6700000 read pairs finished. 575 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6750000 read pairs finished. 578 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6800000 read pairs finished. 579 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6850000 read pairs finished. 590 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6900000 read pairs finished. 594 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6950000 read pairs finished. 596 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7000000 read pairs finished. 597 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7050000 read pairs finished. 608 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7100000 read pairs finished. 613 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7150000 read pairs finished. 615 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7200000 read pairs finished. 617 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7250000 read pairs finished. 627 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7300000 read pairs finished. 632 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7350000 read pairs finished. 634 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7400000 read pairs finished. 636 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7450000 read pairs finished. 647 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7500000 read pairs finished. 651 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7550000 read pairs finished. 653 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7600000 read pairs finished. 655 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7650000 read pairs finished. 666 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7700000 read pairs finished. 670 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7750000 read pairs finished. 672 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7800000 read pairs finished. 674 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7850000 read pairs finished. 685 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7900000 read pairs finished. 689 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7950000 read pairs finished. 691 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t8000000 read pairs finished. 692 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t8023643 read pairs finished. 692 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 Wed Dec 10 09:00:34 2014\r\n", "Total time consumed: 692 secs\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "BSMAP v2.74\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Start at: Wed Dec 10 09:00:35 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. 27 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" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " \t(format: FASTQ)\r\n", "Output file: bsmap_out_T1D3.sam\t (format: SAM)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t50000 read pairs finished. 42 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 #3: \t150000 read pairs finished. 43 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t200000 read pairs finished. 43 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 #2: \t300000 read pairs finished. 57 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t350000 read pairs finished. 58 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t400000 read pairs finished. 59 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t450000 read pairs finished. 71 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 #3: \t550000 read pairs finished. 74 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 #2: \t700000 read pairs finished. 88 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t750000 read pairs finished. 90 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. 102 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t900000 read pairs finished. 104 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t950000 read pairs finished. 105 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. 118 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1100000 read pairs finished. 119 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \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. 133 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 #3: \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. 148 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1500000 read pairs finished. 149 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1550000 read pairs finished. 151 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1600000 read pairs finished. 151 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1650000 read pairs finished. 164 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1700000 read pairs finished. 165 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1750000 read pairs finished. 167 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1800000 read pairs finished. 167 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1850000 read pairs finished. 179 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1900000 read pairs finished. 180 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1950000 read pairs finished. 182 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2000000 read pairs finished. 182 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2050000 read pairs finished. 195 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2100000 read pairs finished. 196 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2150000 read pairs finished. 197 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2200000 read pairs finished. 197 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2250000 read pairs finished. 210 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2300000 read pairs finished. 211 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2350000 read pairs finished. 212 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2400000 read pairs finished. 212 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2450000 read pairs finished. 225 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2500000 read pairs finished. 227 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2550000 read pairs finished. 227 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2600000 read pairs finished. 228 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2650000 read pairs finished. 240 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2700000 read pairs finished. 242 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2750000 read pairs finished. 242 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2800000 read pairs finished. 243 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2850000 read pairs finished. 255 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2900000 read pairs finished. 257 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2950000 read pairs finished. 259 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3000000 read pairs finished. 259 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3050000 read pairs finished. 271 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3100000 read pairs finished. 272 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3150000 read pairs finished. 274 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3200000 read pairs finished. 275 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3250000 read pairs finished. 286 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3300000 read pairs finished. 287 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3350000 read pairs finished. 289 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3400000 read pairs finished. 290 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3450000 read pairs finished. 301 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3500000 read pairs finished. 303 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3550000 read pairs finished. 305 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3600000 read pairs finished. 305 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3650000 read pairs finished. 316 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3700000 read pairs finished. 318 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3750000 read pairs finished. 319 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3800000 read pairs finished. 320 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3850000 read pairs finished. 331 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 #3: \t3950000 read pairs finished. 335 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4000000 read pairs finished. 336 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4050000 read pairs finished. 347 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4100000 read pairs finished. 348 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4150000 read pairs finished. 350 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4200000 read pairs finished. 351 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4250000 read pairs finished. 363 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4300000 read pairs finished. 364 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4350000 read pairs finished. 365 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4400000 read pairs finished. 366 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4450000 read pairs finished. 378 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4500000 read pairs finished. 379 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4550000 read pairs finished. 381 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4600000 read pairs finished. 382 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4650000 read pairs finished. 393 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4700000 read pairs finished. 395 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4750000 read pairs finished. 396 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4800000 read pairs finished. 397 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4850000 read pairs finished. 408 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4900000 read pairs finished. 410 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4950000 read pairs finished. 411 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5000000 read pairs finished. 412 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5016400 read pairs finished. 413 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 Wed Dec 10 09:07:28 2014\r\n", "Total time consumed: 413 secs\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "BSMAP v2.74\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Start at: Wed Dec 10 09:07:29 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_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. 44 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t100000 read pairs finished. 45 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t150000 read pairs finished. 45 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t200000 read pairs finished. 46 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t250000 read pairs finished. 61 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t300000 read pairs finished. 62 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t350000 read pairs finished. 63 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. 79 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t500000 read pairs finished. 79 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. 96 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t700000 read pairs finished. 97 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. 98 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t850000 read pairs finished. 113 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t900000 read pairs finished. 115 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t950000 read pairs finished. 115 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1000000 read pairs finished. 116 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1050000 read pairs finished. 131 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \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 #3: \t1200000 read pairs finished. 133 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1250000 read pairs finished. 148 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \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 #3: \t1400000 read pairs finished. 151 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1450000 read pairs finished. 166 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1500000 read pairs finished. 167 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1550000 read pairs finished. 168 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. 182 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1700000 read pairs finished. 185 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1750000 read pairs finished. 186 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1800000 read pairs finished. 186 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1850000 read pairs finished. 200 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1900000 read pairs finished. 202 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1950000 read pairs finished. 204 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2000000 read pairs finished. 204 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2050000 read pairs finished. 217 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2100000 read pairs finished. 220 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2150000 read pairs finished. 221 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2200000 read pairs finished. 221 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2250000 read pairs finished. 233 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2300000 read pairs finished. 237 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2350000 read pairs finished. 239 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2400000 read pairs finished. 239 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2450000 read pairs finished. 251 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2500000 read pairs finished. 254 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2550000 read pairs finished. 257 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2600000 read pairs finished. 257 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2650000 read pairs finished. 268 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2700000 read pairs finished. 272 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2750000 read pairs finished. 274 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2800000 read pairs finished. 275 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2850000 read pairs finished. 285 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2900000 read pairs finished. 289 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: \t3000000 read pairs finished. 292 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3050000 read pairs finished. 303 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3100000 read pairs finished. 306 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3150000 read pairs finished. 308 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3200000 read pairs finished. 310 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3250000 read pairs finished. 321 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3300000 read pairs finished. 324 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3350000 read pairs finished. 325 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3400000 read pairs finished. 327 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3450000 read pairs finished. 338 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3500000 read pairs finished. 341 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3550000 read pairs finished. 343 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3600000 read pairs finished. 344 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3650000 read pairs finished. 356 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3700000 read pairs finished. 358 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3750000 read pairs finished. 360 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3800000 read pairs finished. 362 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3850000 read pairs finished. 372 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3900000 read pairs finished. 375 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3950000 read pairs finished. 376 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4000000 read pairs finished. 381 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4050000 read pairs finished. 389 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4100000 read pairs finished. 392 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4150000 read pairs finished. 393 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4200000 read pairs finished. 398 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4250000 read pairs finished. 714 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4300000 read pairs finished. 714 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4350000 read pairs finished. 714 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4400000 read pairs finished. 714 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4450000 read pairs finished. 730 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4500000 read pairs finished. 730 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4550000 read pairs finished. 731 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4600000 read pairs finished. 732 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4650000 read pairs finished. 745 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4700000 read pairs finished. 747 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4750000 read pairs finished. 748 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4800000 read pairs finished. 749 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4850000 read pairs finished. 761 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4900000 read pairs finished. 763 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4950000 read pairs finished. 764 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5000000 read pairs finished. 765 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5050000 read pairs finished. 777 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5100000 read pairs finished. 778 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5150000 read pairs finished. 780 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5200000 read pairs finished. 781 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5250000 read pairs finished. 793 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5300000 read pairs finished. 794 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5350000 read pairs finished. 796 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5400000 read pairs finished. 797 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5450000 read pairs finished. 809 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5500000 read pairs finished. 810 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5550000 read pairs finished. 812 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5600000 read pairs finished. 813 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5650000 read pairs finished. 825 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5700000 read pairs finished. 826 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5750000 read pairs finished. 829 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5800000 read pairs finished. 830 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5900000 read pairs finished. 843 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5850000 read pairs finished. 844 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5950000 read pairs finished. 846 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6000000 read pairs finished. 847 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6179274 read pairs finished. 857 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6050000 read pairs finished. 860 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6100000 read pairs finished. 860 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6150000 read pairs finished. 862 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 Wed Dec 10 09:21:51 2014\r\n", "Total time consumed: 862 secs\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "BSMAP v2.74\r\n", "Start at: Wed Dec 10 09:21:52 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_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 #0: \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 #3: \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. 56 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t350000 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 #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. 89 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. 102 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t900000 read pairs finished. 104 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t950000 read pairs finished. 105 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. 118 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. 133 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1300000 read pairs finished. 138 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1350000 read pairs finished. 138 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1400000 read pairs finished. 139 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1450000 read pairs finished. 146 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1500000 read pairs finished. 152 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1550000 read pairs finished. 153 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1600000 read pairs finished. 153 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1650000 read pairs finished. 161 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. 175 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1900000 read pairs finished. 181 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1950000 read pairs finished. 182 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2000000 read pairs finished. 183 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2050000 read pairs finished. 190 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2100000 read pairs finished. 196 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2150000 read pairs finished. 196 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2200000 read pairs finished. 197 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2250000 read pairs finished. 205 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2300000 read pairs finished. 212 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2350000 read pairs finished. 213 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2400000 read pairs finished. 213 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2450000 read pairs finished. 219 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2500000 read pairs finished. 228 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2600000 read pairs finished. 229 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2550000 read pairs finished. 229 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2650000 read pairs finished. 234 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2700000 read pairs finished. 244 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2750000 read pairs finished. 244 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2800000 read pairs finished. 245 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2850000 read pairs finished. 250 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2900000 read pairs finished. 260 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2950000 read pairs finished. 260 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3000000 read pairs finished. 260 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3050000 read pairs finished. 265 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3100000 read pairs finished. 275 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3150000 read pairs finished. 275 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3200000 read pairs finished. 276 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3250000 read pairs finished. 281 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3300000 read pairs finished. 290 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3350000 read pairs finished. 290 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3400000 read pairs finished. 294 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3450000 read pairs finished. 298 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3550000 read pairs finished. 306 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3500000 read pairs finished. 306 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3600000 read pairs finished. 310 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3650000 read pairs finished. 313 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3700000 read pairs finished. 321 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3750000 read pairs finished. 322 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3800000 read pairs finished. 327 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3850000 read pairs finished. 328 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3900000 read pairs finished. 336 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3950000 read pairs finished. 337 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4000000 read pairs finished. 342 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4050000 read pairs finished. 343 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4100000 read pairs finished. 351 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4150000 read pairs finished. 352 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4200000 read pairs finished. 357 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4250000 read pairs finished. 359 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4300000 read pairs finished. 366 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4350000 read pairs finished. 367 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4400000 read pairs finished. 373 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4450000 read pairs finished. 375 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4500000 read pairs finished. 382 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4550000 read pairs finished. 383 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4600000 read pairs finished. 389 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4650000 read pairs finished. 390 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4700000 read pairs finished. 397 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4750000 read pairs finished. 398 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4800000 read pairs finished. 404 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4850000 read pairs finished. 405 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4900000 read pairs finished. 412 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4950000 read pairs finished. 413 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5000000 read pairs finished. 419 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5050000 read pairs finished. 420 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5100000 read pairs finished. 428 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5150000 read pairs finished. 429 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5200000 read pairs finished. 436 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5250000 read pairs finished. 436 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5300000 read pairs finished. 443 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5350000 read pairs finished. 445 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5400000 read pairs finished. 451 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5450000 read pairs finished. 452 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5500000 read pairs finished. 459 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5550000 read pairs finished. 460 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5600000 read pairs finished. 467 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5650000 read pairs finished. 468 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5700000 read pairs finished. 473 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5750000 read pairs finished. 475 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5800000 read pairs finished. 483 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5850000 read pairs finished. 484 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5900000 read pairs finished. 488 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5950000 read pairs finished. 490 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6000000 read pairs finished. 498 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6050000 read pairs finished. 499 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6100000 read pairs finished. 505 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6150000 read pairs finished. 507 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6200000 read pairs finished. 515 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6250000 read pairs finished. 516 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6300000 read pairs finished. 521 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6350000 read pairs finished. 523 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6400000 read pairs finished. 531 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6450000 read pairs finished. 532 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6500000 read pairs finished. 537 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6550000 read pairs finished. 538 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6600000 read pairs finished. 547 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6650000 read pairs finished. 548 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6700000 read pairs finished. 551 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6750000 read pairs finished. 553 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. 564 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6900000 read pairs finished. 566 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6950000 read pairs finished. 569 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 #0: \t7050000 read pairs finished. 580 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7100000 read pairs finished. 582 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7150000 read pairs finished. 585 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7200000 read pairs finished. 595 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7250000 read pairs finished. 596 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7300000 read pairs finished. 597 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7350000 read pairs finished. 600 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7400000 read pairs finished. 610 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7450000 read pairs finished. 611 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7500000 read pairs finished. 612 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7550000 read pairs finished. 614 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7600000 read pairs finished. 625 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7650000 read pairs finished. 626 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7700000 read pairs finished. 628 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7750000 read pairs finished. 630 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7867124 read pairs finished. 633 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7800000 read pairs finished. 638 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7850000 read pairs finished. 638 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 Wed Dec 10 09:32:30 2014\r\n", "Total time consumed: 638 secs\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "BSMAP v2.74\r\n", "Start at: Wed Dec 10 09:32:31 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_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 #1: \t100000 read pairs finished. 41 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t50000 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 #2: \t200000 read pairs finished. 43 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 #0: \t300000 read pairs finished. 58 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t350000 read pairs finished. 58 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t400000 read pairs finished. 59 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t450000 read pairs finished. 73 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t500000 read pairs finished. 74 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t550000 read pairs finished. 74 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t600000 read pairs finished. 75 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t650000 read pairs finished. 88 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t700000 read pairs finished. 90 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t750000 read pairs finished. 91 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t800000 read pairs finished. 92 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t850000 read pairs finished. 104 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t900000 read pairs finished. 105 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t950000 read pairs finished. 107 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1000000 read pairs finished. 109 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1050000 read pairs finished. 119 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1100000 read pairs finished. 121 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1150000 read pairs finished. 123 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1200000 read pairs finished. 126 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1250000 read pairs finished. 135 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1300000 read pairs finished. 137 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1350000 read pairs finished. 139 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1400000 read pairs finished. 143 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1450000 read pairs finished. 151 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1500000 read pairs finished. 154 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1550000 read pairs finished. 155 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1600000 read pairs finished. 158 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1650000 read pairs finished. 167 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1700000 read pairs finished. 171 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1750000 read pairs finished. 172 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1800000 read pairs finished. 174 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1850000 read pairs finished. 182 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1900000 read pairs finished. 188 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1950000 read pairs finished. 188 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2000000 read pairs finished. 190 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2050000 read pairs finished. 198 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2100000 read pairs finished. 204 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2150000 read pairs finished. 205 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2200000 read pairs finished. 206 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2250000 read pairs finished. 213 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2300000 read pairs finished. 219 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2350000 read pairs finished. 220 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2400000 read pairs finished. 222 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2450000 read pairs finished. 232 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2500000 read pairs finished. 236 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2550000 read pairs finished. 238 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2600000 read pairs finished. 238 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2650000 read pairs finished. 247 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2700000 read pairs finished. 253 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2750000 read pairs finished. 254 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2800000 read pairs finished. 255 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2850000 read pairs finished. 263 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2900000 read pairs finished. 268 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2950000 read pairs finished. 270 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3000000 read pairs finished. 271 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3050000 read pairs finished. 279 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3100000 read pairs finished. 284 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3150000 read pairs finished. 286 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3200000 read pairs finished. 287 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3250000 read pairs finished. 295 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3300000 read pairs finished. 301 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3350000 read pairs finished. 303 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3400000 read pairs finished. 304 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3450000 read pairs finished. 310 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3500000 read pairs finished. 316 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3550000 read pairs finished. 320 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3600000 read pairs finished. 321 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3650000 read pairs finished. 326 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3700000 read pairs finished. 332 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3750000 read pairs finished. 337 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3800000 read pairs finished. 338 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3850000 read pairs finished. 342 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3900000 read pairs finished. 347 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3950000 read pairs finished. 353 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4000000 read pairs finished. 354 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4050000 read pairs finished. 359 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4100000 read pairs finished. 362 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4150000 read pairs finished. 369 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4200000 read pairs finished. 369 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4250000 read pairs finished. 376 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4300000 read pairs finished. 379 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4350000 read pairs finished. 386 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4400000 read pairs finished. 386 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4450000 read pairs finished. 392 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4500000 read pairs finished. 395 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4550000 read pairs finished. 402 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4600000 read pairs finished. 402 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4650000 read pairs finished. 408 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4700000 read pairs finished. 411 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4750000 read pairs finished. 418 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4800000 read pairs finished. 419 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4850000 read pairs finished. 423 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4900000 read pairs finished. 427 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4950000 read pairs finished. 434 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5000000 read pairs finished. 435 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5050000 read pairs finished. 438 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5100000 read pairs finished. 442 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5150000 read pairs finished. 451 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5200000 read pairs finished. 451 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5250000 read pairs finished. 456 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5300000 read pairs finished. 459 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5350000 read pairs finished. 468 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5400000 read pairs finished. 468 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5450000 read pairs finished. 473 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5500000 read pairs finished. 475 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5550000 read pairs finished. 483 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5600000 read pairs finished. 484 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5650000 read pairs finished. 490 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5700000 read pairs finished. 491 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5750000 read pairs finished. 499 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5800000 read pairs finished. 500 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5850000 read pairs finished. 506 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5900000 read pairs finished. 508 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5950000 read pairs finished. 514 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6000000 read pairs finished. 516 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6050000 read pairs finished. 522 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6100000 read pairs finished. 525 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6150000 read pairs finished. 530 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6200000 read pairs finished. 533 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6250000 read pairs finished. 538 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6300000 read pairs finished. 541 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6350000 read pairs finished. 547 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6400000 read pairs finished. 549 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6450000 read pairs finished. 555 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6500000 read pairs finished. 557 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6550000 read pairs finished. 563 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6600000 read pairs finished. 565 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6650000 read pairs finished. 571 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6700000 read pairs finished. 573 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6750000 read pairs finished. 578 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6800000 read pairs finished. 581 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6850000 read pairs finished. 587 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6900000 read pairs finished. 590 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6950000 read pairs finished. 594 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7000000 read pairs finished. 596 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7109789 read pairs finished. 597 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7050000 read pairs finished. 601 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7100000 read pairs finished. 603 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 Wed Dec 10 09:42:34 2014\r\n", "Total time consumed: 603 secs\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "BSMAP v2.74\r\n", "Start at: Wed Dec 10 09:42:35 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. 27 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" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " \t(format: FASTQ)\r\n", "Output file: bsmap_out_T3D5.sam\t (format: SAM)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t50000 read pairs finished. 42 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 #3: \t150000 read pairs finished. 43 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t200000 read pairs finished. 44 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 #2: \t300000 read pairs finished. 58 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t350000 read pairs finished. 59 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t400000 read pairs finished. 60 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t450000 read pairs finished. 74 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t500000 read pairs finished. 74 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t550000 read pairs finished. 75 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t600000 read pairs finished. 75 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t650000 read pairs finished. 89 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t700000 read pairs finished. 90 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t750000 read pairs finished. 90 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t800000 read pairs finished. 91 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t850000 read pairs finished. 105 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t900000 read pairs finished. 106 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t950000 read pairs finished. 106 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1000000 read pairs finished. 107 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1050000 read pairs finished. 121 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1100000 read pairs finished. 122 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1150000 read pairs finished. 123 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1200000 read pairs finished. 123 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1250000 read pairs finished. 136 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1300000 read pairs finished. 137 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1350000 read pairs finished. 138 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1400000 read pairs finished. 139 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1450000 read pairs finished. 152 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1500000 read pairs finished. 154 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1550000 read pairs finished. 154 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1600000 read pairs finished. 155 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1650000 read pairs finished. 167 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1700000 read pairs finished. 169 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1750000 read pairs finished. 170 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1800000 read pairs finished. 171 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1850000 read pairs finished. 182 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1900000 read pairs finished. 185 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1950000 read pairs finished. 186 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2000000 read pairs finished. 187 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2050000 read pairs finished. 197 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2100000 read pairs finished. 200 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2150000 read pairs finished. 202 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2200000 read pairs finished. 203 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2250000 read pairs finished. 213 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2300000 read pairs finished. 215 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2350000 read pairs finished. 218 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2400000 read pairs finished. 220 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2450000 read pairs finished. 228 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2500000 read pairs finished. 231 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2550000 read pairs finished. 233 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2600000 read pairs finished. 236 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2650000 read pairs finished. 244 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2700000 read pairs finished. 246 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2750000 read pairs finished. 249 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2800000 read pairs finished. 251 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 #2: \t2900000 read pairs finished. 263 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2950000 read pairs finished. 265 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3000000 read pairs finished. 267 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 #2: \t3100000 read pairs finished. 279 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3150000 read pairs finished. 281 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3200000 read pairs finished. 282 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3250000 read pairs finished. 290 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3300000 read pairs finished. 294 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3350000 read pairs finished. 296 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3400000 read pairs finished. 298 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 #2: \t3500000 read pairs finished. 309 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3550000 read pairs finished. 313 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3600000 read pairs finished. 315 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3650000 read pairs finished. 323 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3700000 read pairs finished. 325 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3750000 read pairs finished. 328 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3800000 read pairs finished. 332 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3850000 read pairs finished. 339 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3900000 read pairs finished. 341 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3950000 read pairs finished. 343 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4000000 read pairs finished. 347 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4050000 read pairs finished. 354 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4100000 read pairs finished. 357 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4150000 read pairs finished. 359 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4200000 read pairs finished. 363 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4250000 read pairs finished. 370 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4300000 read pairs finished. 373 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4350000 read pairs finished. 374 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4400000 read pairs finished. 379 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4450000 read pairs finished. 386 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4500000 read pairs finished. 389 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4550000 read pairs finished. 390 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4600000 read pairs finished. 395 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4650000 read pairs finished. 401 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4700000 read pairs finished. 404 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4750000 read pairs finished. 405 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4800000 read pairs finished. 410 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4850000 read pairs finished. 416 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4900000 read pairs finished. 420 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4950000 read pairs finished. 421 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5000000 read pairs finished. 426 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5050000 read pairs finished. 432 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5100000 read pairs finished. 436 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5150000 read pairs finished. 437 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5200000 read pairs finished. 442 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 #2: \t5300000 read pairs finished. 451 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5350000 read pairs finished. 453 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5400000 read pairs finished. 457 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5450000 read pairs finished. 463 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5500000 read pairs finished. 467 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5550000 read pairs finished. 469 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5600000 read pairs finished. 473 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 #2: \t5700000 read pairs finished. 483 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5750000 read pairs finished. 486 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5800000 read pairs finished. 489 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5850000 read pairs finished. 495 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5900000 read pairs finished. 500 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5950000 read pairs finished. 501 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6000000 read pairs finished. 505 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6050000 read pairs finished. 511 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6100000 read pairs finished. 515 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6150000 read pairs finished. 517 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6200000 read pairs finished. 520 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6250000 read pairs finished. 527 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6300000 read pairs finished. 531 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6350000 read pairs finished. 532 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6400000 read pairs finished. 536 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6450000 read pairs finished. 543 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6500000 read pairs finished. 546 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6550000 read pairs finished. 548 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6600000 read pairs finished. 552 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6650000 read pairs finished. 559 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6700000 read pairs finished. 562 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6750000 read pairs finished. 564 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6800000 read pairs finished. 567 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6850000 read pairs finished. 574 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6900000 read pairs finished. 577 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6950000 read pairs finished. 579 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7000000 read pairs finished. 583 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7125800 read pairs finished. 586 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7050000 read pairs finished. 588 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7100000 read pairs finished. 590 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 Wed Dec 10 09:52:25 2014\r\n", "Total time consumed: 590 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 10 09:52:28 2014: reading reference Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 10 09:53:02 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 10 09:58:03 2014: read 10000000 lines\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 10 09:58:30 2014: combining CpG methylation from both strands ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 10 09:58:54 2014: writing methratio_out_M1.txt ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 10 10:08:42 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 10 10:08:44 2014: reading reference Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 10 10:09:17 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 10 10:12:03 2014: combining CpG methylation from both strands ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 10 10:12:26 2014: writing methratio_out_T1D3.txt ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 10 10:18:21 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 10 10:18:23 2014: reading reference Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 10 10:18:56 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 10 10:23:21 2014: combining CpG methylation from both strands ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 10 10:23:45 2014: writing methratio_out_T1D5.txt ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 10 10:33:00 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 10 10:33:02 2014: reading reference Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 10 10:33:34 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 10 10:38:49 2014: read 10000000 lines\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 10 10:39:39 2014: combining CpG methylation from both strands ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 10 10:40:03 2014: writing methratio_out_M3.txt ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 10 10:50:36 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 10 10:50:38 2014: reading reference Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 10 10:51:11 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 10 10:56:19 2014: read 10000000 lines\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 10 10:56:39 2014: combining CpG methylation from both strands ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 10 10:57:02 2014: writing methratio_out_T3D3.txt ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 10 11:07:43 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 10 11:07:45 2014: reading reference Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 10 11:08:18 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 10 11:13:36 2014: read 10000000 lines\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 10 11:13:53 2014: combining CpG methylation from both strands ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 10 11:14:17 2014: writing methratio_out_T3D5.txt ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 10 11:24:47 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": 13, "text": [ "array(['methylKit', 'tools', 'stats', 'graphics', 'grDevices', 'utils',\n", " 'datasets', 'methods', 'base'], \n", " dtype='|S9')" ] } ], "prompt_number": 13 }, { "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": 14 }, { "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": 15 }, { "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/MHjC5tH8MRi/HHttdcaPSZPnlxsuUZiXpTMp0+fbsp2xRVXFOV0nkMC+RKgCzrm6wl3lgYBfWCa\n1un3338vV155pbz22mty9913y2GHHSYvv/yyTJw4scDFyMjIkPbt28tnn30mLVu2lPHjx8tzzz0n\n7dq1k507d8ott9wiaGmXlgwfPlxGjx4tBw4cKK1LRrxO586dZf78+bn23XvvvTJo0CDRF51c6V7f\nKC7mxx13nOHzj3/8w+tIWH5LCdAFbWnFlKdijRgxQn755ReBkXjnnXeM6tpKlKSkJMG+lStXmrS0\ntDTRVolo69a4X99//31JSEiQG2+8MejKffXVV2XRokXSqlUr+fzzzyU+Pt6cqy1pY+SxDbcn9ocL\n3NUff/yxdOrUSTZu3Chz5syRBg0ayK233io7duwwLwJ79uwxLwktWrQInr569WqZNGmS0QGuVG3V\nmesiP7gwIXPnzpWaNWtKz549g+fp67G89dZbppwNGzY016lataq5zs8//yz//Oc/BemQFStWyAcf\nfCAwCtoiC+bh/vjjjz+MgcWLB4z9iSeeKN27d5fKlSubFxq8mEDGjh0rXbp0EZQfLzjqXXCzMN/r\n1q2T2bNny/Lly6Vx48aCeqhdu7bZt2bNGpk6daq0bt3auPLfffdd0Ra4uU7z5s1z5RO6sX37dkG9\nrF+/3rjd8YIUzd08bdo0WbVqlcDoof4hzz//vHl5uv32202ZcU1tMZvuhUMOOcTUJV6wwDcW85kz\nZ8pHH31kujc6duwo55xzjsl///795iUJ3QGNGjWSKVOmSIcOHQxr3F9gCCmo/rhP33jjDcPm6quv\nNt0NeLns1auX1K1b1+TFPyRgCOTbRuYBJFDCBPSBblx9+vCNeaXXX3/dHKdGztH+VEeNqdk+8sgj\nHTWY5lx9cJs0NYgx84q0c9SoUeZcNSaOPtgd10WrD2qnTp06jvZLm/36QHa+++47k4Ua1lzp+k/l\npKSkGLe5mx/S8NE+bXOO64JWY2quUbFiRbO/TZs2Zr+2TM32fffdZ7bxp3fv3ibNdWW7ZXNd0D16\n9DD7tY87yEWNkjlfPQFmn1uOxx57zKSH5wH3vKuje+wRRxzh6EuEOf69994z+WjftXPooYc6uBaO\nw299CTHHhP9Rw+OoATfHVahQwXzjvA0bNphDw13Q6gExx8D964q+CJi0H3/80ST9+9//NttqzJxj\njjnG/AZbffFwojHv37+/OQ5lwAfdG08++aTJb/fu3Waf9vUGdbr//vudcBd0QfTXFyAH9we4gC9+\nH3/88WZb4xtclfhNAoaAkAMJlDUBPOTxwPr6669jFsU1wDC+GkDkaMvK0VazOVdbweZcbcXkedg9\n9dRTDoyZ+3nzzTcjXsd9eOOhjrxh1F1DNHToUPOAv/zyy02aupVNHieccILZ1laT8+effzrdunUz\n29ric/Bgv+2228z2gw8+6Gir1pzjGuCzzz7b0Zars23btuCDH9fV1q45R1uA5ngYWbwA4KVAPQUm\nLdR4/vrrr462rpybb77ZGH5sa0va5IEy4LpHH3202dYWoikXMgnNA2XX1p45BkY+PT3dcV8EoCPK\n4BogGGn02SPtvPPOC55jChb2R1uSZv8999xjdH3mmWeMwR44cKA5srAGGNdEXz5eurRLweSBF4oH\nHnjA9G9HYv7NN98Yg5uYmOjAiGvQlwPjDUbg7Rpg1PVdd91l4gRwTDQDHEv/s846y+gLdnv37nVw\nH7j3EA1w2M3BTYd9wPrfQSlbAnAjQuBGLYggOhpuYjXcogbOnOK6euGGhGgglvnGn5deesm4suHO\nxgduzlhy/vnnm7zVEAfdj3DnasvJuFBxrhoogZsY7lI1ZPL7778bd7IaBpP1vHnzjJsWbl7I4Ycf\nHnTlmgT9Axcz3JtwS+JaEPRTN2nSxLh5165dK/pSYlzUiMi9+OKLpVatWua40D9qkOSVV16RO++8\nU55++mm56aabgn3OYAoXMsoOQURvpEjwhQsXGmZwXd9xxx2iBl8eeughcyx0RES5K3Czn3rqqSaq\n23XjotyRBN0AEG3BG13hRgYrNZqRDo+Yps/pYDoiydEtAPZgje4IuJDRxQC3NnQLZw63PPLAeehi\nQHcAXM3oTkDUfajoi5aoB0P0hSU0OdfvaPrjGqgvCPRUz4DpjnDviVyZcIMElAANMG+DMiegLSxT\nBvRzhoq6eeX66683/b6h6W6fJNIwvAji9nG6fbvoB3ZFW7zmQavRyG5SzO/QByaMKwQGCaKtH/ON\nPzAkEAx3gUEZOXKk6TeGEXNfKswBUf6E9ge6x2sLzxwNvSEaKW36JPE7tP8Y266gHNoSlWbNmpk+\nXhjZ6tWrm90FDbCCQYOg39cVGBC3rxZ99K6E8lf3uUkGg3BBsBuMHMqAlwQIDKj7MhB+fOi2ywFp\n4QFs6PsHH/SXw8APHjxYcA+5sQKh+eC3W0+4v1BH+OCFAfWkrdTg4cgPfb75STT9UU7oCh3dfLDt\nvhTmly/3lz8CNMDlr86t09iNMkW0sNuSwgMdD1a07BA4FCraVxkMHkLrBuIG7KBlDFF3shlPjN9N\nmzaVU045JZg30mJJJKOFh2qooLWDVlQDbVXhNwwBgm/Qup4wYUKwheeeFx7shLxCr4M8QuWqq64y\nLUYYYAQ+4SF+ySWXhB4S/I1rosXdtWtX01JVN28wb/cascqBjBAxDkE+rlFC0BRavwhcO+mkk8x+\n/CmIAcVxMOBoSUK3BQsWIMmUDy9JqNtIAiMIcT0Y6ho3rV33WBh0tMYRSIbAOLRgtVvARLYjYh4S\nrusFF1xg0uE5QR3hg+h4BM5deumlZh/+uC8TwYQoP6Lpj/PResa9++GHH5qzwS/ai0GU7Jlcjgjk\nfqqUI8Wpqj0E4EbGwxEtFDzoYUjgkkXEMx7iQ4YMyVVY7bMzka8YRqP9umYfIqEheDDDdQpDjkhf\nRLMiahgtZRhziAbFmO/i+AODj5YPyoxoXURyazCVicZF/q47FBHDaHkVVNCCwpCsDRs2yNatWwUG\nOZqBcCfz0LG+ov20xgXttmhdQ+aWAy5WTMARLniRwEQlaC0iolmDlkT7qM1hqampxoUefk5BtuGK\nhSACGEPLwAndBXh5iSRolUIeffRRM3wMLx1wMbuCFwpEpaOeH3nkEcMHw9gg0AHi6uoyh8sYHgwY\nReiClzMYZRju0G4P13CbTIr4x50YRYPiBJHWp512WtR6K+IleJqfCOjbKYUEypyAtmwc7XsMBgLp\n/5ijLVdHH5rBsrlBWGr0HEQM4xhtjTj/+te/HG11BI/DDwRe4Rg30Ej7YB3t23V0GEqu40I33CAs\n5OcKAn5wHZQPguArbCOoCIIAHgReqXE06TpsyBxjduofHc7jaOs1uA/pbhBW6EQciLxGvgjAcgUR\n1kjDR/to3WTz7eqFoCTIddddFwy80mE+DiaPwHluNDh4qPEyaW7Zw/NAIBaCudR9bY5DBK+OE3bU\nlWyu4QZhad+12cafYcOGmWP1pSeYFvpDjaeDgCt9kTLH6YuQmZjELXd4EJZ2JTiIOkfZUT5MYqIv\nBmbbjYJevHixc9FFFwX1BXsET7l5RmKOiUhwPyFfRM8j8t6N7naDsLR/PbToUYOw8tMfAXcI5IOu\n4I5gO1xXZ3jLlT83SCAABHpzUEjACgK4HfVBa/rQ3H5Dt2AYW4lxqej/g7sRgVDo60QgUzRB6wkB\nTBoBG+2QYklHK1gjaoPjkUMzRRlQVrhjC9PKwrhVtAAx9hdjjfMTtObgPo7W5wivAFzhoX2YkfKE\nC3XLli1GF7ifi0NwXZdBQfJDCx51Cw9INAFzlBP91G4funtsNOZuaxlBcSUhuEdRxxgr7bbIEVQH\nV7RGpwf7wkvi2szTewQqeK/ILLGfCcDFCHdxQSQ0iCna8XDblrTxxbVhAFxXcHhZUAY3yjl8X6Rt\n9CcjchvuZEifPn0iHZYnDQFioUFi4QeEv9CE73e3YUCKmxn6TWNFFrvXdr9DA+HctPBvMHeNXPi+\naMxLyvC618dLxoABA0y54G5H/y+Mb3JyMo2vC4nfQQLsAw6i4A/bCaBFhNYEonz9LGjJqrvdzKSE\n/k63H9XPOvtFN8QzwEODOnziiSdM8Bm8GJjxjEIC4QTogg4nwm0SsIAAXPFuBLMFxWERikAArvzC\ndDkU4RI8xeMEaIA9XoEsPgmQAAmQgDcJ0AXtzXpjqUmABEiABDxOgAbY4xXI4pMACZAACXiTAA2w\nN+uNpSYBEiABEvA4ARpgj1cgi08CJEACJOBNAjTA3qw3lpoESIAESMDjBGiAPV6BLD4JkAAJkIA3\nCdAAe7PeWGoSIAESIAGPE6AB9ngFsvgkQAIkQALeJEAD7M16Y6lJgARIgAQ8ToAG2OMVyOKTAAmQ\nAAl4kwANsDfrjaUmARIgARLwOAEaYI9XIItPAiRAAiTgTQI0wN6sN5aaBEiABEjA4wRogD1egSw+\nCZAACZCANwnQAHuz3lhqEiABEiABjxOgAfZ4BbL4JEACJEAC3iRgrQHevn27ZGZmepMqS00CJEAC\nJEAC+RCwwgD37NlTVq5caYq6atUq6dSpkyQmJkrdunWlT58+cuDAgXzU4G4SIAESIAES8BYBKwzw\n8uXLZc+ePYbciBEjpEmTJrJ161ZZsGCBbNiwQZBGIQESIAESIAE/EbDCAIcCnT17tgwZMkRq1qwp\nxx9/vAwbNkzmz58fegh/kwAJkAAJkIDnCVhjgNHa3bZtm7Rq1Up27NgRBLts2TJJTk4ObvMHCZAA\nCZAACfiBQAUblOjRo4dMnz5dHn74YcnIyJBKlSrJpEmTTEt47NixMnfuXBuKyTKQAAmQAAmQQLER\nCDgqxZZbMWS0ZcsW2bVrl5x44omyaNEiadq0qVSrVq0YcmYWJEACJEACJGAPAesMsIsmKyvLBGYl\nJCS4SfwmARIgARIgAd8QsKIPGMOMEOl8ww03yJIlS2Ty5MlSp04dOfzww+WKK66Qffv2+QY4FSEB\nEiABEiABELDCAA8cONBEOsPoXnXVVfLQQw/Ju+++K2vWrDGTcUybNo21RQIkQAIkQAK+ImBFENas\nWbNk8eLFAndz5cqV5eeff5Y2bdoY0BiGNHjwYGOYfUWeypAACZAACZRrAlYY4EaNGpmZsFq0aCE3\n3XSTbN68OVgpGIbUuHHj4HasH88//7y8+eabEQ/B1JZt27YVRFVTSIAESIAESKCsCVgRhDVnzhzp\n1auXPPfcc9K5c+cgk0GDBsnLL78sH330kYmGDu4owo8pU6YIjPDtt99ehLN5CgmQAAmQAAkULwEr\n+oDbt28vmAMaLeBQufTSS2XdunUHbXxD8+RvEiABEiABErCBgBUGGCDQ/1uvXr1cTFq3bi2bNm2S\npUuX5krnBgmQAAmQAAl4nYAVfcCxIMJ1vHHjRnnhhRdiHcZ9lhCYMGGCWUCjRo0alpTIn8XAOPm0\ntDRp1qyZPxW0SCt45xAI2rBhQ4tKxaL4gYD1Bhg3PsU7BGAU4MmgYSjZOoMBrlq1qhx33HEleyHm\nLvPmzZPdu3eTBAkUOwHrDHBmZqa52dmCKva6LpUMa9WqJS1btpR27dqVyvV4ERIoaQLvvfeeGR5Z\n0tdh/uWPgBV9wPv37xdEPCcmJkrFihXNUoR4u8c80BMnTix/tUKNSYAESIAEfE/AihZw3759JT09\nXWbOnCkYEwzjiwUZ4M5MTU2VvXv3Su/evX1fGVSQBEiABEig/BCwogWMccAI3mnevLlZ+SgQCEj1\n6tUFUdBjxowRTkVZfm5IakoCJEAC5YWAFQYYrmYEOkSSGTNmSO3atSPtYhoJkAAJkAAJeJaAFS7o\noUOHSvfu3WX06NGSlJRkxgRnZGTIihUrzGIMmCuaQgIkQAIkQAJ+ImCFAU5OTjaTbSxcuNCMIUV/\nMFq96PdNSUkRuKQpJEACJEACJOAnAlYYYACtVKkSh6746c6iLiRAAiRAAjEJWNEHHLOE3EkCJEAC\nJEACPiRAA+zDSqVKJEACJEAC9hOgAba/jlhCEiABEiABHxKgAfZhpVIlEiABEiAB+wnQANtfRywh\nCZAACZCADwnQAPuwUqkSCZAACZCA/QRogO2vI5aQBEiABEjAhwRogH1YqVSJBEiABEjAfgI0wPbX\nEUtIAiRAAiTgQwI0wD6sVKpEAiRAAiRgPwEaYPvriCUkARIgARLwIQEaYB9WKlUiARIgARKwnwAN\nsP11xBKSAAmQAAn4kAANsA8rlSqRAAmQAAnYT4AG2P46YglJgARIgAR8SIAG2IeVSpVIgARIgATs\nJ0ADbH8dsYQkQAIkQAI+JEAD7MNKpUokQAIkQAL2E6ABtr+OWEISIAESIAEfEqAB9mGlUiUSIAES\nIAH7CdAA219HLCEJkAAJkIAPCdAA+7BSqRIJkAAJkID9BKwzwJmZmbJz5077ybGEJEACJEACJHAQ\nBKwwwPv375dBgwZJYmKiVKxYUWrWrClVq1aVpk2bysSJEw9CPZ5KAiRAAiRAAnYSqGBDsfr27Svp\n6ekyc+ZMadSokTG+u3btkrS0NElNTZW9e/dK7969bSgqy0ACJEACJEACxULAihbwnDlzZMKECdK8\neXOpVq2aBAIBqV69urRu3VrGjBkj06ZNKxZlmQkJkAAJkAAJ2ELACgMMV/O8efMiMpkxY4bUrl07\n4j4mkgAJkAAJkIBXCVjhgh46dKh0795dRo8eLUlJSZKQkCAZGRmyYsUKQVDWrFmzvMqX5SYBEiAB\nEiCBiASsMMDJycmydOlSWbhwoWzYsMH0B9eqVUt69uwpHTt2NC7piKVnIgmQAAmQAAl4lIAVBvjA\ngQOm9btmzRrp06ePVK5c2Xz/+uuv0qVLF5k0aZIceuihHkXMYpMACZAACZBAXgJW9AEPHDhQ5s+f\nL3Xq1JGrrrpKHnroIXn33XcFBhkuaAZh5a04ppAACZAACXibgBUtYPTxLl682PT9ovX7888/S5s2\nbQzZYcOGyeDBg41h9jZqlp4ESIAESIAE/iZghQHG2N+VK1dKixYt5KabbpLNmzcHS7hs2TJp3Lhx\ncDvWj++++84EbkU6ZtGiRWZoU6R9TCMBEiABEiCB0iZghQHu37+/dO7cWZ577jnzfdRRRxkOmB3r\n5Zdflo8++qhAXP7888+o01j+/vvvZoKPAmXEg0iABEiABEighAlYYYDbt28vq1atkj179uRS99JL\nLzXu5ypVquRKj7bRsmVLwSeSTJkyRbZv3x5pF9NIgARIgARIoNQJWGGAoTXG/uITKpgJi0ICJEAC\nJEACfiRgRRR0LLBoGWOMMIUESIAESIAE/ETAegMM1/G4ceP8xJy6kAAJkAAJkIBY44J26wLjfnfv\n3i01atQwSRiCRCEBEiABEiABvxGwogXM9YD9dltRHxIgARIggfwIWNEC5nrA+VUT95MACZAACfiN\ngBUtYK4H7LfbivqQAAmQAAnkR8AKA8z1gPOrJu4nARIgARLwGwErXNBcD9hvtxX1IQESIAESyI+A\nFQY40nrAtWvXlt69e0tKSgrXA86vFrmfBEiABEjAcwSsMMCgVqlSJWnXrp3nALLAJEACJEACJFAU\nAlb0ARel4DyHBEiABEiABLxMgAbYy7XHspMACZAACXiWAA2wZ6uOBScBEiABEvAyARpgL9cey04C\nJEACJOBZAjTAnq06FpwESIAESMDLBGiAvVx7LDsJkAAJkIBnCdAAe7bqWHASIAESIAEvE6AB9nLt\nsewkQAIkQAKeJUAD7NmqY8FJgARIgAS8TIAG2Mu1x7KTAAmQAAl4lgANsGerjgUnARIgARLwMgEa\nYC/XHstOAiRAAiTgWQI0wJ6tOhacBEiABEjAywRogL1ceyw7CZAACZCAZwnQAHu26lhwEiABEiAB\nLxOgAfZy7bHsJEACJEACniVAA+zZqmPBSYAESIAEvEyABtjLtceykwAJkAAJeJYADbBnq44FJwES\nIAES8DIBGmAv1x7LTgIkQAIk4FkCNMCerToWnARIgARIwMsEaIC9XHssOwmQAAmQgGcJWGuAt2/f\nLpmZmZ4Fy4KTAAmQAAmQQCwCVhjgnj17ysqVK005V61aJZ06dZLExESpW7eu9OnTRw4cOBBLB+4j\nARIgARIgAc8RsMIAL1++XPbs2WPgjRgxQpo0aSJbt26VBQsWyIYNGwRpFBIgARIgARLwEwErDHAo\n0NmzZ8uQIUOkZs2acvzxx8uwYcNk/vz5oYfwNwmQAAmQAAl4noA1Bhit3W3btkmrVq1kx44dQbDL\nli2T5OTk4DZ/kAAJkAAJkIAfCFSwQYkePXrI9OnT5eGHH5aMjAypVKmSTJo0ybSEx44dK3PnzrWh\nmCwDCZAACZAACRQbASsM8N133y34QLZs2SK7du0yvzt06CADBgyQatWqmW3+IQESIAESIAG/ELDC\nAIfCrF+/vuADgTs6KytL9u3bJ4ceemjoYfxNAiTgQQKNGjWSY445xlMl/+abb2Tx4sWSkJDgmXJj\nGOeVV14pQ4cO9UyZy2NBrTDAmzZtkvvvv1+mTp0qrVu3lvHjx0vjxo1NfUyZMsWkv/322+Wxfqgz\nCfiKAIwvgypLvkonTpwo8fHxJX8hXuGgCFgRhDV69GipV6+eecuEAU5JSZHVq1cflGI8mQRIgARI\ngARsJmBFC3jWrFmydOlSqVy5snGZnHTSSXLRRRfJ559/bjM7lo0ESIAESIAEikzACgMMg4s+lnPP\nPdcocvXVV5uJODp27Ci33nprgZV76aWXZPLkyRGP/+mnn+Tss8+OuI+JJEACJEACJFDaBKwwwLfd\ndpt07dpV+vXrJ/fee69h0L9/f9m9e7dJ69KlS4G4XH/99dKrV6+Ix77zzju5xhdHPIiJJEACJEAC\nJFBKBKwwwO3bt5e1a9fKunXrcqn94IMPSps2bcy+XDuibMTFxQk+kQQBCYFAINIuppEACZAACZBA\nqROwwgBD66pVq0qzZs3yAEBwVvXq1fOkM4EESIAESIAEvEwgcnPRIo0wDGncuHEWlYhFIQESIAES\nIIGDJ2BNCziaKoMHD462i+kkQAIkQAIk4FkC1rWAMzMzZefOnZ4FyoKTAAmQAAmQQEEIWGGA9+/f\nL4MGDZLExESpWLGiWYoQfcJNmzYVzOhCIQESIAESIAG/EbDCBd23b19JT0+XmTNnCuaKhfHFggxp\naWmSmpoqe/fuld69e/uNPfUhARIgARIoxwSsaAHPmTNHJkyYIM2bNzcrH2G4ECKfMS3lmDFjZNq0\naeW4iqg6CZAACZCAHwlYYYDhap43b15EvjNmzJDatWtH3MdEEiABEiABEvAqAStc0Fgyq3v37oJF\nGZKSksyyXxkZGbJixQpBUBbmiqaQAAmQAAmQgJ8IWGGAk5OTzWIMCxculA0bNpj+YLR60e+LlZE4\ng5WfbjnqQgIkQAIkAAJWGGAUpFKlStKuXTv8pJAACZAACZCA7wlY0Qfse8pUkARIgARIgATCCNAA\nhwHhJgmQAAmQAAmUBgEa4NKgzGuQAAmQAAmQQBgBGuAwINwkARIgARIggdIgQANcGpR5DRIgARIg\nARIII0ADHAaEmyRAAiRAAiRQGgRogEuDMq9BAiRAAiRAAmEEaIDDgHCTBEiABEiABEqDAA1waVDm\nNUiABEiABEggjAANcBgQbpIACZAACZBAaRCgAS4NyrwGCZAACZAACYQRoAEOA8JNEiABEiABEigN\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": 16 }, { "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": [ "%%R\n", "#lineage-specific DMLs\n", "#note that file.list was defined in prior section\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": 17 }, { "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": 18 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Next will determine differentially methylated loci during development. This is done by doing three pairwise comparisons" ] }, { "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": 19 }, { "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": 20 }, { "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": 21 }, { "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": 22 }, { "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": 23 }, { "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": 24 }, { "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": 25 }, { "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": 26 }, { "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": 27 }, { "cell_type": "code", "collapsed": false, "input": [ "#removing column titles\n", "!tail -n +2 DevelMvD5_DML_filt > DevelMvD5_DML\n", "!tail -n +2 DevelD3vD5_DML_filt > DevelD3vD5_DML " ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 28 }, { "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": 29 }, { "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": 30 }, { "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": 31 }, { "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": 32 }, { "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": 33 }, { "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": 34 }, { "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": 35 }, { "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": 36 }, { "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": [], "prompt_number": 37 }, { "cell_type": "code", "collapsed": false, "input": [ "cd genome_tracks\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "/Volumes/web/cnidarian/olson-thesis-nb-master-12100836/wd/genome_tracks\n" ] } ], "prompt_number": 73 }, { "cell_type": "code", "collapsed": false, "input": [ "for i in (\"exon\",\"intron\",\"TE\",\"gene\",\"1k5p_gene_promoter\",\"CG\"):\n", " !curl -O 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": [ " % 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", " 67 11.7M 67 8203k 0 0 11.9M 0 --:--:-- --:--:-- --:--:-- 23.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", "100 11.7M 100 11.7M 0 0 15.9M 0 --:--:-- --:--:-- --:--:-- 29.1M\r\n" ] }, { "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", "100 12.0M 100 12.0M 0 0 40.1M 0 --:--:-- --:--:-- --:--:-- 40.3M\r\n" ] }, { "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", "100 6325k 100 6325k 0 0 44.8M 0 --:--:-- --:--:-- --:--:-- 45.4M\r\n" ] }, { "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", "100 1777k 100 1777k 0 0 30.9M 0 --:--:-- --:--:-- --:--:-- 32.1M\r\n" ] }, { "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", "100 1848k 100 1848k 0 0 20.8M 0 --:--:-- --:--:-- --:--:-- 21.2M\r\n" ] }, { "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", " 1 932M 1 13.0M 0 0 32.6M 0 0:00:28 --:--:-- 0:00:28 32.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 5 932M 5 48.0M 0 0 34.2M 0 0:00:27 0:00:01 0:00:26 34.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 8 932M 8 76.1M 0 0 31.8M 0 0:00:29 0:00:02 0:00:27 31.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 9 932M 9 91.5M 0 0 25.8M 0 0:00:36 0:00:03 0:00:33 25.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 10 932M 10 97.5M 0 0 21.6M 0 0:00:42 0:00:04 0:00:38 21.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 13 932M 13 128M 0 0 23.7M 0 0:00:39 0:00:05 0:00:34 23.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 16 932M 16 155M 0 0 24.2M 0 0:00:38 0:00:06 0:00:32 21.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 18 932M 18 176M 0 0 23.8M 0 0:00:39 0:00:07 0:00:32 20.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 21 932M 21 196M 0 0 23.3M 0 0:00:39 0:00:08 0:00:31 21.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 23 932M 23 223M 0 0 23.7M 0 0:00:39 0:00:09 0:00:30 25.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 26 932M 26 244M 0 0 23.5M 0 0:00:39 0:00:10 0:00:29 23.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 28 932M 28 268M 0 0 23.5M 0 0:00:39 0:00:11 0:00:28 22.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 32 932M 32 300M 0 0 24.1M 0 0:00:38 0:00:12 0:00:26 24.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 33 932M 33 315M 0 0 23.5M 0 0:00:39 0:00:13 0:00:26 23.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 36 932M 36 340M 0 0 23.1M 0 0:00:40 0:00:14 0:00:26 22.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 39 932M 39 367M 0 0 23.7M 0 0:00:39 0:00:15 0:00:24 24.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 41 932M 41 384M 0 0 23.4M 0 0:00:39 0:00:16 0:00:23 23.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 41 932M 41 388M 0 0 22.3M 0 0:00:41 0:00:17 0:00:24 17.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 45 932M 45 424M 0 0 23.0M 0 0:00:40 0:00:18 0:00:22 21.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 48 932M 48 456M 0 0 23.5M 0 0:00:39 0:00:19 0:00:20 24.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 51 932M 51 481M 0 0 23.5M 0 0:00:39 0:00:20 0:00:19 23.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 53 932M 53 501M 0 0 23.4M 0 0:00:39 0:00:21 0:00:18 23.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 56 932M 56 523M 0 0 23.1M 0 0:00:40 0:00:22 0:00:18 25.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 56 932M 56 528M 0 0 22.5M 0 0:00:41 0:00:23 0:00:18 20.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 60 932M 60 568M 0 0 23.2M 0 0:00:40 0:00:24 0:00:16 22.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 63 932M 63 592M 0 0 23.3M 0 0:00:39 0" ] }, { "output_type": "stream", "stream": "stdout", "text": [ ":00:25 0:00:14 22.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 66 932M 66 620M 0 0 23.4M 0 0:00:39 0:00:26 0:00:13 23.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 70 932M 70 652M 0 0 23.8M 0 0:00:39 0:00:27 0:00:12 26.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 71 932M 71 666M 0 0 23.2M 0 0:00:40 0:00:28 0:00:12 26.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 72 932M 72 676M 0 0 22.8M 0 0:00:40 0:00:29 0:00:11 20.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 76 932M 76 711M 0 0 23.4M 0 0:00:39 0:00:30 0:00:09 23.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 79 932M 79 739M 0 0 23.5M 0 0:00:39 0:00:31 0:00:08 23.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 81 932M 81 761M 0 0 23.5M 0 0:00:39 0:00:32 0:00:07 21.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 84 932M 84 790M 0 0 23.6M 0 0:00:39 0:00:33 0:00:06 26.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 86 932M 86 809M 0 0 23.5M 0 0:00:39 0:00:34 0:00:05 27.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 89 932M 89 835M 0 0 23.5M 0 0:00:39 0:00:35 0:00:04 24.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 92 932M 92 859M 0 0 23.6M 0 0:00:39 0:00:36 0:00:03 24.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 94 932M 94 877M 0 0 23.4M 0 0:00:39 0:00:37 0:00:02 23.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 96 932M 96 900M 0 0 23.4M 0 0:00:39 0:00:38 0:00:01 21.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 99 932M 99 930M 0 0 23.6M 0 0:00:39 0:00:39 --:--:-- 24.2M\r", "100 932M 100 932M 0 0 23.6M 0 0:00:39 0:00:39 --:--:-- 24.1M\r\n" ] } ], "prompt_number": 65 }, { "cell_type": "code", "collapsed": false, "input": [ "cd .." ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "/Volumes/web/cnidarian/olson-thesis-nb-master-12100836/wd\n" ] } ], "prompt_number": 75 }, { "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": 76 }, { "cell_type": "code", "collapsed": false, "input": [ "!cat linintron linexon lin1k5p_gene_promoter linTE > dmltable" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 77 }, { "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": 78 }, { "cell_type": "code", "collapsed": false, "input": [ "!awk 'FNR==NR{sum+=$1;next}; {print $0,sum}' dmltable{,} > lin_total" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 79 }, { "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": 80 }, { "cell_type": "code", "collapsed": false, "input": [ "!awk '{print $2, $1, $3, (($1/$3)*100)}' lin_total > lin_final" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 81 }, { "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": 82 }, { "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": 83 }, { "cell_type": "code", "collapsed": false, "input": [ "!cat devintron devexon dev1k5p_gene_promoter devTE > devtable" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 84 }, { "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": 85 }, { "cell_type": "code", "collapsed": false, "input": [ "!awk 'FNR==NR{sum+=$1;next}; {print $0,sum}' devtable{,} > dev_total" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 86 }, { "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": 87 }, { "cell_type": "code", "collapsed": false, "input": [ "!awk '{print $2, $1, $3, (($1/$3)*100)}' dev_total > dev_final" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 88 }, { "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": 89 }, { "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": 90 }, { "cell_type": "code", "collapsed": false, "input": [ "!cat CGintron CGexon CG1k5p_gene_promoter CGTE > CGtable" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 91 }, { "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": 92 }, { "cell_type": "code", "collapsed": false, "input": [ "!awk 'FNR==NR{sum+=$1;next}; {print $0,sum}' CGtable{,} > CG_total" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 93 }, { "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": 94 }, { "cell_type": "code", "collapsed": false, "input": [ "!awk '{print $2, $1, $3, (($1/$3)*100)}' CG_total > CG_final" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 95 }, { "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": 96 }, { "cell_type": "code", "collapsed": false, "input": [ "!paste -d\" \" lin_final dev_final CG_final > StackedBars" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 97 }, { "cell_type": "code", "collapsed": false, "input": [ "!awk '{print $4, $8, $12}' StackedBars | tr ' ' \"\\t\" > StackedBars_DMLs" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 98 }, { "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\n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\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": 99 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 99 } ], "metadata": {} } ] }