{ "metadata": { "name": "", "signature": "sha256:35434acb94e27deb7ae4e7f437f590dfc0387ef260088ed0e5855a3bc2859c64" }, "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-12111040/wd\n" ] } ], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "#This command downloads a archived file including six BS-seq libraries (4.3 Gb)\n", "\n", "#!wget http://eagle.fish.washington.edu/trilobite/Crassostrea_gigas_HTSdata/BiGo_lar_fastq_mcf.tgz\n", "!curl -O http://eagle.fish.washington.edu/trilobite/Crassostrea_gigas_HTSdata/BiGo_lar_fastq_mcf.tgz \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " % Total % Received % Xferd Average Speed Time Time Time Current\r\n", " Dload Upload Total Spent Left Speed\r\n", "\r", " 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 0 4221M 0 29.5M 0 0 43.9M 0 0:01:36 --:--:-- 0:01:36 44.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 1 4221M 1 79.0M 0 0 47.0M 0 0:01:29 0:00:01 0:01:28 47.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 2 4221M 2 109M 0 0 39.4M 0 0:01:47 0:00:02 0:01:45 39.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 4 4221M 4 175M 0 0 47.7M 0 0:01:28 0:00:03 0:01:25 47.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 5 4221M 5 226M 0 0 48.5M 0 0:01:26 0:00:04 0:01:22 48.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 6 4221M 6 258M 0 0 45.2M 0 0:01:33 0:00:05 0:01:28 45.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 7 4221M 7 318M 0 0 47.7M 0 0:01:28 0:00:06 0:01:22 48.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 8 4221M 8 371M 0 0 48.1M 0 0:01:27 0:00:07 0:01:20 53.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 10 4221M 10 422M 0 0 48.6M 0 0:01:26 0:00:08 0:01:18 49.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 11 4221M 11 479M 0 0 49.6M 0 0:01:25 0:00:09 0:01:16 50.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 12 4221M 12 531M 0 0 49.7M 0 0:01:24 0:00:10 0:01:14 54.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 13 4221M 13 573M 0 0 49.1M 0 0:01:25 0:00:11 0:01:14 50.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 14 4221M 14 610M 0 0 48.1M 0 0:01:27 0:00:12 0:01:15 48.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 15 4221M 15 648M 0 0 47.3M 0 0:01:29 0:00:13 0:01:16 45.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 16 4221M 16 690M 0 0 47.0M 0 0:01:29 0:00:14 0:01:15 42.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 17 4221M 17 735M 0 0 46.8M 0 0:01:30 0:00:15 0:01:15 40.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 18 4221M 18 785M 0 0 47.0M 0 0:01:29 0:00:16 0:01:13 42.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 19 4221M 19 823M 0 0 46.6M 0 0:01:30 0:00:17 0:01:13 42.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 20 4221M 20 865M 0 0 46.3M 0 0:01:31 0:00:18 0:01:13 43.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 21 4221M 21 927M 0 0 47.0M 0 0:01:29 0:00:19 " ] }, { "output_type": "stream", "stream": "stdout", "text": [ "0:01:10 47.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 23 4221M 23 974M 0 0 47.0M 0 0:01:29 0:00:20 0:01:09 47.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 24 4221M 24 1034M 0 0 47.7M 0 0:01:28 0:00:21 0:01:07 49.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 25 4221M 25 1083M 0 0 47.7M 0 0:01:28 0:00:22 0:01:06 51.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 27 4221M 27 1152M 0 0 48.6M 0 0:01:26 0:00:23 0:01:03 57.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 28 4221M 28 1211M 0 0 49.0M 0 0:01:25 0:00:24 0:01:01 57.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 30 4221M 30 1280M 0 0 49.8M 0 0:01:24 0:00:25 0:00:59 61.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 31 4221M 31 1333M 0 0 49.9M 0 0:01:24 0:00:26 0:00:58 59.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 32 4221M 32 1372M 0 0 49.6M 0 0:01:25 0:00:27 0:00:58 57.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 33 4221M 33 1433M 0 0 49.9M 0 0:01:24 0:00:28 0:00:56 56.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 35 4221M 35 1501M 0 0 50.6M 0 0:01:23 0:00:29 0:00:54 58.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 37 4221M 37 1571M 0 0 51.1M 0 0:01:22 0:00:30 0:00:52 58.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 38 4221M 38 1631M 0 0 51.5M 0 0:01:21 0:00:31 0:00:50 59.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 40 4221M 40 1698M 0 0 51.7M 0 0:01:21 0:00:32 0:00:49 63.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 40 4221M 40 1723M 0 0 51.1M 0 0:01:22 0:00:33 0:00:49 57.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 42 4221M 42 1797M 0 0 51.8M 0 0:01:21 0:00:34 0:00:47 59.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 44 4221M 44 1863M 0 0 52.2M 0 0:01:20 0:00:35 0:00:45 58.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 45 4221M 45 1924M 0 0 52.4M 0 0:01:20 0:00:36 0:00:44 58.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 46 4221M 46 1983M 0 0 52.5M 0 0:01:20 0:00:37 0:00:43 58.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 48 4221M 48 2027M 0 0 52.4M 0 0:01:20 0:00:38 0:00:42 60.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 49 4221M 49 2086M 0 0 52.5M 0 0:01:20 0:00:39 0:00:41 57.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 50 4221M 50 2142M 0 0 52.6M " ] }, { "output_type": "stream", "stream": "stdout", "text": [ "0 0:01:20 0:00:40 0:00:40 55.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 52 4221M 52 2217M 0 0 53.2M 0 0:01:19 0:00:41 0:00:38 58.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 54 4221M 54 2280M 0 0 53.4M 0 0:01:19 0:00:42 0:00:37 59.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 55 4221M 55 2341M 0 0 53.6M 0 0:01:18 0:00:43 0:00:35 62.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 56 4221M 56 2400M 0 0 53.7M 0 0:01:18 0:00:44 0:00:34 62.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 58 4221M 58 2474M 0 0 54.1M 0 0:01:17 0:00:45 0:00:32 66.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 59 4221M 59 2528M 0 0 54.1M 0 0:01:18 0:00:46 0:00:32 61.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 61 4221M 61 2605M 0 0 54.6M 0 0:01:17 0:00:47 0:00:30 65.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 62 4221M 62 2639M 0 0 54.2M 0 0:01:17 0:00:48 0:00:29 59.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 64 4221M 64 2712M 0 0 54.6M 0 0:01:17 0:00:49 0:00:28 62.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 66 4221M 66 2786M 0 0 54.9M 0 0:01:16 0:00:50 0:00:26 62.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 67 4221M 67 2862M 0 0 55.3M 0 0:01:16 0:00:51 0:00:25 67.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 69 4221M 69 2944M 0 0 55.9M 0 0:01:15 0:00:52 0:00:23 67.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 71 4221M 71 3028M 0 0 56.4M 0 0:01:14 0:00:53 0:00:21 77.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 72 4221M 72 3079M 0 0 56.3M 0 0:01:14 0:00:54 0:00:20 73.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 74 4221M 74 3145M 0 0 56.5M 0 0:01:14 0:00:55 0:00:19 71.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 76 4221M 76 3239M 0 0 57.1M 0 0:01:13 0:00:56 0:00:17 75.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 78 4221M 78 3319M 0 0 57.5M 0 0:01:13 0:00:57 0:00:16 74.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 79 4221M 79 3370M 0 0 57.4M 0 0:01:13 0:00:58 0:00:15 68.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 82 4221M 82 3466M 0 0 58.0M 0 0:01:12 0:00:59 0:00:13 77.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 84 4221M 84 3557M 0 0 58.6M 0 0:01:11 0:01:00 0:00:11 82.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 86 4221M 86 3650M 0 0 59.1M 0 0:01:11 0:01:01 0:00:10 82.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 88 4221M 88 3727M 0 0 59.4M 0 0:01:10 0:01:02 0:00:08 81.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 89 4221M 89 3790M 0 0 59.5M 0 0:01:10 0:01:03 0:00:07 84.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 92 4221M 92 3885M 0 0 60.0M 0 0:01:10 0:01:04 0:00:06 83.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 94 4221M 94 3981M 0 0 60.6M 0 0:01:09 0:01:05 0:00:04 84.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 96 4221M 96 4078M 0 0 61.1M 0 0:01:09 0:01:06 0:00:03 85.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 98 4221M 98 4175M 0 0 61.6M 0" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " 0:01:08 0:01:07 0:00:01 89.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 99 4221M 99 4216M 0 0 61.3M 0 0:01:08 0:01:08 --:--:-- 85.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", "100 4221M 100 4221M 0 0 61.3M 0 0:01:08 0:01:08 --:--:-- 82.1M\r\n" ] } ], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "#uncompress 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": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "#remove tgz file\n", "!rm BiGo_lar_fastq_mcf.tgz" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "#Downloading the oyster genome \n", "#!wget http://eagle.fish.washington.edu/trilobite/Crassostrea_gigas_ensembl_tracks/Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa\n", "!curl -O http://eagle.fish.washington.edu/trilobite/Crassostrea_gigas_ensembl_tracks/Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa \n", " " ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " % Total % Received % Xferd Average Speed Time Time Time Current\r\n", " Dload Upload Total Spent Left Speed\r\n", "\r", " 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 11 541M 11 64.0M 0 0 65.1M 0 0:00:08 --:--:-- 0:00:08 65.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 23 541M 23 126M 0 0 64.0M 0 0:00:08 0:00:01 0:00:07 64.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 38 541M 38 206M 0 0 69.0M 0 0:00:07 0:00:02 0:00:05 69.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 51 541M 51 280M 0 0 70.5M 0 0:00:07 0:00:03 0:00:04 70.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 63 541M 63 342M 0 0 68.7M 0 0:00:07 0:00:04 0:00:03 68.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 78 541M 78 424M 0 0 70.8M 0 0:00:07 0:00:05 0:00:02 71.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 92 541M 92 500M 0 0 71.7M 0 0:00:07 0:00:06 0:00:01 74.7M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", "100 541M 100 541M 0 0 71.5M 0 0:00:07 0:00:07 --:--:-- 73.1M\r\n" ] } ], "prompt_number": 5 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Running BSMAP" ] }, { "cell_type": "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", "Start at: Tue Dec 2 14:03:03 2014\r\n", "\r\n", "Input reference file: Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " \t(format: FASTA)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Load in 7658 db seqs, total size 557717710 bp. 9 secs passed\r\n", "total_kmers: 43046721\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Create seed table. 25 secs passed\r\n", "max number of mismatches: read_length * 8% \tmax gap size: 0\r\n", "kmer cut-off ratio: 5e-07\r\n", "max multi-hits: 100\tmax Ns: 5\tseed size: 16\tindex interval: 4\r\n", "quality cutoff: 0\tbase quality char: '!'\r\n", "min fragment size:28\tmax fragemt size:500\r\n", "start from read #1\tend at read #4294967295\r\n", "additional alignment: T in reads => C in reference\r\n", "mapping strand (read_1): ++,-+\r\n", "mapping strand (read_2): +-,--\r\n", "Pair-end alignment(4 threads)\r\n", "Input read file #1: mcf_M1_R1.fastq" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " \t(format: FASTQ)\r\n", "Input read file #2: mcf_M1_R2.fastq \t(format: FASTQ)\r\n", "Output file: bsmap_out_M1.sam\t (format: SAM)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t100000 read pairs finished. 44 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t50000 read pairs finished. 45 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t150000 read pairs finished. 45 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t200000 read pairs finished. 46 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t250000 read pairs finished. 61 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t300000 read pairs finished. 62 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t350000 read pairs finished. 63 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t400000 read pairs finished. 64 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t450000 read pairs finished. 78 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t500000 read pairs finished. 79 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t550000 read pairs finished. 81 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t600000 read pairs finished. 81 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t650000 read pairs finished. 95 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t700000 read pairs finished. 97 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t750000 read pairs finished. 98 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t800000 read pairs finished. 99 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t850000 read pairs finished. 113 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t900000 read pairs finished. 114 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1000000 read pairs finished. 116 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t950000 read pairs finished. 117 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1050000 read pairs finished. 129 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1100000 read pairs finished. 132 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1150000 read pairs finished. 133 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1200000 read pairs finished. 135 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1250000 read pairs finished. 146 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1300000 read pairs finished. 149 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1350000 read pairs finished. 150 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1400000 read pairs finished. 153 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1450000 read pairs finished. 163 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1500000 read pairs finished. 166 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1550000 read pairs finished. 167 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1600000 read pairs finished. 169 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1650000 read pairs finished. 181 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1700000 read pairs finished. 184 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1750000 read pairs finished. 185 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1800000 read pairs finished. 187 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1850000 read pairs finished. 198 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1900000 read pairs finished. 202 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1950000 read pairs finished. 202 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2000000 read pairs finished. 205 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2050000 read pairs finished. 215 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2100000 read pairs finished. 219 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2150000 read pairs finished. 219 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2200000 read pairs finished. 222 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2250000 read pairs finished. 233 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2350000 read pairs finished. 237 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2300000 read pairs finished. 237 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2400000 read pairs finished. 239 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2450000 read pairs finished. 249 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2550000 read pairs finished. 255 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2500000 read pairs finished. 255 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2600000 read pairs finished. 256 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2650000 read pairs finished. 267 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2700000 read pairs finished. 273 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2750000 read pairs finished. 273 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2800000 read pairs finished. 274 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2850000 read pairs finished. 284 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2950000 read pairs finished. 291 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2900000 read pairs finished. 291 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3000000 read pairs finished. 291 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3050000 read pairs finished. 301 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3100000 read pairs finished. 308 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3150000 read pairs finished. 309 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3200000 read pairs finished. 309 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3250000 read pairs finished. 318 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3300000 read pairs finished. 325 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3350000 read pairs finished. 326 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3400000 read pairs finished. 326 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3450000 read pairs finished. 334 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3500000 read pairs finished. 342 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3550000 read pairs finished. 344 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3600000 read pairs finished. 345 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3650000 read pairs finished. 353 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3700000 read pairs finished. 360 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3750000 read pairs finished. 362 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3800000 read pairs finished. 362 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3850000 read pairs finished. 370 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3900000 read pairs finished. 377 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3950000 read pairs finished. 379 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4000000 read pairs finished. 379 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4050000 read pairs finished. 388 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4100000 read pairs finished. 394 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4150000 read pairs finished. 396 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4200000 read pairs finished. 396 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4250000 read pairs finished. 405 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4300000 read pairs finished. 412 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4350000 read pairs finished. 413 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4400000 read pairs finished. 414 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4450000 read pairs finished. 423 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4500000 read pairs finished. 429 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4550000 read pairs finished. 430 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4600000 read pairs finished. 432 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4650000 read pairs finished. 440 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4700000 read pairs finished. 446 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4750000 read pairs finished. 448 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4800000 read pairs finished. 449 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4850000 read pairs finished. 457 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4900000 read pairs finished. 464 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4950000 read pairs finished. 465 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5000000 read pairs finished. 466 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5050000 read pairs finished. 474 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5100000 read pairs finished. 480 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5150000 read pairs finished. 482 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5200000 read pairs finished. 483 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5250000 read pairs finished. 491 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5300000 read pairs finished. 499 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5350000 read pairs finished. 499 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5400000 read pairs finished. 500 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5450000 read pairs finished. 508 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5500000 read pairs finished. 516 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5550000 read pairs finished. 517 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5600000 read pairs finished. 518 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5650000 read pairs finished. 526 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5700000 read pairs finished. 533 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5750000 read pairs finished. 534 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5800000 read pairs finished. 535 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5850000 read pairs finished. 543 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5900000 read pairs finished. 552 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5950000 read pairs finished. 553 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6000000 read pairs finished. 554 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6050000 read pairs finished. 561 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6100000 read pairs finished. 569 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6150000 read pairs finished. 570 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6200000 read pairs finished. 571 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6250000 read pairs finished. 579 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6300000 read pairs finished. 588 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6350000 read pairs finished. 588 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6400000 read pairs finished. 589 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6450000 read pairs finished. 597 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6500000 read pairs finished. 605 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6550000 read pairs finished. 606 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6600000 read pairs finished. 606 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6650000 read pairs finished. 614 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6700000 read pairs finished. 623 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6750000 read pairs finished. 623 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6800000 read pairs finished. 624 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6850000 read pairs finished. 631 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6900000 read pairs finished. 640 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6950000 read pairs finished. 641 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7000000 read pairs finished. 641 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7050000 read pairs finished. 649 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7100000 read pairs finished. 657 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7150000 read pairs finished. 659 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7200000 read pairs finished. 659 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7250000 read pairs finished. 666 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7300000 read pairs finished. 674 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7350000 read pairs finished. 676 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7400000 read pairs finished. 677 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7450000 read pairs finished. 683 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7500000 read pairs finished. 692 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7550000 read pairs finished. 693 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7600000 read pairs finished. 694 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7650000 read pairs finished. 699 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7700000 read pairs finished. 709 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7750000 read pairs finished. 710 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7800000 read pairs finished. 711 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7850000 read pairs finished. 717 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t8023643 read pairs finished. 725 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7900000 read pairs finished. 726 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7950000 read pairs finished. 726 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t8000000 read pairs finished. 727 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Total number of aligned reads: \r\n", "pairs: 3982551 (50%)\r\n", "single a: 1489442 (19%)\r\n", "single b: 1430646 (18%)\r\n", "Done.\r\n", "Finished at Tue Dec 2 14:15:10 2014\r\n", "Total time consumed: 727 secs\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "BSMAP v2.74\r\n", "Start at: Tue Dec 2 14:15:11 2014\r\n", "\r\n", "Input reference file: Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa \t(format: FASTA)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Load in 7658 db seqs, total size 557717710 bp. 9 secs passed\r\n", "total_kmers: 43046721\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Create seed table. 25 secs passed\r\n", "max number of mismatches: read_length * 8% \tmax gap size: 0\r\n", "kmer cut-off ratio: 5e-07\r\n", "max multi-hits: 100\tmax Ns: 5\tseed size: 16\tindex interval: 4\r\n", "quality cutoff: 0\tbase quality char: '!'\r\n", "min fragment size:28\tmax fragemt size:500\r\n", "start from read #1\tend at read #4294967295\r\n", "additional alignment: T in reads => C in reference\r\n", "mapping strand (read_1): ++,-+\r\n", "mapping strand (read_2): +-,--\r\n", "Pair-end alignment(4 threads)\r\n", "Input read file #1: mcf_T1D3_R1.fastq" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " \t(format: FASTQ)\r\n", "Input read file #2: mcf_T1D3_R2.fastq \t(format: FASTQ)\r\n", "Output file: bsmap_out_T1D3.sam\t (format: SAM)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t50000 read pairs finished. 39 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t100000 read pairs finished. 39 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t150000 read pairs finished. 40 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t200000 read pairs finished. 40 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t250000 read pairs finished. 54 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t300000 read pairs finished. 54 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t350000 read pairs finished. 55 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t400000 read pairs finished. 55 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t450000 read pairs finished. 68 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t500000 read pairs finished. 68 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t600000 read pairs finished. 69 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t550000 read pairs finished. 69 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t650000 read pairs finished. 82 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t700000 read pairs finished. 83 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t750000 read pairs finished. 83 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t800000 read pairs finished. 83 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t850000 read pairs finished. 96 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t900000 read pairs finished. 97 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t950000 read pairs finished. 97 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1000000 read pairs finished. 98 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1050000 read pairs finished. 110 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1100000 read pairs finished. 111 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1150000 read pairs finished. 111 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1200000 read pairs finished. 111 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1250000 read pairs finished. 124 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1300000 read pairs finished. 125 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1350000 read pairs finished. 125 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1400000 read pairs finished. 126 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1450000 read pairs finished. 137 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1500000 read pairs finished. 139 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1550000 read pairs finished. 140 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1600000 read pairs finished. 140 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1650000 read pairs finished. 151 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1700000 read pairs finished. 153 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1750000 read pairs finished. 154 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1800000 read pairs finished. 154 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1850000 read pairs finished. 165 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1900000 read pairs finished. 168 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1950000 read pairs finished. 168 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2000000 read pairs finished. 168 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2050000 read pairs finished. 179 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2150000 read pairs finished. 182 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2100000 read pairs finished. 182 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2200000 read pairs finished. 182 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2250000 read pairs finished. 192 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2300000 read pairs finished. 195 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2400000 read pairs finished. 196 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2350000 read pairs finished. 196 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2450000 read pairs finished. 205 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2500000 read pairs finished. 209 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2550000 read pairs finished. 210 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2600000 read pairs finished. 210 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2650000 read pairs finished. 218 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2700000 read pairs finished. 223 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2750000 read pairs finished. 223 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2800000 read pairs finished. 224 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2850000 read pairs finished. 231 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2900000 read pairs finished. 236 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2950000 read pairs finished. 237 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3000000 read pairs finished. 238 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3050000 read pairs finished. 244 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3100000 read pairs finished. 250 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3150000 read pairs finished. 251 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3200000 read pairs finished. 251 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3250000 read pairs finished. 258 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3300000 read pairs finished. 263 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3350000 read pairs finished. 264 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3400000 read pairs finished. 265 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3450000 read pairs finished. 271 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3500000 read pairs finished. 277 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3550000 read pairs finished. 278 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3600000 read pairs finished. 279 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3650000 read pairs finished. 286 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3700000 read pairs finished. 291 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3750000 read pairs finished. 291 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3800000 read pairs finished. 292 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3850000 read pairs finished. 299 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3900000 read pairs finished. 304 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3950000 read pairs finished. 305 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4000000 read pairs finished. 306 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4050000 read pairs finished. 314 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4100000 read pairs finished. 319 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4150000 read pairs finished. 320 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4200000 read pairs finished. 321 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4250000 read pairs finished. 329 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4300000 read pairs finished. 333 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4350000 read pairs finished. 333 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4400000 read pairs finished. 334 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4450000 read pairs finished. 342 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4500000 read pairs finished. 347 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4550000 read pairs finished. 348 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4600000 read pairs finished. 348 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4650000 read pairs finished. 357 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4700000 read pairs finished. 361 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4750000 read pairs finished. 361 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4800000 read pairs finished. 362 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4850000 read pairs finished. 371 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4900000 read pairs finished. 375 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5016400 read pairs finished. 375 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4950000 read pairs finished. 376 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5000000 read pairs finished. 376 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Total number of aligned reads: \r\n", "pairs: 2717832 (54%)\r\n", "single a: 1117376 (22%)\r\n", "single b: 1178713 (23%)\r\n", "Done.\r\n", "Finished at Tue Dec 2 14:21:27 2014\r\n", "Total time consumed: 376 secs\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "BSMAP v2.74\r\n", "Start at: Tue Dec 2 14:21:28 2014\r\n", "\r\n", "Input reference file: Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa \t(format: FASTA)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Load in 7658 db seqs, total size 557717710 bp. 8 secs passed\r\n", "total_kmers: 43046721\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Create seed table. 25 secs passed\r\n", "max number of mismatches: read_length * 8% \tmax gap size: 0\r\n", "kmer cut-off ratio: 5e-07\r\n", "max multi-hits: 100\tmax Ns: 5\tseed size: 16\tindex interval: 4\r\n", "quality cutoff: 0\tbase quality char: '!'\r\n", "min fragment size:28\tmax fragemt size:500\r\n", "start from read #1\tend at read #4294967295\r\n", "additional alignment: T in reads => C in reference\r\n", "mapping strand (read_1): ++,-+\r\n", "mapping strand (read_2): +-,--\r\n", "Pair-end alignment(4 threads)\r\n", "Input read file #1: mcf_T1D5_R1.fastq \t(format: FASTQ)\r\n", "Input read file #2: mcf_T1D5_R2.fastq \t(format: FASTQ)\r\n", "Output file: bsmap_out_T1D5.sam\t (format: SAM)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t50000 read pairs finished. 43 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t150000 read pairs finished. 43 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t100000 read pairs finished. 44 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t200000 read pairs finished. 44 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t250000 read pairs finished. 60 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t300000 read pairs finished. 61 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t350000 read pairs finished. 62 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t400000 read pairs finished. 63 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t450000 read pairs finished. 77 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t500000 read pairs finished. 78 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t550000 read pairs finished. 80 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t600000 read pairs finished. 80 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t650000 read pairs finished. 94 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t700000 read pairs finished. 96 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t750000 read pairs finished. 98 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t800000 read pairs finished. 99 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t850000 read pairs finished. 112 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t900000 read pairs finished. 114 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t950000 read pairs finished. 116 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1000000 read pairs finished. 117 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1050000 read pairs finished. 129 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1100000 read pairs finished. 131 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1150000 read pairs finished. 133 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1200000 read pairs finished. 134 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1250000 read pairs finished. 146 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1300000 read pairs finished. 147 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1350000 read pairs finished. 150 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1400000 read pairs finished. 152 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1450000 read pairs finished. 163 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1500000 read pairs finished. 164 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1550000 read pairs finished. 167 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1600000 read pairs finished. 168 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1650000 read pairs finished. 179 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1700000 read pairs finished. 182 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1750000 read pairs finished. 184 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1800000 read pairs finished. 185 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1850000 read pairs finished. 196 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1900000 read pairs finished. 199 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1950000 read pairs finished. 201 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2000000 read pairs finished. 202 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2050000 read pairs finished. 213 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2100000 read pairs finished. 216 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2150000 read pairs finished. 218 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2200000 read pairs finished. 219 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2250000 read pairs finished. 229 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2300000 read pairs finished. 233 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2350000 read pairs finished. 235 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2400000 read pairs finished. 236 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2450000 read pairs finished. 246 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2500000 read pairs finished. 250 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2550000 read pairs finished. 252 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2600000 read pairs finished. 253 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2650000 read pairs finished. 262 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2700000 read pairs finished. 267 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2750000 read pairs finished. 268 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2800000 read pairs finished. 269 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2850000 read pairs finished. 279 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2900000 read pairs finished. 284 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2950000 read pairs finished. 285 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3000000 read pairs finished. 287 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3050000 read pairs finished. 296 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3100000 read pairs finished. 301 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3150000 read pairs finished. 303 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3200000 read pairs finished. 304 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3250000 read pairs finished. 313 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3300000 read pairs finished. 318 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3350000 read pairs finished. 320 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3400000 read pairs finished. 321 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3450000 read pairs finished. 330 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3500000 read pairs finished. 335 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3550000 read pairs finished. 337 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3600000 read pairs finished. 338 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3650000 read pairs finished. 348 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3700000 read pairs finished. 352 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3750000 read pairs finished. 355 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3800000 read pairs finished. 355 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3850000 read pairs finished. 364 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3900000 read pairs finished. 369 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3950000 read pairs finished. 371 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4000000 read pairs finished. 374 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4050000 read pairs finished. 382 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4100000 read pairs finished. 386 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4150000 read pairs finished. 388 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4200000 read pairs finished. 391 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4250000 read pairs finished. 399 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4300000 read pairs finished. 403 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4350000 read pairs finished. 405 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4400000 read pairs finished. 408 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4450000 read pairs finished. 416 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4500000 read pairs finished. 419 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4550000 read pairs finished. 422 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4600000 read pairs finished. 424 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4650000 read pairs finished. 433 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4700000 read pairs finished. 436 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4750000 read pairs finished. 439 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4800000 read pairs finished. 441 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4850000 read pairs finished. 450 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4900000 read pairs finished. 454 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4950000 read pairs finished. 456 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5000000 read pairs finished. 458 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5050000 read pairs finished. 467 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5100000 read pairs finished. 471 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5150000 read pairs finished. 474 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5200000 read pairs finished. 475 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5250000 read pairs finished. 483 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5300000 read pairs finished. 488 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5350000 read pairs finished. 491 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5400000 read pairs finished. 492 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5450000 read pairs finished. 500 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5500000 read pairs finished. 505 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5550000 read pairs finished. 509 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5600000 read pairs finished. 510 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5650000 read pairs finished. 517 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5700000 read pairs finished. 522 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5750000 read pairs finished. 527 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5800000 read pairs finished. 527 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5850000 read pairs finished. 534 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5900000 read pairs finished. 539 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6000000 read pairs finished. 545 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5950000 read pairs finished. 545 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6050000 read pairs finished. 550 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6179274 read pairs finished. 554 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6100000 read pairs finished. 554 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6150000 read pairs finished. 558 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Total number of aligned reads: \r\n", "pairs: 2725017 (44%)\r\n", "single a: 1704213 (28%)\r\n", "single b: 1415455 (23%)\r\n", "Done.\r\n", "Finished at Tue Dec 2 14:30:46 2014\r\n", "Total time consumed: 558 secs\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "BSMAP v2.74\r\n", "Start at: Tue Dec 2 14:30:47 2014\r\n", "\r\n", "Input reference file: Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa \t(format: FASTA)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Load in 7658 db seqs, total size 557717710 bp. 9 secs passed\r\n", "total_kmers: 43046721\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Create seed table. 26 secs passed\r\n", "max number of mismatches: read_length * 8% \tmax gap size: 0\r\n", "kmer cut-off ratio: 5e-07\r\n", "max multi-hits: 100\tmax Ns: 5\tseed size: 16\tindex interval: 4\r\n", "quality cutoff: 0\tbase quality char: '!'\r\n", "min fragment size:28\tmax fragemt size:500\r\n", "start from read #1\tend at read #4294967295\r\n", "additional alignment: T in reads => C in reference\r\n", "mapping strand (read_1): ++,-+\r\n", "mapping strand (read_2): +-,--\r\n", "Pair-end alignment(4 threads)\r\n", "Input read file #1: mcf_M3_R1.fastq \t(format: FASTQ)\r\n", "Input read file #2: mcf_M3_R2.fastq" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " \t(format: FASTQ)\r\n", "Output file: bsmap_out_M3.sam\t (format: SAM)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t50000 read pairs finished. 41 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t100000 read pairs finished. 41 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t200000 read pairs finished. 42 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t150000 read pairs finished. 42 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t250000 read pairs finished. 55 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t300000 read pairs finished. 57 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t350000 read pairs finished. 57 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t400000 read pairs finished. 58 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t450000 read pairs finished. 71 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t500000 read pairs finished. 72 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t550000 read pairs finished. 72 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t600000 read pairs finished. 73 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t650000 read pairs finished. 85 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t700000 read pairs finished. 87 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t750000 read pairs finished. 88 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t800000 read pairs finished. 89 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t850000 read pairs finished. 101 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t900000 read pairs finished. 103 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t950000 read pairs finished. 103 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1000000 read pairs finished. 104 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1050000 read pairs finished. 116 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1100000 read pairs finished. 118 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1150000 read pairs finished. 118 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1200000 read pairs finished. 119 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1250000 read pairs finished. 131 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1300000 read pairs finished. 133 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1350000 read pairs finished. 133 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1400000 read pairs finished. 134 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1450000 read pairs finished. 146 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1500000 read pairs finished. 148 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1550000 read pairs finished. 149 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1600000 read pairs finished. 150 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1650000 read pairs finished. 160 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1700000 read pairs finished. 164 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1750000 read pairs finished. 164 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1800000 read pairs finished. 165 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1850000 read pairs finished. 176 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1900000 read pairs finished. 179 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1950000 read pairs finished. 179 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2000000 read pairs finished. 181 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2050000 read pairs finished. 191 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2100000 read pairs finished. 194 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2150000 read pairs finished. 195 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2200000 read pairs finished. 196 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2250000 read pairs finished. 205 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2300000 read pairs finished. 209 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2350000 read pairs finished. 210 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2400000 read pairs finished. 211 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2450000 read pairs finished. 220 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2500000 read pairs finished. 225 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2550000 read pairs finished. 226 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2600000 read pairs finished. 227 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2650000 read pairs finished. 236 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2700000 read pairs finished. 240 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2750000 read pairs finished. 241 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2800000 read pairs finished. 242 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2850000 read pairs finished. 251 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2900000 read pairs finished. 255 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2950000 read pairs finished. 256 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3000000 read pairs finished. 257 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3050000 read pairs finished. 265 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3100000 read pairs finished. 271 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3150000 read pairs finished. 271 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3200000 read pairs finished. 272 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3250000 read pairs finished. 280 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3300000 read pairs finished. 285 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3350000 read pairs finished. 286 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3400000 read pairs finished. 289 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3450000 read pairs finished. 297 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3500000 read pairs finished. 301 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3550000 read pairs finished. 302 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3600000 read pairs finished. 304 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3650000 read pairs finished. 312 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3700000 read pairs finished. 317 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3750000 read pairs finished. 317 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3800000 read pairs finished. 319 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3850000 read pairs finished. 327 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3900000 read pairs finished. 332 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3950000 read pairs finished. 332 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4000000 read pairs finished. 334 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4050000 read pairs finished. 342 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4100000 read pairs finished. 346 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4150000 read pairs finished. 347 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4200000 read pairs finished. 349 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4250000 read pairs finished. 358 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4300000 read pairs finished. 361 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4350000 read pairs finished. 363 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4400000 read pairs finished. 365 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4450000 read pairs finished. 373 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4500000 read pairs finished. 376 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4550000 read pairs finished. 378 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4600000 read pairs finished. 380 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4650000 read pairs finished. 388 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4700000 read pairs finished. 391 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4750000 read pairs finished. 393 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4800000 read pairs finished. 395 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4850000 read pairs finished. 403 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4900000 read pairs finished. 406 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4950000 read pairs finished. 408 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5000000 read pairs finished. 410 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5050000 read pairs finished. 417 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5100000 read pairs finished. 421 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5150000 read pairs finished. 423 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5200000 read pairs finished. 426 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5250000 read pairs finished. 433 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5300000 read pairs finished. 436 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5350000 read pairs finished. 438 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5400000 read pairs finished. 442 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5450000 read pairs finished. 448 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5500000 read pairs finished. 451 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5550000 read pairs finished. 453 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5600000 read pairs finished. 457 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5650000 read pairs finished. 463 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5700000 read pairs finished. 466 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5750000 read pairs finished. 468 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5800000 read pairs finished. 472 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5850000 read pairs finished. 478 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5900000 read pairs finished. 481 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5950000 read pairs finished. 483 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6000000 read pairs finished. 487 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6050000 read pairs finished. 492 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6100000 read pairs finished. 498 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6150000 read pairs finished. 500 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6200000 read pairs finished. 502 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6250000 read pairs finished. 508 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6300000 read pairs finished. 513 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6350000 read pairs finished. 515 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6400000 read pairs finished. 518 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6450000 read pairs finished. 523 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6500000 read pairs finished. 528 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6550000 read pairs finished. 530 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6600000 read pairs finished. 533 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6650000 read pairs finished. 538 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6700000 read pairs finished. 543 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6750000 read pairs finished. 545 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6800000 read pairs finished. 548 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6850000 read pairs finished. 553 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6900000 read pairs finished. 558 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6950000 read pairs finished. 561 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7000000 read pairs finished. 564 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7050000 read pairs finished. 568 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7100000 read pairs finished. 573 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7150000 read pairs finished. 576 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7200000 read pairs finished. 579 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7250000 read pairs finished. 583 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7300000 read pairs finished. 589 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7350000 read pairs finished. 591 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7400000 read pairs finished. 594 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7450000 read pairs finished. 598 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7500000 read pairs finished. 604 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7550000 read pairs finished. 606 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7600000 read pairs finished. 609 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7650000 read pairs finished. 613 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7700000 read pairs finished. 618 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7750000 read pairs finished. 621 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7867124 read pairs finished. 623 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7800000 read pairs finished. 624 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7850000 read pairs finished. 626 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Total number of aligned reads: \r\n", "pairs: 4545285 (58%)\r\n", "single a: 1331429 (17%)\r\n", "single b: 1233410 (16%)\r\n", "Done.\r\n", "Finished at Tue Dec 2 14:41:13 2014\r\n", "Total time consumed: 626 secs\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "BSMAP v2.74\r\n", "Start at: Tue Dec 2 14:41:14 2014\r\n", "\r\n", "Input reference file: Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa \t(format: FASTA)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Load in 7658 db seqs, total size 557717710 bp. 9 secs passed\r\n", "total_kmers: 43046721\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Create seed table. 25 secs passed\r\n", "max number of mismatches: read_length * 8% \tmax gap size: 0\r\n", "kmer cut-off ratio: 5e-07\r\n", "max multi-hits: 100\tmax Ns: 5\tseed size: 16\tindex interval: 4\r\n", "quality cutoff: 0\tbase quality char: '!'\r\n", "min fragment size:28\tmax fragemt size:500\r\n", "start from read #1\tend at read #4294967295\r\n", "additional alignment: T in reads => C in reference\r\n", "mapping strand (read_1): ++,-+\r\n", "mapping strand (read_2): +-,--\r\n", "Pair-end alignment(4 threads)\r\n", "Input read file #1: mcf_T3D3_R1.fastq \t(format: FASTQ)\r\n", "Input read file #2: mcf_T3D3_R2.fastq \t(format: FASTQ)\r\n", "Output file: bsmap_out_T3D3.sam\t (format: SAM)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t50000 read pairs finished. 41 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t100000 read pairs finished. 41 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t150000 read pairs finished. 42 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t200000 read pairs finished. 42 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t250000 read pairs finished. 57 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t300000 read pairs finished. 57 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t350000 read pairs finished. 58 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t400000 read pairs finished. 58 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t450000 read pairs finished. 72 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t500000 read pairs finished. 73 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t550000 read pairs finished. 73 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t600000 read pairs finished. 74 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t650000 read pairs finished. 87 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t700000 read pairs finished. 88 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t750000 read pairs finished. 89 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t800000 read pairs finished. 90 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t850000 read pairs finished. 103 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t900000 read pairs finished. 103 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t950000 read pairs finished. 104 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1000000 read pairs finished. 105 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1050000 read pairs finished. 119 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1100000 read pairs finished. 119 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1150000 read pairs finished. 120 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1200000 read pairs finished. 121 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1250000 read pairs finished. 134 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1300000 read pairs finished. 135 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1350000 read pairs finished. 135 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1400000 read pairs finished. 136 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1450000 read pairs finished. 149 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1500000 read pairs finished. 151 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1550000 read pairs finished. 152 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1600000 read pairs finished. 152 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1650000 read pairs finished. 165 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1700000 read pairs finished. 167 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1750000 read pairs finished. 167 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1800000 read pairs finished. 168 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1850000 read pairs finished. 181 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1900000 read pairs finished. 182 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1950000 read pairs finished. 183 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2000000 read pairs finished. 184 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2050000 read pairs finished. 196 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2100000 read pairs finished. 198 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2150000 read pairs finished. 198 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2200000 read pairs finished. 199 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2250000 read pairs finished. 212 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2300000 read pairs finished. 213 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2350000 read pairs finished. 214 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2400000 read pairs finished. 215 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2450000 read pairs finished. 229 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2500000 read pairs finished. 230 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2550000 read pairs finished. 230 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2600000 read pairs finished. 231 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2650000 read pairs finished. 245 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2700000 read pairs finished. 246 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2750000 read pairs finished. 247 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2800000 read pairs finished. 247 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2850000 read pairs finished. 260 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2900000 read pairs finished. 262 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2950000 read pairs finished. 263 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3000000 read pairs finished. 263 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3050000 read pairs finished. 275 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3100000 read pairs finished. 277 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3150000 read pairs finished. 278 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3200000 read pairs finished. 279 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3250000 read pairs finished. 291 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3300000 read pairs finished. 293 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3350000 read pairs finished. 294 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3400000 read pairs finished. 294 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3450000 read pairs finished. 306 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3500000 read pairs finished. 309 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3550000 read pairs finished. 310 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3600000 read pairs finished. 310 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3650000 read pairs finished. 322 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3700000 read pairs finished. 324 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3750000 read pairs finished. 325 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3800000 read pairs finished. 326 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3850000 read pairs finished. 337 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3900000 read pairs finished. 339 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3950000 read pairs finished. 341 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4000000 read pairs finished. 341 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4050000 read pairs finished. 353 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4100000 read pairs finished. 355 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4150000 read pairs finished. 356 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4200000 read pairs finished. 356 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4250000 read pairs finished. 369 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4300000 read pairs finished. 371 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4350000 read pairs finished. 372 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4400000 read pairs finished. 372 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4450000 read pairs finished. 385 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4500000 read pairs finished. 386 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4550000 read pairs finished. 388 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4600000 read pairs finished. 388 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4650000 read pairs finished. 400 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4700000 read pairs finished. 401 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4750000 read pairs finished. 404 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4800000 read pairs finished. 404 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4850000 read pairs finished. 415 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4900000 read pairs finished. 416 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4950000 read pairs finished. 419 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5000000 read pairs finished. 420 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5050000 read pairs finished. 431 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5100000 read pairs finished. 432 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5150000 read pairs finished. 435 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5200000 read pairs finished. 435 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5250000 read pairs finished. 448 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5300000 read pairs finished. 449 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5400000 read pairs finished. 451 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5350000 read pairs finished. 452 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5450000 read pairs finished. 464 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5500000 read pairs finished. 464 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5550000 read pairs finished. 467 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5600000 read pairs finished. 468 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5650000 read pairs finished. 479 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5700000 read pairs finished. 480 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5750000 read pairs finished. 483 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5800000 read pairs finished. 484 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5850000 read pairs finished. 494 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5900000 read pairs finished. 495 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5950000 read pairs finished. 499 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6000000 read pairs finished. 500 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6050000 read pairs finished. 510 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6100000 read pairs finished. 510 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6150000 read pairs finished. 515 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6200000 read pairs finished. 516 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6250000 read pairs finished. 525 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6300000 read pairs finished. 526 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6350000 read pairs finished. 531 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6400000 read pairs finished. 532 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6450000 read pairs finished. 541 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6500000 read pairs finished. 542 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6550000 read pairs finished. 547 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6600000 read pairs finished. 548 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6650000 read pairs finished. 557 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6700000 read pairs finished. 557 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6750000 read pairs finished. 562 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6800000 read pairs finished. 563 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6850000 read pairs finished. 572 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6900000 read pairs finished. 572 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6950000 read pairs finished. 578 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7000000 read pairs finished. 579 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7109789 read pairs finished. 580 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7050000 read pairs finished. 585 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7100000 read pairs finished. 585 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Total number of aligned reads: \r\n", "pairs: 4047152 (57%)\r\n", "single a: 1332491 (19%)\r\n", "single b: 1205102 (17%)\r\n", "Done.\r\n", "Finished at Tue Dec 2 14:50:59 2014\r\n", "Total time consumed: 585 secs\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r\n", "BSMAP v2.74\r\n", "Start at: Tue Dec 2 14:51:00 2014\r\n", "\r\n", "Input reference file: Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa \t(format: FASTA)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Load in 7658 db seqs, total size 557717710 bp. 9 secs passed\r\n", "total_kmers: 43046721\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Create seed table. 25 secs passed\r\n", "max number of mismatches: read_length * 8% \tmax gap size: 0\r\n", "kmer cut-off ratio: 5e-07\r\n", "max multi-hits: 100\tmax Ns: 5\tseed size: 16\tindex interval: 4\r\n", "quality cutoff: 0\tbase quality char: '!'\r\n", "min fragment size:28\tmax fragemt size:500\r\n", "start from read #1\tend at read #4294967295\r\n", "additional alignment: T in reads => C in reference\r\n", "mapping strand (read_1): ++,-+\r\n", "mapping strand (read_2): +-,--\r\n", "Pair-end alignment(4 threads)\r\n", "Input read file #1: mcf_T3D5_R1.fastq \t(format: FASTQ)\r\n", "Input read file #2: mcf_T3D5_R2.fastq \t(format: FASTQ)\r\n", "Output file: bsmap_out_T3D5.sam\t (format: SAM)\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t50000 read pairs finished. 41 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t100000 read pairs finished. 42 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t150000 read pairs finished. 42 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t200000 read pairs finished. 42 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t250000 read pairs finished. 57 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t300000 read pairs finished. 58 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t350000 read pairs finished. 58 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t400000 read pairs finished. 59 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t450000 read pairs finished. 72 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t500000 read pairs finished. 73 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t550000 read pairs finished. 74 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t600000 read pairs finished. 75 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t650000 read pairs finished. 87 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t700000 read pairs finished. 88 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t750000 read pairs finished. 90 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t800000 read pairs finished. 90 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t850000 read pairs finished. 102 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t900000 read pairs finished. 103 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t950000 read pairs finished. 105 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1000000 read pairs finished. 106 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1050000 read pairs finished. 118 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1100000 read pairs finished. 118 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1150000 read pairs finished. 120 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1200000 read pairs finished. 121 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1250000 read pairs finished. 134 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1300000 read pairs finished. 134 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1350000 read pairs finished. 136 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1400000 read pairs finished. 136 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1450000 read pairs finished. 150 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1500000 read pairs finished. 151 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1550000 read pairs finished. 151 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1600000 read pairs finished. 152 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1650000 read pairs finished. 166 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1700000 read pairs finished. 166 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1750000 read pairs finished. 167 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t1800000 read pairs finished. 168 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t1850000 read pairs finished. 181 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t1900000 read pairs finished. 182 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t1950000 read pairs finished. 182 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2000000 read pairs finished. 183 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2050000 read pairs finished. 197 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2100000 read pairs finished. 197 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2150000 read pairs finished. 198 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2200000 read pairs finished. 199 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2250000 read pairs finished. 212 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2300000 read pairs finished. 213 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2350000 read pairs finished. 214 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2400000 read pairs finished. 214 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2450000 read pairs finished. 228 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2500000 read pairs finished. 229 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2550000 read pairs finished. 229 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2600000 read pairs finished. 230 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2650000 read pairs finished. 244 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2700000 read pairs finished. 244 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2750000 read pairs finished. 244 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t2800000 read pairs finished. 245 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t2850000 read pairs finished. 260 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t2950000 read pairs finished. 261 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t2900000 read pairs finished. 261 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3000000 read pairs finished. 261 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3050000 read pairs finished. 275 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3100000 read pairs finished. 276 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3150000 read pairs finished. 277 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3200000 read pairs finished. 278 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3250000 read pairs finished. 291 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3300000 read pairs finished. 291 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3350000 read pairs finished. 292 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3400000 read pairs finished. 293 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3450000 read pairs finished. 306 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3500000 read pairs finished. 306 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3550000 read pairs finished. 308 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3600000 read pairs finished. 310 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3700000 read pairs finished. 322 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3650000 read pairs finished. 323 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3750000 read pairs finished. 323 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t3800000 read pairs finished. 325 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t3850000 read pairs finished. 338 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t3950000 read pairs finished. 338 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t3900000 read pairs finished. 339 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4000000 read pairs finished. 339 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4050000 read pairs finished. 352 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4100000 read pairs finished. 353 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4150000 read pairs finished. 354 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4200000 read pairs finished. 355 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4250000 read pairs finished. 367 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4300000 read pairs finished. 369 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4350000 read pairs finished. 370 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4400000 read pairs finished. 371 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4450000 read pairs finished. 382 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4500000 read pairs finished. 384 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4550000 read pairs finished. 386 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4600000 read pairs finished. 386 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4650000 read pairs finished. 397 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4700000 read pairs finished. 399 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4750000 read pairs finished. 401 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t4800000 read pairs finished. 402 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t4850000 read pairs finished. 412 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t4900000 read pairs finished. 414 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t4950000 read pairs finished. 417 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5000000 read pairs finished. 418 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5050000 read pairs finished. 427 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5100000 read pairs finished. 429 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5150000 read pairs finished. 433 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5200000 read pairs finished. 433 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5250000 read pairs finished. 442 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5300000 read pairs finished. 444 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5350000 read pairs finished. 448 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5400000 read pairs finished. 449 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5450000 read pairs finished. 457 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5500000 read pairs finished. 458 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5550000 read pairs finished. 464 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5600000 read pairs finished. 464 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5650000 read pairs finished. 472 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5700000 read pairs finished. 475 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5750000 read pairs finished. 481 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t5800000 read pairs finished. 482 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t5850000 read pairs finished. 487 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t5900000 read pairs finished. 490 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6000000 read pairs finished. 497 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t5950000 read pairs finished. 498 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6050000 read pairs finished. 503 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6100000 read pairs finished. 505 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6150000 read pairs finished. 512 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6200000 read pairs finished. 513 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6250000 read pairs finished. 518 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6300000 read pairs finished. 520 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6350000 read pairs finished. 527 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6400000 read pairs finished. 529 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6450000 read pairs finished. 534 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6500000 read pairs finished. 536 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6550000 read pairs finished. 542 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6600000 read pairs finished. 545 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6650000 read pairs finished. 549 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6700000 read pairs finished. 551 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6750000 read pairs finished. 557 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t6800000 read pairs finished. 560 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t6850000 read pairs finished. 564 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t6900000 read pairs finished. 566 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t6950000 read pairs finished. 572 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #1: \t7000000 read pairs finished. 575 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #0: \t7050000 read pairs finished. 579 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #3: \t7125800 read pairs finished. 579 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Thread #2: \t7100000 read pairs finished. 580 secs passed\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Total number of aligned reads: \r\n", "pairs: 4092568 (57%)\r\n", "single a: 1250715 (18%)\r\n", "single b: 1133306 (16%)\r\n", "Done.\r\n", "Finished at Tue Dec 2 15:00:40 2014\r\n", "Total time consumed: 580 secs\r\n" ] } ], "prompt_number": 8 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "_methratio_" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "methratio is a python script that accompanies BSMAP that determines methylation level on CpG loci" ] }, { "cell_type": "code", "collapsed": false, "input": [ "for i in (\"M1\",\"T1D3\",\"T1D5\", \"M3\", \"T3D3\", \"T3D5\"):\n", " !python {bsmaploc}methratio.py \\\n", "-d Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa \\\n", "-u -z -g \\\n", "-o methratio_out_{i}.txt \\\n", "-s {bsmaploc}samtools \\\n", "bsmap_out_{i}.sam \\\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:00:08 2014: reading reference Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:00:42 2014: reading bsmap_out_M1.sam ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "[samopen] SAM header is present: 7658 sequences.\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\t@ Wed Dec 3 04:05:20 2014: read 10000000 lines\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:05:44 2014: combining CpG methylation from both strands ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:06:07 2014: writing methratio_out_M1.txt ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:15:07 2014: done.\r\n", "total 8716467 valid mappings, 48671764 covered cytosines, average coverage: 1.78 fold.\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:15:08 2014: reading reference Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:15:42 2014: reading bsmap_out_T1D3.sam ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "[samopen] SAM header is present: 7658 sequences.\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:18:10 2014: combining CpG methylation from both strands ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:18:34 2014: writing methratio_out_T1D3.txt ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:24:04 2014: done.\r\n", "total 5759215 valid mappings, 26507310 covered cytosines, average coverage: 1.32 fold.\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:24:05 2014: reading reference Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:24:39 2014: reading bsmap_out_T1D5.sam ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "[samopen] SAM header is present: 7658 sequences.\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:28:39 2014: combining CpG methylation from both strands ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:29:03 2014: writing methratio_out_T1D5.txt ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:37:34 2014: done.\r\n", "total 6974208 valid mappings, 45446465 covered cytosines, average coverage: 1.54 fold.\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:37:35 2014: reading reference Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:38:09 2014: reading bsmap_out_M3.sam ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "[samopen] SAM header is present: 7658 sequences.\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\t@ Wed Dec 3 04:42:53 2014: read 10000000 lines\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:43:39 2014: combining CpG methylation from both strands ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:44:03 2014: writing methratio_out_M3.txt ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:54:10 2014: done.\r\n", "total 9773223 valid mappings, 53389886 covered cytosines, average coverage: 1.78 fold.\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:54:11 2014: reading reference Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:54:47 2014: reading bsmap_out_T3D3.sam ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "[samopen] SAM header is present: 7658 sequences.\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\t@ Wed Dec 3 04:59:30 2014: read 10000000 lines\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 04:59:48 2014: combining CpG methylation from both strands ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 05:00:12 2014: writing methratio_out_T3D3.txt ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 05:09:49 2014: done.\r\n", "total 8847902 valid mappings, 52255860 covered cytosines, average coverage: 1.65 fold.\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 05:09:51 2014: reading reference Crassostrea_gigas.GCA_000297895.1.22.dna_sm.genome.fa ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 05:10:24 2014: reading bsmap_out_T3D5.sam ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "[samopen] SAM header is present: 7658 sequences.\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\t@ Wed Dec 3 05:15:09 2014: read 10000000 lines\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 05:15:25 2014: combining CpG methylation from both strands ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 05:15:49 2014: writing methratio_out_T3D5.txt ...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "@ Wed Dec 3 05:25:16 2014: done.\r\n", "total 8808414 valid mappings, 51732152 covered cytosines, average coverage: 1.69 fold.\r\n" ] } ], "prompt_number": 9 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Global Differences: methylkit" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Converting methratio files for methylkit**" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#first methratio files are converted to filter for CG context, 3x coverage (mr3x.awk), and reformatting (mr_gg.awk.sh).\n", "#due to issue passing variable to awk, simple scripts were used (included in repository)\n", "for i in (\"M1\",\"T1D3\",\"T1D5\", \"M3\", \"T3D3\", \"T3D5\"):\n", " !echo {i}\n", " !grep \"[A-Z][A-Z]CG[A-Z]\" methratio_out_{i}CG.txt\n", " !awk -f ../scripts/mr3x.awk methratio_out_{i}CG.txt > mr3x.{i}.txt\n", " !awk -f ../scripts/mr_gg.awk.sh mr3x.{i}.txt > mkfmt_{i}.txt\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "M1\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "T1D3\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "T1D5\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "M3\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "T3D3\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "T3D5\r\n" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Running R > methylkit**" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%pylab inline" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "%load_ext rpy2.ipython\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ " %%R \n", "# UNCOMMENT IF YOU NEED TO INSTALL PACKAGES\n", "\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": [ { "name": "stdout", "output_type": "stream", "stream": "stdout", "text": [ "a\n" ] }, { "output_type": "stream", "stream": "stdout", "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 \u2018plyr\u2019, \u2018stringr\u2019, \u2018bitops\u2019, \u2018reshape2\u2019, \u2018httr\u2019, \u2018RCurl\u2019, \u2018memoise\u2019, \u2018whisker\u2019, \u2018evaluate\u2019, \u2018digest\u2019, \u2018rstudioapi\u2019, \u2018jsonlite\u2019\n", "\n", "trying URL 'http://www.icesi.edu.co/CRAN/bin/macosx/contrib/3.1/plyr_1.8.1.tgz'\n", "Content type 'application/x-gzip' length 837044 bytes (817 Kb)\n", "opened URL\n", "==================================================\n", "downloaded 817 Kb\n", "\n", "trying URL 'http://www.icesi.edu.co/CRAN/bin/macosx/contrib/3.1/stringr_0.6.2.tgz'\n", "Content type 'application/x-gzip' length 71095 bytes (69 Kb)\n", "opened URL\n", "==================================================\n", "downloaded 69 Kb\n", "\n", "trying URL 'http://www.icesi.edu.co/CRAN/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://www.icesi.edu.co/CRAN/bin/macosx/contrib/3.1/reshape2_1.4.tgz'\n", "Content type 'application/x-gzip' length 178438 bytes (174 Kb)\n", "opened URL\n", "==================================================\n", "downloaded 174 Kb\n", "\n", "trying URL 'http://www.icesi.edu.co/CRAN/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://www.icesi.edu.co/CRAN/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://www.icesi.edu.co/CRAN/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://www.icesi.edu.co/CRAN/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://www.icesi.edu.co/CRAN/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://www.icesi.edu.co/CRAN/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://www.icesi.edu.co/CRAN/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://www.icesi.edu.co/CRAN/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://www.icesi.edu.co/CRAN/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://www.icesi.edu.co/CRAN/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/sy/s4s23msj2hg86pcvg8n312fw0000gn/T//RtmpWTzuXL/downloaded_packages\n", "Bioconductor version 2.14 (BiocInstaller 1.14.3), ?biocLite for help\n", "A newer version of Bioconductor is available for this version of R,\n", " ?BiocUpgrade for help\n", "BioC_mirror: http://bioconductor.org\n", "Using Bioconductor version 2.14 (BiocInstaller 1.14.3), R version\n", " 3.1.1.\n", "Installing package(s) 'GenomicRanges' 'IRanges'\n", "trying URL 'http://bioconductor.org/packages/2.14/bioc/bin/macosx/contrib/3.1/GenomicRanges_1.16.4.tgz'\n", "Content type 'application/x-gzip' length 1158122 bytes (1.1 Mb)\n", "opened URL\n", "==================================================\n", "downloaded 1.1 Mb\n", "\n", "trying URL 'http://bioconductor.org/packages/2.14/bioc/bin/macosx/contrib/3.1/IRanges_1.22.10.tgz'\n", "Content type 'application/x-gzip' length 1872704 bytes (1.8 Mb)\n", "opened URL\n", "==================================================\n", "downloaded 1.8 Mb\n", "\n", "\n", "The downloaded binary packages are in\n", "\t/var/folders/sy/s4s23msj2hg86pcvg8n312fw0000gn/T//RtmpWTzuXL/downloaded_packages\n", "Old packages: 'mgcv', 'RcppArmadillo', 'RSQLite'\n", "Update all/some/none? [a/s/n]: trying URL 'http://www.icesi.edu.co/CRAN/bin/macosx/contrib/3.1/mgcv_1.8-4.tgz'\n", "Content type 'application/x-gzip' length 1819260 bytes (1.7 Mb)\n", "opened URL\n", "==================================================\n", "downloaded 1.7 Mb\n", "\n", "trying URL 'http://www.icesi.edu.co/CRAN/bin/macosx/contrib/3.1/RcppArmadillo_0.4.500.0.tgz'\n", "Content type 'application/x-gzip' length 1085389 bytes (1.0 Mb)\n", "opened URL\n", "==================================================\n", "downloaded 1.0 Mb\n", "\n", "trying URL 'http://www.icesi.edu.co/CRAN/bin/macosx/contrib/3.1/RSQLite_1.0.0.tgz'\n", "Content type 'application/x-gzip' length 1430014 bytes (1.4 Mb)\n", "opened URL\n", "==================================================\n", "downloaded 1.4 Mb\n", "\n", "\n", "The downloaded binary packages are in\n", "\t/var/folders/sy/s4s23msj2hg86pcvg8n312fw0000gn/T//RtmpWTzuXL/downloaded_packages\n", "Downloading github repo al2na/methylKit@master\n", "Installing methylKit\n", "Installing dependencies for methylKit:\n", "GenomicRanges, S4Vectors\n", "'/Library/Frameworks/R.framework/Resources/bin/R' --vanilla CMD INSTALL \\\n", " '/private/var/folders/sy/s4s23msj2hg86pcvg8n312fw0000gn/T/RtmpWTzuXL/devtoolsbad4229e2d6/al2na-methylKit-e130672' \\\n", " --library='/Library/Frameworks/R.framework/Versions/3.1/Resources/library' \\\n", " --install-tests \n", "\n", "Error: Command failed (1)\n", "In addition: Warning message:\n", "packages \u2018GenomicRanges\u2019, \u2018S4Vectors\u2019 are not available (for R version 3.1.1)\n", "Error: Command failed (1)\n" ] } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "%R library(methylKit)\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Error in library(methylKit) : there is no package called \u2018methylKit\u2019\n" ] } ], "prompt_number": 7 }, { "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": 10 }, { "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))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "%%R\n", "meth<-unite(myobj)\n", "#getCorrelation(meth,plot=T)\n", "hc<- clusterSamples(meth, dist=\"correlation\", method=\"ward\", plot=T)\n", "#PCA<-PCASamples(meth)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "text": [ "The \"ward\" method has been renamed to \"ward.D\"; note new \"ward.D2\"\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAYAAAB91L6VAAAEJGlDQ1BJQ0MgUHJvZmlsZQAAOBGF\nVd9v21QUPolvUqQWPyBYR4eKxa9VU1u5GxqtxgZJk6XtShal6dgqJOQ6N4mpGwfb6baqT3uBNwb8\nAUDZAw9IPCENBmJ72fbAtElThyqqSUh76MQPISbtBVXhu3ZiJ1PEXPX6yznfOec7517bRD1fabWa\nGVWIlquunc8klZOnFpSeTYrSs9RLA9Sr6U4tkcvNEi7BFffO6+EdigjL7ZHu/k72I796i9zRiSJP\nwG4VHX0Z+AxRzNRrtksUvwf7+Gm3BtzzHPDTNgQCqwKXfZwSeNHHJz1OIT8JjtAq6xWtCLwGPLzY\nZi+3YV8DGMiT4VVuG7oiZpGzrZJhcs/hL49xtzH/Dy6bdfTsXYNY+5yluWO4D4neK/ZUvok/17X0\nHPBLsF+vuUlhfwX4j/rSfAJ4H1H0qZJ9dN7nR19frRTeBt4Fe9FwpwtN+2p1MXscGLHR9SXrmMgj\nONd1ZxKzpBeA71b4tNhj6JGoyFNp4GHgwUp9qplfmnFW5oTdy7NamcwCI49kv6fN5IAHgD+0rbyo\nBc3SOjczohbyS1drbq6pQdqumllRC/0ymTtej8gpbbuVwpQfyw66dqEZyxZKxtHpJn+tZnpnEdrY\nBbueF9qQn93S7HQGGHnYP7w6L+YGHNtd1FJitqPAR+hERCNOFi1i1alKO6RQnjKUxL1GNjwlMsiE\nhcPLYTEiT9ISbN15OY/jx4SMshe9LaJRpTvHr3C/ybFYP1PZAfwfYrPsMBtnE6SwN9ib7AhLwTrB\nDgUKcm06FSrTfSj187xPdVQWOk5Q8vxAfSiIUc7Z7xr6zY/+hpqwSyv0I0/QMTRb7RMgBxNodTfS\nPqdraz/sDjzKBrv4zu2+a2t0/HHzjd2Lbcc2sG7GtsL42K+xLfxtUgI7YHqKlqHK8HbCCXgjHT1c\nAdMlDetv4FnQ2lLasaOl6vmB0CMmwT/IPszSueHQqv6i/qluqF+oF9TfO2qEGTumJH0qfSv9KH0n\nfS/9TIp0Wboi/SRdlb6RLgU5u++9nyXYe69fYRPdil1o1WufNSdTTsp75BfllPy8/LI8G7AUuV8e\nk6fkvfDsCfbNDP0dvRh0CrNqTbV7LfEEGDQPJQadBtfGVMWEq3QWWdufk6ZSNsjG2PQjp3ZcnOWW\ning6noonSInvi0/Ex+IzAreevPhe+CawpgP1/pMTMDo64G0sTCXIM+KdOnFWRfQKdJvQzV1+Bt8O\nokmrdtY2yhVX2a+qrykJfMq4Ml3VR4cVzTQVz+UoNne4vcKLoyS+gyKO6EHe+75Fdt0Mbe5bRIf/\nwjvrVmhbqBN97RD1vxrahvBOfOYzoosH9bq94uejSOQGkVM6sN/7HelL4t10t9F4gPdVzydEOx83\nGv+uNxo7XyL/FtFl8z9ZAHF4bBsrEwAAQABJREFUeAHtnQucVVP7x58zk3QzqaSSoZoQKsali8tU\nLimh8PZSUe5EMaV4pZekJCShklv8XYpIdHnfIuXyVkihTDfddBuSTIkuM7P/z2+NfZw5c86ZS3NZ\ne8/v+XzOnLPX3nvt9XzXnv3s9axnrRVwVIRCAiRAAiRAAiRQqgTiSvVqvBgJkAAJkAAJkIAhQAPM\nG4EESIAESIAEyoAADXAZQOclSYAESIAESIAGmPcACZAACZAACZQBARrgMoDOS5IACZAACZAADTDv\nARIgARIgARIoAwI0wGUAnZckARIgARIgARpg3gMkQAIkQAIkUAYEaIDLADovSQIkQAIkQAI0wLwH\nSIAESIAESKAMCNAAlwF0XpIESIAESIAEaIB5D5AACZAACZBAGRCgAS4D6LwkCZAACZAACdAA8x4g\nARIgARIggTIgQANcBtB5SRIgARIgARKgAeY9QAIkQAIkQAJlQIAGuAyg85IkQAIkQAIkQAPMe4AE\nSIAESIAEyoAADXAZQOclSYAESIAESIAGmPcACZAACZAACZQBARrgMoDOS5IACZAACZAADTDvARIg\nARIgARIoAwI0wGUAnZckARIgARIggQpEQAK2ENi3b598+eWXsmzZMqlSpYqceeaZcvLJJxe5eD/8\n8IN89dVX8tNPP8mxxx4rF154oVSrVq3I+R3MidnZ2RIXl/O+u2TJEtm8ebOcccYZctRRRxUp2xkz\nZgjyvOyyywp1fmg5ippHoS6Yz8FLly6VTZs2yemnny7169fP5+jC7Q7VtXBn5hyN++aLL76QevXq\nmXuxKHnwHBKIScChkIAFBPRB7KixdfRmDX4CgYBzww03OJmZmYUq4a5du5xzzz03mI+bZ40aNZxP\nPvmkUHkd7MG//fab069fP+fZZ58NZnXNNdeYsr399tvBtML+qFSpkskjKyurQKd+++23Ttu2bR01\n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\nAjTApUGZ1yABEiABEiCBMAI0wGFAuEkCJEACJEACpUGABrg0KPMaJEACJEACJBBGwJr1gMPKxU0S\nIAES8DyB++67TzZu3CgJCQmlqssXX3whcXFxsmDBglK9bkZGhjRq1EiGDx9eqtf16sVogL1acyw3\nCZCA9QT++OMP6dy5s5x66qmlWtb09HRzvbp165bqdZcsWSJfffVVqV7TyxejAfZy7bHsJEACVhOo\nUqWKHHvssXLCCSeUajlL+3qucr/88ot8//337ia/8yHAPuB8AHE3CZAACZAACZQEARrgkqDKPEmA\nBEiABEggHwI0wPkA4m4SIAESIAESKAkCNMAlQZV5kgAJkAAJkEA+BKwzwJmZmbJz5858is3dJEAC\nJEACJOBtAlYY4P3798ugQYMkMTFRKlasKDVr1pSqVatK06ZNZeLEid4mzNKTAAmQAAmQQAQCVgxD\n6tu3r2Dc2syZM80gbhjfXbt2SVpamqSmpsrevXuld+/eEYrPJBIgARIgARLwJgErWsBz5syRCRMm\nSPPmzaVatWoSCASkevXq0rp1axkzZoxMmzbNm3RZahIgARIgARKIQsAKAwxX87x58yIWccaMGVK7\ndu2I+5hIAiRAAiRAAl4lYIULeujQodK9e3cZPXq0JCUlmXlTMafoihUrBEFZs2bN8ipflpsESIAE\nSIAEIhKwwgAnJyfL0qVLZeHChbJhwwbTH4xWL/p9zz77bMnKyopYeCaSAAmQAAmQgFcJWGGAN23a\nJPfff79MnTrV9PuOHz9eGjdubJhOnjzZpL/99tteZcxykwAJkAAJkEAeAlb0AcP1XK9ePVm8eLEx\nwCkpKbJ69eo8hWUCCZAACZAACfiFgBUtYPTxwgVduXJlQX/wSSedJBdddJF8/vnnfuFMPUiABEiA\nBEggFwErDDAMLlq/5557rinc1VdfLVu3bpWOHTvKrbfemqvAsTZ+++03QfBWJNm+fbsZTxxpH9NI\ngARIgARIoLQJWGGAb7vtNunatav069dP7r33XsOgf//+snv3bpPWpUuXAnH58MMPzWQekQ5GcNcp\np5wSaRfTSIAESIAESKDUCVhhgNu3by9r166VdevW5QLw4IMPSps2bcy+XDuibMCI4xNJpkyZImgF\nU0iABEiABEjABgJWGGCAwPSTzZo1y8Okbdu2gg+FBEiABEiABPxEwIoo6FhAV61aZQK0Yh3DfSRA\n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\nkcD/Ay67A1+IV3H0AAAAAElFTkSuQmCC\n" } ], "prompt_number": 12 }, { "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": 13 }, { "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": 14 }, { "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": 15 }, { "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": 16 }, { "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": 17 }, { "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": 18 }, { "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": 19 }, { "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": 20 }, { "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": 21 }, { "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": 22 }, { "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": 23 }, { "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": 24 }, { "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": 25 }, { "cell_type": "code", "collapsed": false, "input": [ "!rm DevelMvD3_DML_filt DevelMvD5_DML DevelD3vD5_DML" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 26 }, { "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": 27 }, { "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": 28 }, { "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": 29 }, { "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": 30 }, { "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": 31 }, { "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": 32 }, { "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-12111040/wd/genome_tracks\n" ] } ], "prompt_number": 33 }, { "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", "100 11.7M 100 11.7M 0 0 15.9M 0 --:--:-- --:--:-- --:--:-- 29.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 12.0M 100 12.0M 0 0 42.1M 0 --:--:-- --:--:-- --:--:-- 42.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 39.1M 0 --:--:-- --:--:-- --:--:-- 39.5M\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", " 68 1777k 68 1216k 0 0 22.1M 0 --:--:-- --:--:-- --:--:-- 22.4M\r", "100 1777k 100 1777k 0 0 27.6M 0 --:--:-- --:--:-- --:--:-- 27.9M\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 22.2M 0 --:--:-- --:--:-- --:--:-- 22.8M\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", " 2 932M 2 26.7M 0 0 43.1M 0 0:00:21 --:--:-- 0:00:21 43.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 6 932M 6 57.6M 0 0 33.6M 0 0:00:27 0:00:01 0:00:26 33.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 8 932M 8 80.0M 0 0 30.5M 0 0:00:30 0:00:02 0:00:28 30.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 10 932M 10 93.7M 0 0 25.9M 0 0:00:35 0:00:03 0:00:32 25.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 12 932M 12 116M 0 0 25.2M 0 0:00:36 0:00:04 0:00:32 25.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 15 932M 15 148M 0 0 26.3M 0 0:00:35 0:00:05 0:00:30 24.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 18 932M 18 169M 0 0 25.5M 0 0:00:36 0:00:06 0:00:30 22.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 20 932M 20 186M 0 0 24.4M 0 0:00:38 0:00:07 0:00:31 21.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 24 932M 24 225M 0 0 26.0M 0 0:00:35 0:00:08 0:00:27 26.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 26 932M 26 243M 0 0 25.2M 0 0:00:36 0:00:09 0:00:27 25.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 27 932M 27 258M 0 0 24.2M 0 0:00:38 0:00:10 0:00:28 21.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 31 932M 31 297M 0 0 25.5M 0 0:00:36 0:00:11 0:00:25 25.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 33 932M 33 312M 0 0 24.7M 0 0:00:37 0:00:12 0:00:25 25.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 35 932M 35 333M 0 0 24.4M 0 0:00:38 0:00:13 0:00:25 21.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 39 932M 39 364M 0 0 24.5M 0 0:00:37 0:00:14 0:00:23 23.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 41 932M 41 384M 0 0 24.6M 0 0:00:37 0:00:15 0:00:22 25.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 43 932M 43 408M 0 0 24.5M 0 0:00:37 0:00:16 0:00:21 22.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 47 932M 47 444M 0 0 25.2M 0 0:00:36 0:00:17 0:00:19 26.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 49 932M 49 465M 0 0 25.0M 0 0:00:37 0:00:18 0:00:19 26.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 52 932M 52 490M 0 0 25.0M 0 0:00:37 0:00:19 0:00:18 26.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 55 932M 55 517M 0 0 24.5M 0 0:00:38 0:00:21 0:00:17 24.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 56 932M 56 527M 0 0 24.3M 0 0:00:38 0:00:2" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "1 0:00:17 23.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 59 932M 59 558M 0 0 24.6M 0 0:00:37 0:00:22 0:00:15 22.8M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 63 932M 63 588M 0 0 24.9M 0 0:00:37 0:00:23 0:00:14 24.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 65 932M 65 611M 0 0 24.8M 0 0:00:37 0:00:24 0:00:13 24.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 67 932M 67 627M 0 0 24.4M 0 0:00:38 0:00:25 0:00:13 24.1M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 70 932M 70 657M 0 0 24.6M 0 0:00:37 0:00:26 0:00:11 26.2M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 72 932M 72 675M 0 0 24.4M 0 0:00:38 0:00:27 0:00:11 23.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 75 932M 75 705M 0 0 24.6M 0 0:00:37 0:00:28 0:00:09 23.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 78 932M 78 735M 0 0 24.8M 0 0:00:37 0:00:29 0:00:08 24.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 80 932M 80 752M 0 0 24.4M 0 0:00:38 0:00:30 0:00:08 24.5M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 83 932M 83 777M 0 0 24.4M 0 0:00:38 0:00:31 0:00:07 23.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 86 932M 86 805M 0 0 24.7M 0 0:00:37 0:00:32 0:00:05 26.0M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 88 932M 88 828M 0 0 24.6M 0 0:00:37 0:00:33 0:00:04 24.4M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 91 932M 91 851M 0 0 24.5M 0 0:00:38 0:00:34 0:00:04 22.6M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 94 932M 94 882M 0 0 24.7M 0 0:00:37 0:00:35 0:00:02 26.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 96 932M 96 901M 0 0 24.6M 0 0:00:37 0:00:36 0:00:01 25.3M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", " 98 932M 98 915M 0 0 24.3M 0 0:00:38 0:00:37 0:00:01 21.9M" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\r", "100 932M 100 932M 0 0 24.5M 0 0:00:38 0:00:38 --:--:-- 23.4M\r\n" ] } ], "prompt_number": 34 }, { "cell_type": "code", "collapsed": false, "input": [ "cd .." ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "/Volumes/web/cnidarian/olson-thesis-nb-master-12111040/wd\n" ] } ], "prompt_number": 35 }, { "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": 36 }, { "cell_type": "code", "collapsed": false, "input": [ "#Concatenate counts of genomic regions into one table for lineage-specific DMLs\n", "!cat linintron linexon lin1k5p_gene_promoter linTE > lin_table" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 37 }, { "cell_type": "code", "collapsed": false, "input": [ "#remove temp files\n", "!rm linintron linexon lin1k5p_gene_promoter linTE" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 38 }, { "cell_type": "code", "collapsed": false, "input": [ "!awk 'FNR==NR{sum+=$1;next}; {print $0,sum}' lin_table{,} > lin_total" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 39 }, { "cell_type": "code", "collapsed": false, "input": [ "!awk '{print $2, $1, $3, (($1/$3)*100)}' lin_total > lineage_DMLs" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 40 }, { "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": 41 }, { "cell_type": "code", "collapsed": false, "input": [ "#Concatenate counts of genomic regions into one table for developmentally different DMLs\n", "!cat devintron devexon dev1k5p_gene_promoter devTE > dev_table" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 42 }, { "cell_type": "code", "collapsed": false, "input": [ "#remove temp files\n", "!rm devintron devexon dev1k5p_gene_promoter devTE" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 43 }, { "cell_type": "code", "collapsed": false, "input": [ "!awk 'FNR==NR{sum+=$1;next}; {print $0,sum}' dev_table{,} > dev_total" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 44 }, { "cell_type": "code", "collapsed": false, "input": [ "!awk '{print $2, $1, $3, (($1/$3)*100)}' dev_total > developmental_DMLs" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 45 }, { "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": 46 }, { "cell_type": "code", "collapsed": false, "input": [ "#Concatenate counts of genomic regions into one table for all CGs in oyster genome\n", "!cat CGintron CGexon CG1k5p_gene_promoter CGTE > CG_table" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 47 }, { "cell_type": "code", "collapsed": false, "input": [ "#remove temp files\n", "!rm CGintron CGexon CG1k5p_gene_promoter CGTE" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "rm: CGintron: No such file or directory\r\n", "rm: CGexon: No such file or directory\r\n", "rm: CG1k5p_gene_promoter: No such file or directory\r\n", "rm: CGTE: No such file or directory\r\n" ] } ], "prompt_number": 49 }, { "cell_type": "code", "collapsed": false, "input": [ "!awk 'FNR==NR{sum+=$1;next}; {print $0,sum}' CG_table{,} > CG_total" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 50 }, { "cell_type": "code", "collapsed": false, "input": [ "!awk '{print $2, $1, $3, (($1/$3)*100)}' CG_total > allCGs" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 51 }, { "cell_type": "code", "collapsed": false, "input": [ "!paste -d\" \" lineage_DMLs developmental_DMLs allCGs > StackedBars" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 52 }, { "cell_type": "code", "collapsed": false, "input": [ "!awk '{print $4, $8, $12}' StackedBars | tr ' ' \"\\t\" > StackedBars_DMLs" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 53 }, { "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": 54 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }