{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Calculating CpG ratio for the *Stylophora pistillata* transcriptome" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This workflow calculates CpG ratio, or CpG O/E, for contigs in the *Stylophora pistillata* [transcriptome](http://data.centrescientifique.mc/Data/454Isotigs.fas.zip). CpG ratio is an estimate of germline DNA methylation.\n", "\n", "This workflow is an extension of another IPython notebook workflow, `Spist_blast_anno.ipynb`, that generates an annotation of the same transcriptome. This workflow assumes that you have created the directories and files specified in the annotation workflow." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/Users/jd/Documents/Projects/Coral-CpG-ratio-MS/data/Spist\n" ] } ], "source": [ "cd ../data/Spist" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ ">Spi_contig00032 gene=isogroup00001 length=1566\n", "GgATCCATCGAAAGAAAAaGTCGTAGTTGACAGTGATTGCATGACTTCTGTACAACGTCCGATTAGTTTTtGCGTTTTATTGTCTtCTTTTGTACTGgAAATTCGACTCTAGCAAGTTGATTTCGTTTAGTTATGTCTGGCATTGCTTTGGGCAGATTATCAGAAGAGAGAAAAGCTTGGCGTAAAGACcATCCTTTCGGATTTGTGGCCAAACCGGTTAAAAATCCTGATGGTACTCTAAATCTGATGAACTGGGAATGTGCGATCCCaGGAAAGAAAGCGACCCCATGGGAAGGAGGCTCTTTCAAATTGAAGATGATATTTAAAGACGACTATCCATCCTCTCCGCCAAAATGTAAATTTGATCCTCCAATTTTCCATCCTAATGTATACCCATCTGGCACAGTGTGTCTGTCTCTTCTAGATGAAGAGAAAGACTGGAGACCTGCCGTCACTATAAAACAGATTTTATTGGGAATTCAAGACTTACTGAaTGATCCAAaCaTAaGaGATCCAGCTCAAGCAGAAGCATACaCCATTTACTGCCAAAACAGATCAGAATATGAGAAACGAGTCAGAAGTCAAGCTGCAAaGTTCTCAAGTTCATAGTGAATAAAGAAAAATATAAAATACTTCGCTAGCAGACGTGTAGGTTAACaGTGACTGGCAGAAATTGGATTTATTTTTtCTCcGTTtGTAAacAaCAaTGTGGAGTGGAGCAaGAATTCATCCgTAACTGCGTTAATACCACAGCTGTTGTTGTGAATTGGAaGGACAATCATGTCTGTTATTTtAGGAAGTTTCACAATGTACAGTTCAACTAACTTATACTAAAAAaCAGCTAAAGTtCACCTTAGTCTATGTtAGTTTtGTTAAAGCTTCTCTGTAgAAGGTTTGGGAGGgTtGTAATGGCTGTAACTATTCAGGgAGATCTGTCAAAGTACACTCTCTAATCCCATTGTTTCTTAAGGAATGAGTCATTATTTATTGTCTGGTGGGACGGaGGaTTTTAATCGTGTCACAATAAAATTTACCTGATCTTCCCatAagACCTGTAGTAATCTAaTGGTCCCTGTCATTGGCAGTCAaTTTTCTATAGTTTCCTGTTAACCTCTGTTAGCTACAACTGATGCCCCcTCTGTACCCCCCTAAAATTGTGTTCCCCCAAAgAAaTCCTTCCACCCACCCCATaCCTCCAGGTGATAACTAATGActGGTCCTTAATTCATTCTCTTTTTTTtGTTCTTGATTATTTGACTAAACCAAAGGCGatAAGTAAGATATACCCcAAtACGATTTGACGAACAATCTCTAGATTTTTTATTtAATCTTTAGTTGTAGATGTAATCAGAGGTGCAAAGCTTTACTGTTTtGAGTGTAAAGTGCCTGTTTCTAGGGATCCAGTGAAACCAGTAGTGTTGGGATTGTAAAGAGaTCAAAGAaTACCTCAAAGCACCAATCATAATGCTCTAATGTTGACAACTGCTAATGATTGGTtCAGCCTaTGGCTTTCATTAAAAaCGTCAAAAAaTAACGCTTCACTTCATTGCAAGTGATTCAGGTGGa\n", "\n", "number of seqs =\n", "15052\n" ] } ], "source": [ "#fasta file\n", "!head -2 Spist.fasta\n", "!echo \n", "!echo number of seqs =\n", "!fgrep -c \">\" Spist.fasta" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "awk: cannot open Spist.fasta (No such file or directory)\r\n" ] } ], "source": [ "#Just printing first line w/out comments and looking at contig names\n", "!awk '{print $1}' Spist.fasta > Spist2.fasta\n", "!head -10 Spist2.fasta\n", "!tail -10 Spist2.fasta" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "Converted 15052 FASTA records in 30104 lines to tabular format\r\n", "Total sequence length: 16227896\r\n", "\r\n" ] } ], "source": [ "#Converting FASTA to tabular format and placing output file in analyses directory\n", "!perl -e '$count=0; $len=0; while(<>) {s/\\r?\\n//; s/\\t/ /g; if (s/^>//) { if ($. != 1) {print \"\\n\"} s/ |$/\\t/; $count++; $_ .= \"\\t\";} else {s/ //g; $len += length($_)} print $_;} print \"\\n\"; warn \"\\nConverted $count FASTA records in $. lines to tabular format\\nTotal sequence length: $len\\n\\n\";' \\\n", "Spist2.fasta > ../../analyses/Spist/fasta2tab" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/home/jay/Documents/fish546-2015/Analyses/Spist\n" ] } ], "source": [ "cd ../../analyses/Spist" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Spi_contig00032\t\tGgATCCATCGAAAGAAAAaGTCGTAGTTGACAGTGATTGCATGACTTCTGTACAACGTCCGATTAGTTTTtGCGTTTTATTGTCTtCTTTTGTACTGgAAATTCGACTCTAGCAAGTTGATTTCGTTTAGTTATGTCTGGCATTGCTTTGGGCAGATTATCAGAAGAGAGAAAAGCTTGGCGTAAAGACcATCCTTTCGGATTTGTGGCCAAACCGGTTAAAAATCCTGATGGTACTCTAAATCTGATGAACTGGGAATGTGCGATCCCaGGAAAGAAAGCGACCCCATGGGAAGGAGGCTCTTTCAAATTGAAGATGATATTTAAAGACGACTATCCATCCTCTCCGCCAAAATGTAAATTTGATCCTCCAATTTTCCATCCTAATGTATACCCATCTGGCACAGTGTGTCTGTCTCTTCTAGATGAAGAGAAAGACTGGAGACCTGCCGTCACTATAAAACAGATTTTATTGGGAATTCAAGACTTACTGAaTGATCCAAaCaTAaGaGATCCAGCTCAAGCAGAAGCATACaCCATTTACTGCCAAAACAGATCAGAATATGAGAAACGAGTCAGAAGTCAAGCTGCAAaGTTCTCAAGTTCATAGTGAATAAAGAAAAATATAAAATACTTCGCTAGCAGACGTGTAGGTTAACaGTGACTGGCAGAAATTGGATTTATTTTTtCTCcGTTtGTAAacAaCAaTGTGGAGTGGAGCAaGAATTCATCCgTAACTGCGTTAATACCACAGCTGTTGTTGTGAATTGGAaGGACAATCATGTCTGTTATTTtAGGAAGTTTCACAATGTACAGTTCAACTAACTTATACTAAAAAaCAGCTAAAGTtCACCTTAGTCTATGTtAGTTTtGTTAAAGCTTCTCTGTAgAAGGTTTGGGAGGgTtGTAATGGCTGTAACTATTCAGGgAGATCTGTCAAAGTACACTCTCTAATCCCATTGTTTCTTAAGGAATGAGTCATTATTTATTGTCTGGTGGGACGGaGGaTTTTAATCGTGTCACAATAAAATTTACCTGATCTTCCCatAagACCTGTAGTAATCTAaTGGTCCCTGTCATTGGCAGTCAaTTTTCTATAGTTTCCTGTTAACCTCTGTTAGCTACAACTGATGCCCCcTCTGTACCCCCCTAAAATTGTGTTCCCCCAAAgAAaTCCTTCCACCCACCCCATaCCTCCAGGTGATAACTAATGActGGTCCTTAATTCATTCTCTTTTTTTtGTTCTTGATTATTTGACTAAACCAAAGGCGatAAGTAAGATATACCCcAAtACGATTTGACGAACAATCTCTAGATTTTTTATTtAATCTTTAGTTGTAGATGTAATCAGAGGTGCAAAGCTTTACTGTTTtGAGTGTAAAGTGCCTGTTTCTAGGGATCCAGTGAAACCAGTAGTGTTGGGATTGTAAAGAGaTCAAAGAaTACCTCAAAGCACCAATCATAATGCTCTAATGTTGACAACTGCTAATGATTGGTtCAGCCTaTGGCTTTCATTAAAAaCGTCAAAAAaTAACGCTTCACTTCATTGCAAGTGATTCAGGTGGa\r\n", "Spi_contig00035\t\tAGCAGAGATCTATCAGACGACTATGTTACGACATGAAAaCCTTTTAGGCTTtGTAGCTGCTGACAaCAAaGATAATGGTGCCTGGACACAGCTTTGGCTGGTTACAGATTATTTagAAAGGGgCTCATTGTATGACTATCTTCAACTTGTTACCCTGAATGTTGAATCCATGCTGAAGTTAGCAGTGTCAATAGCCAGTGGACTTGCTCATCTCCACATtGAGATtGTAGGCACCCAAGgAAAGCCAGCTATTGCACATCGTGACTTAAAAaGTAAAAaCATTCTGGTTAAAAGAAATGGGACATGTTGCATAGGTGATTTGGGTCTTGCTGTTCGTCATAGTTCCATTACTGACACAGTTGATGTTCCTCCTGGGAACAGAgTTGGTACAAAGCGCTACATGCCACCTGAATTTTtAGATGACAATATACAGGTGCGGCACTTTGATGCATACAAGCGAGGTGATATGTATGCATTTGGTCTAGTGTTATGGGAAaTTGCAAGGACgTGTGTTTGTGGTGGATTGTGTGATGAATATCAGCTGCCCTACTATGACAGAGTTCCCTGTGATCCCAGCATTGAAGAtATGAGAAAGGTGGTCTGTGTGGAGAGGTATCGCCCTGCCTTTCCAAATAGGTGGATACAAGATCAGACACTACAGTCTATGTCCAAGTTGATGAAAGAATGTTGGTATGCCAATAGTGCTGCAAGACTTACAGCTCTCCGTGTTAAGAAGACTCTTACAACAcTGTGTCAGTTACATGATGTTGATATTATGGTTTAGAGGGaTCCATCAaGAAAACTCATGTAAAACAAGTgCAAGATGGGTGTATCACCAGGACTTATATAACAGGAGGAACCTCCTGATAATCCTTGCAGGCAATTTGTAGGTCCTGTAATGTGATACAGTACATGTCTACCATCATGCTATTGgTTTGCAGTTCAAACaGCAATGCTGTCTTTtATTTTTtGATAAAGCCATGAAGAATAAACGCGACAGAGAAAaTTTATGACTTCCTAGTTAACAAGAAGCATTCtCATTTTTTTTTTTTtttGCCTGCATAATTcTTGtATTTATATCCACAGCAACTGTCACTGACTCAAAGTgTtGgtAaTCatCAGCAACAAAGAACCCAACTTGgTTTTATGAAAGCACGTACATtCAAATGAGCAATTTAAATTGAAAACCTAAAAGGACATATCCATGTGCAACAACTGTAGAACTATGTATGAGCAGTGTCCACTATTCTCCTCCTTAGTTTATTTTAGATGTTTCGAATGAGAATACAGAATAGAGCTTCATCCTTTTGACATTGAAAGCATTTCATACTCAAGTATtGAAGGGTATGATTCTTTGTTGTGAGGAACGACACTCACCAAGTAATCCTCAAAATATTTAAGAGCATACATGGATTTTACCAAAAGATGTGGGTTGGTCATATCTACATTAAGAATTTGTTACAATAGTAAGGTAGTTGCAGTGCTGTAGCTAGCTCTTAGATGAAGCGTGTTTATTGCATTCAAATTGAAATGTTATTGTTTAAAGTGATTCTCAAATTAAAAGACATTGTATTTTTAGACAACTTTTTATCTTCGAAAACCCAGTGGTGTAAGGTAATTACATTATTTTATGTTCATAACAAATACATTTTAACTGTATTCCACCAAACAATGTGAAAGGGGCAGTTTAAGAATTAATGAAATCTTTCTTGATACCCGTTCTtcAGAACGCTTTATAGTATCTTCTTTATAGTTGTAAATAAaCCGAaTACTTTGCGTGTGAGGGGCATTGAaGAAACTGAAGGGTTTTGTTTGACTCTGTTCTAACAGAAtCAAACATAATGTAATTACTCGGAACTTCATTAAACTGGTGGCC\r\n" ] } ], "source": [ "#Checking header on new tabular format file\n", "!head -2 fasta2tab" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "Added column with length of column 2 for 15052 lines.\r\n", "\r\n" ] } ], "source": [ "#Add column with length of sequence\n", "!perl -e '$col = 2;' -e 'while (<>) { s/\\r?\\n//; @F = split /\\t/, $_; $len = length($F[$col]); print \"$_\\t$len\\n\" } warn \"\\nAdded column with length of column $col for $. lines.\\n\\n\";' \\\n", "fasta2tab > tab_1" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 15052 45156 16565757 tab_1\r\n" ] } ], "source": [ "!wc tab_1" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [], "source": [ "#The file used to count Cs and Gs will only include the sequence\n", "!awk '{print $2}' tab_1 > tab_2" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [], "source": [ "#This counts CGs - both cases\n", "!echo \"CG\" | awk -F\\[Cc][Gg] '{print NF-1}' tab_2 > CG " ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [], "source": [ "#Counts Cs\n", "!echo \"C\" | awk -F\\[Cc] '{print NF-1}' tab_2 > C " ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [], "source": [ "#Counts Gs\n", "!echo \"G\" | awk -F\\[Gg] '{print NF-1}' tab_2 > G " ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Spi_contig00032\t\tGgATCCATCGAAAGAAAAaGTCGTAGTTGACAGTGATTGCATGACTTCTGTACAACGTCCGATTAGTTTTtGCGTTTTATTGTCTtCTTTTGTACTGgAAATTCGACTCTAGCAAGTTGATTTCGTTTAGTTATGTCTGGCATTGCTTTGGGCAGATTATCAGAAGAGAGAAAAGCTTGGCGTAAAGACcATCCTTTCGGATTTGTGGCCAAACCGGTTAAAAATCCTGATGGTACTCTAAATCTGATGAACTGGGAATGTGCGATCCCaGGAAAGAAAGCGACCCCATGGGAAGGAGGCTCTTTCAAATTGAAGATGATATTTAAAGACGACTATCCATCCTCTCCGCCAAAATGTAAATTTGATCCTCCAATTTTCCATCCTAATGTATACCCATCTGGCACAGTGTGTCTGTCTCTTCTAGATGAAGAGAAAGACTGGAGACCTGCCGTCACTATAAAACAGATTTTATTGGGAATTCAAGACTTACTGAaTGATCCAAaCaTAaGaGATCCAGCTCAAGCAGAAGCATACaCCATTTACTGCCAAAACAGATCAGAATATGAGAAACGAGTCAGAAGTCAAGCTGCAAaGTTCTCAAGTTCATAGTGAATAAAGAAAAATATAAAATACTTCGCTAGCAGACGTGTAGGTTAACaGTGACTGGCAGAAATTGGATTTATTTTTtCTCcGTTtGTAAacAaCAaTGTGGAGTGGAGCAaGAATTCATCCgTAACTGCGTTAATACCACAGCTGTTGTTGTGAATTGGAaGGACAATCATGTCTGTTATTTtAGGAAGTTTCACAATGTACAGTTCAACTAACTTATACTAAAAAaCAGCTAAAGTtCACCTTAGTCTATGTtAGTTTtGTTAAAGCTTCTCTGTAgAAGGTTTGGGAGGgTtGTAATGGCTGTAACTATTCAGGgAGATCTGTCAAAGTACACTCTCTAATCCCATTGTTTCTTAAGGAATGAGTCATTATTTATTGTCTGGTGGGACGGaGGaTTTTAATCGTGTCACAATAAAATTTACCTGATCTTCCCatAagACCTGTAGTAATCTAaTGGTCCCTGTCATTGGCAGTCAaTTTTCTATAGTTTCCTGTTAACCTCTGTTAGCTACAACTGATGCCCCcTCTGTACCCCCCTAAAATTGTGTTCCCCCAAAgAAaTCCTTCCACCCACCCCATaCCTCCAGGTGATAACTAATGActGGTCCTTAATTCATTCTCTTTTTTTtGTTCTTGATTATTTGACTAAACCAAAGGCGatAAGTAAGATATACCCcAAtACGATTTGACGAACAATCTCTAGATTTTTTATTtAATCTTTAGTTGTAGATGTAATCAGAGGTGCAAAGCTTTACTGTTTtGAGTGTAAAGTGCCTGTTTCTAGGGATCCAGTGAAACCAGTAGTGTTGGGATTGTAAAGAGaTCAAAGAaTACCTCAAAGCACCAATCATAATGCTCTAATGTTGACAACTGCTAATGATTGGTtCAGCCTaTGGCTTTCATTAAAAaCGTCAAAAAaTAACGCTTCACTTCATTGCAAGTGATTCAGGTGGa\t1566\t28\t297\t305\r\n" ] } ], "source": [ "#Combining counts\n", "!paste tab_1 \\\n", "CG \\\n", "C \\\n", "G \\\n", "> comb\n", "!head -1 comb" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Calculating CpGo/e based on [Gavery and Roberts (2010)](http://www.biomedcentral.com/1471-2164/11/483)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\"BMC_Genomics___Full_text___DNA_methylation_patterns_provide_insight_into_epigenetic_regulation_in_the_Pacific_oyster__Crassostrea_gigas__1A0683A5.png\"/" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [], "source": [ "!awk '{print $1, \"\\t\", (($4)/($5*$6))*(($3^2)/($3-1))}' comb > ID_CpG #use ^ instead of ** for exponent\n" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Spi_contig00032 \t 0.484363\n", "Spi_contig00035 \t 0.335179\n", "Spi_contig00040 \t 0.854266\n", "Spi_contig00044 \t 0.867137\n", "Spi_contig00046 \t 0.196592\n", "Spi_contig00075 \t 0.871739\n", "Spi_contig00091 \t 0.937628\n", "Spi_contig00094 \t 0.131292\n", "Spi_contig00095 \t 0.684932\n", "Spi_contig00098 \t 0.584255\n", " 15052 30104 402540 ID_CpG\n" ] } ], "source": [ "!head ID_CpG\n", "!wc ID_CpG" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Now joining CpG to annotation, but first must sort files." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Spi_contig00035\tsp\tP80204\tTGFR1_RAT\t69.77\t258\t78\t0\t2\t775\t244\t501\t2e-129\t 397\r\n", "Spi_contig00040\tsp\tQ35101\tCOX1_METSE\t82.85\t449\t72\t1\t605\t1936\t70\t518\t0.0\t 665\r\n", "Spi_contig00046\tsp\tE7EY42\tPTSS2_DANRE\t56.41\t234\t101\t1\t19\t720\t26\t258\t6e-91\t 281\r\n", "Spi_contig00075\tsp\tQ37556\tNU1M_METSE\t80.16\t247\t48\t1\t1719\t2456\t29\t275\t3e-104\t 333\r\n", "Spi_contig00094\tsp\tP00519\tABL1_HUMAN\t48.15\t54\t28\t0\t2494\t2333\t443\t496\t2e-09\t65.1\r\n", "Spi_contig00095\tsp\tP20693\tFCER2_MOUSE\t28.57\t203\t122\t5\t831\t229\t128\t309\t6e-18\t87.0\r\n", "Spi_contig00834\tsp\tP19615\tMYP_STRPU\t32.94\t598\t321\t18\t50\t1741\t132\t683\t2e-84\t 294\r\n", "Spi_contig04187\tsp\tQ9CYA0\tCREL2_MOUSE\t43.57\t140\t77\t2\t82\t501\t193\t330\t1e-27\t 110\r\n", "Spi_isotig00002\tsp\tQ5I2B1\tACTPG_OULOR\t56.49\t131\t56\t1\t1429\t1037\t7\t136\t6e-41\t 151\r\n", "Spi_isotig00005\tsp\tC9EIC7\tACTP1_URTCR\t51.67\t120\t57\t1\t1444\t1085\t54\t172\t2e-31\t 126\r\n" ] } ], "source": [ "#Sorting Ahya Uniprot/Swissprot annotation file. This file was the result of work done in another notebook: Ahya_blast_anno.ipynb\n", "!sort Spist_blastx_uniprot_sql.tab | tail -n +2 > Spist_blastx_uniprot_sql.tab.sorted\n", "!head Spist_blastx_uniprot_sql.tab.sorted" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "sort: open failed: Spist_GOSlim.tab: No such file or directory\r\n" ] } ], "source": [ "#Sorting GOSlim annotation file. This file was the result of work done in another notebook: Spist_blast_anno.ipynb\n", "!sort Spist_GOSlim.tab | tail -n +2 > Spist_GOSlim.sorted\n", "!head Spist_GOSlim.sorted" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Spi_contig00032 \t 0.484363\r\n", "Spi_contig00035 \t 0.335179\r\n", "Spi_contig00040 \t 0.854266\r\n", "Spi_contig00044 \t 0.867137\r\n", "Spi_contig00046 \t 0.196592\r\n", "Spi_contig00075 \t 0.871739\r\n", "Spi_contig00091 \t 0.937628\r\n", "Spi_contig00094 \t 0.131292\r\n", "Spi_contig00095 \t 0.684932\r\n", "Spi_contig00098 \t 0.584255\r\n" ] } ], "source": [ "#Sorting CpG file\n", "!sort ID_CpG > ID_CpG.sorted\n", "!head ID_CpG.sorted" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# For this analysis, *Symbiodinium* sequences were removed. Using file generated from Spist_zoox_removal.ipynb, ID_CpG.sorted2" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "!join ID_CpG.sorted2 Spist_blastx_uniprot_sql.tab.sorted | awk '{print $1, \"\\t\", $2}' > Spist_cpg_anno" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Spi_contig00035 \t 0.335179\n", "Spi_contig00040 \t 0.854266\n", "Spi_contig00046 \t 0.196592\n", "Spi_contig00075 \t 0.871739\n", "Spi_contig00094 \t 0.131292\n", "Spi_contig00095 \t 0.684932\n", "Spi_contig00834 \t 0.654594\n", "Spi_contig04187 \t 0.876088\n", "Spi_isotig00002 \t 0.910243\n", "Spi_isotig00005 \t 0.900018\n", " 7061 14122 189272 Spist_cpg_anno\n" ] } ], "source": [ "!head Spist_cpg_anno\n", "!wc Spist_cpg_anno" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [], "source": [ "!join ID_CpG.sorted2 Spist_GOSlim.sorted > Spist_cpg_GOslim" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Spi_contig00032 0.484363 cell cycle and proliferation\r\n", "Spi_contig00032 0.484363 cell organization and biogenesis\r\n", "Spi_contig00032 0.484363 developmental processes\r\n", "Spi_contig00032 0.484363 other biological processes\r\n", "Spi_contig00032 0.484363 protein metabolism\r\n", "Spi_contig00035 0.335179 cell cycle and proliferation\r\n", "Spi_contig00035 0.335179 cell organization and biogenesis\r\n", "Spi_contig00035 0.335179 death\r\n", "Spi_contig00035 0.335179 developmental processes\r\n", "Spi_contig00035 0.335179 other biological processes\r\n" ] } ], "source": [ "!head Spist_cpg_GOslim" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Spi_contig00032 \t 0.484363 \t cell cycle and proliferation\r\n", "Spi_contig00032 \t 0.484363 \t cell organization and biogenesis\r\n", "Spi_contig00032 \t 0.484363 \t developmental processes \r\n", "Spi_contig00032 \t 0.484363 \t other biological processes \r\n", "Spi_contig00032 \t 0.484363 \t protein metabolism \r\n", "Spi_contig00035 \t 0.335179 \t cell cycle and proliferation\r\n", "Spi_contig00035 \t 0.335179 \t cell organization and biogenesis\r\n", "Spi_contig00035 \t 0.335179 \t death \r\n", "Spi_contig00035 \t 0.335179 \t developmental processes \r\n", "Spi_contig00035 \t 0.335179 \t other biological processes \r\n" ] } ], "source": [ "#Putting tabs in between columns\n", "!awk '{print $1, \"\\t\", $2, \"\\t\", $3, $4, $5, $6}' Spist_cpg_GOslim > Spist_cpg_GOslim.tab\n", "!head Spist_cpg_GOslim.tab" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Now time to plot data using pandas and matplot" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
012
0 Spi_contig00032 0.484363 cell cycle and proliferation
1 Spi_contig00032 0.484363 cell organization and biogenesis
2 Spi_contig00032 0.484363 developmental processes
3 Spi_contig00032 0.484363 other biological processes
4 Spi_contig00032 0.484363 protein metabolism
5 Spi_contig00035 0.335179 cell cycle and proliferation
6 Spi_contig00035 0.335179 cell organization and biogenesis
7 Spi_contig00035 0.335179 death
8 Spi_contig00035 0.335179 developmental processes
9 Spi_contig00035 0.335179 other biological processes
10 Spi_contig00035 0.335179 other metabolic processes
11 Spi_contig00035 0.335179 protein metabolism
12 Spi_contig00035 0.335179 RNA metabolism
13 Spi_contig00035 0.335179 signal transduction
14 Spi_contig00035 0.335179 stress response
15 Spi_contig00035 0.335179 transport
16 Spi_contig00040 0.854266 other metabolic processes
17 Spi_contig00040 0.854266 transport
18 Spi_contig00046 0.196592 other metabolic processes
19 Spi_contig00075 0.871739 other metabolic processes
20 Spi_contig00075 0.871739 transport
21 Spi_contig00094 0.131292 cell adhesion
22 Spi_contig00094 0.131292 cell cycle and proliferation
23 Spi_contig00094 0.131292 cell organization and biogenesis
24 Spi_contig00094 0.131292 death
25 Spi_contig00094 0.131292 developmental processes
26 Spi_contig00094 0.131292 DNA metabolism
27 Spi_contig00094 0.131292 other biological processes
28 Spi_contig00094 0.131292 other metabolic processes
29 Spi_contig00094 0.131292 protein metabolism
............
13603 Spi_isotig14901 0.815894 other metabolic processes
13604 Spi_isotig14913 0.841359 signal transduction
13605 Spi_isotig14926 0.391261 protein metabolism
13606 Spi_isotig14932 0.626017 protein metabolism
13607 Spi_isotig14936 0.253558 other metabolic processes
13608 Spi_isotig14955 0.534380 cell cycle and proliferation
13609 Spi_isotig14955 0.534380 cell organization and biogenesis
13610 Spi_isotig14955 0.534380 developmental processes
13611 Spi_isotig14956 0.431596 protein metabolism
13612 Spi_isotig14959 0.958655 cell organization and biogenesis
13613 Spi_isotig14962 0.348816 other metabolic processes
13614 Spi_isotig14962 0.348816 transport
13615 Spi_isotig14966 0.683519 protein metabolism
13616 Spi_isotig14969 0.480887 DNA metabolism
13617 Spi_isotig14969 0.480887 protein metabolism
13618 Spi_isotig14969 0.480887 signal transduction
13619 Spi_isotig14969 0.480887 stress response
13620 Spi_isotig14970 0.269739 cell organization and biogenesis
13621 Spi_isotig14970 0.269739 other biological processes
13622 Spi_isotig14970 0.269739 other metabolic processes
13623 Spi_isotig14970 0.269739 RNA metabolism
13624 Spi_isotig14970 0.269739 stress response
13625 Spi_isotig14981 0.202625 signal transduction
13626 Spi_isotig14993 0.663237 death
13627 Spi_isotig14993 0.663237 other biological processes
13628 Spi_isotig14993 0.663237 stress response
13629 Spi_isotig14993 0.663237 transport
13630 Spi_isotig14997 0.264544 other metabolic processes
13631 Spi_isotig14998 0.575532 other biological processes
13632 Spi_isotig15025 0.885773 protein metabolism
\n", "

13633 rows × 3 columns

\n", "
" ], "text/plain": [ " 0 1 2\n", "0 Spi_contig00032 0.484363 cell cycle and proliferation\n", "1 Spi_contig00032 0.484363 cell organization and biogenesis\n", "2 Spi_contig00032 0.484363 developmental processes \n", "3 Spi_contig00032 0.484363 other biological processes \n", "4 Spi_contig00032 0.484363 protein metabolism \n", "5 Spi_contig00035 0.335179 cell cycle and proliferation\n", "6 Spi_contig00035 0.335179 cell organization and biogenesis\n", "7 Spi_contig00035 0.335179 death \n", "8 Spi_contig00035 0.335179 developmental processes \n", "9 Spi_contig00035 0.335179 other biological processes \n", "10 Spi_contig00035 0.335179 other metabolic processes \n", "11 Spi_contig00035 0.335179 protein metabolism \n", "12 Spi_contig00035 0.335179 RNA metabolism \n", "13 Spi_contig00035 0.335179 signal transduction \n", "14 Spi_contig00035 0.335179 stress response \n", "15 Spi_contig00035 0.335179 transport \n", "16 Spi_contig00040 0.854266 other metabolic processes \n", "17 Spi_contig00040 0.854266 transport \n", "18 Spi_contig00046 0.196592 other metabolic processes \n", "19 Spi_contig00075 0.871739 other metabolic processes \n", "20 Spi_contig00075 0.871739 transport \n", "21 Spi_contig00094 0.131292 cell adhesion \n", "22 Spi_contig00094 0.131292 cell cycle and proliferation\n", "23 Spi_contig00094 0.131292 cell organization and biogenesis\n", "24 Spi_contig00094 0.131292 death \n", "25 Spi_contig00094 0.131292 developmental processes \n", "26 Spi_contig00094 0.131292 DNA metabolism \n", "27 Spi_contig00094 0.131292 other biological processes \n", "28 Spi_contig00094 0.131292 other metabolic processes \n", "29 Spi_contig00094 0.131292 protein metabolism \n", "... ... ... ...\n", "13603 Spi_isotig14901 0.815894 other metabolic processes \n", "13604 Spi_isotig14913 0.841359 signal transduction \n", "13605 Spi_isotig14926 0.391261 protein metabolism \n", "13606 Spi_isotig14932 0.626017 protein metabolism \n", "13607 Spi_isotig14936 0.253558 other metabolic processes \n", "13608 Spi_isotig14955 0.534380 cell cycle and proliferation\n", "13609 Spi_isotig14955 0.534380 cell organization and biogenesis\n", "13610 Spi_isotig14955 0.534380 developmental processes \n", "13611 Spi_isotig14956 0.431596 protein metabolism \n", "13612 Spi_isotig14959 0.958655 cell organization and biogenesis\n", "13613 Spi_isotig14962 0.348816 other metabolic processes \n", "13614 Spi_isotig14962 0.348816 transport \n", "13615 Spi_isotig14966 0.683519 protein metabolism \n", "13616 Spi_isotig14969 0.480887 DNA metabolism \n", "13617 Spi_isotig14969 0.480887 protein metabolism \n", "13618 Spi_isotig14969 0.480887 signal transduction \n", "13619 Spi_isotig14969 0.480887 stress response \n", "13620 Spi_isotig14970 0.269739 cell organization and biogenesis\n", "13621 Spi_isotig14970 0.269739 other biological processes \n", "13622 Spi_isotig14970 0.269739 other metabolic processes \n", "13623 Spi_isotig14970 0.269739 RNA metabolism \n", "13624 Spi_isotig14970 0.269739 stress response \n", "13625 Spi_isotig14981 0.202625 signal transduction \n", "13626 Spi_isotig14993 0.663237 death \n", "13627 Spi_isotig14993 0.663237 other biological processes \n", "13628 Spi_isotig14993 0.663237 stress response \n", "13629 Spi_isotig14993 0.663237 transport \n", "13630 Spi_isotig14997 0.264544 other metabolic processes \n", "13631 Spi_isotig14998 0.575532 other biological processes \n", "13632 Spi_isotig15025 0.885773 protein metabolism \n", "\n", "[13633 rows x 3 columns]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "jData = pd.read_table('Spist_cpg_GOslim.tab', header=None)\n", "jData" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import matplotlib.pyplot as plt " ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "jData.groupby(2)[1].mean().plot(kind='barh', color=list('myb'))\n", "plt.axis([0.5, 0.75, -1, 14])\n", "plt.xlabel('')\n", "plt.ylabel('')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.484363\r\n", "0.335179\r\n", "0.854266\r\n", "0.867137\r\n", "0.196592\r\n", "0.871739\r\n", "0.937628\r\n", "0.131292\r\n", "0.684932\r\n", "0.584255\r\n" ] } ], "source": [ "##To plot density curve, must use CpG data WITHOUT annotation. Also must remove \"-nan\" in order to plot.\n", "!awk '{print $2}' ID_CpG.sorted2 | sed '/-nan/d' > CpG\n", "!head CpG" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
0
0 0.484363
1 0.335179
2 0.854266
3 0.867137
4 0.196592
5 0.871739
6 0.937628
7 0.131292
8 0.684932
9 0.584255
10 0.857523
11 1.046390
12 0.981477
13 0.654594
14 0.631948
15 0.798651
16 0.876088
17 0.926440
18 0.910725
19 0.910243
20 0.896155
21 0.895683
22 0.900018
23 0.844576
24 0.932216
25 0.987775
26 0.987220
27 0.908013
28 0.972397
29 0.971853
......
14883 0.077346
14884 0.995899
14885 0.805340
14886 0.193988
14887 1.762730
14888 1.116090
14889 0.735748
14890 0.629234
14891 1.161310
14892 0.552857
14893 0.122963
14894 0.717703
14895 0.896540
14896 1.407900
14897 0.808355
14898 0.322698
14899 1.115180
14900 0.466681
14901 0.419544
14902 0.427099
14903 0.843343
14904 0.790032
14905 0.885773
14906 0.000000
14907 1.242950
14908 1.104080
14909 0.430511
14910 0.640071
14911 0.899106
14912 0.506757
\n", "

14913 rows × 1 columns

\n", "
" ], "text/plain": [ " 0\n", "0 0.484363\n", "1 0.335179\n", "2 0.854266\n", "3 0.867137\n", "4 0.196592\n", "5 0.871739\n", "6 0.937628\n", "7 0.131292\n", "8 0.684932\n", "9 0.584255\n", "10 0.857523\n", "11 1.046390\n", "12 0.981477\n", "13 0.654594\n", "14 0.631948\n", "15 0.798651\n", "16 0.876088\n", "17 0.926440\n", "18 0.910725\n", "19 0.910243\n", "20 0.896155\n", "21 0.895683\n", "22 0.900018\n", "23 0.844576\n", "24 0.932216\n", "25 0.987775\n", "26 0.987220\n", "27 0.908013\n", "28 0.972397\n", "29 0.971853\n", "... ...\n", "14883 0.077346\n", "14884 0.995899\n", "14885 0.805340\n", "14886 0.193988\n", "14887 1.762730\n", "14888 1.116090\n", "14889 0.735748\n", "14890 0.629234\n", "14891 1.161310\n", "14892 0.552857\n", "14893 0.122963\n", "14894 0.717703\n", "14895 0.896540\n", "14896 1.407900\n", "14897 0.808355\n", "14898 0.322698\n", "14899 1.115180\n", "14900 0.466681\n", "14901 0.419544\n", "14902 0.427099\n", "14903 0.843343\n", "14904 0.790032\n", "14905 0.885773\n", "14906 0.000000\n", "14907 1.242950\n", "14908 1.104080\n", "14909 0.430511\n", "14910 0.640071\n", "14911 0.899106\n", "14912 0.506757\n", "\n", "[14913 rows x 1 columns]" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#To plot density curve, must use CpG data with original annotation\n", "CpG = pd.read_table('Spist_cpg_anno', header=None, )\n", "CpG" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[-0.3, 1.7, 0, 1.7]" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# pandas density plot\n", "CpG[0].plot(kind='kde', linewidth=3);\n", "plt.axis([-0.3, 1.7, 0, 1.7])" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.9" } }, "nbformat": 4, "nbformat_minor": 0 }