{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Calculating CpG ratio for the *Acropora millepora* transcriptome" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This workflow calculates CpG ratio, or CpG O/E, for contigs in the *Acropora millepora* [transcriptome](http://www.ncbi.nlm.nih.gov/nuccore?term=74409%5BBioProject%5D). CpG ratio is an estimate of germline DNA methylation.\n", "\n", "This workflow is an extension of another IPython notebook workflow, `Amil_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/Amil\n" ] } ], "source": [ "cd .data/Amil" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ ">gi|379072745|gb|JR970414.1| TSA: Acropora millepora Cluster034439.Acmimixed mRNA sequence\n", "TCATCATTATTTCTTTTTGTTTTTCTGTGATCTTCGGTCAATGCGATAGATCCTCGAGTTATCGTGACTG\n", "\n", "number of seqs =\n", "52963\n" ] } ], "source": [ "#fasta file\n", "!head -2 Amil_Moya.fasta\n", "!echo \n", "!echo number of seqs =\n", "!fgrep -c \">\" Amil_Moya.fasta" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "Converted 52963 FASTA records in 1149658 lines to tabular format\r\n", "Total sequence length: 71250280\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", "Amil_Moya.fasta > ../../analyses/Amil/fasta2tab" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/Users/jd/Documents/Projects/Coral-CpG-ratio-MS/analyses/Amil\n" ] } ], "source": [ "cd ../../analyses/Amil" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "gi|379072745|gb|JR970414.1|\tTSA: Acropora millepora Cluster034439.Acmimixed mRNA sequence\tTCATCATTATTTCTTTTTGTTTTTCTGTGATCTTCGGTCAATGCGATAGATCCTCGAGTTATCGTGACTGCGCTCCAGACCAAGTCTGTTGTAGGAGGCAGTGTTTTTACAGCTCGAACTGTTTATATCTGTCTTGCTCCATGGACTCCGATTGTTCAGTGAATGAAGTCTGTTGTAGCAGCAAGTGTCGTTCTGGTNNNNNNNNNNCTGACTGCAGTGGGGATTTTTGTCGCTCGAACAATGATTGCAGCGTTGGGCAAAAGTGTTGTGTGAATACCTGCACCAACTATGATTGTGAGGACCCTACCGTCGCCATTCTTATCGCGGTAGTGGGTTCGCTCGTGGGCTTATTTGTTGTTTTCATTTCAATTTACTACTGCCACAGAAGAGCTCGTTTGGGTCGTTCCGGTACAGCAGAGGTGGGAAGACAAGTTGCCCCAACCGATGCTATCACAACCCAATCAGCAAACCAACAAGGCTACGCATATCAGCAACTCCCTTAAATATCATCAGTATCAGACACCCATTTACAATCCGGAGACACAGAGACAACCAGGAGGAATACTTACTTCACATCGTGCATATGGTGAACTTCAAACCACTTGATCCCCATGTCCAGCGGAAGACT\n", "gi|379072746|gb|JR970415.1|\tTSA: Acropora millepora Cluster034438.Acmimixed mRNA sequence\tCGCCCCCACGTCGTCATCTGACGTTCCTGTCCTGTTGCTAAATCAGCCTATTGATTGCGGGAACACATCAATCAACTACTAAACAACAGAATCCTGGGTTTTCAGACTTACAGTGTCTCTGCGATGAGGAGAATGTTCCCCTGTCACCACAAGCACTCCTGTCTGGGCACTAAGACAAATCAGCAATGAGACATTCTTGGCTTCCAAATCAATAAGTGCACATTAACTGGTGTTTGGAGAGACCAATCACCTATCTAGATATGGTCCACCATATTGCAGATTGAAACAATGAATAATAGAACACAAACAATACCCTAACTTGACCACAATAGAAGGTACAGGTTATAAGGACAAATAACAACAGAGGTCTGGAAAAGCCACAGGATTACTCAGTTTGAGGCAAGACATGCCACCTCATAAAATATCTTTGAACATCTATTATTGAATGTTTACATTAACCACCTGTAGATAAAGTGCTTAAGCCTCTTTGTAAAATACAAGAACACAAAACTATATATACACTAATTTGCAGTATCTCAAGTTGTTGTAACAGGCTACTCACTCAATCCTGTGTCCCTTCATATCTTTCATCAAATCAGAGCGAGCATTGGAATGCACACAATGTAGC\n", "gi|379125706|gb|JT023376.1|\tTSA: Acropora millepora Cluster011149.Acmimixed mRNA sequence\tGATATTGTCGTTAGTCTTGCTGTCATTTACAAAGCGCGTGTTTAGCAGCATGGAGCATATGACGCCATGAGTTCCCTAGACGCTTAGTAACCAAGCTACTGTTATCGACACGAGTGCAGTCGCTCTCGGACAAGCGATGATGCGGGTAATGTGAAGAGTCGATTCAATTCATTCTCCTAGAGGAACATGTCCGTTAGTTTTAAAGAGGGAGCTAGCCAAGGCTCTGCACAAACTATGAAAACCACGCCTAAAAAACACAGATGGTATCTTGGGGGTATCGCTTCTGCCATGGCGGCGTGCTGCACCCATCCATTGGATCTTCTTAAGGTTCATTTACAAACACAACAGCAAGCTACTCATAACCTTACATCCATGGGAATTCATGTTGTCCGTACGCAGGGTGTGTTAGCACTTTATAATGGACTTTCAGCCTCCGTAATGAGACAGTTAACATATTCCACAACACGCTATGGCTTATATGAAGTGGTAACAGCAGAGCTAAAGAAAACTAATGATCCAATACCCTTTTACCAGAAAATTGCTGTGGCAGCTGCAGCAGGTTTTGTGGGAGGAATTGTTGGAAACCCTGCAGATATGGTAAATGTAAGGATGCAAAATGATGTGAAAATGCTTGACTTGGCAAAAAGAAGAAACTACAACCACGTATTTGATGGTCTCTATCGAACAGCAACAGAAGAGGGTGTGAGCACATGGATGAGAGGTGTGACTATGACATCATCAAGGGCTCTTCTCATGACAGTGGCCCAGATAGCCTGCTATGACCAAGCAAAGCAGTTCTTACTTACAACAAGGTAAGGATAAACAAACATGGCAACTGTTTATTGATTGTTGTAATCATTGTGATTATCAACACACAGTATTTGTTGCAATGGTCACTCAACATTAGAATTGACATCAAAACCTTCCCCACTGATTGCAAAAAGTGTTATTTTCCTGTTATATAAACCTGTCAGCTGGCAATTAATTTTATATTTGCAGGTTTTTCAAGGACAATATCGTCACACATTTTACAGCGAGTTTCATAGCGGGTACAATTGCTACTAGCATTACACAGCCAGTTGATGTAATGAAAACAAGACTGATGGAGGCAAAACCTGGACAATATAAGAGTGTAGCCCATTGTATTCTTTATACAGCAAAACTTGGACCTCTTGGATTTTATAAGGGTTTTATTCCAGCTTGGGTTCGCTTAGCACCTCACACAATCCTCACATGGATTTTTCTGGAGCAGCTGAGGGTTTTCTTTCCAATAAAGCAGTAATAGTAATTCTCAAAGTATTAACTATGATTAGATTTTGTTTAGAAATAAAAGAAAGAGTTATTTATTTGAAAATTTAATTAAATGGAGTACATAATATTGTTTCAATTCCCAAAGGTGGAGGTAGGGGAAATAGCAGCATTTGCTACTCTCATTAGTCTGAAAGGAGTCCTATCTTTGCCACCAAGTCTAAGAACAAGGTGAAAATAAAAACAGGTGTAATGAGAAAATGTCTGCTCAAAATCTAGATTTTGCATGGTCATTTTTTAAGATGGAATCAAATGACGAAGGAGGAGTTGCTTGTAATCCAAGTTTAACCAACACTAGGGCGAAATTTATAATAATAATAATGATAATAATAATAATAATAATAATAATAACAACAACAAGAGTTATTGTTGAAGGGATTATCCATTCAAACTGATTACTCTCTCGCAAAGCAATTTGATTGTGCAAAAGGAACAATTATTGAGTTGTGTGAGAATGCACTGGGTAATGACATTGAAATTCTGAAGAATTACTGTTTTAAAATTTTCTGTTTAGATTGGCATCATTTTATAAATTACTTTCAGTAAGAATCCTCAGAAAGGTGTGATTAAGTTGTAGTATTAATAATAATTATTATTGAGATGATAATTGCGTTTAAGTGTTGTAATACAGTTTTTCATATCCTGAGTAATACATGTTTATATGCAACGTCAGTGGCAAAAAGTCAATGGTTTAATAAATTGGTCGCCGTGCAACGTAATTTTATTAATTATTTAACAAATAAATAAGCCTAAGCCGTGTTGCTCT\n", "gi|379125707|gb|JT023377.1|\tTSA: Acropora millepora Cluster028086.Acmimixed mRNA sequence\tAAGGTTCCAGAGCTTAATTCTATTGCGTTAGAAATTTTCCAGAAATGTATGTTAAATGGGATCACTATTGATGTGAATTGGATCCCAAGAGATTTCAACAGTGTGGCAGATGAGATTAGTAAGATAATAGATTACGATGATTACACAATTAATGATGATATTTTTGCTTTTTTGGACAAATCATGGGGACCCCATACAGTCGATCGTTTTGCGTGTCACTATAATAAGAAGCTACCTTTATTTAATTCGAAGTTTTTTCAGCCAGGCACGAGTGGGGTGAATGCTTTCAGCCAAGACTGGGCTTTTGCCAATAATTGGTTATGTCCTCCCATTTATCTCACCGCGAGGGTAGTTAATCATTTGAAAGCTTGTAGAGCGGCTGGGACCCTTATCGTCCCTTTGTGGAGATCGGCACATTTTTGGCCAATTATTTGTGACGATGGAGTTCACTTTAGTAACTTTGTGCATGACTGGTATGTTTTGCCGCACATTCCTAATTTATTTATTAGAGGTAAAGCAAAGAATTGTATCTTCGGAAACGGCCAGTTGAAGTTTATAATGTTGGCATTAAGGATTGATTTTTCTGTCCCTCTTAGGTCCGCTGTACGAGGATTTTGTACTGAGTTTAAGCAACTCTGCACTGTCTGTACGACGTGACGTCGTTTGTTGTGTCTTGTAGGGCTTGAGGCCACGGTTGTGCGTGTTTTTTCACACGTCTAGGTGATAATAGTGATAACACTGAGAGATCTGTGTTTTGTTGGCTTGAGGCCATGGAGGTTGTTCCCTGCGTGGAACTGGAGTTTTGGCATTTTAGGCCACAGAGATTGACGTTCTGAGAACTGTCGTATTTTACTATTCCAGATTGTGTATTATGGCGGGGCTAGGGTTTCGCAACTCGTACTCCTTCTAGCGTAGCTAAAGTTTCATTCGTGTTCAATCGAATAAATCACAAGAAAGAGAATGGATTCGTCGG\n" ] } ], "source": [ "#Checking header on new tabular format file\n", "!head -2 fasta2tab\n", "!tail -2 fasta2tab" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "gi\t379072745\tgb\tJR970414.1\t\tTSA: Acropora millepora Cluster034439.Acmimixed mRNA sequence\tTCATCATTATTTCTTTTTGTTTTTCTGTGATCTTCGGTCAATGCGATAGATCCTCGAGTTATCGTGACTGCGCTCCAGACCAAGTCTGTTGTAGGAGGCAGTGTTTTTACAGCTCGAACTGTTTATATCTGTCTTGCTCCATGGACTCCGATTGTTCAGTGAATGAAGTCTGTTGTAGCAGCAAGTGTCGTTCTGGTNNNNNNNNNNCTGACTGCAGTGGGGATTTTTGTCGCTCGAACAATGATTGCAGCGTTGGGCAAAAGTGTTGTGTGAATACCTGCACCAACTATGATTGTGAGGACCCTACCGTCGCCATTCTTATCGCGGTAGTGGGTTCGCTCGTGGGCTTATTTGTTGTTTTCATTTCAATTTACTACTGCCACAGAAGAGCTCGTTTGGGTCGTTCCGGTACAGCAGAGGTGGGAAGACAAGTTGCCCCAACCGATGCTATCACAACCCAATCAGCAAACCAACAAGGCTACGCATATCAGCAACTCCCTTAAATATCATCAGTATCAGACACCCATTTACAATCCGGAGACACAGAGACAACCAGGAGGAATACTTACTTCACATCGTGCATATGGTGAACTTCAAACCACTTGATCCCCATGTCCAGCGGAAGACT\r\n", "gi\t379072746\tgb\tJR970415.1\t\tTSA: Acropora millepora Cluster034438.Acmimixed mRNA sequence\tCGCCCCCACGTCGTCATCTGACGTTCCTGTCCTGTTGCTAAATCAGCCTATTGATTGCGGGAACACATCAATCAACTACTAAACAACAGAATCCTGGGTTTTCAGACTTACAGTGTCTCTGCGATGAGGAGAATGTTCCCCTGTCACCACAAGCACTCCTGTCTGGGCACTAAGACAAATCAGCAATGAGACATTCTTGGCTTCCAAATCAATAAGTGCACATTAACTGGTGTTTGGAGAGACCAATCACCTATCTAGATATGGTCCACCATATTGCAGATTGAAACAATGAATAATAGAACACAAACAATACCCTAACTTGACCACAATAGAAGGTACAGGTTATAAGGACAAATAACAACAGAGGTCTGGAAAAGCCACAGGATTACTCAGTTTGAGGCAAGACATGCCACCTCATAAAATATCTTTGAACATCTATTATTGAATGTTTACATTAACCACCTGTAGATAAAGTGCTTAAGCCTCTTTGTAAAATACAAGAACACAAAACTATATATACACTAATTTGCAGTATCTCAAGTTGTTGTAACAGGCTACTCACTCAATCCTGTGTCCCTTCATATCTTTCATCAAATCAGAGCGAGCATTGGAATGCACACAATGTAGC\r\n" ] } ], "source": [ "#Removing pipes\n", "!tr '|' \"\\t\" fasta2tab2\n", "!head -2 fasta2tab2" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "Added column with length of column 6 for 52963 lines.\r\n", "\r\n" ] } ], "source": [ "#Add column with length of sequence\n", "!perl -e '$col = 6;' -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", "fasta2tab2 > tab_1" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "gi\t379072745\tgb\tJR970414.1\t\tTSA: Acropora millepora Cluster034439.Acmimixed mRNA sequence\tTCATCATTATTTCTTTTTGTTTTTCTGTGATCTTCGGTCAATGCGATAGATCCTCGAGTTATCGTGACTGCGCTCCAGACCAAGTCTGTTGTAGGAGGCAGTGTTTTTACAGCTCGAACTGTTTATATCTGTCTTGCTCCATGGACTCCGATTGTTCAGTGAATGAAGTCTGTTGTAGCAGCAAGTGTCGTTCTGGTNNNNNNNNNNCTGACTGCAGTGGGGATTTTTGTCGCTCGAACAATGATTGCAGCGTTGGGCAAAAGTGTTGTGTGAATACCTGCACCAACTATGATTGTGAGGACCCTACCGTCGCCATTCTTATCGCGGTAGTGGGTTCGCTCGTGGGCTTATTTGTTGTTTTCATTTCAATTTACTACTGCCACAGAAGAGCTCGTTTGGGTCGTTCCGGTACAGCAGAGGTGGGAAGACAAGTTGCCCCAACCGATGCTATCACAACCCAATCAGCAAACCAACAAGGCTACGCATATCAGCAACTCCCTTAAATATCATCAGTATCAGACACCCATTTACAATCCGGAGACACAGAGACAACCAGGAGGAATACTTACTTCACATCGTGCATATGGTGAACTTCAAACCACTTGATCCCCATGTCCAGCGGAAGACT\t628\n", " 52963 635556 76310959 tab_1\n" ] } ], "source": [ "!head -1 tab_1\n", "!wc tab_1" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "379072745 \t TCATCATTATTTCTTTTTGTTTTTCTGTGATCTTCGGTCAATGCGATAGATCCTCGAGTTATCGTGACTGCGCTCCAGACCAAGTCTGTTGTAGGAGGCAGTGTTTTTACAGCTCGAACTGTTTATATCTGTCTTGCTCCATGGACTCCGATTGTTCAGTGAATGAAGTCTGTTGTAGCAGCAAGTGTCGTTCTGGTNNNNNNNNNNCTGACTGCAGTGGGGATTTTTGTCGCTCGAACAATGATTGCAGCGTTGGGCAAAAGTGTTGTGTGAATACCTGCACCAACTATGATTGTGAGGACCCTACCGTCGCCATTCTTATCGCGGTAGTGGGTTCGCTCGTGGGCTTATTTGTTGTTTTCATTTCAATTTACTACTGCCACAGAAGAGCTCGTTTGGGTCGTTCCGGTACAGCAGAGGTGGGAAGACAAGTTGCCCCAACCGATGCTATCACAACCCAATCAGCAAACCAACAAGGCTACGCATATCAGCAACTCCCTTAAATATCATCAGTATCAGACACCCATTTACAATCCGGAGACACAGAGACAACCAGGAGGAATACTTACTTCACATCGTGCATATGGTGAACTTCAAACCACTTGATCCCCATGTCCAGCGGAAGACT \t 628\r\n" ] } ], "source": [ "#Just printing contig ID in column 2\n", "!awk '{print $2, \"\\t\", $11, \"\\t\", $12}' tab_1 > tab_2\n", "!head -1 tab_2" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [], "source": [ "#Instead of using the step to deal with description name issues above, the file used to count Cs and Gs will only include the sequence\n", "!awk '{print $2}' tab_2 > tab_3" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [], "source": [ "#This counts CGs - both cases\n", "!echo \"CG\" | awk -F\\[Cc][Gg] '{print NF-1}' tab_3 > CG " ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [], "source": [ "#Counts Cs\n", "!echo \"C\" | awk -F\\[Cc] '{print NF-1}' tab_3 > C " ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [], "source": [ "#Counts Gs\n", "!echo \"G\" | awk -F\\[Gg] '{print NF-1}' tab_3 > G " ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "379072745 \t TCATCATTATTTCTTTTTGTTTTTCTGTGATCTTCGGTCAATGCGATAGATCCTCGAGTTATCGTGACTGCGCTCCAGACCAAGTCTGTTGTAGGAGGCAGTGTTTTTACAGCTCGAACTGTTTATATCTGTCTTGCTCCATGGACTCCGATTGTTCAGTGAATGAAGTCTGTTGTAGCAGCAAGTGTCGTTCTGGTNNNNNNNNNNCTGACTGCAGTGGGGATTTTTGTCGCTCGAACAATGATTGCAGCGTTGGGCAAAAGTGTTGTGTGAATACCTGCACCAACTATGATTGTGAGGACCCTACCGTCGCCATTCTTATCGCGGTAGTGGGTTCGCTCGTGGGCTTATTTGTTGTTTTCATTTCAATTTACTACTGCCACAGAAGAGCTCGTTTGGGTCGTTCCGGTACAGCAGAGGTGGGAAGACAAGTTGCCCCAACCGATGCTATCACAACCCAATCAGCAAACCAACAAGGCTACGCATATCAGCAACTCCCTTAAATATCATCAGTATCAGACACCCATTTACAATCCGGAGACACAGAGACAACCAGGAGGAATACTTACTTCACATCGTGCATATGGTGAACTTCAAACCACTTGATCCCCATGTCCAGCGGAAGACT \t 628\t25\t145\t140\r\n", "379072746 \t CGCCCCCACGTCGTCATCTGACGTTCCTGTCCTGTTGCTAAATCAGCCTATTGATTGCGGGAACACATCAATCAACTACTAAACAACAGAATCCTGGGTTTTCAGACTTACAGTGTCTCTGCGATGAGGAGAATGTTCCCCTGTCACCACAAGCACTCCTGTCTGGGCACTAAGACAAATCAGCAATGAGACATTCTTGGCTTCCAAATCAATAAGTGCACATTAACTGGTGTTTGGAGAGACCAATCACCTATCTAGATATGGTCCACCATATTGCAGATTGAAACAATGAATAATAGAACACAAACAATACCCTAACTTGACCACAATAGAAGGTACAGGTTATAAGGACAAATAACAACAGAGGTCTGGAAAAGCCACAGGATTACTCAGTTTGAGGCAAGACATGCCACCTCATAAAATATCTTTGAACATCTATTATTGAATGTTTACATTAACCACCTGTAGATAAAGTGCTTAAGCCTCTTTGTAAAATACAAGAACACAAAACTATATATACACTAATTTGCAGTATCTCAAGTTGTTGTAACAGGCTACTCACTCAATCCTGTGTCCCTTCATATCTTTCATCAAATCAGAGCGAGCATTGGAATGCACACAATGTAGC \t 628\t7\t145\t107\r\n", "379072747 \t CGTCCTCGTGACTCATCATTGCTTTTGTCAATACACGAGAGTGAAAAGTCCCAGATAATTGGGAGGCTGGAGGATACTGTGATCATAATATTGTAACTATTAATAAAGTATGAACAATGTGGCTGCACTGGGAAGAGCACCAATATGGCCTGCATGGGTCAGGAGCCTGACTTGGGGCTGTGTGCTGGTTGAGTCTGTAACAAGGTTTTCTTCACTGTTCCAAGAGGTTTAATCTTCAGTTCTTATAGGTTTGTATTTGATAGTGAATCACTATGGCAACCAATTGGAGACAGCTGCTGACTGTAGAACCAGTGATGTTCTTTTATGCATATGGCTTGTTTATGGCAATGCCTGTTTTCCAGCAATATATCTACCATCGGCTTAGTGAAGAACATCATTTTCCATACAACTTTAAGGAACAAACCTCAAGTTGCGGAAGTTCCTTGAATGAATCAATGGAGAAACTTGAGAAAAAGGTGCAGTCTTCTGCTTCTTATGTTCAACTGGGCGTTGTCATGTTTTCTACCTTTCCATCGATTGTGATGACCCTCTTCATGGGTGGTTGGACAGATAAGGTGGGCCGACGCCCTGCTCTGATCATGCCACTTCTTGGCAGTGCACTGGATGCTGCTGTTGTACTTACTGTCATGTATGCCAAGTTGCCTGTGTACTGTCTCTTTATTGGCTCTTTTATCCATGGAGTTTGTGGATATTACACCACCATTCTCTTGGCCTGTTTGGCCTACATTGCGGACACCACTGAGCGGGGACATTTTGCATTTAGATTGGGTATTTTAGAAGCCATTGTTTTTGTGGGAGGAATGGTTGCCCAGTTAACAAGTGGGTTTTGGATTGAAAAGCTGGGATTCACTGCTCCGTATTGGTTCATATTTGGATGTGAAGTCTTTGCGCTGATTTATGCAGCTGTTCTTGTTCCTGAGTCAAAATGCCCATCCAAGGAAGAGAGAGGAAAGCTTTTCAGCTTGGATAACTTGAAGTCTTCTTGGAAAGTTTACAAAAAGGCTGTGGGCACTAAGAAGAGAAATTTAATCATTTTGACATTTTGCTGTGGTATCACGGCCATACCAATCATGGGTATACGTGGAGTTTCGAGCCTGTTTTTGCTTTATTCCCCACTCTGTTTCTCACCAGAACGTGTGGGATATTTTTCAGCCTTGCAGAATTCTGTTTATGGTGTTGGTGGTATTGTGACTATAAAAGCATTTGGAATGTGTCTTTCTCATGTCAATGTAGCGCGCATATCCATTCTATCATATCTAGGATTCCTCGTATACTTTGGATTTTCAAGAACTCTGCTCATGGTCTTTTTGAGTCCCTTGATAGGGATTCTTGGTGGAGCTGTAGCCCCTTTAATCAGAGCGATGATGTCCGAGATTGTCAGTTCAGATGACCAAGGTTCACTTTTTTCAGCCACATCATCTATGGAGGTTCTATTCACGTACCTCGGAGCTCTCCTATTGAACTCACTCTACGCGAAATCTCTAAAATTCAATGCTCCTGGGTTTGTGTTTTTCCTGGCTGCTGGCATACTATTGCTGCCCCTCGCTTTAACTTTCTGCTTAAAAGATCTGTCCATGTTTAAAATGGGAAGGAAGCTAATAAATAAAGCCAGTAGATATGAGAGCATAACAGACGAGGAAGACGGGAGAGAGGGCCAAACAGGATCTCCCGATTCACCGTATTCTGACATAACTGGCGATGATCTGCATGTTATTCCGGGCGGTGACGGGAGGAATGTGTAAACTGAGGAAGTCCGCGTACGATGGGATAAAAACAGGTTTCTCTTCTTGGGGTTCTAGTGCTAAAGTTGCAGCCAAATTCTGACCAAAAAATCACAGAAGACGCCATGATACTTCATTTTGATGTCGATCATTGTACTGTTTGATATATTTTGGAACGTAAGATATGGTCGCATGCAATGAAAACCTTATTTCCATGCTGATTTGGTGTCATATATTTTGGTTCAACCAATCAGATCTGCTGTTAGATGAAAAAAAGGTGAAGCGTAGAAAATGATAAGCGTAACCAATAATAGCCAAAGAGGTCATTGTTCTTAAATGGAAACGAGGCTTCTGTCTCACGTGATCAAAGACTCGTTTGGTCTGTCTATCCACTCTTTGTAATGCGACCAGGAGCTTTACATCTCACATGTAGTTGTCTTTTCAAGGAAAAGGAATTTATTTAACACTGAAAATAGTTTGAACCCAGGAGTGACACGCCTTGATTGAATCTGATTGTATGGGCAAGTGGAATCCTGAGAAGAATTGTGGTTGGCTGTGACTGACGTTTCGACAACCTTTGCGGCAGAAATTTTCTGTGTCAAGTAATGATGTAATCAGTTGCTTTTATGTTCTTATTAATAAGTACTCCTCTCGCCAAGACGACCAGCTTTCATCAAGAAATTTTATTTACTTGTCGATTTGTAAATATTTCATAATCGACTGTCCCCAGTCGCTCAAAGGCTGGGTGGCACTTAGTCTATCCACTGGACAGAGACTTGGACATAGCGCTATCCACAGGTTGAACGACAGGGGCCTGGTATGTGTAAAATTAAGCTGAATATAGCAGATATCCGCGGACTTCGAACACCGATACGTTATTGAGATTAGGCGGTAGAAAGATAGATAGATAGAAAGATAGATAGATAGATAGATAGAT \t 2679\t65\t501\t623\r\n", "379072748 \t TCGACTTCGTCTTGGGAAACAGATATTCAAGGGAAACAAAATTCATTGTTCCCCAAAGGACCAGTCATTAAGTTATTTGTTGCATAGGAAAACAAAGGAAGAAAAAGCGTGCTGAGATTCCAGTGACAACAACAGGCCAACTTCAACGGCATGCTCAGATCACGTGTAGCAGCAGTCAACGTAGCCCGGGTAACAGTGAACTATTTCCCATTTTACGTTATCGTTTTCGCAATTGTTGCTGCTTGCGGCATTTGGCGGTGAACAGTTTCACAGTCAGAGGTCATGTGGCCATGAACTAGTCAATGAATGGGTGAGCCATGGCGGATGGCGGGAAGAACACCAGCTGTACAAAAATTTGTGTTAAGGTTGCATAAGTTTGATTCACAATTACAGTGCACAATAGAACTGAATCATAGGAAAACATGGACAAAGCACATCAAATCAAAACAAACATTGCTTGATATGCACCACAACGAAACTATTGTGAGAAGTCATTGAGACTCGGGTGGCTAAGTGTCTCAGTACCATATCCAGCAAAGTTGTATGAAAGGAGAGAATGATGCTCGCCCTTTATGTTATTTAGTCAGGGAGCCATTTAGTTTTTGGTGTGGTCACGCAACGCTACTCTC \t 629\t19\t123\t147\r\n", "379072749 \t TTGAGACGTAGCCTGGTGTAACAACCAATAAAATCCCTGTAAGCAAATCAGTTATTGCCAGGTTAAACAGCAGCATATTATGAGGCTTTCGTAACATTTCACGTTTCTTGAATAATACGAGACAAAACATGAGGTTGAACGTGAAGGCTGAGCCAGCGATGACGGTGAAAGCGGTTTCAAGCACACTCTCTGATAGCGACTCGCTTTGTTCGGTAAATGCAGTTGATTGGTTGTTTTCTTGTCCATTCAAGCTATATGATTGGCTTATTTCAGTGGCTGATATCAACGTTGATTGGTTGATTGCAGATTCCATGATGGCAGTTGATTGGCTTAATCAAAGCTTCGAACGCAGTGTCATTAGTTTCGTGCTTTTAGATGTGATGATGCCGAGTAAATTCTAAATCCTGTTTAGAAAGACCAGGCTCAAAGGTCAGTGTGACAAGTTATCTTCAAACAGATTCTACTTCTTTCAAGTGTTCTGGTTGTAGTCTTTCTGTGTCGAGCTTTTAAGATGTGTGCAGTGGGCCACCTCAATCAGTTACAACAGGATCACTTCCGGAAATGAAAATACAGGTTAATTCTCTGGAGTAAGCTTTGAGGTTGGATAAAACATTACTGACCGATGTGTG \t 629\t19\t111\t146\r\n" ] } ], "source": [ "#Combining counts\n", "!paste tab_2 \\\n", "CG \\\n", "C \\\n", "G \\\n", "> comb\n", "!head -5 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": 16, "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": 17, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "379072745 \t 0.774633\r\n", "379072746 \t 0.283791\r\n", "379072747 \t 0.558113\r\n", "379072748 \t 0.662023\r\n", "379072749 \t 0.738617\r\n", "379072750 \t 0.318018\r\n", "379072751 \t 1.25641\r\n", "379072752 \t 0.328632\r\n", "379072753 \t 1.11106\r\n", "379072754 \t 0.801276\r\n" ] } ], "source": [ "!head ID_CpG" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Now joining CpG to annotation, but first must sort files." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "gi\t379072753\tgb\tJR970422.1\t\tsp\tO17185\tSUP9_CAEEL\t35.41\t209\t106\t4\t3\t617\t25\t208\t8e-28\t 112\r\n", "gi\t379072756\tgb\tJR970425.1\t\tsp\tQ6DIF4\tWDR1_XENTR\t52.39\t607\t281\t7\t2609\t804\t1\t604\t0.0\t 644\r\n", "gi\t379072758\tgb\tJR970427.1\t\tsp\tA6H584\tCO6A5_MOUSE\t24.88\t406\t279\t12\t106\t1302\t639\t1025\t6e-26\t 117\r\n", "gi\t379072759\tgb\tJR970428.1\t\tsp\tQ17R07\tARFG3_BOVIN\t43.16\t95\t49\t2\t2396\t2124\t422\t515\t4e-07\t57.4\r\n", "gi\t379072761\tgb\tJR970430.1\t\tsp\tQ7ZYA5\tPRKAA_XENLA\t27.82\t284\t149\t8\t2334\t1486\t76\t304\t2e-14\t79.0\r\n", "gi\t379072762\tgb\tJR970431.1\t\tsp\tQ68ED3\tPAPD5_MOUSE\t55.14\t350\t143\t5\t313\t1359\t116\t452\t2e-122\t 390\r\n", "gi\t379072763\tgb\tJR970432.1\t\tsp\tO60678\tANM3_HUMAN\t49.48\t485\t223\t3\t79\t1506\t48\t519\t9e-151\t 460\r\n", "gi\t379072764\tgb\tJR970433.1\t\tsp\tQ8CI04\tCOG3_MOUSE\t48.46\t227\t113\t2\t865\t191\t583\t807\t1e-57\t 203\r\n", "gi\t379072772\tgb\tJR970441.1\t\tsp\tP15848\tARSB_HUMAN\t37.79\t217\t92\t6\t2\t547\t324\t532\t1e-31\t 124\r\n", "gi\t379072775\tgb\tJR970444.1\t\tsp\tQ5EBD9\tELP2_XENTR\t33.74\t243\t142\t6\t1064\t354\t189\t418\t4e-27\t 117\r\n" ] } ], "source": [ "#Sorting Amil Uniprot/Swissprot annotation file. This file was the result of work done in another notebook: \n", "#Amil_blast_anno.ipynb\n", "!sort Amil_blastx_uniprot_sql.tab | tail -n +2 > Amil_blastx_uniprot_sql.tab.sorted\n", "!head Amil_blastx_uniprot_sql.tab.sorted" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "379072753\tother biological processes\r", "\r\n", "379072753\ttransport\r", "\r\n", "379072756\tcell organization and biogenesis\r", "\r\n", "379072758\tcell adhesion\r", "\r\n", "379072759\tother biological processes\r", "\r\n", "379072759\tsignal transduction\r", "\r\n", "379072759\ttransport\r", "\r\n", "379072761\tRNA metabolism\r", "\r\n", "379072761\tother metabolic processes\r", "\r\n", "379072762\tDNA metabolism\r", "\r\n" ] } ], "source": [ "#Sorting GOSlim annotation file. This file was the result of work done in another notebook: Amil_blast_anno.ipynb\n", "!sort Amil_GOSlim.tab | tail -n +2 > Amil_GOSlim.sorted\n", "!head Amil_GOSlim.sorted" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "379072745 \t 0.774633\r\n", "379072746 \t 0.283791\r\n", "379072747 \t 0.558113\r\n", "379072748 \t 0.662023\r\n", "379072749 \t 0.738617\r\n", "379072750 \t 0.318018\r\n", "379072751 \t 1.25641\r\n", "379072752 \t 0.328632\r\n", "379072753 \t 1.11106\r\n", "379072754 \t 0.801276\r\n" ] } ], "source": [ "#Sorting CpG file\n", "!sort ID_CpG > ID_CpG.sorted\n", "!head ID_CpG.sorted" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "!join -1 1 -2 2 ID_CpG.sorted Amil_blastx_uniprot_sql.tab.sorted | awk '{print $1, \"\\t\", $2}' > Amil_cpg_anno" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "379072753 \t 1.11106\r\n", "379072756 \t 0.552288\r\n", "379072758 \t 0.764334\r\n", "379072759 \t 0.50257\r\n", "379072761 \t 0.76335\r\n", "379072762 \t 0.442442\r\n", "379072763 \t 0.592282\r\n", "379072764 \t 0.773241\r\n", "379072772 \t 0.689241\r\n", "379072775 \t 0.53775\r\n" ] } ], "source": [ "!head Amil_cpg_anno" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "!join ID_CpG.sorted Amil_GOSlim.sorted > Amil_cpg_GOslim" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "379072753 1.11106 other biological processes\r", "\r\n", "379072753 1.11106 transport\r", "\r\n", "379072756 0.552288 cell organization and biogenesis\r", "\r\n", "379072758 0.764334 cell adhesion\r", "\r\n", "379072759 0.50257 other biological processes\r", "\r\n", "379072759 0.50257 signal transduction\r", "\r\n", "379072759 0.50257 transport\r", "\r\n", "379072761 0.76335 RNA metabolism\r", "\r\n", "379072761 0.76335 other metabolic processes\r", "\r\n", "379072762 0.442442 DNA metabolism\r", "\r\n" ] } ], "source": [ "!head Amil_cpg_GOslim" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "379072753 \t 1.11106 \t other biological processes\r", " \r\n", "379072753 \t 1.11106 \t transport\r", " \r\n", "379072756 \t 0.552288 \t cell organization and biogenesis\r", "\r\n", "379072758 \t 0.764334 \t cell adhesion\r", " \r\n", "379072759 \t 0.50257 \t other biological processes\r", " \r\n", "379072759 \t 0.50257 \t signal transduction\r", " \r\n", "379072759 \t 0.50257 \t transport\r", " \r\n", "379072761 \t 0.76335 \t RNA metabolism\r", " \r\n", "379072761 \t 0.76335 \t other metabolic processes\r", " \r\n", "379072762 \t 0.442442 \t DNA metabolism\r", " \r\n" ] } ], "source": [ "#Putting tabs in between columns\n", "!awk '{print $1, \"\\t\", $2, \"\\t\", $3, $4, $5, $6}' Amil_cpg_GOslim > Amil_cpg_GOslim.tab\n", "!head Amil_cpg_GOslim.tab" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Now time to plot data using pandas and matplot" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 11, "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 379072753 1.111060 other biological processes
1 NaN NaN
2 379072753 1.111060 transport
3 NaN NaN
4 379072756 0.552288 cell organization and biogenesis
5 379072758 0.764334 cell adhesion
6 NaN NaN
7 379072759 0.502570 other biological processes
8 NaN NaN
9 379072759 0.502570 signal transduction
10 NaN NaN
11 379072759 0.502570 transport
12 NaN NaN
13 379072761 0.763350 RNA metabolism
14 NaN NaN
15 379072761 0.763350 other metabolic processes
16 NaN NaN
17 379072762 0.442442 DNA metabolism
18 NaN NaN
19 379072762 0.442442 cell cycle and proliferation
20 379072762 0.442442 cell organization and biogenesis
21 379072762 0.442442 other biological processes
22 NaN NaN
23 379072763 0.592282 other biological processes
24 NaN NaN
25 379072763 0.592282 other metabolic processes
26 NaN NaN
27 379072763 0.592282 protein metabolism
28 NaN NaN
29 379072764 0.773241 transport
............
78246 NaN NaN
78247 379125698 0.777251 signal transduction
78248 NaN NaN
78249 379125699 0.910527 cell cycle and proliferation
78250 379125699 0.910527 cell-cell signaling
78251 NaN NaN
78252 379125699 0.910527 developmental processes
78253 NaN NaN
78254 379125699 0.910527 other biological processes
78255 NaN NaN
78256 379125699 0.910527 signal transduction
78257 NaN NaN
78258 379125702 0.343027 cell adhesion
78259 NaN NaN
78260 379125702 0.343027 cell organization and biogenesis
78261 379125702 0.343027 developmental processes
78262 NaN NaN
78263 379125702 0.343027 other biological processes
78264 NaN NaN
78265 379125702 0.343027 stress response
78266 NaN NaN
78267 379125703 0.749044 RNA metabolism
78268 NaN NaN
78269 379125703 0.749044 cell organization and biogenesis
78270 379125703 0.749044 protein metabolism
78271 NaN NaN
78272 379125706 0.510595 other metabolic processes
78273 NaN NaN
78274 379125706 0.510595 transport
78275 NaN NaN
\n", "

78276 rows × 3 columns

\n", "
" ], "text/plain": [ " 0 1 2\n", "0 379072753 1.111060 other biological processes\n", "1 NaN NaN\n", "2 379072753 1.111060 transport\n", "3 NaN NaN\n", "4 379072756 0.552288 cell organization and biogenesis\n", "5 379072758 0.764334 cell adhesion\n", "6 NaN NaN\n", "7 379072759 0.502570 other biological processes\n", "8 NaN NaN\n", "9 379072759 0.502570 signal transduction\n", "10 NaN NaN\n", "11 379072759 0.502570 transport\n", "12 NaN NaN\n", "13 379072761 0.763350 RNA metabolism\n", "14 NaN NaN\n", "15 379072761 0.763350 other metabolic processes\n", "16 NaN NaN\n", "17 379072762 0.442442 DNA metabolism\n", "18 NaN NaN\n", "19 379072762 0.442442 cell cycle and proliferation\n", "20 379072762 0.442442 cell organization and biogenesis\n", "21 379072762 0.442442 other biological processes\n", "22 NaN NaN\n", "23 379072763 0.592282 other biological processes\n", "24 NaN NaN\n", "25 379072763 0.592282 other metabolic processes\n", "26 NaN NaN\n", "27 379072763 0.592282 protein metabolism\n", "28 NaN NaN\n", "29 379072764 0.773241 transport\n", "... ... ... ...\n", "78246 NaN NaN\n", "78247 379125698 0.777251 signal transduction\n", "78248 NaN NaN\n", "78249 379125699 0.910527 cell cycle and proliferation\n", "78250 379125699 0.910527 cell-cell signaling\n", "78251 NaN NaN\n", "78252 379125699 0.910527 developmental processes\n", "78253 NaN NaN\n", "78254 379125699 0.910527 other biological processes\n", "78255 NaN NaN\n", "78256 379125699 0.910527 signal transduction\n", "78257 NaN NaN\n", "78258 379125702 0.343027 cell adhesion\n", "78259 NaN NaN\n", "78260 379125702 0.343027 cell organization and biogenesis\n", "78261 379125702 0.343027 developmental processes\n", "78262 NaN NaN\n", "78263 379125702 0.343027 other biological processes\n", "78264 NaN NaN\n", "78265 379125702 0.343027 stress response\n", "78266 NaN NaN\n", "78267 379125703 0.749044 RNA metabolism\n", "78268 NaN NaN\n", "78269 379125703 0.749044 cell organization and biogenesis\n", "78270 379125703 0.749044 protein metabolism\n", "78271 NaN NaN\n", "78272 379125706 0.510595 other metabolic processes\n", "78273 NaN NaN\n", "78274 379125706 0.510595 transport\n", "78275 NaN NaN\n", "\n", "[78276 rows x 3 columns]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "jData = pd.read_table('Amil_cpg_GOslim.tab', header=None)\n", "jData" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import matplotlib.pyplot as plt " ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nlfwPqSEmHiYXRigAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "jData.groupby(2)[1].mean().plot(kind='barh', color=list('myb'))\n", "plt.axis([0.65, 0.8, -1, 14])\n", "plt.xlabel('')\n", "plt.ylabel('')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 22, "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", "
01
0 379072753 1.111060
1 379072756 0.552288
2 379072758 0.764334
3 379072759 0.502570
4 379072761 0.763350
5 379072762 0.442442
6 379072763 0.592282
7 379072764 0.773241
8 379072772 0.689241
9 379072775 0.537750
10 379072779 0.481619
11 379072782 0.402079
12 379072783 0.878372
13 379072785 1.046400
14 379072788 0.506499
15 379072794 0.546124
16 379072796 0.430313
17 379072797 0.919021
18 379072798 0.569863
19 379072801 0.259086
20 379072802 0.402691
21 379072806 0.360158
22 379072808 0.685396
23 379072811 0.462238
24 379072812 0.755046
25 379072814 0.758242
26 379072815 0.418246
27 379072816 0.703233
28 379072818 0.413860
29 379072819 0.358968
.........
20996 379125610 0.512602
20997 379125611 0.442092
20998 379125612 1.195840
20999 379125613 0.495122
21000 379125619 0.330585
21001 379125620 0.600177
21002 379125634 0.741742
21003 379125638 0.837108
21004 379125642 0.589219
21005 379125643 0.784883
21006 379125644 1.239730
21007 379125645 0.636768
21008 379125650 0.748982
21009 379125652 0.929860
21010 379125653 0.742625
21011 379125654 1.298870
21012 379125655 0.827989
21013 379125656 0.358576
21014 379125657 0.596212
21015 379125672 0.793318
21016 379125674 0.414220
21017 379125690 0.742127
21018 379125695 1.065260
21019 379125697 0.903123
21020 379125698 0.777251
21021 379125699 0.910527
21022 379125700 0.495359
21023 379125702 0.343027
21024 379125703 0.749044
21025 379125706 0.510595
\n", "

21026 rows × 2 columns

\n", "
" ], "text/plain": [ " 0 1\n", "0 379072753 1.111060\n", "1 379072756 0.552288\n", "2 379072758 0.764334\n", "3 379072759 0.502570\n", "4 379072761 0.763350\n", "5 379072762 0.442442\n", "6 379072763 0.592282\n", "7 379072764 0.773241\n", "8 379072772 0.689241\n", "9 379072775 0.537750\n", "10 379072779 0.481619\n", "11 379072782 0.402079\n", "12 379072783 0.878372\n", "13 379072785 1.046400\n", "14 379072788 0.506499\n", "15 379072794 0.546124\n", "16 379072796 0.430313\n", "17 379072797 0.919021\n", "18 379072798 0.569863\n", "19 379072801 0.259086\n", "20 379072802 0.402691\n", "21 379072806 0.360158\n", "22 379072808 0.685396\n", "23 379072811 0.462238\n", "24 379072812 0.755046\n", "25 379072814 0.758242\n", "26 379072815 0.418246\n", "27 379072816 0.703233\n", "28 379072818 0.413860\n", "29 379072819 0.358968\n", "... ... ...\n", "20996 379125610 0.512602\n", "20997 379125611 0.442092\n", "20998 379125612 1.195840\n", "20999 379125613 0.495122\n", "21000 379125619 0.330585\n", "21001 379125620 0.600177\n", "21002 379125634 0.741742\n", "21003 379125638 0.837108\n", "21004 379125642 0.589219\n", "21005 379125643 0.784883\n", "21006 379125644 1.239730\n", "21007 379125645 0.636768\n", "21008 379125650 0.748982\n", "21009 379125652 0.929860\n", "21010 379125653 0.742625\n", "21011 379125654 1.298870\n", "21012 379125655 0.827989\n", "21013 379125656 0.358576\n", "21014 379125657 0.596212\n", "21015 379125672 0.793318\n", "21016 379125674 0.414220\n", "21017 379125690 0.742127\n", "21018 379125695 1.065260\n", "21019 379125697 0.903123\n", "21020 379125698 0.777251\n", "21021 379125699 0.910527\n", "21022 379125700 0.495359\n", "21023 379125702 0.343027\n", "21024 379125703 0.749044\n", "21025 379125706 0.510595\n", "\n", "[21026 rows x 2 columns]" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#To plot density curve, must use CpG data with original annotation\n", "CpG = pd.read_table('Amil_cpg_anno', header=None)\n", "CpG" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[-0.3, 1.7, 0, 1.7]" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAD7CAYAAABt0P8jAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmcHFW5//HPlyQigmxyAQ1gQJBFZd+ubAOoBFRABSOr\nyFXyA0EFF5brVcSLXlCQiwsqCEFFgoIKUUBQCOSyyhJANsE4yKLIvgZM4Pn9UaenaybdPT3TtZyq\nft6v17xSp6am+8lJ5Znqp06dIzPDOedc/1is7ACcc84VyxO/c871GU/8zjnXZzzxO+dcn/HE75xz\nfcYTv3PO9ZmJZQfQDUk+5tQ558bBzDRyXyUSP7QOvmokHWtmx5YdR13E3p8S6wJXAit1OOw7wKfM\nKP3iJvb+rJJY+rLdRbOXeoo1pewAamZK2QG0I7EcMItm0n8Z+AqwJzA7deih4SsGU8oOoEamlB1A\nJ574ncuYxGLAOcBbwq4XgHebcawZ5wPvAs5L/cg3JN5RcJiuj3niL9aMsgOomRllB9DGJ4CdU+0D\nzJjTaJjxCvBR4Nawa3HgOxJllzNnlPz+dTKj7AA6URXm6pFkdajxu/qTmAzcBSwddp1kxufaHLsu\ncDvNe20fMRv2ScC5nrTLnX7FXyBJA2XHUCex9We4Yv8uzaR/H/Bf7Y43427g1NSub0gsnl+EncXW\nn1UWe1964ncuO1OB3VLtj5sxf5SfOQ54LGyvCuyXR2DOpeVa6pF0JvBe4J9m1vLmVfjN+C1gEvC4\nmQ20OMZLPS5qEhNIavaN8/wMMz7R5c9+HjgxNP8CrGPGwuyjdP2mXe7MO/FvAzwP/LhV4pe0LHAN\nsJOZPSRpBTN7vMVxnvhd1CQ+SvOG3gvAmmb8o8uffT3wALBc2LW3GedmHqTrO6XU+M1sDvBUh0P2\nBi4ws4fC8Ysk/TqJve5XNbH0p8QSwH+ndn2z26QPYMZzDK/1fzKr2MYilv6sg9j7suwa/1rA8pKu\nlHSTJK9vuio6DFglbP8TOGkcr3EaDJV3tvJx/S5PZSf+ScDGwC7ATsB/SVqr3JDyY2azy46hTmLo\nT4k3AMekdh0bruDHxIxHgV+mdk3vNbaxx1B+f9ZF7H1Z9lw9D5Lc0J0PzJd0NbAByTC4YSTNAAZD\n82lgbqNzGx+rvO3tEtrHwOxlAGDgz8AZ4309sO8DH05mdHjlY9KOXzDjxcj+vt6OuB22DyAxSBu5\nP8AlaQowq83N3XVIJqnaieTpxRuAaWZ214jjanFzV9JA7FcCVVJ2f0pMAe4FXhN27WHGBT28nsLr\nNT71TjPj5z0FOab39/MzK7H0ZSk3dyWdC1wLrC3pQUkHSpouaTqAmd0DXEry9OINwOkjk75zEfsq\nzaR/PcNLNWMWZuj8aWrX3r28nnPt+JQNzo2DxEbALald26bn4+nhddcC/hyaC4CVzDqOjHOuLZ+y\nwblsnZDaviiLpA9gxn3ATaE5CfhQFq/rXJon/gLFPra3asrqT4n3AO8OzVeBozN+i5+ltgtL/H5+\nZif2vvTE79wYhKkZTkztOtOMrO9Lpe8V7BCe7HUuM17jd24MJD4OnB6a80mmZngkh/e5FdgwND9s\nxi+yfg9Xf17jd65HEksDx6d2/U8eST+4MLW9W9ujnBsHT/wFir3uVzUl9OcxwIph+yHgmzm+Vzrx\nv1diUo7vBfj5maXY+9ITv3NdkFgDODy160gzXszxLeeSPNkOsCywZY7v5fqMJ/4CxfAkX50U3J8n\nMvxhrVynTQ4Pc12S2vWePN8veU8/P7MSe1964nduFBLbMXxY5eEhMeftstT2TgW8n+sTnvgLFHvd\nr2qK6M8wfPNbqV3nmHF93u8bXEHynADApmEm0Nz4+Zmd2PvSE79znX0U2Chszyf7h7XaClM13BCa\nAnYs6r1dvXniL1Dsdb+qybs/w4NTX0vtOtFs6IZrUdLlnlzr/H5+Zif2vvTE71x7RwMrhe2HgW+U\nEMOwxB+mbnauJ574CxR73a9q8uxPidWBI1K7jjLjhbzer4MbgWfD9qrA2nm9kZ+f2Ym9Lz3xO9fa\nCSSLA0GSfH/W4djcmLEQuDK1a6CMOFy9eOIvUOx1v6rJqz8ltgH2TO36jNnQ6JoyFJL4/fzMTux9\n6YnfuRSJxYBTUrvONeO6suIJZqe2B7zO73rlib9Asdf9qian/twf2DhsvwQclcN7jNUdMLQK10rk\nVOf38zM7sfdl3mvuninpUUl3jHLcZpIWSvpgnvE414nEUsDXU7u+YcbfyoqnIZSZrkrtGigpFFcT\neV/xnwVM7XSApAkkN9IuhXp/hI297lc1OfTnUcDKYfsRhi+4UrbZqe2BPN7Az8/sxN6XuSZ+M5sD\noy4UfRhwPvBYnrE414nEm4HPpXYdbcbzZcXTwuzUttf5XU9KrfFLmkyyyMRpYVf8y4H1IPa6X9Vk\n3J/p4Zs3AT/N8LWzkHud38/P7MTelxNLfv9TgKPMzCSJDqUeSTOAwdB8Gpjb+DjV6OTY26m/SxTx\nVL3d0PvrHXwoTJvWrKAcfDZ8f1uI7e9rVwG7Jxf/Nx8Enz0izv70NsmymYW/f9g+gMQgbeS+5q6k\nKcAsM3tHi+/No5nsVwBeBD5hZheNOM7X3HW5CLNv3kRzfdvzzPhIiSG1JfFpmkNNf27GtDLjcfFr\nlztLveI3szUa25LOIvkFcVGHH3Eua/+PZtKfDxxZYiyjSY/s2UZCBa0L4Gom7+Gc5wLXAmtLelDS\ngZKmS5qe5/vGKva6X9X02p8SKzJ88fTjzXigp6DydQfNeXveCKye5Yv7+Zmd2Psy1yt+M9trDMd+\nLM9YnGvhBGCZsH0/+S6e3jMzXpG4luYQ6W2AeSWG5CrKn9wtUOxje6uml/6UeBfNm2AAh5nxcq8x\nFWBOanvrLF/Yz8/sxN6Xnvhd35FYhuThwoYLzLi0rHjG6P9S25kmftc/PPEXKPa6X9X00J/fAlYJ\n208An8wkoGL8EVgQtteR+LesXtjPz+zE3pee+F1fkdgLSN9POtiMR8uKZ6zMmE+S/Bu2KisWV12e\n+AsUe92vasbanxLrAaends004xeZBlWMXMo9fn5mJ/a+9MTv+kKYefN8YMmw6z6gqsOK0zd4tykt\nCldZnvgLFHvdr2q67c8wodkPgXXDrpeAPcyGxsRXzbWp7Y2loV9mPfHzMzux96UnftcPDgHSz5Qc\nbMbtZQXTKzOeBO4MzYnAFiWG4yrIE3+BYq/7VU03/SmxJckonoYzzJiRV0wFynw8v5+f2Ym9Lz3x\nu9oKQx3PByaFXbeQrP9QBz6e342bJ/4CxV73q5pO/Rnq+mcDk8Oup0jq+i8VEFoR0lf8/y71Pv2K\nn5/Zib0vPfG7uvo4sHOqva8Zfy0rmKyFtYAfDM2lgA1KDMdVjCf+AsVe96uadv0psTpwcmrXt8y4\nuJCgipUu9/Q8rNPPz+zE3pee+F2tSCwGzCC5Cga4F/jP0gLKV24Ttrl688RfoNjrflXTpj8PArYN\n268C+4dpDupo2A3eXhdg9/MzO7H3pSd+VxthFM/XUrv+x4wby4qnAHeSrD8NyQLsa5YYi6uQ3Nfc\nzYKvueu6IXEmzQnY5gFvr/HVPgASvwHeG5oHmg2bbtr1uXa5M++lF8+U9KikO9p8fx9Jt0m6XdI1\nktbPMx5XXxJbMXzWzcPqnvSDa1Lb/15aFK5S8i71nEVzmbhW5gHbmtn6wFdJ5lOprdjrflXT6M8w\nhv17qW/9uqajeFpJz9vzzl5eyM/P7MTel7kmfjObQ/LgTLvvX2dmz4TmDTQXx3BuLA4BGp8W5wOf\nKTGWov0ReCVsv01i2TKDcdUQ083d/4B6X6XFPra3asxstsSKwHGp3V8144GyYiqaGS8Ct6Z2jbvc\n4+dndmLvy54f886CpO2BA+mwmpCkGcBgaD4NzG10buNjlbf7sv11mL0MAAzcB5wcWXy5t+HsB+DN\nm8IAwDslzY8pPm8X1w7bB5AYpI3cR/VImgLMMrN3tPn++sAvgalmdn+bY2oxqkfSQOxXAlUiffxg\nOCNd29/FjEtKC6gkEtOAmaF5hRk7ju91/PzMSix9WcqontFIWo0k6e/bLuk710ryhO7un07tuqgf\nk36QvsG7RRYTtrl6y/WKX9K5wHbACsCjwJcJU+Sa2Q8knQF8APhb+JEFZrZ5i9epxRW/y47Ex2mu\nn/sysJ4Z80oMqVQSfwNWDc2NzYbV/V2fapc7/QEuVzkSywF/JrmgADjOjC+XGFLpJGYC00LzUDO+\nW2Y8Lg5Rlnr6TexjeyvkOGAFmA3wAHBCqdHEoefx/H5+Zif2vvTE7ypFYjOScfsNR4Qhjf0uswe5\nXP15qcdVhsQk4CaaD2tdBkw1I/6TOGehb54Blgi7JpvxSIkhuQh4qcfVwWcZ/oTuwZ70E2YsgGEz\nkfpVv2vLE3+BYq/7xUxiTRh2A/dLoNXKiidSPZV7/PzMTux96YnfRS+sqvVD4LVh1y3AKeVFFC2v\n87uueI3fRU/iU8D/huYrwOZm3FJiSFGSWAF4LDQXAMv0ydTUrg2v8btKkliP4cM1v+lJvzUzHidZ\nYxiSByU3KTEcFzFP/AWKve4XG4nXAD+lWeK5DfhS8/veny2kF2YZU7nH+zM7sfelJ34Xs68BG4Xt\nl4F9zPhXifFUgdf53ai8xu+iJLEn8PPUrsPN/IbuaCTWBe4KzceAlXzIa//yuXpcZYTk9UdgybBr\nFrC7Ga+WF1U1hBFQjwPLhV1rmeEz3/Ypv7kbgdjrfjGQWBr4Fc2kfz+wf6uk7/25qNBP16V2tV3c\naCTvz+zE3pee+F00JAScBawdds0HPmjG0+VFVUle53cdeanHRUPi88CJqV37mnFOWfFUlcT2wBWh\n+SczWq5+5+rPa/wuahI7AJfT/BT6bTM+VWJIlSWxFMm61BMAA5b3T039yWv8EYi97lcWicnAuTTP\nx2uAz43+c96frZjxPMkzDwACtujm57w/sxN7X+aa+CWdKelRSXd0OOZUSfdJuk3SRu2Oc/UUphOe\nCawYdj0KfNjH6/fM6/yurbyv+M8Cprb7pqRdgDXNbC3gIOC0nOMplZnNLjuGCH0d2Dpsvwp8pNt5\n5L0/OxrzE7zen9mJvS9zTfxmNgd4qsMhuwJnh2NvAJaVtFKeMbl4SEwlmWO/4YtmyXqKrmfpK/4t\nJSaUFomLTtk1/snAg6n2Q8AqJcWSu9jrfkUKC6b/KLXrt4xx7Vzvz44eBB4O20vB6CN7vD+zE3tf\nlp34Ibn5lBb/MCOXhW8DbwrbjwEf8ydzsxOmafA6v2tpYsnv/zCwaqq9Cs2rlGEkzQAGQ/NpYG6j\njtb47ertqrSPOgqm7gMDJL54Khz/Noglvnq0wa4F9oTZwKMfgGnfiym+urcbinz/sH1AeOtB2sh9\nHL+kKcAsM1vko2a4uXuome0iaUvgFDPbssVxPo6/JiReC9wJrBF2/cSM/UsMqbYkNqO5Du+gGauX\nGY8r3rjH8Uv6paT3ShpzWUjSuSQfN9eW9KCkAyVNlzQdwMwuBuZJuh/4AXDIWN+jSmKv+xXkCzST\n/lPAEeN9Ie/PUc2FoRW4pkhDpbWWvD+zE3tfdlPqOQ34GPBtST8HzjKze0f5GQDMbK8ujjm0m9dy\n1SfxZuDo1K5jwqpRLgdmLJC4Edgu7HoncH6JIblIjHoVb2aXm9newMYkNaM/SLpW0sckTco7wDqJ\nfWxvAb7C8AXTT+/lxbw/u9L1DV7vz+zE3pddlW8kvYHkhsHHSf7DnkqynufluUXmaiXMsb9fatfh\nZrxSVjx9xEf2uEV0U+P/FfB/wOuA95vZrmY2M5RoXp93gHUSe90vZ8fRPN8uNePqXl+wz/uzW+m5\n+TeWWKLdgd6f2Ym9L7up8Z8ebsIOkbS4mb1sZpvkFJerEYmNgT1Su75YViz9xownJO4B1gEmAZsC\nc8qNypWtm1LP8S32XddinxtF7HW/HB2Z2r7AjJuzeNE+7s+x6qrc4/2Zndj7su0Vv6Q3kjxZuYSk\njUmesDVgaZKyj3OjkliD4Vf7Xy0rlj52DXBg2O56KUZXX51KPTsBHyWZT+ek1P7ngGPyDKquJA3E\nfiWQgyNofrK8zGxonvie9Wl/jsewK34JhSkdhvH+zE7sfdk28ZvZDGCGpA+Z2QXFheTqQmIFmlea\nAN8oK5Y+dy/wJLA88AZgLeDPpUbkStV2ygZJ+5nZTyR9luETpwkwMzu5iABDLD5lQwVJHEPzHtFc\nYONWV5oufxKzgPeF5oFmnFVmPK4Y45myoVHHf32bL+faCvO/H5TadbIn/VL5eH43xBdbL1Dsdb8s\nSewMNIYBPwlMNuOlbN+jf/qzVxLbAleF5t1mrLfoMd6fWYmlL3uZpO1ESUtLmiTpD5Iel7TfaD/n\n+t701PaMrJO+G7ObgIVhe12J5csMxpVr1Ct+SbeZ2QaSPkBSIzwCmGNm6xcRYIihFlf8/UJiFeAB\nmhcW65jR1cR+Lj9hwrbNQvO9Zlzc6XhXfeO+4qc58ud9wPlm9gy+Spbr7ACa59aVnvSjkV6A3cfz\n97FuEv8sSfeQTMr2B0krgn9sH4/Y5+/IgoSAfVO7epqBs/N71b8/M9bxBq/3Z3Zi78tupmU+iuTq\nYBMz+xfwArBb3oG5ytoYWDtsPw9cWGIsbrj0Ff/mEj6tep/qalSPpK2AN8PQiWJm9uM8Axvx/l7j\nrwiJk4HDQ9OXVYyMxCDJ/2WAzcy4qcRwXM56GdXzU5InLrcmmdlvU5o3iEb72amS7pF0n6QjW3x/\nBUmXSpor6U+SDujmdV2cwtj99KprPy0rFteWj+d3XdX4NwG2MrNDzOywxtdoPyRpAvAdYCqwHrCX\npHVHHHYocKuZbQgMACdJ6maq6EqKve6XgR2AlcP2o8AVeb5ZH/RnHtLlnmGJ3/szO7H3ZTeJ/0/A\nG8fx2psD95vZoJktAGay6L2Bv5PM9kn48wkzW4irqmmp7Zlm+L9lfNJX/D6yp091c3X9b8Bdkm4E\nXg77zMx2HeXnJgMPptoPAVuMOOZ04ApJj5BMA/HhLuKprBie5MtLKPOkf7Gfl/d71rk/c3QHyQCN\nJYFVJFY1S/6fen9mJ/a+7CbxHxv+NJIJ2hrbo+nmmGOAuWY2IOktwOWSNjCz57r4WReXrYEVwvbf\ngRtKjMW1YcZCieuBHcOurUg+jbs+MmriN7PZkqYAa5rZ7yW9rpufAx4GVk21VyW56k97J2H2RjP7\ni6S/kgwFXGSkgaQZwGBoPk3yC2N2+N5AI9aY2419scSTbXvGocnyDQA/uRH23xa8P2Nsww8fhreS\n3FbjnZL+4f2ZeXtDMzul6PcP2weQGKSNbqZsOAj4BLC8mb1F0luB08xsx1F+biLJPOA7Ao8ANwJ7\nmdndqWNOBp4xs69IWgm4GVjfzJ4c8Vq1GM6pSCZuylp4aGsQWC3seo8Zl+f/vvXsz7xJTAUuCc2b\nzdg02e/9mZVY+rJd7uxqrh6SG7XXm9lGYd8dZvaOLt50Z+AUYALwIzP7uqTpAGb2A0krAGeRJIzF\ngK+b2c+6Dd7FQWITmp/SngZWNGNBiSG5DiSWJZkxVcArwLJmPF9uVC4P7XJnNyWbl83sZUmNF5pI\nl3P1mNklNK8sGvt+kNp+HHh/N6/lovaB1PZFnvTjZsbTEncCbye5KNsMuLLcqFyRuhnOeZWk/wRe\nJ+ndwC+AWfmGVU+xj+3twS6p7cKmaKhxfxZhkQnbvD+zE3tfdpP4jwIeIxkGNp1kcY0v5hmUqw6J\nlYGNQnMh8PsSw3HdS4/n37q0KFwpup2rZ0UAM/tn7hG1fn+v8UdK4gAYWr91thnblxiO65LEFOCv\nofk8sJw/cFc/7XJn2yt+JY6V9DjJ6Jx7lay+9WU1Cv7Owc6p7UvaHuWiYsYg8LfQXIpkVlXXJzqV\neg4nqf1tZmbLmdlyJKN7tqI5+6Ibg9jrfmMlMRF4T2pXoYm/bv1ZgqtS29t5f2Yn9r7slPj3B/Y2\ns8bHQcxsHrBP+J5zWwDLhu2HSeZ1ctUxLPGXFoUrXKfEP9HMHhu5M+yr7QyaeYrhgY6MDSvzmBW7\nJGcN+7No6cS/Ddic0iKpmdjPzU6Jv9NYbB+n7cDr+1X3F5Kn6iGZHXeDEmNxBeqU+NeX9FyrL2DU\np3bdomKv+42FxEo0bwiWMoyzTv1ZhvAJLXXVf+qBpQVTM7Gfm21LNmY2ochAXOWkh21eZ8azpUXi\nenEVQ6umvWnDUiNxhenmAS6XkdjrfmOUnqTvD2UEULP+LEvqin+PdSXPCVmI/dz0f2Q3XjuktnNd\nYtHl6l6g8WDm8iTz97ia88RfoNjrft0KT32uEZovUtKiK3XpzzKFOv/VSWs2+LDOTMR+bnrid+OR\nvtqfY8a/SovEZSE9rHOgrCBccTzxFyj2ut8YlF7fh1r1Z9lCqW4AYIfwRLbrQeznpid+NyZhtS2v\n79fL3SRPXkPyJPamJcbiCuCJv0Cx1/26tC6wcth+GphbViA16c/ShTr/ZaHGD8PnX3LjEPu56Ynf\njVX6av9KM14pLRKXpctS2574ay7XxC9pqqR7JN0n6cg2xwxIulXSnyTNzjOessVe9+tSNGWemvRn\nLH4PA425lraUWLrUaCou9nOzq4VYxvXC0gSSMcLvIqkf/hHYy8zuTh2zLMkScDuZ2UOSVgjr8I58\nLV+IJQISE4DHac7IuZ4Zd3f4EVchEjfTnIZjd7PiltF0+RjzQiwZ2By438wGzWwBMBPYbcQxewMX\nmNlDMLT4em3FXvfrwoY0k/7fgXtKjKUO/RmZH6X/Pb3c04PYz808E/9k4MFU+6GwL20tYHlJV0q6\nSdJ+OcbjepcexnlF0dMwu7zd/sdUwxN/jeU5XrebpDCJ5KPljsDrgOskXW9m9408UNIMYDA0nwbm\nNupojd+u3s63DRbq+7OBGx6G5LZNLPF5u+d/39OA42H264A1pYE1zJgXS3xVazcU+f5h+4Dw1oO0\nkWeNf0vgWDObGtpHA6+a2QmpY44EljCzY0P7DOBSMzt/xGt5jb9kEq8BniL5BQ2weli31dWIxG+B\nXULzU2Z8u8x4XG/KqPHfBKwlaYqk1wDTgItGHHMhsLWkCZJeR7KU3105xlSq2Ot+o9iCZtL/awxJ\nv+L9GZ3Qn7NSu3YtKZTKi/3czC3xm9lC4FDgdyTJ/Dwzu1vSdEnTwzH3AJcCt5NM9HW6mdU28Vdc\nehhnadM0uNz9JrU9ILFMaZG43ORW6smSl3rKJ3E1sE1o7mXGzDLjcfmRuAnYJDQ/YsZ5Zcbjxq+M\nUo+rCYklgS1Tu64sKxZXiHRJ1ss9NeSJv0Cx1/062IpkBBbAnWY8WmYwDRXuzyil+jOd+HeRhv7t\nXZdiPzc98btuRDNNgyvEbTSfwVkW2LbEWFwOPPEXKPb5OzqI8sZuhfszSo3+DA/m/Tr1rT1LCajC\nYj83/eau60hiWeAJkouEV4E3mPF0uVG5vElsDcwJzceBN5qxsMSQ3Dj4zd0IxF73a2M7mufJLTEl\n/Yr2Z7RG9Oe1NBdnWQHYvvCAKiz2c9MTvxuN1/f7kBmvAr9I7ZpWViwue17qcR1J3AG8PTSnmvG7\nMuNxxZH4d5Irf0im61jZjH+VGJIbIy/1uDGTWIlm0l8A/F+J4bjiXQ/8LWwvh8/YWRue+AsUe92v\nhXRd93ozXigtkhYq2J9RG9mfYXRP+qnd/QsNqMJiPzc98btOvL7vzk5t7yaxfGmRuMx4jd+1JCFg\nHjAl7NrOjKvLi8iVReJGYLPQ/KQZ3yszHtc9r/G7sVqLZtJ/nqTe6/rTjNT2ASXF4DLkib9Asdf9\nRtgptX1FjKM5Ktaf0evQnzNh6N9/M2nohr9rI/Zz0xO/ayed+H0IZx8z40mSRZMaDiorFpcNr/G7\nRUgsDjxJc8WtNc34S4khuZJJvAu4PDSfBSab8XyJIbkueI3fjcVWNJP+PE/6jmRyvnvD9tLAPiXG\n4nqUa+KXNFXSPZLuCwurtztuM0kLJX0wz3jKFnvdL6USZZ4K9WcldOrPMKb/tNSuQ8LIL9dC7Odm\nbolf0gTgO8BUYD1gL0nrtjnuBJK1d/1EikMlEr8r3NnAi2F7fZJPhq6C8rzi3xy438wGzWwByciA\n3VocdxhwPvBYjrFEIfY5ugEkVgY2CM2FRLzMYhX6s0pG688wM+s5qV2fzDWgCov93Mwz8U+muYoP\nwENh3xBJk0l+GTQ+QsZ/p7n+pqa2rzXj2dIicTH6bmp7D4lVSovEjdvEHF+7myR+CnCUmZkk0aHU\nI2kGMBiaTwNzG79VG/W02NuNfbHE06b9fpgdoh24OIJ4qt6flWl3059m3CZdeBssswEMTAQ+Jeni\nGOKPrL2hmZ1S9PuH7QNIDNJGbsM5JW0JHGtmU0P7aOBVMzshdcw8msl+BZL64SfM7KIRr1WL4ZyS\nBmL+CCjxWpLVlpYMu9Y1454SQ+oo9v6smm77U+J9wKzQfBZY1T8ZDhfLudkud+aZ+CeSDP/aEXgE\nuBHYy8zubnP8WcAsM/tli+/VIvHHTmJn4OLQvB94axjN4dwQicWAu4C1w67PmnFyiSG5Ngofx29m\nC4FDSUaF3AWcZ2Z3S5ouaXpe7+t68v7U9kWe9F0rYXWuk1K7PiMxqax43Nj5k7sFiuXjXythTPaD\nNG/AD5hxVYkhjSrm/qyisfRnKAs+AKwYdu1jxs/yiq1qYjk3/cldN5qNaCb9p4BrSozFRc6Ml0ie\n02n4nD/QVR2e+AsUwxVAB7umtn9rxsLSIulS5P1ZOePoz9OA+WF7I4Yv3NPXYj83PfG7hnTin9X2\nKOcCMx5n+Fz9badlcXHxxF+gWOfvkHgLyRUbJPOuV2Kahlj7s6rG2Z8nAa+G7XdLbJpdRNUV+7np\nid8B7Jna/p0Zz5QWiauUMHNrekH2o8uKxXXPR/U4JG6hecW/nxk/LTMeVy0S6wO3haYB68X84F8/\n8VE9riWJtWgm/ZeBizoc7twizLgd+E1oCq/1R88Tf4EirfuNLPNU5tH7SPuzsnrsz6+ntveVWK3H\ncCot9nMktF+sAAAKjklEQVTTE7+bltr+eWlRuEoz41rg6tCcCHyuxHDcKLzG38dG1GZfBlas0hW/\ni4vEVOCS0JwPvNms/utsxMxr/K6V/VLbv/ak73r0O+DWsL0E8OkSY3EdeOIvUEx1P4mJwL6pXT8u\nK5bxiqk/66DX/gyT+qVr/YdKLN1TUBUV+7npib9/7QisHLb/CVxWYiyuPn4J/DlsL4Mvzxglr/H3\nKYlzgL1D81tmHFFmPK4+JA4EfhSaTwFrhPV6XcG8xu+GSCwHfDC16+yyYnG19BPgL2F7OeCzJcbi\nWvDEX6CI6n77Aa8N23PNhkb2VEpE/VkLWfWnGQuAL6V2HS4NzdvfF2I/Nz3x95kwZ3p6BbQflBWL\nq7WZwB1he0l8Dp+o5F7jlzQVOAWYAJyRXmw9fH8f4Askj3o/BxxsZrePOMZr/BmR2BqYE5ovAG/y\nYZwuDxK7AheG5r9I5vD5S4cfcRkrpcYvaQLJKj1TgfWAvSStO+KwecC2ZrY+8FXgh3nG5IZd7f/M\nk77L0Szg+rD9GpILQBeBvEs9mwP3m9mgmS0g+fi3W/oAM7vOzBrTAN8ArJJzTKUpu+4X6qzpuXkq\nXeYpuz/rJuv+DOP6P00yYyfA+yTen+V7xCr2czPvxD+ZZAHvhodoruvayn8AF+caUX87GFg8bN9o\nxs1lBuPqz4wbaQ7tBPhfiSXLiscl8k78Xd9AkLQ9cCA1ntK1zHU4JV7L8IdpvlVWLFmJfV3Tqsmx\nP48mGc8PsDrwzZzeJxqxn5t5J/6HgVVT7VVJrvqHkbQ+cDqwq5k9NfL74ZgZko4NX59Jf5SSNODt\nzm044SvAvyV7LvsnLPPYWH7e294ebxv0dvif1L272f9POuqoWOKrUztszwhfx9JGrqN6JE0E7iWZ\nHuAR4EZgLzO7O3XMasAVwL5mdn2b16nFqB5JA2VcCYQhnLcDbw+7vmDGN4qOI2tl9Wdd5dmf4Ry8\nAPhA2PVPYGMzHs7j/coWy7nZLnfmesVvZguBQ0lm7bsLOM/M7pY0XVJjdMmXSJ7uO03SrZJuzDOm\nPrUrzaT/AsmnK+cKE270HgT8I+xaEfiVxBLlRdW/fK6emgtXWjfTXF7xm2Z8vsSQXB+T2IFkQsAJ\nYdfPgH3DLwaXsVKu+F0U3ksz6c+nD26suXiZcQXwmdSuvYETwwWKK4gn/gINv+FVxPshhs+Z8n0z\nHi0yhjwV3Z91V2B/fpfhD2p+jppN6RD7uemJv972BDYL2y9D9W/ouuoLZZ1PAr9O7T5e8hW7iuI1\n/poK4/bvAlYPu04y8wWwXTzCOfobklF/DbUYcRYLr/H3n8NoJv0ngP8uMRbnFmHGS8DuwLWp3SdK\n/FdJIfUNT/wFKqruJ/Em4IupXcfWcQWk2OuoVVNGf5rxPMkkjlendh8ncXyVb/jGfm564q+Z8J/l\nuzC0yPW9VHwyNldvZjwH7Axcntp9DPAjideUE1W9eY2/ZiQ+DJyX2rW9GbNLCse5roWa/y+A96V2\nXwl8yIyWU7m4zrzG3wck1mD4MLkfetJ3VRFq/h8CZqR2bw/cIrFVKUHVlCf+AuVZ9wuPvs8Elgm7\nBklWNqut2OuoVRNDf5rxL5JZev8ztXsKcLXEidJQCTNqMfRlJ574a0BiMeAnNMfsLwCmmfFM+59y\nLk5mmBlfA/aAoUEJiwGfB+6TOMzn9O+N1/grLiT97zF8ScVPmfHtkkJyLjMSqwE/BrYb8a0nSQYx\nfN+MRwoPrCLa5U5P/BUmsTjJTJv7pXb/r9mwuVCcq7RwcbMXcAKLruC3EPgVyS+Bq32yt+H85m4E\nsqz7hSuh2QxP+ucAn83qPWIXex21amLtTzNeNeMc4K0kDyYOpr49kWRqktnAHRKHSLy+8CBHiLUv\nGzzxV4zExDCnyV3Alqlv/RDY34xXyonMuXyZ8aIZ3wHWAqYBc0Yc8jaSK/9HJL4r8baiY6wKL/VU\nRBjjvA/JLIZvSX3rFZKbXqf4x1zXbyTeARxC8sm31Q3fq0h+GfzajAVFxhYDr/FXUKhtbg7sT1Lj\nXHbEIXcBnzAbNteJc31HYhmS5P9JYJ0Wh/wD+C3JMq9XmvH3AsMrTSmJX9JU4BSS1XbOMLMTWhxz\nKsnj2i8CB5jZrS2OqUXi72YdznDDdnuSyat2Bd7Y4rCnSKZYPimMe+5LsaxrWhd16M8wZcn2JJ8C\ndqe50tdIDwA3pb5uzvLp4Fj6sl3unJjjG04AvgO8C3gY+KOki0YstL4LsKaZrSVpC+A0htet62ZD\nGP4kbThR1wR2IOmrnaDtzam/ksy7c5oZz+YXZmUs0p+uJ5Xvz1DuvAK4QmIVknV+DwJWGnHom8PX\nhxo7JOYBtwN3An8Kf/7ZjJfHEUrUfZlb4icpUdxvZoMAkmYCuwF3p47ZFTgbwMxukLSspJXMrEar\nRLEYSe3x9bDOOhK7kAxJWwPYgOQEaXVV3/AEcCHJWOY5Zryac8hVMrL05XpTq/404yHgSxJfJclH\nO5JcYG0JLN7iR9YIX7und0o8ATwC/B14lqQ68SLJUqbzSRY5emn4n9tvLfFAaL8IPA88l/rzhTL/\nL+eZ+CcDD6baDwFbdHHMKrDo8oASv21shq9W2zF8fxKwFEmyXwpYovm3mAbDH7RqZx7J6kQXAtea\nsbCLn3HOtRBu6l4Tvo6TmEQyAmhTYJPw5wYk/3dbeUP4ekf377otpD5NtCLxAsN/ITxP8lzCq4Cl\nvl5tsd2TPBN/t8GNrD+1+7ldeoglEoPtvvEsyeiDK4DfA3f6CJ2uTCk7gJqZUnYARQi/COaGrzNg\n6N7aeiS/EN6e+nM1xjXsfbCbg5YMXyPLULnLM/E/DKyaaq9KckXf6ZhVwr4WKn9vNzi71c6lgfeH\nLwBUl79uziR9tOwY6sT7M0st/69HIc/EfxOwlqQpJPWxaSRDEtMuAg4FZkraEni6VX2/DiN6nHMu\nFrklfjNbKOlQ4HckQ6p+ZGZ3S5oevv8DM7tY0i6S7gdeAD6WVzzOOecSlXiAyznnXHZ8rp4cSJoq\n6R5J90k6ss0xp4bv3yZpo6JjrJLR+lPSgKRnJN0avr7Y6nUcSDpT0qOS7uhwjJ+bXRitL2M+Lz3x\nZyz14NpUklECe0lad8QxQw+ukTxcclrhgVZEN/0ZXGVmG4Wv/y40yGo5i6QvW/Jzc0w69mUQ5Xnp\niT97Qw+umdkCkuUQdxtxzLAH14BlJRU+pKsiuulPqM+wr1yZ2RzoODWBn5td6qIvIdLz0hN/9lo9\nlDZy8Yh2D665RXXTnwa8M5QmLpa0XmHR1Y+fm9mJ9rzMczhnv8r6wbV+102/3AKsamYvStqZ5Knn\nt+YbVq35uZmNaM9Lv+LPXsYPrvW9UfvTzJ4zsxfD9iXAJEnLFxdirfi5mZGYz0tP/NkbenBN0mtI\nHly7aMQxF5HMsU+nB9cc0EV/SlpJSp51lrQ5yTDlJ4sPtRb83MxIzOell3oy5g+uZaub/gT2AA6W\ntJBkJsSPlBZw5CSdC2wHrCDpQeDLhMnJ/Nwcm9H6kojPS3+Ayznn+oyXepxzrs944nfOuT7jid85\n5/qMJ37nnOsznvidc67PeOJ3zrk+44nfOef6jCd+55zrM/8fV+sfy12nAJkAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# pandas density plot\n", "CpG[1].plot(kind='kde', linewidth=3);\n", "plt.axis([-0.3, 1.7, 0, 1.7])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Now looking only at differentially expressed OA contigs, joining via common contig IDs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The file Moya_OA_genes.csv is a list of differentially expressed contigs in response to ocean acidification derived from a [supplementary data file](http://onlinelibrary.wiley.com/store/10.1111/j.1365-294X.2012.05554.x/asset/supinfo/MEC_5554_sm_FigS1-S3_TableS1-S9.pdf?v=1&s=8986ebf969c7552ad857973fff80a0752f87a129) featured in [Moya et al. (2012)](http://onlinelibrary.wiley.com/doi/10.1111/j.1365-294X.2012.05554.x/full). The contig IDs are the same as in the transcriptome and can be joined using common contig IDs." ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Cluster000096\n", "Cluster000102\n", "Cluster004352\n", "Cluster003365p\n", "Cluster020895\n", "Cluster021686\n", "Cluster000208\n", "Cluster001749\n", "Cluster020627\n", "Cluster011145\n", " 234 234 3352 Moya_OA_genes.csv\n" ] } ], "source": [ "!head Moya_OA_genes.csv\n", "!wc Moya_OA_genes.csv" ] }, { "cell_type": "code", "execution_count": 66, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Cluster000096\r\n", "Cluster000102\r\n", "Cluster004352\r\n", "Cluster003365p\r\n", "Cluster020895\r\n", "Cluster021686\r\n", "Cluster000208\r\n", "Cluster001749\r\n", "Cluster020627\r\n", "Cluster011145\r\n" ] } ], "source": [ "!tr ',' \"\\t\" Moya_OA_genes.tab\n", "!head Moya_OA_genes.tab" ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "379072745,Cluster034439\n", "379072746,Cluster034438\n", "379072747,Cluster007054\n", "379072748,Cluster034431\n", "379072749,Cluster034430\n", "379072750,Cluster034433\n", "379072751,Cluster034432\n", "379072752,Cluster034435\n", "379072753,Cluster034434\n", "379072754,Cluster034437\n", " 52962 52963 1273552 contigIDs.csv\n" ] } ], "source": [ "#In Excel, a .csv file was created that contains the 'Cluster\" ID and the other contig ID field we originally used. \n", "!head contigIDs.csv\n", "!wc contigIDs.csv" ] }, { "cell_type": "code", "execution_count": 67, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "379072745\tCluster034439\r\n", "379072746\tCluster034438\r\n", "379072747\tCluster007054\r\n", "379072748\tCluster034431\r\n", "379072749\tCluster034430\r\n", "379072750\tCluster034433\r\n", "379072751\tCluster034432\r\n", "379072752\tCluster034435\r\n", "379072753\tCluster034434\r\n", "379072754\tCluster034437\r\n" ] } ], "source": [ "!tr ',' \"\\t\" contigIDs.tab\n", "!head contigIDs.tab" ] }, { "cell_type": "code", "execution_count": 68, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Cluster000024\r\n", "Cluster000096\r\n", "Cluster000102\r\n", "Cluster000158m\t\r\n", "Cluster000158p\r\n", "Cluster000208\r\n", "Cluster000208\t\r\n", "Cluster000406\r\n", "Cluster000424\r\n", "Cluster000480\r\n" ] } ], "source": [ "!sort Moya_OA_genes.tab > Moya_OA_genes_sorted.tab\n", "!head Moya_OA_genes_sorted.tab" ] }, { "cell_type": "code", "execution_count": 69, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "379096802\tCluster000001\r\n", "379096801\tCluster000002\r\n", "379096800\tCluster000003\r\n", "379096806\tCluster000004\r\n", "379096805\tCluster000006\r\n", "379096804\tCluster000007\r\n", "379096798\tCluster000008\r\n", "379096797\tCluster000009\r\n", "379099915\tCluster000010m\r\n", "379099906\tCluster000010p\r\n" ] } ], "source": [ "!sort -k2 contigIDs.tab > contigIDs_sorted.tab # sort on column 2\n", "!head contigIDs_sorted.tab" ] }, { "cell_type": "code", "execution_count": 74, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Cluster000024 379083315\n", "Cluster000096 379079375\n", "Cluster000102 379103380\n", "Cluster000158m 379120937\n", "Cluster000158p 379120890\n", "Cluster000208 379094770\n", "Cluster000406 379115338\n", "Cluster000424 379101461\n", "Cluster000480 379102107\n", "Cluster000511 379098057\n", " 217 434 5221 Moya_OA_contigIDs\n" ] } ], "source": [ "!join -1 1 -2 2 Moya_OA_genes_sorted.tab contigIDs_sorted.tab | uniq > Moya_OA_contigIDs\n", "!head Moya_OA_contigIDs\n", "!wc Moya_OA_contigIDs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Now joining with CpG file" ] }, { "cell_type": "code", "execution_count": 76, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Cluster002816 379072903\r\n", "Cluster031840 379072913\r\n", "Cluster016915 379073364\r\n", "Cluster023488 379073410\r\n", "Cluster032164 379073609\r\n", "Cluster007778 379074809\r\n", "Cluster001907 379075128\r\n", "Cluster005744 379075418\r\n", "Cluster019721 379075495\r\n", "Cluster021686 379075855\r\n" ] } ], "source": [ "!sort -k2 Moya_OA_contigIDs > Moya_OA_contigIDs.sorted\n", "!head Moya_OA_contigIDs.sorted" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "379072903 \t 0.522193\n", "379072913 \t 0.568663\n", "379073364 \t 0.847868\n", "379073410 \t 0.449012\n", "379073609 \t 0.348797\n", "379074809 \t 0.882294\n", "379075128 \t 0.473422\n", "379075418 \t 0.781873\n", "379075495 \t 1.19552\n", "379075855 \t 1.02899\n", " 217 434 4515 Moya_OA_CpG\n" ] } ], "source": [ "#Joining with CpG O/E data\n", "!join -1 2 -2 1 Moya_OA_contigIDs.sorted ID_CpG.sorted | awk '{ print $1, \"\\t\", $3 }' > Moya_OA_CpG\n", "!head Moya_OA_CpG\n", "!wc Moya_OA_CpG" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "379072903 \t 0.522193\n", "379072913 \t 0.568663\n", "379073364 \t 0.847868\n", "379073410 \t 0.449012\n", "379073609 \t 0.348797\n", "379074809 \t 0.882294\n", "379075128 \t 0.473422\n", "379075418 \t 0.781873\n", "379075495 \t 1.19552\n", "379075855 \t 1.02899\n", " 194 388 4039 Amil_diff_cpg_anno\n" ] } ], "source": [ "#Joining with annotation file\n", "!join -1 1 -2 2 Moya_OA_CpG Amil_blastx_uniprot_sql.tab.sorted | awk '{print $1, \"\\t\", $2}' > Amil_diff_cpg_anno\n", "!head Amil_diff_cpg_anno\n", "!wc Amil_diff_cpg_anno" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " \n", "379072913 \t 0.568663 \t cell organization and biogenesis\n", "379073364 \t 0.847868 \t cell organization and biogenesis\n", " \n", " \n", "379073410 \t 0.449012 \t cell cycle and proliferation\n", " \n", " \n", " \n", " \n", " 416 1781 19142 Amil_diff_cpg_GOslim\n" ] } ], "source": [ "#Joining with GOslim annotation file\n", "!join Moya_OA_CpG Amil_GOSlim.sorted | awk '{print $1, \"\\t\", $2, \"\\t\", $3, $4, $5, $6}' > Amil_diff_cpg_GOslim\n", "!head Moya_OA_CpG_GOSlim\n", "!wc Amil_diff_cpg_GOslim" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Now plotting data using pandas and matplot" ] }, { "cell_type": "code", "execution_count": 19, "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 379072903 0.522193 transport
1 NaN NaN
2 379072913 0.568663 cell organization and biogenesis
3 379073364 0.847868 cell organization and biogenesis
4 379073364 0.847868 other metabolic processes
5 NaN NaN
6 379073364 0.847868 stress response
7 NaN NaN
8 379073410 0.449012 cell cycle and proliferation
9 379073410 0.449012 other biological processes
10 NaN NaN
11 379073410 0.449012 stress response
12 NaN NaN
13 379073609 0.348797 other metabolic processes
14 NaN NaN
15 379073609 0.348797 transport
16 NaN NaN
17 379074809 0.882294 other biological processes
18 NaN NaN
19 379074809 0.882294 other metabolic processes
20 NaN NaN
21 379074809 0.882294 signal transduction
22 NaN NaN
23 379075128 0.473422 other metabolic processes
24 NaN NaN
25 379075128 0.473422 transport
26 NaN NaN
27 379075495 1.195520 transport
28 NaN NaN
29 379075855 1.028990 other biological processes
............
756 NaN NaN
757 379122974 1.014600 cell cycle and proliferation
758 379122974 1.014600 death
759 NaN NaN
760 379122974 1.014600 developmental processes
761 NaN NaN
762 379122974 1.014600 other biological processes
763 NaN NaN
764 379122974 1.014600 signal transduction
765 NaN NaN
766 379124613 0.725200 other metabolic processes
767 NaN NaN
768 379125571 1.079680 cell organization and biogenesis
769 379125571 1.079680 death
770 NaN NaN
771 379125571 1.079680 other biological processes
772 NaN NaN
773 379125571 1.079680 protein metabolism
774 NaN NaN
775 379125571 1.079680 signal transduction
776 NaN NaN
777 379125699 0.910527 cell cycle and proliferation
778 379125699 0.910527 cell-cell signaling
779 NaN NaN
780 379125699 0.910527 developmental processes
781 NaN NaN
782 379125699 0.910527 other biological processes
783 NaN NaN
784 379125699 0.910527 signal transduction
785 NaN NaN
\n", "

786 rows × 3 columns

\n", "
" ], "text/plain": [ " 0 1 2\n", "0 379072903 0.522193 transport\n", "1 NaN NaN\n", "2 379072913 0.568663 cell organization and biogenesis\n", "3 379073364 0.847868 cell organization and biogenesis\n", "4 379073364 0.847868 other metabolic processes\n", "5 NaN NaN\n", "6 379073364 0.847868 stress response\n", "7 NaN NaN\n", "8 379073410 0.449012 cell cycle and proliferation\n", "9 379073410 0.449012 other biological processes\n", "10 NaN NaN\n", "11 379073410 0.449012 stress response\n", "12 NaN NaN\n", "13 379073609 0.348797 other metabolic processes\n", "14 NaN NaN\n", "15 379073609 0.348797 transport\n", "16 NaN NaN\n", "17 379074809 0.882294 other biological processes\n", "18 NaN NaN\n", "19 379074809 0.882294 other metabolic processes\n", "20 NaN NaN\n", "21 379074809 0.882294 signal transduction\n", "22 NaN NaN\n", "23 379075128 0.473422 other metabolic processes\n", "24 NaN NaN\n", "25 379075128 0.473422 transport\n", "26 NaN NaN\n", "27 379075495 1.195520 transport\n", "28 NaN NaN\n", "29 379075855 1.028990 other biological processes\n", ".. ... ... ...\n", "756 NaN NaN\n", "757 379122974 1.014600 cell cycle and proliferation\n", "758 379122974 1.014600 death\n", "759 NaN NaN\n", "760 379122974 1.014600 developmental processes\n", "761 NaN NaN\n", "762 379122974 1.014600 other biological processes\n", "763 NaN NaN\n", "764 379122974 1.014600 signal transduction\n", "765 NaN NaN\n", "766 379124613 0.725200 other metabolic processes\n", "767 NaN NaN\n", "768 379125571 1.079680 cell organization and biogenesis\n", "769 379125571 1.079680 death\n", "770 NaN NaN\n", "771 379125571 1.079680 other biological processes\n", "772 NaN NaN\n", "773 379125571 1.079680 protein metabolism\n", "774 NaN NaN\n", "775 379125571 1.079680 signal transduction\n", "776 NaN NaN\n", "777 379125699 0.910527 cell cycle and proliferation\n", "778 379125699 0.910527 cell-cell signaling\n", "779 NaN NaN\n", "780 379125699 0.910527 developmental processes\n", "781 NaN NaN\n", "782 379125699 0.910527 other biological processes\n", "783 NaN NaN\n", "784 379125699 0.910527 signal transduction\n", "785 NaN NaN\n", "\n", "[786 rows x 3 columns]" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Moya_OA_CpG_GOSlim_Data = pd.read_table('Amil_diff_cpg_GOslim', header=None)\n", "Moya_OA_CpG_GOSlim_Data" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n4jcnRgAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Moya_OA_CpG_GOSlim_Data.groupby(2)[1].mean().plot(kind='barh', color=list('myb'))\n", "plt.axis([0.6, 0.8, -1, 14])\n", "plt.xlabel('')\n", "plt.ylabel('')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 24, "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", "
01
0 379072903 0.522193
1 379072913 0.568663
2 379073364 0.847868
3 379073410 0.449012
4 379073609 0.348797
5 379074809 0.882294
6 379075128 0.473422
7 379075418 0.781873
8 379075495 1.195520
9 379075855 1.028990
10 379075932 0.539456
11 379075951 0.770346
12 379076013 0.526547
13 379076033 0.694382
14 379076130 0.557771
15 379076401 0.750048
16 379076849 0.394940
17 379076965 0.351158
18 379077122 0.694414
19 379077230 0.393514
20 379077908 0.546868
21 379078531 0.987622
22 379078649 0.409846
23 379079014 0.458468
24 379079021 0.809432
25 379079315 0.731396
26 379079375 0.266486
27 379079408 0.541812
28 379079438 0.944334
29 379079527 0.546718
.........
164 379115805 0.864860
165 379115864 0.620703
166 379115901 0.842288
167 379116169 0.949171
168 379116872 0.909996
169 379116910 0.843997
170 379117087 0.496767
171 379117634 1.382740
172 379118472 0.632430
173 379118610 0.359348
174 379118954 0.832243
175 379118999 0.687449
176 379119019 0.991063
177 379120020 0.782024
178 379120424 0.938628
179 379120890 0.355217
180 379120937 0.500068
181 379121265 0.876896
182 379121334 0.469597
183 379121780 0.932571
184 379121838 0.739775
185 379122253 0.658398
186 379122402 0.973696
187 379122553 0.788853
188 379122590 0.704509
189 379122786 1.105120
190 379122974 1.014600
191 379124613 0.725200
192 379125571 1.079680
193 379125699 0.910527
\n", "

194 rows × 2 columns

\n", "
" ], "text/plain": [ " 0 1\n", "0 379072903 0.522193\n", "1 379072913 0.568663\n", "2 379073364 0.847868\n", "3 379073410 0.449012\n", "4 379073609 0.348797\n", "5 379074809 0.882294\n", "6 379075128 0.473422\n", "7 379075418 0.781873\n", "8 379075495 1.195520\n", "9 379075855 1.028990\n", "10 379075932 0.539456\n", "11 379075951 0.770346\n", "12 379076013 0.526547\n", "13 379076033 0.694382\n", "14 379076130 0.557771\n", "15 379076401 0.750048\n", "16 379076849 0.394940\n", "17 379076965 0.351158\n", "18 379077122 0.694414\n", "19 379077230 0.393514\n", "20 379077908 0.546868\n", "21 379078531 0.987622\n", "22 379078649 0.409846\n", "23 379079014 0.458468\n", "24 379079021 0.809432\n", "25 379079315 0.731396\n", "26 379079375 0.266486\n", "27 379079408 0.541812\n", "28 379079438 0.944334\n", "29 379079527 0.546718\n", ".. ... ...\n", "164 379115805 0.864860\n", "165 379115864 0.620703\n", "166 379115901 0.842288\n", "167 379116169 0.949171\n", "168 379116872 0.909996\n", "169 379116910 0.843997\n", "170 379117087 0.496767\n", "171 379117634 1.382740\n", "172 379118472 0.632430\n", "173 379118610 0.359348\n", "174 379118954 0.832243\n", "175 379118999 0.687449\n", "176 379119019 0.991063\n", "177 379120020 0.782024\n", "178 379120424 0.938628\n", "179 379120890 0.355217\n", "180 379120937 0.500068\n", "181 379121265 0.876896\n", "182 379121334 0.469597\n", "183 379121780 0.932571\n", "184 379121838 0.739775\n", "185 379122253 0.658398\n", "186 379122402 0.973696\n", "187 379122553 0.788853\n", "188 379122590 0.704509\n", "189 379122786 1.105120\n", "190 379122974 1.014600\n", "191 379124613 0.725200\n", "192 379125571 1.079680\n", "193 379125699 0.910527\n", "\n", "[194 rows x 2 columns]" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Moya_OA_CpG_Data = pd.read_table('Amil_diff_cpg_anno', header=None)\n", "Moya_OA_CpG_Data" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[-0.3, 1.7, 0, 2.0]" ] }, "execution_count": 25, "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", "Moya_OA_CpG_Data[1].plot(kind='kde', linewidth=3);\n", "CpG[1].plot(kind='kde', linewidth=3);\n", "plt.axis([-0.3, 1.7, 0, 2.0])" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0 3.790984e+08\n", "1 6.824230e-01\n", "dtype: float64" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.mean(CpG)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0 3.790981e+08\n", "1 7.195322e-01\n", "dtype: float64" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.mean(Moya_OA_CpG_Data)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "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 }