diff --git a/7_tf_binding_promoters.ipynb b/7_tf_binding_promoters.ipynb new file mode 100644 index 0000000..8c497c1 --- /dev/null +++ b/7_tf_binding_promoters.ipynb @@ -0,0 +1,1305 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "deletable": false, + "nbgrader": { + "checksum": "d4ff841edbfee192d053256b53bf2b90", + "grade": false, + "grade_id": "01_setup", + "locked": true, + "solution": false + } + }, + "source": [ + "# Homework 1: File formats and TF binding sites\n", + "\n", + "By the end of this homework you will...\n", + "\n", + "* Know what common genome annotation formats are (BED, GTF)\n", + "* Used knowledge of UNIX commands to ask biological questions\n", + "* Know how to use the UCSC genome browser to download BED files\n", + "* Loaded `biotools` on TSCC to get access to the `bedtools` program\n", + "* Used `bedtools` to get promoters of genes, overlap them with transcription factor binding sites \n", + "* Copied data from TSCC to your laptop\n", + "* Become more comfortable with reading and navigating documentation and man pages\n", + "\n", + "## Setup\n", + "\n", + "This assumes you have already set up [TSCC](2_tscc_setup.ipynb), [Jupyter notebooks on TSCC](4_juypter_setup.ipynb), and [Cloned the `biom262-2016` github repo to your `~/code` directory.\n", + "\n", + "1. Log in to TSCC\n", + "2. Start a Jupyter notebook server (`jupyter notebook --port #### --no-browser &`)\n", + "3. Navigate to `~/code/biom262-2016`\n", + "4. Create a branch\n", + "3. Tunnel the server back to your laptop (`ssh -NL ####:localhost:#### username@tscc-login2.sdsc.edu &`)\n", + "4. Go to `http://localhost:####` in your browser\n", + "5. Navigate to `~/code/biom262-2016/weeks/week01` in the Jupyter Notebook browser.\n", + "\n", + "### If this notebook on the website looks different than what you have\n", + "\n", + "You'll need to get the most updated one from `biom262/biom262-2016`, which we set up as the \"`upstream`\" repo [previously](http://nbviewer.ipython.org/github/biom262/biom262-2016/blob/master/weeks/week01/5_fork_clone_biom262-2016_repo.ipynb). To do that, do:\n", + "\n", + "```\n", + "git pull upstream master\n", + "```\n", + "\n", + "* * *\n", + "\n", + "Now that you're running this notebook, **run the cell below using Shift+Enter** to change directories to `~/code/biom262-2016/weeks/week01/data` to be in the same directory as the data.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false, + "nbgrader": { + "grade": false, + "locked": false, + "solution": false + } + }, + "outputs": [], + "source": [ + "cd ~/code/biom262-2016/weeks/week01/data" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "deletable": false, + "nbgrader": { + "checksum": "04834b8fa73dab3c99314706f3c4214c", + "grade": false, + "grade_id": "02_annotation_bed", + "locked": true, + "solution": false + } + }, + "source": [ + "## What is an annotation?\n", + "An annotation is a flag denoting a special characteristic to a particular base pair or string of base pairs in a DNA sequence. The most common type of annotation assigns particular chromosomal coordinates to a gene ID (and its associated metadata.) Genetic sequence is most commonly stored in strings of 'A', 'C', 'G', and 'T' (fasta format). Annotations are sometimes bundled with sequence (gbk, genbank file) or downloaded separately in memory efficient formats like GTF and BED.\n", + "\n", + "### BED Format: stuff in the genome\n", + "\n", + "BED stands for \"Browser Extensible Data\" (informative I know .....) and is a standard format in bioinformatics for describing locations of stuff in the genome the basic format is described [here](https://genome.ucsc.edu/FAQ/FAQformat.html#format1), and here's a minimal example (from [`pybedtools`](https://github.com/daler/pybedtools/blob/master/pybedtools/test/data/a.bed) tests):\n", + "\n", + "```\n", + "chr1\t0\t100\tfeature1\t0\t+\n", + "chr1\t100\t200\tfeature2\t0\t+\n", + "chr1\t150\t500\tfeature3\t0\t-\n", + "chr1\t900\t950\tfeature4\t0\t+\n", + "```\n", + "\n", + "As you can see, the format is:\n", + "\n", + "1. Chromosome name\n", + "2. Start of the feature (0-based, so the first base of the genome is \"0\")\n", + "3. Stop of the feature (0-based, so not inclusive). This is for computer science reasons, most programming langauges are written such that the \"0th\" item is the first thing. So then the \"100th\" item would then actually be the 101th element. To avoid the \"off by one error\" (a common problem in bioinformatics) then we use 0-based indexing, where `feature1` above starts at base 0 and ends at base 100, and thus is of length 100.\n", + "4. Name of the feature\n", + "5. Score of the feature, which is some integer from 0 to 1000. Some bed files come with a dot/period \"`.`\" here instead if it doesn't make sense for them to have a score, but there's programs that will complain that your `bed` file is improperly formatted so I end up using `awk` or something to fill that column with 1000 for every row.\n", + "6. Strand of the feature. If a strand doesn't make sense (e.g. for DNA methylation) then a dot/period \"`.`\" is here.\n", + "\n", + "### Get Transcription Factor (TF) Binding Site BED files from the UCSC Table Browser\n", + "\n", + "Go to the [UCSC Genome Browser](http://genome.ucsc.edu/) and click \"Tools > Table Browser\", as shown below.\n", + "\n", + "![](images/table_browser.png \"UCSC Table Browser\")\n", + "\n", + "1. Go to the [Table Browser](http://genome.ucsc.edu/cgi-bin/hgTables) \n", + "2. Choose \"clade: Mammal,\" \"genome: Human,\" and \"assembly: Feb. 2009 (GRCh37/hg19)\"\n", + "3. Choose \"group: Regulation\", \"track: Txn Fac ChIP V2\"\n", + "3. Use the default table (there are no others anyway)\n", + "4. Put \"chr22\" for the Region\n", + "5. Choose \"output format: BED - browser extensible data\". \n", + "4. Save as \"`tf.bed`\"\n", + "4. Click \"get output\".\n", + "4. Do one bed record per gene (They really mean per \"item\", not a whole gene)\n", + "5. Click \"get BED\"\n", + "\n", + "What does this file look like? Is it similar to what we had before? Let's use `head` to look at the first few lines, which by default is 10 lines.\n", + "\n", + "\n", + "Hint: Remember that the dollar sign (\"`$`\") indicates the shell command prompt that you're in, and shouldn't be included when you're copying commands.\n", + "\n", + "```\n", + "$ head ~/Downloads/tf.bed \n", + "chr22\t16166497\t16166741\tCTCF\t186\t.\t16166497\t16166741\t0\t1\t244,\t0,\n", + "chr22\t16201947\t16202317\tCTCF\t603\t.\t16201947\t16202317\t0\t1\t370,\t0,\n", + "chr22\t16201988\t16202252\tYY1_(C-20)\t63\t.\t16201988\t16202252\t0\t1\t264,\t0,\n", + "chr22\t16202021\t16202231\tRad21\t92\t.\t16202021\t16202231\t0\t1\t210,\t0,\n", + "chr22\t16202128\t16202242\tE2F6_(H-50)\t269\t.\t16202128\t16202242\t0\t1\t114,\t0,\n", + "chr22\t16205233\t16205683\tSETDB1\t356\t.\t16205233\t16205683\t0\t1\t450,\t0,\n", + "chr22\t16325696\t16325900\tNRSF\t36\t.\t16325696\t16325900\t0\t1\t204,\t0,\n", + "chr22\t16560670\t16560910\tMafK_(ab50322)\t102\t.\t16560670\t16560910\t0\t1\t240,\t0,\n", + "chr22\t16872258\t16872628\tCTCF\t279\t.\t16872258\t16872628\t0\t1\t370,\t0,\n", + "chr22\t16872319\t16872563\tSMC3_(ab9263)\t309\t.\t16872319\t16872563\t0\t1\t244,\t0\n", + "```\n", + "\n", + "### Copy `tf.bed` to TSCC\n", + "\n", + "#### Mac/Linux\n", + "\n", + "To copy data between computers, you can use \"secure copy\" or \"`scp`\". Just like with `cp` you do `cp filename newplace` you can do the same thing, but you have to specify the server name, and where on the server you want to put it. \n", + "\n", + "*Note: you are running this command from your **laptop**, because you need to be able to specify a unique address/URL for one of the file locations. Unless you have command line login and a static IP for your laptop (which takes a lot of work and is therefore unlikely), then you cannot run `scp` from TSCC to copy files to/from your laptop. You must always run `scp` from your laptop if you want to move files to/from a server.*\n", + "\n", + "```\n", + "$ scp tf.bed username@tscc.sdsc.edu:~/code/biom262-2016/weeks/week01/data\n", + "```\n", + "\n", + "Written another more generically, the `scp` command looks like\n", + "\n", + "```\n", + "$ scp localfile username@server:/path/to/new/place/on/server\n", + "```\n", + "\n", + "#### Windows\n", + "\n", + "(Instructions compiled from [Cornell IT](http://www.it.cornell.edu/services/managed_servers/howto/file_transfer/fileputty.cfm) and [Analyzing Next-Gen Seq (ANGUS) data workshop](http://ged.msu.edu/angus/tutorials/using-putty-on-windows.html))\n", + "\n", + "Install [PuTTY](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html). It doesn't need to be installed so you can put the file on your desktop or wherever you like to put your programs. You'll need both the `putty.exe` and `pscp.exe` files.\n", + "\n", + "Open the windows command line \n", + "\n", + "![](http://www.it.cornell.edu/catc/cms/services/managed_servers/howto/file_transfer/images/filewindowsstart_1.jpg)\n", + "![](http://www.it.cornell.edu/catc/cms/services/managed_servers/howto/file_transfer/images/filewindowscmd_1.jpg)\n", + "\n", + "At the command prompt, you can now enter same command as for Mac/Linux, but using `pscp` instead of `scp`.\n", + "\n", + "```\n", + "c:\\>pscp tf.bed username@tscc.sdsc.edu:~/code/biom262-2016/weeks/week01/data\n", + "```\n", + "\n", + "Written another more generically, the `pscp` command looks like\n", + "\n", + "```\n", + "c:\\>pscp localfile username@server:/path/to/new/place/on/server\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "deletable": false, + "nbgrader": { + "checksum": "1c053757c3eef7abcbb1a242fdd9eefd", + "grade": false, + "grade_id": "03_ex1_tf_nfkb_question", + "locked": true, + "solution": false + } + }, + "source": [ + "### Exercise 1: Get NFKB binding sites only\n", + "\n", + "Use your UNIX skillz to filter the `tf.bed` file for only the NFKB ([Nuclear factor kappa B](http://en.wikipedia.org/wiki/NF-%CE%BAB)) TFs. Save this file as `tf.nfkb.bed`. This file should have 702 lines." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false, + "deletable": false, + "nbgrader": { + "checksum": "1f13f6f55ad15097679b17257a176fa8", + "grade": false, + "grade_id": "03_ex1_tf_nfkb_answer", + "locked": false, + "points": 1, + "solution": true + } + }, + "outputs": [], + "source": [ + "%%bash --out exercise1\n", + "# YOUR CODE HERE\n", + "grep -i 'NFKB' tfbed.txt >tf.nfkb.bed\n", + "\n", + "wc -l tf.nfkb.bed\n", + "echo '--- First 10 lines ---'\n", + "head tf.nfkb.bed\n", + "echo '--- Random 10 lines ---'\n", + "awk -v seed=907 'BEGIN{srand(seed);}{print $0}' tf.nfkb.bed | head\n", + "echo '--- Last 10 lines ---'\n", + "tail tf.nfkb.bed" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "deletable": false, + "nbgrader": { + "checksum": "e9932a89f4bced7752a68390535cea09", + "grade": false, + "grade_id": "03_ex1_tf_nfkb_output_explanation", + "locked": true, + "solution": false + } + }, + "source": [ + "The following cell is for your debugging purposes. Due to the way we have to set up the notebook to grade it, we add `--out exercise1` next to the `%%bash` magic to save the output of the previous cell to the variable `exercise1`, so here we're printing the output. This is what *would* be shown below the cell if we weren't doing this workaround. This is what is graded." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "print (exercise1)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false, + "deletable": false, + "nbgrader": { + "checksum": "96d21342bdcb1b2153be8df3ed6bc4f2", + "grade": true, + "grade_id": "03_ex1_tf_nfkb_tests", + "locked": true, + "points": 5, + "solution": false + } + }, + "outputs": [], + "source": [ + "answer1 = ''' 702 tf.nfkb.bed\n", + "--- First 10 lines ---\n", + "chr22\t17565763\t17566145\tNFKB\t406\t.\t17565763\t17566145\t0\t1\t382,\t0,\n", + "chr22\t17568509\t17568945\tNFKB\t354\t.\t17568509\t17568945\t0\t1\t436,\t0,\n", + "chr22\t17700141\t17700502\tNFKB\t525\t.\t17700141\t17700502\t0\t1\t361,\t0,\n", + "chr22\t17701962\t17702278\tNFKB\t295\t.\t17701962\t17702278\t0\t1\t316,\t0,\n", + "chr22\t17709521\t17709797\tNFKB\t300\t.\t17709521\t17709797\t0\t1\t276,\t0,\n", + "chr22\t17724391\t17724724\tNFKB\t413\t.\t17724391\t17724724\t0\t1\t333,\t0,\n", + "chr22\t17738401\t17738677\tNFKB\t462\t.\t17738401\t17738677\t0\t1\t276,\t0,\n", + "chr22\t17738857\t17739282\tNFKB\t573\t.\t17738857\t17739282\t0\t1\t425,\t0,\n", + "chr22\t17761088\t17761435\tNFKB\t244\t.\t17761088\t17761435\t0\t1\t347,\t0,\n", + "chr22\t17784788\t17785118\tNFKB\t1000\t.\t17784788\t17785118\t0\t1\t330,\t0,\n", + "--- Random 10 lines ---\n", + "chr22\t17565763\t17566145\tNFKB\t406\t.\t17565763\t17566145\t0\t1\t382,\t0,\n", + "chr22\t17568509\t17568945\tNFKB\t354\t.\t17568509\t17568945\t0\t1\t436,\t0,\n", + "chr22\t17700141\t17700502\tNFKB\t525\t.\t17700141\t17700502\t0\t1\t361,\t0,\n", + "chr22\t17701962\t17702278\tNFKB\t295\t.\t17701962\t17702278\t0\t1\t316,\t0,\n", + "chr22\t17709521\t17709797\tNFKB\t300\t.\t17709521\t17709797\t0\t1\t276,\t0,\n", + "chr22\t17724391\t17724724\tNFKB\t413\t.\t17724391\t17724724\t0\t1\t333,\t0,\n", + "chr22\t17738401\t17738677\tNFKB\t462\t.\t17738401\t17738677\t0\t1\t276,\t0,\n", + "chr22\t17738857\t17739282\tNFKB\t573\t.\t17738857\t17739282\t0\t1\t425,\t0,\n", + "chr22\t17761088\t17761435\tNFKB\t244\t.\t17761088\t17761435\t0\t1\t347,\t0,\n", + "chr22\t17784788\t17785118\tNFKB\t1000\t.\t17784788\t17785118\t0\t1\t330,\t0,\n", + "--- Last 10 lines ---\n", + "chr22\t50969418\t50969694\tNFKB\t415\t.\t50969418\t50969694\t0\t1\t276,\t0,\n", + "chr22\t50970799\t50971099\tNFKB\t298\t.\t50970799\t50971099\t0\t1\t300,\t0,\n", + "chr22\t50978032\t50978392\tNFKB\t1000\t.\t50978032\t50978392\t0\t1\t360,\t0,\n", + "chr22\t50979332\t50979632\tNFKB\t307\t.\t50979332\t50979632\t0\t1\t300,\t0,\n", + "chr22\t50980831\t50981158\tNFKB\t365\t.\t50980831\t50981158\t0\t1\t327,\t0,\n", + "chr22\t51001317\t51001593\tNFKB\t380\t.\t51001317\t51001593\t0\t1\t276,\t0,\n", + "chr22\t51021040\t51021316\tNFKB\t484\t.\t51021040\t51021316\t0\t1\t276,\t0,\n", + "chr22\t51021478\t51021754\tNFKB\t363\t.\t51021478\t51021754\t0\t1\t276,\t0,\n", + "chr22\t51058900\t51059230\tNFKB\t498\t.\t51058900\t51059230\t0\t1\t330,\t0,\n", + "chr22\t51060107\t51060383\tNFKB\t354\t.\t51060107\t51060383\t0\t1\t276,\t0,\n", + "'''\n", + "exercise1v2 = '\\t' + exercise1\n", + "assert exercise1v2 == answer1\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "deletable": false, + "nbgrader": { + "checksum": "db96794c22aaddb9f1deb9f934372112", + "grade": false, + "grade_id": "04_gencode_annotations", + "locked": true, + "solution": false + } + }, + "source": [ + "### Gencode gene annotations\n", + "\n", + "We are interested in which gene's promoters these transcription factors bind to. We will use the [GENCODE](http://www.gencodegenes.org/) gene annotation, which is an aggregate of several gene annotation groups (ENSEMBL, HAVANA) to create a comprehensive set of human, and recently, mouse, gene annotations. We downloaded the annotations using [GENCODE v19](http://www.gencodegenes.org/releases/19.html), the last release using hg19, which as of writing in January 2016 has all the ENCODE transcription factor binding sites.\n", + "\n", + "If you're interested in the difference between the GENCODE gene annotations and RefSeq genes, check out [this](http://www.biomedcentral.com/1471-2164/16/S8/S2) paper.\n", + "\n", + "For this assignment, we have provided the gene annotations and sequence for human chromosome 22 (one of the smallest chromosomes), which are located in `biom262-2016/weeks/week01/data`\n", + "\n", + "#### In case you are curious ...\n", + "This information is just so you know how grabbing just chromosome 22 for the different file formats was accomplished, here it is. It is not graded material. \n", + "\n", + "To get the `chr22` data from the gtf file, we can `grep` for lines that start with `chr22`, where the up-carat/power symbol \"`^`\" indicates the start of the line.\n", + "\n", + "```\n", + "$ gunzip gencode.v24.basic.annotation.gtf.gz\n", + "$ grep '^chr22' gencode.v19.annotation.gtf > gencode.v19.annotation.chr22.gtf\n", + "```\n", + "\n", + "To get the fasta file, we first had to index it using `samtools faidx`, and then we could use the same program to grab chromosome 22.\n", + "\n", + "```\n", + "$ gunzip GRCh37.p13.genome.fa.gz \n", + "$ samtools faidx GRCh37.p13.genome.fa.gz \n", + "$ samtools faidx GRCh37.p13.genome.fa.gz chr22 > GRCh37.p13.chr22.fa \n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "deletable": false, + "nbgrader": { + "checksum": "a9400781ea1309d009ad995a01cc29ca", + "grade": false, + "grade_id": "05_fasta_format", + "locked": true, + "solution": false + } + }, + "source": [ + "#### Fasta and GTF formats\n", + "\n", + "##### Fasta\n", + "\n", + "The FASTA format is one of the oldest in bioinformatics and the simplest. The concept is this:\n", + "\n", + "```\n", + ">sequence1_name \n", + "GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGCCCCCCCCCC\n", + "CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCGGGGGGGGGG\n", + "GGGGGGGGGG\n", + ">sequence2_name\n", + "CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCGGGGGGGGGG\n", + "GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGCCCCCCCCCC\n", + "CCCCCCCCCC\n", + "```\n", + "\n", + "Where a sequence entry starts with a greater than sign \"`>`\" and any number of sequence lines can follow. The end of the sequence is indicated by the start of the next one (or the end of the file!). The example above shows two 110-base long sequences, with the first two rows of the sequence are exactly the same length (50bp), with a final hanging sequence (10bp). Some programs require that the lines be the same length, so if you're creating FASTA files by hand, it's recommended to use [BioPython's SeqIO](http://biopython.org/wiki/SeqIO) to generate them so they're correctly formatted.\n", + "\n", + "\n", + "We can use `head` to look at the first few lines (10 by default) of each of the files. The fasta file is kind of boring for the first few lines:\n", + "\n", + "\n", + "```\n", + "$ head GRCh37.p13.chr22.fa\n", + ">chr22\n", + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n", + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n", + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n", + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n", + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n", + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n", + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n", + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n", + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n", + "```\n", + "\n", + "One question is, how many bases are in this file? Well, we'll need to ignore all rows of the file that start with \"`>`\", which we can do using `grep -v`, where \"`-v`\" *in**v**erts* the match and returns the non-matching lines. Here's the excerpt from `man grep`:\n", + "\n", + " -v, --invert-match\n", + " Selected lines are those not matching any of the specified pat-\n", + " terns.\n", + "\n", + "To do this, we'll use `grep` to search for all lines that start with (startwith=\"`^`\") the character \"`>`\". Remember that the greater than sign is a special character in unix that indicates to save the output to a file with that name, so we need to put quotes around the \"regular expression\" (aka search term) we are searching with to protect it from getting evaluated by the UNIX command line.\n", + "\n", + "```\n", + "$ grep -v '^>' GRCh37.p13.chr22.fa | head\n", + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n", + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n", + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n", + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n", + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n", + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n", + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n", + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n", + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n", + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n", + "```\n", + "\n", + "Let's make sure we've only removed the first line by looking at the line count.\n", + "\n", + "```\n", + "wc -l \n", + " 855078 GRCh37.p13.chr22.fa\n", + "\n", + "```\n", + "\n", + "And this command:\n", + "\n", + "```\n", + "$ grep -v '^>' GRCh37.p13.chr22.fa | wc -l\n", + " 855077\n", + "```\n", + "\n", + "So yes, we've removed exactly one line. Now we're ready to count the number of bases. Remember that the \"`-l`\" flag on \"`wc`\" indicated to count only the number of lines\n", + "\n", + "```\n", + "$ grep -v '^>' GRCh37.p13.chr22.fa | wc \n", + " 855077 855077 52159643\n", + "```\n", + "\n", + "So that means there are 52,159,643 bases in chromosome 22. Cool!" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "deletable": false, + "nbgrader": { + "checksum": "48579bba9f02d94c94210c502a8c9bc5", + "grade": false, + "grade_id": "06_gtf_format", + "locked": true, + "solution": false + } + }, + "source": [ + "##### GTF\n", + "\n", + "Like the BED format, GTF encodes \"stuff in the genome,\" but allows for hierarchy in the relationships between items and for additional annotations of the items. For example, GTFs can encode genes, which have transcripts as children, which have exons as children, which have coding sequences (CDS), untranslated regions (UTRs), stop codons, and more as children. This is not possible in BED files.\n", + "\n", + "Read the GENCODE description of their [GTF](http://www.gencodegenes.org/data_format.html) format, which describes their columns and convenient anntations like whether the gene is protein-coding, the reading frame of coding sequences (CDS), and at which \"level\" a gene is annotated - verified, manually, or computationally.\n", + "\n", + "Here is a screenshot of the GTF file from the GENCODE website.\n", + "\n", + "![](images/gtf_example.png \"GTF Example\")\n", + "\n", + "As you can see, it is *similar* but *different* than the bed file. Besides the columns, a key difference is that GTF files are 1-based but BED files are 0-based. Thus, if we have a feature which in BED-land:\n", + "\n", + "```\n", + "chr1\t0\t100\tfeature1\t0\t+\n", + "```\n", + "\n", + "Then in the GTF, we have:\n", + "\n", + "```\n", + "chr1\tsource\tgene\t1\t100\tfeature1\t0\t+\t.\n", + "```\n", + "\n", + "The GTF file is slightly easier to understand because the feature starts at 1 (and is 1-based so \"1\" is truly the first nucleotide) truly ends on base 99, and there is no more feature on base 100. How is this different for the negative strand?\n", + "\n", + "For a bed file with the following 0-based coordinates, what would be the coordinates in the 1-based gtf file?\n", + "\n", + "```\n", + "chr1\t150\t500\tfeature3\t0\t-\n", + "```\n", + "\n", + "It'd be the same - the start is only changed. Why is that?\n", + "\n", + "```\n", + "chr1\tsource\tgene\t151\t500\tfeature3\t0\t-\n", + "```\n", + "\n", + "\n", + "Now let's look at GTF files on the command line. What if we do `head` on just the first two lines?\n", + "\n", + "```\n", + "head -n 2 gencode.v19.annotation.chr22.gtf\n", + "chr22\tHAVANA\tgene\t16062157\t16063236\t.\t+\t.\tgene_id \"ENSG00000233866.1\"; transcript_id \"ENSG00000233866.1\"; gene_type \"lincRNA\"; gene_status \"KNOWN\"; gene_name \"LA16c-4G1.3\"; transcript_type \"lincRNA\"; transcript_status \"KNOWN\"; transcript_name \"LA16c-4G1.3\"; level 2; havana_gene \"OTTHUMG00000140195.1\";\n", + "chr22\tHAVANA\ttranscript\t16062157\t16063236\t.\t+\t.\tgene_id \"ENSG00000233866.1\"; transcript_id \"ENST00000424770.1\"; gene_type \"lincRNA\"; gene_status \"KNOWN\"; gene_name \"LA16c-4G1.3\"; transcript_type \"lincRNA\"; transcript_status \"KNOWN\"; transcript_name \"LA16c-4G1.3-001\"; level 2; tag \"basic\"; havana_gene \"OTTHUMG00000140195.1\"; havana_transcript \"OTTHUMT00000276574.1\";\n", + "```\n", + "\n", + "\n", + "Oh that's annoying - GTF files are very wwwwwwwwwwwwwwiiiiiiiiiiiiiidddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeee and so the line wraps around and makes it are difficult to view in the terminal and line up columns. So we don't want to use `head`. Instead we'll use `less` with the `-S` flag. Check out `man less` to see **all** the options (there's a ton). Here's an excerpt from `man less` to show the function of `-S`:\n", + "\n", + " -S or --chop-long-lines\n", + " Causes lines longer than the screen width to be chopped rather\n", + " than folded. That is, the portion of a long line that does not\n", + " fit in the screen width is not shown. The default is to fold\n", + " long lines; that is, display the remainder on the next line.\n", + "\n", + "\n", + "```\n", + "$ less -S gencode.v19.annotation.chr22.gtf\n", + "```\n", + "\n", + "It's nice because you can use the left and right arrow keys to navigate to different columns.\n", + "\n", + "Here's a screenshot of the output:\n", + "\n", + "![](images/gencode_v19_chr22_less-S.png \"Example with 'less -S' to chop instead of wrap lines\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "deletable": false, + "nbgrader": { + "checksum": "b3d1986c073880e21da55ba00dcafea5", + "grade": false, + "grade_id": "07_ex2_genes_gtf_question", + "locked": true, + "solution": false + } + }, + "source": [ + "### Exercise 2: Extract only the genes from the GTF file\n", + "\n", + "Use what you've learned about UNIX so far to get only the rows of `gencode.v19.annotation.chr22.gtf` that contain features of type \"`transcript`\", saving to a file called `gencode.v19.annotation.chr22.transcript.gtf`. Your file should contain `4459` lines." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false, + "deletable": false, + "nbgrader": { + "checksum": "3f3294493886073dc6ecba91f21e408a", + "grade": false, + "grade_id": "07_ex2_genes_gtf_answer", + "locked": false, + "solution": true + } + }, + "outputs": [], + "source": [ + "%%bash --out exercise2\n", + "# YOUR CODE HERE\n", + "#cat gencode.v19.annotation.chr22.gtf | grep -i -w 'transcript'> gencode.v19.annotation.chr22.transcript.gtf\n", + "grep -i -w 'transcript' gencode.v19.annotation.chr22.gtf > gencode.v19.annotation.chr22.transcript.gtf\n", + "wc -l gencode.v19.annotation.chr22.transcript.gtf\n", + "echo '--- First 10 lines ---'\n", + "head gencode.v19.annotation.chr22.transcript.gtf\n", + "echo '--- Random 10 lines ---'\n", + "awk -v seed=907 'BEGIN{srand(seed);}{print $0}' gencode.v19.annotation.chr22.transcript.gtf | head\n", + "echo '--- Last 10 lines ---'\n", + "\n", + "tail gencode.v19.annotation.chr22.transcript.gtf" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "deletable": false, + "nbgrader": { + "checksum": "a0504035b479179418f057e7971a679b", + "grade": false, + "grade_id": "07_ex2_genes_gtf_output_explain", + "locked": true, + "solution": false + } + }, + "source": [ + "The following cell is for your debugging purposes. Due to the way we have to set up the notebook to grade it, we add `--out exercise2` next to the `%%bash` magic to save the output of the previous cell to the variable `exercise2`, so here we're printing the output. This is what *would* be shown below the cell if we weren't doing this workaround. This is what is graded." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false, + "scrolled": false + }, + "outputs": [], + "source": [ + "print(exercise2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false, + "deletable": false, + "nbgrader": { + "checksum": "767e10278ea0e3b552dedb72c2b4e659", + "grade": true, + "grade_id": "07_ex2_genes_gtf_tests", + "locked": true, + "points": 5, + "solution": false + } + }, + "outputs": [], + "source": [ + "answer2 = ''' 4459 gencode.v19.annotation.chr22.transcript.gtf\n", + "--- First 10 lines ---\n", + "chr22\tHAVANA\ttranscript\t16062157\t16063236\t.\t+\t.\tgene_id \"ENSG00000233866.1\"; transcript_id \"ENST00000424770.1\"; gene_type \"lincRNA\"; gene_status \"KNOWN\"; gene_name \"LA16c-4G1.3\"; transcript_type \"lincRNA\"; transcript_status \"KNOWN\"; transcript_name \"LA16c-4G1.3-001\"; level 2; tag \"basic\"; havana_gene \"OTTHUMG00000140195.1\"; havana_transcript \"OTTHUMT00000276574.1\";\n", + "chr22\tHAVANA\ttranscript\t16076052\t16076172\t.\t-\t.\tgene_id \"ENSG00000229286.1\"; transcript_id \"ENST00000448070.1\"; gene_type \"pseudogene\"; gene_status \"KNOWN\"; gene_name \"LA16c-4G1.4\"; transcript_type \"unprocessed_pseudogene\"; transcript_status \"KNOWN\"; transcript_name \"LA16c-4G1.4-001\"; level 2; ont \"PGO:0000005\"; havana_gene \"OTTHUMG00000140193.1\"; havana_transcript \"OTTHUMT00000276571.1\";\n", + "chr22\tHAVANA\ttranscript\t16084249\t16084826\t.\t-\t.\tgene_id \"ENSG00000235265.1\"; transcript_id \"ENST00000413156.1\"; gene_type \"pseudogene\"; gene_status \"KNOWN\"; gene_name \"LA16c-4G1.5\"; transcript_type \"unprocessed_pseudogene\"; transcript_status \"KNOWN\"; transcript_name \"LA16c-4G1.5-001\"; level 2; ont \"PGO:0000005\"; havana_gene \"OTTHUMG00000140197.1\"; havana_transcript \"OTTHUMT00000276576.1\";\n", + "chr22\tHAVANA\ttranscript\t16100517\t16124973\t.\t-\t.\tgene_id \"ENSG00000223875.1\"; transcript_id \"ENST00000420638.1\"; gene_type \"pseudogene\"; gene_status \"KNOWN\"; gene_name \"NBEAP3\"; transcript_type \"unprocessed_pseudogene\"; transcript_status \"KNOWN\"; transcript_name \"NBEAP3-001\"; level 2; ont \"PGO:0000005\"; havana_gene \"OTTHUMG00000140196.1\"; havana_transcript \"OTTHUMT00000276575.1\";\n", + "chr22\tHAVANA\ttranscript\t16122720\t16123768\t.\t+\t.\tgene_id \"ENSG00000215270.3\"; transcript_id \"ENST00000398242.2\"; gene_type \"pseudogene\"; gene_status \"KNOWN\"; gene_name \"LA16c-60H5.7\"; transcript_type \"processed_pseudogene\"; transcript_status \"KNOWN\"; transcript_name \"LA16c-60H5.7-001\"; level 1; ont \"PGO:0000004\"; tag \"pseudo_consens\"; havana_gene \"OTTHUMG00000140200.1\"; havana_transcript \"OTTHUMT00000276581.1\";\n", + "chr22\tHAVANA\ttranscript\t16147979\t16192971\t.\t-\t.\tgene_id \"ENSG00000206195.6\"; transcript_id \"ENST00000447898.1\"; gene_type \"processed_transcript\"; gene_status \"NOVEL\"; gene_name \"AP000525.9\"; transcript_type \"lincRNA\"; transcript_status \"KNOWN\"; transcript_name \"AP000525.9-002\"; level 2; tag \"basic\"; havana_gene \"OTTHUMG00000185288.2\"; havana_transcript \"OTTHUMT00000276780.1\";\n", + "chr22\tHAVANA\ttranscript\t16150255\t16193000\t.\t-\t.\tgene_id \"ENSG00000206195.6\"; transcript_id \"ENST00000437781.1\"; gene_type \"processed_transcript\"; gene_status \"NOVEL\"; gene_name \"AP000525.9\"; transcript_type \"lincRNA\"; transcript_status \"KNOWN\"; transcript_name \"AP000525.9-003\"; level 2; havana_gene \"OTTHUMG00000185288.2\"; havana_transcript \"OTTHUMT00000276579.1\";\n", + "chr22\tHAVANA\ttranscript\t16150529\t16193004\t.\t-\t.\tgene_id \"ENSG00000206195.6\"; transcript_id \"ENST00000413768.1\"; gene_type \"processed_transcript\"; gene_status \"NOVEL\"; gene_name \"AP000525.9\"; transcript_type \"lincRNA\"; transcript_status \"KNOWN\"; transcript_name \"AP000525.9-001\"; level 2; tag \"non_canonical_polymorphism\"; havana_gene \"OTTHUMG00000185288.2\"; havana_transcript \"OTTHUMT00000276578.1\";\n", + "chr22\tHAVANA\ttranscript\t16158798\t16192995\t.\t-\t.\tgene_id \"ENSG00000206195.6\"; transcript_id \"ENST00000383038.3\"; gene_type \"processed_transcript\"; gene_status \"NOVEL\"; gene_name \"AP000525.9\"; transcript_type \"processed_transcript\"; transcript_status \"KNOWN\"; transcript_name \"AP000525.9-004\"; level 2; havana_gene \"OTTHUMG00000185288.2\"; havana_transcript \"OTTHUMT00000276577.1\";\n", + "chr22\tHAVANA\ttranscript\t16158829\t16159470\t.\t-\t.\tgene_id \"ENSG00000206195.6\"; transcript_id \"ENST00000607933.1\"; gene_type \"processed_transcript\"; gene_status \"NOVEL\"; gene_name \"AP000525.9\"; transcript_type \"processed_transcript\"; transcript_status \"KNOWN\"; transcript_name \"AP000525.9-006\"; level 2; havana_gene \"OTTHUMG00000185288.2\"; havana_transcript \"OTTHUMT00000472240.1\";\n", + "--- Random 10 lines ---\n", + "chr22\tHAVANA\ttranscript\t16062157\t16063236\t.\t+\t.\tgene_id \"ENSG00000233866.1\"; transcript_id \"ENST00000424770.1\"; gene_type \"lincRNA\"; gene_status \"KNOWN\"; gene_name \"LA16c-4G1.3\"; transcript_type \"lincRNA\"; transcript_status \"KNOWN\"; transcript_name \"LA16c-4G1.3-001\"; level 2; tag \"basic\"; havana_gene \"OTTHUMG00000140195.1\"; havana_transcript \"OTTHUMT00000276574.1\";\n", + "chr22\tHAVANA\ttranscript\t16076052\t16076172\t.\t-\t.\tgene_id \"ENSG00000229286.1\"; transcript_id \"ENST00000448070.1\"; gene_type \"pseudogene\"; gene_status \"KNOWN\"; gene_name \"LA16c-4G1.4\"; transcript_type \"unprocessed_pseudogene\"; transcript_status \"KNOWN\"; transcript_name \"LA16c-4G1.4-001\"; level 2; ont \"PGO:0000005\"; havana_gene \"OTTHUMG00000140193.1\"; havana_transcript \"OTTHUMT00000276571.1\";\n", + "chr22\tHAVANA\ttranscript\t16084249\t16084826\t.\t-\t.\tgene_id \"ENSG00000235265.1\"; transcript_id \"ENST00000413156.1\"; gene_type \"pseudogene\"; gene_status \"KNOWN\"; gene_name \"LA16c-4G1.5\"; transcript_type \"unprocessed_pseudogene\"; transcript_status \"KNOWN\"; transcript_name \"LA16c-4G1.5-001\"; level 2; ont \"PGO:0000005\"; havana_gene \"OTTHUMG00000140197.1\"; havana_transcript \"OTTHUMT00000276576.1\";\n", + "chr22\tHAVANA\ttranscript\t16100517\t16124973\t.\t-\t.\tgene_id \"ENSG00000223875.1\"; transcript_id \"ENST00000420638.1\"; gene_type \"pseudogene\"; gene_status \"KNOWN\"; gene_name \"NBEAP3\"; transcript_type \"unprocessed_pseudogene\"; transcript_status \"KNOWN\"; transcript_name \"NBEAP3-001\"; level 2; ont \"PGO:0000005\"; havana_gene \"OTTHUMG00000140196.1\"; havana_transcript \"OTTHUMT00000276575.1\";\n", + "chr22\tHAVANA\ttranscript\t16122720\t16123768\t.\t+\t.\tgene_id \"ENSG00000215270.3\"; transcript_id \"ENST00000398242.2\"; gene_type \"pseudogene\"; gene_status \"KNOWN\"; gene_name \"LA16c-60H5.7\"; transcript_type \"processed_pseudogene\"; transcript_status \"KNOWN\"; transcript_name \"LA16c-60H5.7-001\"; level 1; ont \"PGO:0000004\"; tag \"pseudo_consens\"; havana_gene \"OTTHUMG00000140200.1\"; havana_transcript \"OTTHUMT00000276581.1\";\n", + "chr22\tHAVANA\ttranscript\t16147979\t16192971\t.\t-\t.\tgene_id \"ENSG00000206195.6\"; transcript_id \"ENST00000447898.1\"; gene_type \"processed_transcript\"; gene_status \"NOVEL\"; gene_name \"AP000525.9\"; transcript_type \"lincRNA\"; transcript_status \"KNOWN\"; transcript_name \"AP000525.9-002\"; level 2; tag \"basic\"; havana_gene \"OTTHUMG00000185288.2\"; havana_transcript \"OTTHUMT00000276780.1\";\n", + "chr22\tHAVANA\ttranscript\t16150255\t16193000\t.\t-\t.\tgene_id \"ENSG00000206195.6\"; transcript_id \"ENST00000437781.1\"; gene_type \"processed_transcript\"; gene_status \"NOVEL\"; gene_name \"AP000525.9\"; transcript_type \"lincRNA\"; transcript_status \"KNOWN\"; transcript_name \"AP000525.9-003\"; level 2; havana_gene \"OTTHUMG00000185288.2\"; havana_transcript \"OTTHUMT00000276579.1\";\n", + "chr22\tHAVANA\ttranscript\t16150529\t16193004\t.\t-\t.\tgene_id \"ENSG00000206195.6\"; transcript_id \"ENST00000413768.1\"; gene_type \"processed_transcript\"; gene_status \"NOVEL\"; gene_name \"AP000525.9\"; transcript_type \"lincRNA\"; transcript_status \"KNOWN\"; transcript_name \"AP000525.9-001\"; level 2; tag \"non_canonical_polymorphism\"; havana_gene \"OTTHUMG00000185288.2\"; havana_transcript \"OTTHUMT00000276578.1\";\n", + "chr22\tHAVANA\ttranscript\t16158798\t16192995\t.\t-\t.\tgene_id \"ENSG00000206195.6\"; transcript_id \"ENST00000383038.3\"; gene_type \"processed_transcript\"; gene_status \"NOVEL\"; gene_name \"AP000525.9\"; transcript_type \"processed_transcript\"; transcript_status \"KNOWN\"; transcript_name \"AP000525.9-004\"; level 2; havana_gene \"OTTHUMG00000185288.2\"; havana_transcript \"OTTHUMT00000276577.1\";\n", + "chr22\tHAVANA\ttranscript\t16158829\t16159470\t.\t-\t.\tgene_id \"ENSG00000206195.6\"; transcript_id \"ENST00000607933.1\"; gene_type \"processed_transcript\"; gene_status \"NOVEL\"; gene_name \"AP000525.9\"; transcript_type \"processed_transcript\"; transcript_status \"KNOWN\"; transcript_name \"AP000525.9-006\"; level 2; havana_gene \"OTTHUMG00000185288.2\"; havana_transcript \"OTTHUMT00000472240.1\";\n", + "--- Last 10 lines ---\n", + "chr22\tHAVANA\ttranscript\t51205934\t51222090\t.\t-\t.\tgene_id \"ENSG00000079974.13\"; transcript_id \"ENST00000395591.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"RABL2B\"; transcript_type \"protein_coding\"; transcript_status \"NOVEL\"; transcript_name \"RABL2B-003\"; level 2; tag \"basic\"; havana_gene \"OTTHUMG00000150156.3\"; havana_transcript \"OTTHUMT00000316608.1\";\n", + "chr22\tHAVANA\ttranscript\t51205934\t51222091\t.\t-\t.\tgene_id \"ENSG00000079974.13\"; transcript_id \"ENST00000395595.3\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"RABL2B\"; transcript_type \"protein_coding\"; transcript_status \"KNOWN\"; transcript_name \"RABL2B-006\"; level 2; tag \"basic\"; tag \"appris_candidate_longest\"; tag \"CCDS\"; ccdsid \"CCDS33683.1\"; havana_gene \"OTTHUMG00000150156.3\"; havana_transcript \"OTTHUMT00000316611.1\";\n", + "chr22\tHAVANA\ttranscript\t51205937\t51208930\t.\t-\t.\tgene_id \"ENSG00000079974.13\"; transcript_id \"ENST00000465063.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"RABL2B\"; transcript_type \"processed_transcript\"; transcript_status \"KNOWN\"; transcript_name \"RABL2B-010\"; level 2; tag \"basic\"; havana_gene \"OTTHUMG00000150156.3\"; havana_transcript \"OTTHUMT00000316615.1\";\n", + "chr22\tHAVANA\ttranscript\t51205958\t51222066\t.\t-\t.\tgene_id \"ENSG00000079974.13\"; transcript_id \"ENST00000436958.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"RABL2B\"; transcript_type \"nonsense_mediated_decay\"; transcript_status \"KNOWN\"; transcript_name \"RABL2B-002\"; level 2; havana_gene \"OTTHUMG00000150156.3\"; havana_transcript \"OTTHUMT00000316607.1\";\n", + "chr22\tHAVANA\ttranscript\t51207955\t51214261\t.\t-\t.\tgene_id \"ENSG00000079974.13\"; transcript_id \"ENST00000482308.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"RABL2B\"; transcript_type \"retained_intron\"; transcript_status \"KNOWN\"; transcript_name \"RABL2B-013\"; level 2; havana_gene \"OTTHUMG00000150156.3\"; havana_transcript \"OTTHUMT00000349056.1\";\n", + "chr22\tHAVANA\ttranscript\t51208210\t51221714\t.\t-\t.\tgene_id \"ENSG00000079974.13\"; transcript_id \"ENST00000464678.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"RABL2B\"; transcript_type \"retained_intron\"; transcript_status \"KNOWN\"; transcript_name \"RABL2B-012\"; level 2; havana_gene \"OTTHUMG00000150156.3\"; havana_transcript \"OTTHUMT00000349055.1\";\n", + "chr22\tHAVANA\ttranscript\t51209638\t51222058\t.\t-\t.\tgene_id \"ENSG00000079974.13\"; transcript_id \"ENST00000395590.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"RABL2B\"; transcript_type \"protein_coding\"; transcript_status \"PUTATIVE\"; transcript_name \"RABL2B-004\"; level 2; tag \"basic\"; havana_gene \"OTTHUMG00000150156.3\"; havana_transcript \"OTTHUMT00000316609.1\";\n", + "chr22\tHAVANA\ttranscript\t51214199\t51222028\t.\t-\t.\tgene_id \"ENSG00000079974.13\"; transcript_id \"ENST00000468451.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"RABL2B\"; transcript_type \"nonsense_mediated_decay\"; transcript_status \"KNOWN\"; transcript_name \"RABL2B-014\"; level 2; havana_gene \"OTTHUMG00000150156.3\"; havana_transcript \"OTTHUMT00000349057.1\";\n", + "chr22\tHAVANA\ttranscript\t51216088\t51222058\t.\t-\t.\tgene_id \"ENSG00000079974.13\"; transcript_id \"ENST00000464740.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"RABL2B\"; transcript_type \"retained_intron\"; transcript_status \"KNOWN\"; transcript_name \"RABL2B-015\"; level 2; havana_gene \"OTTHUMG00000150156.3\"; havana_transcript \"OTTHUMT00000349058.1\";\n", + "chr22\tHAVANA\ttranscript\t51220662\t51221473\t.\t-\t.\tgene_id \"ENSG00000079974.13\"; transcript_id \"ENST00000413505.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"RABL2B\"; transcript_type \"protein_coding\"; transcript_status \"KNOWN\"; transcript_name \"RABL2B-011\"; level 2; tag \"alternative_5_UTR\"; tag \"mRNA_end_NF\"; tag \"cds_end_NF\"; havana_gene \"OTTHUMG00000150156.3\"; havana_transcript \"OTTHUMT00000316616.2\";\n", + "'''\n", + "assert exercise2 == answer2" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "deletable": false, + "nbgrader": { + "checksum": "595d5d23c33173f90c9ba903a5a04a6d", + "grade": false, + "grade_id": "08_bedtools", + "locked": true, + "solution": false + } + }, + "source": [ + "## Use Bedtools to get promoters and overlap with TF binding sites\n", + "\n", + "[Bedtools](http://bedtools.readthedocs.org/en/latest/) is a \"swiss-army knife of tools for a wide-range of genomics analysis tasks\". In particular, `bedtools` ***excels*** at \"genome algebra\", the adding and subtracting of genomic regions together. It is used ***EXTENSIVELY*** in bioinformatics and there are few projects that can live without it (or creating their own personal version but who wants to do that?)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "deletable": false, + "nbgrader": { + "checksum": "d9822040812468af459ab4b94f112718", + "grade": false, + "grade_id": "08_module_load_biotools", + "locked": true, + "solution": false + } + }, + "source": [ + "### Load `biotools` on TSCC which includes Bedtools\n", + "\n", + "First, try running `bedtools`. You should see this:\n", + "\n", + "```\n", + "$ bedtools\n", + "bash: bedtools: command not found\n", + "```\n", + "\n", + "This is because your shell doesn't know anything about the command `bedtools`. To load `bedtools` and other bioinformatics tools to your TSCC account, do\n", + "\n", + "```\n", + "module load biotools\n", + "```\n", + "\n", + "This command has no output. To make sure we have `bedtools` available, use `which` to see the full path to `bedtools`:\n", + "\n", + "```\n", + "$ which bedtools\n", + "/opt/biotools/bedtools/bin/bedtools\n", + "```\n", + "\n", + "(This is a TSCC-specific thing that the nice system administrators have set up for us but is not a general thing you can do on all servers. Maybe other nice sysadmins on other clusters do this but it is not guaranteed)\n", + "\n", + "To see all available modules to load, do `module avail`:\n", + "\n", + "```\n", + "[obotvinnik@tscc-login2 ~]$ module avail\n", + "\n", + "-------------------------- /opt/modulefiles/applications/.gnu ---------------------------\n", + "atlas/3.10.2(default) hdf5/1.8.14(default) scalapack/2.0.2(default)\n", + "boost/1.55.0(default) lapack/3.5.0(default) slepc/3.5.3(default)\n", + "fftw/2.1.5 netcdf/3.6.2 sprng/2.0b(default)\n", + "fftw/3.3.4(default) netcdf/4.3.2(default) sundials/2.5.0(default)\n", + "gsl/1.16(default) parmetis/4.0.3(default) superlu/3.3(default)\n", + "hdf4/2.10(default) petsc/3.5.2(default) trilinos/11.12.1(default)\n", + "\n", + "------------------------------- /opt/modulefiles/mpi/.gnu -------------------------------\n", + "mvapich2_ib/2.1rc2(default) openmpi_ib/1.8.4(default)\n", + "\n", + "------------------------- /opt/modulefiles/applications/.intel --------------------------\n", + "atlas/3.10.2(default) lapack/3.5.0(default) scalapack/2.0.2(default)\n", + "boost/1.55.0(default) mxml/2.9(default) slepc/3.5.3(default)\n", + "fftw/2.1.5 netcdf/3.6.2 sprng/2.0b(default)\n", + "fftw/3.3.4(default) netcdf/4.3.2(default) sundials/2.5.0(default)\n", + "gsl/1.16(default) papi/5.4.1(default) superlu/3.3(default)\n", + "hdf4/2.10(default) parmetis/4.0.3(default) tau/2.23(default)\n", + "hdf5/1.8.14(default) pdt/3.20(default) trilinos/11.12.1(default)\n", + "ipm/2.0.3(default) petsc/3.5.2(default)\n", + "\n", + "------------------------------ /opt/modulefiles/mpi/.intel ------------------------------\n", + "mvapich2_ib/2.1rc2(default) openmpi_ib/1.8.4(default)\n", + "\n", + "---------------------------- /usr/share/Modules/modulefiles -----------------------------\n", + "dot module-info null rocks-openmpi_ib\n", + "module-git modules rocks-openmpi use.own\n", + "\n", + "----------------------------------- /etc/modulefiles ------------------------------------\n", + "openmpi-x86_64\n", + "\n", + "------------------------------ /opt/modulefiles/compilers -------------------------------\n", + "cilk/5.4.6(default) intel/2015.2.164\n", + "cmake/3.2.1(default) mono/3.12.0(default)\n", + "gnu/4.9.2(default) pgi/14.9(default)\n", + "guile/2.0.11(default) python/1(default)\n", + "intel/2013_sp1.2.144(default) upc/2.20.0(default)\n", + "\n", + "----------------------------- /opt/modulefiles/applications -----------------------------\n", + "abyss/1.5.2(default) fsa/1.15.9(default) mpi4py/1.3.1(default)\n", + "amber/14(default) gamess/2014.12(default) namd/2.10(default)\n", + "apbs/1.3(default) gaussian/09.D.01(default) namd/2.9\n", + "bbcp/14.09.02.00.0(default) globus/5.2.5 nwchem/6.5(default)\n", + "bbftp/3.2.1(default) gmp/6.0.0a(default) octave/3.8.2(default)\n", + "beagle/2.1(default) gnutools/2.69(default) polymake/2.13.1(default)\n", + "beast/1.8.0 gromacs/5.0.4(default) R/3.2.1(default)\n", + "beast/1.8.1(default) idl/8.4(default) rapidminer/6.1.0(default)\n", + "beast2/2.1.3(default) jags/3.4.0(default) scipy/2.7(default)\n", + "bioroll/6.2(default) lammps/20141209(default) siesta/3.2.5(default)\n", + "biotools/1(default) matlab/2013a stata/13.1(default)\n", + "blcr/0.8.5(default) matlab/2013b vasp/4.6\n", + "cp2k/2.5.1(default) matlab/2014a vasp/5.2.12\n", + "cpmd/3.17.1(default) matlab/2014b(default) vasp/5.2.12.gamma\n", + "cuda/6.5.19(default) mkl/11.1.2.144(default) vasp/5.3.5(default)\n", + "ddt/4.2.2(default) mpc/1.0.3(default) vtk/6.1.0(default)\n", + "eigen/3.2.3(default) mpfr/3.1.2(default) weka/3.7.12(default)\n", + "```\n", + "\n", + "To see everything that's loaded, look in `/opt/biotools/`:\n", + "\n", + "```\n", + "$ ls /opt/biotools/\n", + "bamtools blat cufflinks GenomeAnalysisTK miRDeep2 randfold spades trinity\n", + "bedtools bowtie dendropy gmap_gsnap miso rseqc squid velvet\n", + "biopython bowtie2 edena htseq picard samtools stacks ViennaRNA\n", + "bismark bwa fastqc idba-ud plink soapdenovo tophat\n", + "blast bx-python fastx matt pysam SOAPsnp trimmomatic\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "deletable": false, + "nbgrader": { + "checksum": "fe1401d62a2f2186e1826f98f6ae73e3", + "grade": false, + "grade_id": "09_ex3_bedtools_flank_question", + "locked": true, + "solution": false + } + }, + "source": [ + "### Exercise 3: Use `bedtools flank` to get the promoters\n", + "\n", + "Get 2000bp upstream from each gene. The genome we are using is \"`hg19.genome`\", provided in the data directory. Save this file as `gencode.v19.annotation.chr22.transcript.promoter.gtf`\n", + "\n", + "Go to the documentation for [bedtools](http://bedtools.readthedocs.org/en/latest/) and find the entry for \"`bedtools flank`\".\n", + "`bedtools flank -h` is also informative (below)\n", + "\n", + "``` \n", + "$ bedtools flank -h\n", + "\n", + "Tool: bedtools flank (aka flankBed)\n", + "Version: v2.22.1\n", + "Summary: Creates flanking interval(s) for each BED/GFF/VCF feature.\n", + "\n", + "Usage: bedtools flank [OPTIONS] -i -g [-b or (-l and -r)]\n", + "\n", + "Options: \n", + " -b Create flanking interval(s) using -b base pairs in each direction.\n", + " - (Integer) or (Float, e.g. 0.1) if used with -pct.\n", + "\n", + " -l The number of base pairs that a flank should start from\n", + " orig. start coordinate.\n", + " - (Integer) or (Float, e.g. 0.1) if used with -pct.\n", + "\n", + " -r The number of base pairs that a flank should end from\n", + " orig. end coordinate.\n", + " - (Integer) or (Float, e.g. 0.1) if used with -pct.\n", + "\n", + " -s Define -l and -r based on strand.\n", + " E.g. if used, -l 500 for a negative-stranded feature, \n", + " it will start the flank 500 bp downstream. Default = false.\n", + "\n", + " -pct Define -l and -r as a fraction of the feature's length.\n", + " E.g. if used on a 1000bp feature, -l 0.50, \n", + " will add 500 bp \"upstream\". Default = false.\n", + "\n", + " -header Print the header from the input file prior to results.\n", + "\n", + "Notes: \n", + " (1) Starts will be set to 0 if options would force it below 0.\n", + " (2) Ends will be set to the chromosome length if requested flank would\n", + " force it above the max chrom length.\n", + " (3) In contrast to slop, which _extends_ intervals, bedtools flank\n", + " creates new intervals from the regions just up- and down-stream\n", + " of your existing intervals.\n", + " (4) The genome file should tab delimited and structured as follows:\n", + "\n", + " \n", + "\n", + " For example, Human (hg19):\n", + " chr1 249250621\n", + " chr2 243199373\n", + " ...\n", + " chr18_gl000207_random 4262\n", + "\n", + "Tips: \n", + " One can use the UCSC Genome Browser's MySQL database to extract\n", + " chromosome sizes. For example, H. sapiens:\n", + "\n", + " mysql --user=genome --host=genome-mysql.cse.ucsc.edu -A -e \\\n", + " \"select chrom, size from hg19.chromInfo\" > hg19.genome\n", + "````\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false, + "deletable": false, + "nbgrader": { + "checksum": "fb510095cbe8958e62d9c4ff6e3b0ed5", + "grade": false, + "grade_id": "09_ex3_bedtools_flank_answer", + "locked": false, + "solution": true + } + }, + "outputs": [], + "source": [ + "%%bash --out exercise3\n", + "module load biotools\n", + "# YOUR CODE HERE\n", + "bedtools flank -i gencode.v19.annotation.chr22.transcript.gtf -g hg19.genome -s -l 2000 -r 0 >gencode.v19.annotation.chr22.transcript.promoter.gtf \n", + "\n", + "wc -l gencode.v19.annotation.chr22.transcript.promoter.gtf\n", + "echo '--- First 10 lines ---'\n", + "head gencode.v19.annotation.chr22.transcript.promoter.gtf\n", + "echo '--- Random 10 lines ---'\n", + "awk -v seed=907 'BEGIN{srand(seed);}{print rand()\" \"$0}' gencode.v19.annotation.chr22.transcript.promoter.gtf | head\n", + "echo '--- Last 10 lines ---'\n", + "tail gencode.v19.annotation.chr22.transcript.promoter.gtf" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The following cell is for your debugging purposes. Due to the way we have to set up the notebook to grade it, we add `--out exercise3` next to the `%%bash` magic to save the output of the previous cell to the variable `exercise3`, so here we're printing the output. This is what *would* be shown below the cell if we weren't doing this workaround. This is what is graded." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "print(exercise3)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false, + "deletable": false, + "nbgrader": { + "checksum": "391e6b895f3286f7baade98e875d0269", + "grade": true, + "grade_id": "09_ex3_bedtools_flank_tests", + "locked": true, + "points": 5, + "solution": false + } + }, + "outputs": [], + "source": [ + "answer3 = ''' 4459 gencode.v19.annotation.chr22.transcript.promoter.gtf\n", + "--- First 10 lines ---\n", + "chr22\tHAVANA\ttranscript\t16060157\t16062156\t.\t+\t.\tgene_id \"ENSG00000233866.1\"; transcript_id \"ENST00000424770.1\"; gene_type \"lincRNA\"; gene_status \"KNOWN\"; gene_name \"LA16c-4G1.3\"; transcript_type \"lincRNA\"; transcript_status \"KNOWN\"; transcript_name \"LA16c-4G1.3-001\"; level 2; tag \"basic\"; havana_gene \"OTTHUMG00000140195.1\"; havana_transcript \"OTTHUMT00000276574.1\";\n", + "chr22\tHAVANA\ttranscript\t16076173\t16078172\t.\t-\t.\tgene_id \"ENSG00000229286.1\"; transcript_id \"ENST00000448070.1\"; gene_type \"pseudogene\"; gene_status \"KNOWN\"; gene_name \"LA16c-4G1.4\"; transcript_type \"unprocessed_pseudogene\"; transcript_status \"KNOWN\"; transcript_name \"LA16c-4G1.4-001\"; level 2; ont \"PGO:0000005\"; havana_gene \"OTTHUMG00000140193.1\"; havana_transcript \"OTTHUMT00000276571.1\";\n", + "chr22\tHAVANA\ttranscript\t16084827\t16086826\t.\t-\t.\tgene_id \"ENSG00000235265.1\"; transcript_id \"ENST00000413156.1\"; gene_type \"pseudogene\"; gene_status \"KNOWN\"; gene_name \"LA16c-4G1.5\"; transcript_type \"unprocessed_pseudogene\"; transcript_status \"KNOWN\"; transcript_name \"LA16c-4G1.5-001\"; level 2; ont \"PGO:0000005\"; havana_gene \"OTTHUMG00000140197.1\"; havana_transcript \"OTTHUMT00000276576.1\";\n", + "chr22\tHAVANA\ttranscript\t16124974\t16126973\t.\t-\t.\tgene_id \"ENSG00000223875.1\"; transcript_id \"ENST00000420638.1\"; gene_type \"pseudogene\"; gene_status \"KNOWN\"; gene_name \"NBEAP3\"; transcript_type \"unprocessed_pseudogene\"; transcript_status \"KNOWN\"; transcript_name \"NBEAP3-001\"; level 2; ont \"PGO:0000005\"; havana_gene \"OTTHUMG00000140196.1\"; havana_transcript \"OTTHUMT00000276575.1\";\n", + "chr22\tHAVANA\ttranscript\t16120720\t16122719\t.\t+\t.\tgene_id \"ENSG00000215270.3\"; transcript_id \"ENST00000398242.2\"; gene_type \"pseudogene\"; gene_status \"KNOWN\"; gene_name \"LA16c-60H5.7\"; transcript_type \"processed_pseudogene\"; transcript_status \"KNOWN\"; transcript_name \"LA16c-60H5.7-001\"; level 1; ont \"PGO:0000004\"; tag \"pseudo_consens\"; havana_gene \"OTTHUMG00000140200.1\"; havana_transcript \"OTTHUMT00000276581.1\";\n", + "chr22\tHAVANA\ttranscript\t16192972\t16194971\t.\t-\t.\tgene_id \"ENSG00000206195.6\"; transcript_id \"ENST00000447898.1\"; gene_type \"processed_transcript\"; gene_status \"NOVEL\"; gene_name \"AP000525.9\"; transcript_type \"lincRNA\"; transcript_status \"KNOWN\"; transcript_name \"AP000525.9-002\"; level 2; tag \"basic\"; havana_gene \"OTTHUMG00000185288.2\"; havana_transcript \"OTTHUMT00000276780.1\";\n", + "chr22\tHAVANA\ttranscript\t16193001\t16195000\t.\t-\t.\tgene_id \"ENSG00000206195.6\"; transcript_id \"ENST00000437781.1\"; gene_type \"processed_transcript\"; gene_status \"NOVEL\"; gene_name \"AP000525.9\"; transcript_type \"lincRNA\"; transcript_status \"KNOWN\"; transcript_name \"AP000525.9-003\"; level 2; havana_gene \"OTTHUMG00000185288.2\"; havana_transcript \"OTTHUMT00000276579.1\";\n", + "chr22\tHAVANA\ttranscript\t16193005\t16195004\t.\t-\t.\tgene_id \"ENSG00000206195.6\"; transcript_id \"ENST00000413768.1\"; gene_type \"processed_transcript\"; gene_status \"NOVEL\"; gene_name \"AP000525.9\"; transcript_type \"lincRNA\"; transcript_status \"KNOWN\"; transcript_name \"AP000525.9-001\"; level 2; tag \"non_canonical_polymorphism\"; havana_gene \"OTTHUMG00000185288.2\"; havana_transcript \"OTTHUMT00000276578.1\";\n", + "chr22\tHAVANA\ttranscript\t16192996\t16194995\t.\t-\t.\tgene_id \"ENSG00000206195.6\"; transcript_id \"ENST00000383038.3\"; gene_type \"processed_transcript\"; gene_status \"NOVEL\"; gene_name \"AP000525.9\"; transcript_type \"processed_transcript\"; transcript_status \"KNOWN\"; transcript_name \"AP000525.9-004\"; level 2; havana_gene \"OTTHUMG00000185288.2\"; havana_transcript \"OTTHUMT00000276577.1\";\n", + "chr22\tHAVANA\ttranscript\t16159471\t16161470\t.\t-\t.\tgene_id \"ENSG00000206195.6\"; transcript_id \"ENST00000607933.1\"; gene_type \"processed_transcript\"; gene_status \"NOVEL\"; gene_name \"AP000525.9\"; transcript_type \"processed_transcript\"; transcript_status \"KNOWN\"; transcript_name \"AP000525.9-006\"; level 2; havana_gene \"OTTHUMG00000185288.2\"; havana_transcript \"OTTHUMT00000472240.1\";\n", + "--- Random 10 lines ---\n", + "0.780894 chr22\tHAVANA\ttranscript\t16060157\t16062156\t.\t+\t.\tgene_id \"ENSG00000233866.1\"; transcript_id \"ENST00000424770.1\"; gene_type \"lincRNA\"; gene_status \"KNOWN\"; gene_name \"LA16c-4G1.3\"; transcript_type \"lincRNA\"; transcript_status \"KNOWN\"; transcript_name \"LA16c-4G1.3-001\"; level 2; tag \"basic\"; havana_gene \"OTTHUMG00000140195.1\"; havana_transcript \"OTTHUMT00000276574.1\";\n", + "0.808737 chr22\tHAVANA\ttranscript\t16076173\t16078172\t.\t-\t.\tgene_id \"ENSG00000229286.1\"; transcript_id \"ENST00000448070.1\"; gene_type \"pseudogene\"; gene_status \"KNOWN\"; gene_name \"LA16c-4G1.4\"; transcript_type \"unprocessed_pseudogene\"; transcript_status \"KNOWN\"; transcript_name \"LA16c-4G1.4-001\"; level 2; ont \"PGO:0000005\"; havana_gene \"OTTHUMG00000140193.1\"; havana_transcript \"OTTHUMT00000276571.1\";\n", + "0.238832 chr22\tHAVANA\ttranscript\t16084827\t16086826\t.\t-\t.\tgene_id \"ENSG00000235265.1\"; transcript_id \"ENST00000413156.1\"; gene_type \"pseudogene\"; gene_status \"KNOWN\"; gene_name \"LA16c-4G1.5\"; transcript_type \"unprocessed_pseudogene\"; transcript_status \"KNOWN\"; transcript_name \"LA16c-4G1.5-001\"; level 2; ont \"PGO:0000005\"; havana_gene \"OTTHUMG00000140197.1\"; havana_transcript \"OTTHUMT00000276576.1\";\n", + "0.190901 chr22\tHAVANA\ttranscript\t16124974\t16126973\t.\t-\t.\tgene_id \"ENSG00000223875.1\"; transcript_id \"ENST00000420638.1\"; gene_type \"pseudogene\"; gene_status \"KNOWN\"; gene_name \"NBEAP3\"; transcript_type \"unprocessed_pseudogene\"; transcript_status \"KNOWN\"; transcript_name \"NBEAP3-001\"; level 2; ont \"PGO:0000005\"; havana_gene \"OTTHUMG00000140196.1\"; havana_transcript \"OTTHUMT00000276575.1\";\n", + "0.389337 chr22\tHAVANA\ttranscript\t16120720\t16122719\t.\t+\t.\tgene_id \"ENSG00000215270.3\"; transcript_id \"ENST00000398242.2\"; gene_type \"pseudogene\"; gene_status \"KNOWN\"; gene_name \"LA16c-60H5.7\"; transcript_type \"processed_pseudogene\"; transcript_status \"KNOWN\"; transcript_name \"LA16c-60H5.7-001\"; level 1; ont \"PGO:0000004\"; tag \"pseudo_consens\"; havana_gene \"OTTHUMG00000140200.1\"; havana_transcript \"OTTHUMT00000276581.1\";\n", + "0.733629 chr22\tHAVANA\ttranscript\t16192972\t16194971\t.\t-\t.\tgene_id \"ENSG00000206195.6\"; transcript_id \"ENST00000447898.1\"; gene_type \"processed_transcript\"; gene_status \"NOVEL\"; gene_name \"AP000525.9\"; transcript_type \"lincRNA\"; transcript_status \"KNOWN\"; transcript_name \"AP000525.9-002\"; level 2; tag \"basic\"; havana_gene \"OTTHUMG00000185288.2\"; havana_transcript \"OTTHUMT00000276780.1\";\n", + "0.0175767 chr22\tHAVANA\ttranscript\t16193001\t16195000\t.\t-\t.\tgene_id \"ENSG00000206195.6\"; transcript_id \"ENST00000437781.1\"; gene_type \"processed_transcript\"; gene_status \"NOVEL\"; gene_name \"AP000525.9\"; transcript_type \"lincRNA\"; transcript_status \"KNOWN\"; transcript_name \"AP000525.9-003\"; level 2; havana_gene \"OTTHUMG00000185288.2\"; havana_transcript \"OTTHUMT00000276579.1\";\n", + "0.234394 chr22\tHAVANA\ttranscript\t16193005\t16195004\t.\t-\t.\tgene_id \"ENSG00000206195.6\"; transcript_id \"ENST00000413768.1\"; gene_type \"processed_transcript\"; gene_status \"NOVEL\"; gene_name \"AP000525.9\"; transcript_type \"lincRNA\"; transcript_status \"KNOWN\"; transcript_name \"AP000525.9-001\"; level 2; tag \"non_canonical_polymorphism\"; havana_gene \"OTTHUMG00000185288.2\"; havana_transcript \"OTTHUMT00000276578.1\";\n", + "0.00991894 chr22\tHAVANA\ttranscript\t16192996\t16194995\t.\t-\t.\tgene_id \"ENSG00000206195.6\"; transcript_id \"ENST00000383038.3\"; gene_type \"processed_transcript\"; gene_status \"NOVEL\"; gene_name \"AP000525.9\"; transcript_type \"processed_transcript\"; transcript_status \"KNOWN\"; transcript_name \"AP000525.9-004\"; level 2; havana_gene \"OTTHUMG00000185288.2\"; havana_transcript \"OTTHUMT00000276577.1\";\n", + "0.137205 chr22\tHAVANA\ttranscript\t16159471\t16161470\t.\t-\t.\tgene_id \"ENSG00000206195.6\"; transcript_id \"ENST00000607933.1\"; gene_type \"processed_transcript\"; gene_status \"NOVEL\"; gene_name \"AP000525.9\"; transcript_type \"processed_transcript\"; transcript_status \"KNOWN\"; transcript_name \"AP000525.9-006\"; level 2; havana_gene \"OTTHUMG00000185288.2\"; havana_transcript \"OTTHUMT00000472240.1\";\n", + "--- Last 10 lines ---\n", + "chr22\tHAVANA\ttranscript\t51222091\t51224090\t.\t-\t.\tgene_id \"ENSG00000079974.13\"; transcript_id \"ENST00000395591.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"RABL2B\"; transcript_type \"protein_coding\"; transcript_status \"NOVEL\"; transcript_name \"RABL2B-003\"; level 2; tag \"basic\"; havana_gene \"OTTHUMG00000150156.3\"; havana_transcript \"OTTHUMT00000316608.1\";\n", + "chr22\tHAVANA\ttranscript\t51222092\t51224091\t.\t-\t.\tgene_id \"ENSG00000079974.13\"; transcript_id \"ENST00000395595.3\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"RABL2B\"; transcript_type \"protein_coding\"; transcript_status \"KNOWN\"; transcript_name \"RABL2B-006\"; level 2; tag \"basic\"; tag \"appris_candidate_longest\"; tag \"CCDS\"; ccdsid \"CCDS33683.1\"; havana_gene \"OTTHUMG00000150156.3\"; havana_transcript \"OTTHUMT00000316611.1\";\n", + "chr22\tHAVANA\ttranscript\t51208931\t51210930\t.\t-\t.\tgene_id \"ENSG00000079974.13\"; transcript_id \"ENST00000465063.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"RABL2B\"; transcript_type \"processed_transcript\"; transcript_status \"KNOWN\"; transcript_name \"RABL2B-010\"; level 2; tag \"basic\"; havana_gene \"OTTHUMG00000150156.3\"; havana_transcript \"OTTHUMT00000316615.1\";\n", + "chr22\tHAVANA\ttranscript\t51222067\t51224066\t.\t-\t.\tgene_id \"ENSG00000079974.13\"; transcript_id \"ENST00000436958.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"RABL2B\"; transcript_type \"nonsense_mediated_decay\"; transcript_status \"KNOWN\"; transcript_name \"RABL2B-002\"; level 2; havana_gene \"OTTHUMG00000150156.3\"; havana_transcript \"OTTHUMT00000316607.1\";\n", + "chr22\tHAVANA\ttranscript\t51214262\t51216261\t.\t-\t.\tgene_id \"ENSG00000079974.13\"; transcript_id \"ENST00000482308.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"RABL2B\"; transcript_type \"retained_intron\"; transcript_status \"KNOWN\"; transcript_name \"RABL2B-013\"; level 2; havana_gene \"OTTHUMG00000150156.3\"; havana_transcript \"OTTHUMT00000349056.1\";\n", + "chr22\tHAVANA\ttranscript\t51221715\t51223714\t.\t-\t.\tgene_id \"ENSG00000079974.13\"; transcript_id \"ENST00000464678.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"RABL2B\"; transcript_type \"retained_intron\"; transcript_status \"KNOWN\"; transcript_name \"RABL2B-012\"; level 2; havana_gene \"OTTHUMG00000150156.3\"; havana_transcript \"OTTHUMT00000349055.1\";\n", + "chr22\tHAVANA\ttranscript\t51222059\t51224058\t.\t-\t.\tgene_id \"ENSG00000079974.13\"; transcript_id \"ENST00000395590.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"RABL2B\"; transcript_type \"protein_coding\"; transcript_status \"PUTATIVE\"; transcript_name \"RABL2B-004\"; level 2; tag \"basic\"; havana_gene \"OTTHUMG00000150156.3\"; havana_transcript \"OTTHUMT00000316609.1\";\n", + "chr22\tHAVANA\ttranscript\t51222029\t51224028\t.\t-\t.\tgene_id \"ENSG00000079974.13\"; transcript_id \"ENST00000468451.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"RABL2B\"; transcript_type \"nonsense_mediated_decay\"; transcript_status \"KNOWN\"; transcript_name \"RABL2B-014\"; level 2; havana_gene \"OTTHUMG00000150156.3\"; havana_transcript \"OTTHUMT00000349057.1\";\n", + "chr22\tHAVANA\ttranscript\t51222059\t51224058\t.\t-\t.\tgene_id \"ENSG00000079974.13\"; transcript_id \"ENST00000464740.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"RABL2B\"; transcript_type \"retained_intron\"; transcript_status \"KNOWN\"; transcript_name \"RABL2B-015\"; level 2; havana_gene \"OTTHUMG00000150156.3\"; havana_transcript \"OTTHUMT00000349058.1\";\n", + "chr22\tHAVANA\ttranscript\t51221474\t51223473\t.\t-\t.\tgene_id \"ENSG00000079974.13\"; transcript_id \"ENST00000413505.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"RABL2B\"; transcript_type \"protein_coding\"; transcript_status \"KNOWN\"; transcript_name \"RABL2B-011\"; level 2; tag \"alternative_5_UTR\"; tag \"mRNA_end_NF\"; tag \"cds_end_NF\"; havana_gene \"OTTHUMG00000150156.3\"; havana_transcript \"OTTHUMT00000316616.2\";\n", + "'''\n", + "assert exercise3 == answer3" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "deletable": false, + "nbgrader": { + "checksum": "c5c779b94e3efb8cbf762cb55fdad68c", + "grade": false, + "grade_id": "10_ex4_bedtools_intersect_question", + "locked": true, + "solution": false + } + }, + "source": [ + "### Exercise 4: Use `bedtools intersect` to overlap TFs with promoters\n", + "\n", + "Take a look at the diagrams in the documentation for `bedtools intersect` and think about how it can answer these questions:\n", + "\n", + "* Given locations of genome methylation, which genes does it overlap?\n", + "* Given locations of RBP binding, which exons does it overlap?\n", + "* Given two CHIP-Seq experiments, which peaks are consistent between them?\n", + "\n", + "Use `bedtools intersect` to find which promoters overlap with the NFKB binding sites. Use the promoters as \"A\" and the binding sites as \"B\". Call this file `gencode.v19.annotation.chr22.transcript.promoter.nfkb.gtf`.\n", + "\n", + "This file should have 740 lines." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false, + "deletable": false, + "nbgrader": { + "checksum": "1edf51e114c9f9285109c4f10617cd15", + "grade": false, + "grade_id": "10_ex4_bedtools_intersect_answer", + "locked": false, + "solution": true + }, + "scrolled": false + }, + "outputs": [], + "source": [ + "%%bash --out exercise4\n", + "module load biotools\n", + "# YOUR CODE HERE\n", + "bedtools intersect -a gencode.v19.annotation.chr22.transcript.promoter.gtf -b tf.nfkb.bed > gencode.v19.annotation.chr22.transcript.promoter.nfkb.gtf\n", + "\n", + "wc -l gencode.v19.annotation.chr22.transcript.promoter.nfkb.gtf\n", + "echo '--- First 10 lines ---'\n", + "head gencode.v19.annotation.chr22.transcript.promoter.nfkb.gtf\n", + "echo '--- Random 10 lines ---'\n", + "awk -v seed=908 'BEGIN{srand(seed);}{print $0}' gencode.v19.annotation.chr22.transcript.promoter.nfkb.gtf | head\n", + "echo '--- Last 10 lines ---'\n", + "tail gencode.v19.annotation.chr22.transcript.promoter.nfkb.gtf" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "deletable": false, + "nbgrader": { + "checksum": "ef04fe6ec49e5bd1fd94751cbc3a68cc", + "grade": false, + "grade_id": "10_ex4_bedtools_intersect_explain", + "locked": true, + "solution": false + } + }, + "source": [ + "The following cell is for your debugging purposes. Due to the way we have to set up the notebook to grade it, we add `--out exercise4` next to the `%%bash` magic to save the output of the previous cell to the variable `exercise4`, so here we're printing the output. This is what *would* be shown below the cell if we weren't doing this workaround. This is what is graded." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false, + "scrolled": false + }, + "outputs": [], + "source": [ + "print(exercise4)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false, + "deletable": false, + "nbgrader": { + "checksum": "0d9c5b5839d401d4f34ec9d7dcf066eb", + "grade": true, + "grade_id": "10_ex4_bedtools_intersect_test", + "locked": true, + "points": 5, + "solution": false + } + }, + "outputs": [], + "source": [ + "answer4 = ''' 1221 gencode.v19.annotation.chr22.transcript.promoter.nfkb.gtf\n", + "--- First 10 lines ---\n", + "chr22\tHAVANA\ttranscript\t17565763\t17565843\t.\t+\t.\tgene_id \"ENSG00000177663.9\"; transcript_id \"ENST00000477874.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"IL17RA\"; transcript_type \"processed_transcript\"; transcript_status \"PUTATIVE\"; transcript_name \"IL17RA-004\"; level 1; tag \"basic\"; tag \"exp_conf\"; havana_gene \"OTTHUMG00000150026.1\"; havana_transcript \"OTTHUMT00000315823.1\";\n", + "chr22\tHAVANA\ttranscript\t17565763\t17565848\t.\t+\t.\tgene_id \"ENSG00000177663.9\"; transcript_id \"ENST00000319363.6\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"IL17RA\"; transcript_type \"protein_coding\"; transcript_status \"KNOWN\"; transcript_name \"IL17RA-001\"; level 2; tag \"basic\"; tag \"appris_principal\"; tag \"CCDS\"; ccdsid \"CCDS13739.1\"; havana_gene \"OTTHUMG00000150026.1\"; havana_transcript \"OTTHUMT00000315820.1\";\n", + "chr22\tHAVANA\ttranscript\t17565763\t17565946\t.\t+\t.\tgene_id \"ENSG00000177663.9\"; transcript_id \"ENST00000459971.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"IL17RA\"; transcript_type \"retained_intron\"; transcript_status \"KNOWN\"; transcript_name \"IL17RA-003\"; level 2; havana_gene \"OTTHUMG00000150026.1\"; havana_transcript \"OTTHUMT00000315822.1\";\n", + "chr22\tHAVANA\ttranscript\t17700267\t17700502\t.\t-\t.\tgene_id \"ENSG00000093072.11\"; transcript_id \"ENST00000399837.2\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"CECR1\"; transcript_type \"protein_coding\"; transcript_status \"KNOWN\"; transcript_name \"CECR1-201\"; level 2; tag \"basic\"; tag \"appris_principal\"; tag \"CCDS\"; ccdsid \"CCDS13742.1\"; havana_gene \"OTTHUMG00000030726.8\"; havana_transcript \"OTTHUMT00000316079.1\";\n", + "chr22\tHAVANA\ttranscript\t17701962\t17702266\t.\t-\t.\tgene_id \"ENSG00000093072.11\"; transcript_id \"ENST00000399837.2\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"CECR1\"; transcript_type \"protein_coding\"; transcript_status \"KNOWN\"; transcript_name \"CECR1-201\"; level 2; tag \"basic\"; tag \"appris_principal\"; tag \"CCDS\"; ccdsid \"CCDS13742.1\"; havana_gene \"OTTHUMG00000030726.8\"; havana_transcript \"OTTHUMT00000316079.1\";\n", + "chr22\tHAVANA\ttranscript\t17700326\t17700502\t.\t-\t.\tgene_id \"ENSG00000093072.11\"; transcript_id \"ENST00000543038.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"CECR1\"; transcript_type \"protein_coding\"; transcript_status \"KNOWN\"; transcript_name \"CECR1-001\"; level 2; tag \"alternative_5_UTR\"; tag \"mRNA_end_NF\"; tag \"cds_end_NF\"; havana_gene \"OTTHUMG00000030726.8\"; havana_transcript \"OTTHUMT00000075614.5\";\n", + "chr22\tHAVANA\ttranscript\t17701962\t17702278\t.\t-\t.\tgene_id \"ENSG00000093072.11\"; transcript_id \"ENST00000543038.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"CECR1\"; transcript_type \"protein_coding\"; transcript_status \"KNOWN\"; transcript_name \"CECR1-001\"; level 2; tag \"alternative_5_UTR\"; tag \"mRNA_end_NF\"; tag \"cds_end_NF\"; havana_gene \"OTTHUMG00000030726.8\"; havana_transcript \"OTTHUMT00000075614.5\";\n", + "chr22\tHAVANA\ttranscript\t18111762\t18112038\t.\t-\t.\tgene_id \"ENSG00000131100.8\"; transcript_id \"ENST00000253413.5\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"ATP6V1E1\"; transcript_type \"protein_coding\"; transcript_status \"KNOWN\"; transcript_name \"ATP6V1E1-001\"; level 2; tag \"basic\"; tag \"appris_principal\"; tag \"CCDS\"; ccdsid \"CCDS13745.1\"; havana_gene \"OTTHUMG00000059320.4\"; havana_transcript \"OTTHUMT00000131790.3\";\n", + "chr22\tHAVANA\ttranscript\t18111762\t18112038\t.\t-\t.\tgene_id \"ENSG00000131100.8\"; transcript_id \"ENST00000399796.2\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"ATP6V1E1\"; transcript_type \"protein_coding\"; transcript_status \"KNOWN\"; transcript_name \"ATP6V1E1-006\"; level 2; tag \"basic\"; tag \"CCDS\"; ccdsid \"CCDS42978.1\"; havana_gene \"OTTHUMG00000059320.4\"; havana_transcript \"OTTHUMT00000353464.1\";\n", + "chr22\tHAVANA\ttranscript\t18111762\t18112038\t.\t-\t.\tgene_id \"ENSG00000131100.8\"; transcript_id \"ENST00000399798.2\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"ATP6V1E1\"; transcript_type \"protein_coding\"; transcript_status \"KNOWN\"; transcript_name \"ATP6V1E1-005\"; level 2; tag \"basic\"; tag \"CCDS\"; ccdsid \"CCDS42977.1\"; havana_gene \"OTTHUMG00000059320.4\"; havana_transcript \"OTTHUMT00000353463.1\";\n", + "--- Random 10 lines ---\n", + "chr22\tHAVANA\ttranscript\t17565763\t17565843\t.\t+\t.\tgene_id \"ENSG00000177663.9\"; transcript_id \"ENST00000477874.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"IL17RA\"; transcript_type \"processed_transcript\"; transcript_status \"PUTATIVE\"; transcript_name \"IL17RA-004\"; level 1; tag \"basic\"; tag \"exp_conf\"; havana_gene \"OTTHUMG00000150026.1\"; havana_transcript \"OTTHUMT00000315823.1\";\n", + "chr22\tHAVANA\ttranscript\t17565763\t17565848\t.\t+\t.\tgene_id \"ENSG00000177663.9\"; transcript_id \"ENST00000319363.6\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"IL17RA\"; transcript_type \"protein_coding\"; transcript_status \"KNOWN\"; transcript_name \"IL17RA-001\"; level 2; tag \"basic\"; tag \"appris_principal\"; tag \"CCDS\"; ccdsid \"CCDS13739.1\"; havana_gene \"OTTHUMG00000150026.1\"; havana_transcript \"OTTHUMT00000315820.1\";\n", + "chr22\tHAVANA\ttranscript\t17565763\t17565946\t.\t+\t.\tgene_id \"ENSG00000177663.9\"; transcript_id \"ENST00000459971.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"IL17RA\"; transcript_type \"retained_intron\"; transcript_status \"KNOWN\"; transcript_name \"IL17RA-003\"; level 2; havana_gene \"OTTHUMG00000150026.1\"; havana_transcript \"OTTHUMT00000315822.1\";\n", + "chr22\tHAVANA\ttranscript\t17700267\t17700502\t.\t-\t.\tgene_id \"ENSG00000093072.11\"; transcript_id \"ENST00000399837.2\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"CECR1\"; transcript_type \"protein_coding\"; transcript_status \"KNOWN\"; transcript_name \"CECR1-201\"; level 2; tag \"basic\"; tag \"appris_principal\"; tag \"CCDS\"; ccdsid \"CCDS13742.1\"; havana_gene \"OTTHUMG00000030726.8\"; havana_transcript \"OTTHUMT00000316079.1\";\n", + "chr22\tHAVANA\ttranscript\t17701962\t17702266\t.\t-\t.\tgene_id \"ENSG00000093072.11\"; transcript_id \"ENST00000399837.2\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"CECR1\"; transcript_type \"protein_coding\"; transcript_status \"KNOWN\"; transcript_name \"CECR1-201\"; level 2; tag \"basic\"; tag \"appris_principal\"; tag \"CCDS\"; ccdsid \"CCDS13742.1\"; havana_gene \"OTTHUMG00000030726.8\"; havana_transcript \"OTTHUMT00000316079.1\";\n", + "chr22\tHAVANA\ttranscript\t17700326\t17700502\t.\t-\t.\tgene_id \"ENSG00000093072.11\"; transcript_id \"ENST00000543038.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"CECR1\"; transcript_type \"protein_coding\"; transcript_status \"KNOWN\"; transcript_name \"CECR1-001\"; level 2; tag \"alternative_5_UTR\"; tag \"mRNA_end_NF\"; tag \"cds_end_NF\"; havana_gene \"OTTHUMG00000030726.8\"; havana_transcript \"OTTHUMT00000075614.5\";\n", + "chr22\tHAVANA\ttranscript\t17701962\t17702278\t.\t-\t.\tgene_id \"ENSG00000093072.11\"; transcript_id \"ENST00000543038.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"CECR1\"; transcript_type \"protein_coding\"; transcript_status \"KNOWN\"; transcript_name \"CECR1-001\"; level 2; tag \"alternative_5_UTR\"; tag \"mRNA_end_NF\"; tag \"cds_end_NF\"; havana_gene \"OTTHUMG00000030726.8\"; havana_transcript \"OTTHUMT00000075614.5\";\n", + "chr22\tHAVANA\ttranscript\t18111762\t18112038\t.\t-\t.\tgene_id \"ENSG00000131100.8\"; transcript_id \"ENST00000253413.5\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"ATP6V1E1\"; transcript_type \"protein_coding\"; transcript_status \"KNOWN\"; transcript_name \"ATP6V1E1-001\"; level 2; tag \"basic\"; tag \"appris_principal\"; tag \"CCDS\"; ccdsid \"CCDS13745.1\"; havana_gene \"OTTHUMG00000059320.4\"; havana_transcript \"OTTHUMT00000131790.3\";\n", + "chr22\tHAVANA\ttranscript\t18111762\t18112038\t.\t-\t.\tgene_id \"ENSG00000131100.8\"; transcript_id \"ENST00000399796.2\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"ATP6V1E1\"; transcript_type \"protein_coding\"; transcript_status \"KNOWN\"; transcript_name \"ATP6V1E1-006\"; level 2; tag \"basic\"; tag \"CCDS\"; ccdsid \"CCDS42978.1\"; havana_gene \"OTTHUMG00000059320.4\"; havana_transcript \"OTTHUMT00000353464.1\";\n", + "chr22\tHAVANA\ttranscript\t18111762\t18112038\t.\t-\t.\tgene_id \"ENSG00000131100.8\"; transcript_id \"ENST00000399798.2\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"ATP6V1E1\"; transcript_type \"protein_coding\"; transcript_status \"KNOWN\"; transcript_name \"ATP6V1E1-005\"; level 2; tag \"basic\"; tag \"CCDS\"; ccdsid \"CCDS42977.1\"; havana_gene \"OTTHUMG00000059320.4\"; havana_transcript \"OTTHUMT00000353463.1\";\n", + "--- Last 10 lines ---\n", + "chr22\tHAVANA\ttranscript\t51021250\t51021316\t.\t-\t.\tgene_id \"ENSG00000100288.15\"; transcript_id \"ENST00000479003.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"CHKB\"; transcript_type \"retained_intron\"; transcript_status \"KNOWN\"; transcript_name \"CHKB-004\"; level 2; havana_gene \"OTTHUMG00000150275.5\"; havana_transcript \"OTTHUMT00000317270.1\";\n", + "chr22\tHAVANA\ttranscript\t51021478\t51021754\t.\t-\t.\tgene_id \"ENSG00000100288.15\"; transcript_id \"ENST00000479003.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"CHKB\"; transcript_type \"retained_intron\"; transcript_status \"KNOWN\"; transcript_name \"CHKB-004\"; level 2; havana_gene \"OTTHUMG00000150275.5\"; havana_transcript \"OTTHUMT00000317270.1\";\n", + "chr22\tHAVANA\ttranscript\t51021040\t51021316\t.\t-\t.\tgene_id \"ENSG00000100288.15\"; transcript_id \"ENST00000468532.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"CHKB\"; transcript_type \"retained_intron\"; transcript_status \"KNOWN\"; transcript_name \"CHKB-007\"; level 2; havana_gene \"OTTHUMG00000150275.5\"; havana_transcript \"OTTHUMT00000317603.1\";\n", + "chr22\tHAVANA\ttranscript\t51021478\t51021754\t.\t-\t.\tgene_id \"ENSG00000100288.15\"; transcript_id \"ENST00000468532.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"CHKB\"; transcript_type \"retained_intron\"; transcript_status \"KNOWN\"; transcript_name \"CHKB-007\"; level 2; havana_gene \"OTTHUMG00000150275.5\"; havana_transcript \"OTTHUMT00000317603.1\";\n", + "chr22\tHAVANA\ttranscript\t51021040\t51021209\t.\t-\t.\tgene_id \"ENSG00000100288.15\"; transcript_id \"ENST00000489453.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"CHKB\"; transcript_type \"retained_intron\"; transcript_status \"KNOWN\"; transcript_name \"CHKB-009\"; level 2; havana_gene \"OTTHUMG00000150275.5\"; havana_transcript \"OTTHUMT00000317605.1\";\n", + "chr22\tHAVANA\ttranscript\t51021284\t51021316\t.\t-\t.\tgene_id \"ENSG00000100288.15\"; transcript_id \"ENST00000476289.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"CHKB\"; transcript_type \"retained_intron\"; transcript_status \"KNOWN\"; transcript_name \"CHKB-006\"; level 2; havana_gene \"OTTHUMG00000150275.5\"; havana_transcript \"OTTHUMT00000317602.2\";\n", + "chr22\tHAVANA\ttranscript\t51021478\t51021754\t.\t-\t.\tgene_id \"ENSG00000100288.15\"; transcript_id \"ENST00000476289.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"CHKB\"; transcript_type \"retained_intron\"; transcript_status \"KNOWN\"; transcript_name \"CHKB-006\"; level 2; havana_gene \"OTTHUMG00000150275.5\"; havana_transcript \"OTTHUMT00000317602.2\";\n", + "chr22\tHAVANA\ttranscript\t51021040\t51021316\t.\t-\t.\tgene_id \"ENSG00000100288.15\"; transcript_id \"ENST00000465842.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"CHKB\"; transcript_type \"retained_intron\"; transcript_status \"KNOWN\"; transcript_name \"CHKB-008\"; level 2; havana_gene \"OTTHUMG00000150275.5\"; havana_transcript \"OTTHUMT00000317604.1\";\n", + "chr22\tHAVANA\ttranscript\t51021478\t51021754\t.\t-\t.\tgene_id \"ENSG00000100288.15\"; transcript_id \"ENST00000465842.1\"; gene_type \"protein_coding\"; gene_status \"KNOWN\"; gene_name \"CHKB\"; transcript_type \"retained_intron\"; transcript_status \"KNOWN\"; transcript_name \"CHKB-008\"; level 2; havana_gene \"OTTHUMG00000150275.5\"; havana_transcript \"OTTHUMT00000317604.1\";\n", + "chr22\tHAVANA\ttranscript\t51021040\t51021316\t.\t+\t.\tgene_id \"ENSG00000205559.3\"; transcript_id \"ENST00000380711.3\"; gene_type \"antisense\"; gene_status \"NOVEL\"; gene_name \"CHKB-AS1\"; transcript_type \"antisense\"; transcript_status \"KNOWN\"; transcript_name \"CHKB-AS1-001\"; level 1; tag \"basic\"; tag \"exp_conf\"; havana_gene \"OTTHUMG00000150208.1\"; havana_transcript \"OTTHUMT00000316839.1\";\n", + "'''\n", + "assert exercise4 == answer4" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true, + "deletable": false, + "nbgrader": { + "checksum": "1a7b84d97f55d1d1f0199a44a58a7bc9", + "grade": false, + "grade_id": "11_ex5_bedtools_getfasta_question", + "locked": true, + "solution": false + } + }, + "source": [ + "#### Exercise 5: Use `bedtools getfasta` to extract sequences\n", + "\n", + "Read the documentation for [`bedtools getfasta`](http://bedtools.readthedocs.org/en/latest/content/tools/getfasta.html) and figure out how to request the sequences in `fasta` format for the peaks which overlap in gene promoters. Does the strand matter?\n", + "\n", + "This file should have 1480 lines." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false, + "deletable": false, + "nbgrader": { + "checksum": "70c7e2ebd21a89669f0854822b67575e", + "grade": false, + "grade_id": "11_ex5_bedtools_getfasta_answer", + "locked": false, + "solution": true + } + }, + "outputs": [], + "source": [ + "%%bash --out exercise5\n", + "module load biotools\n", + "# YOUR CODE HERE\n", + "\n", + "bedtools getfasta -fi GRCh37.p13.chr22.fa -bed gencode.v19.annotation.chr22.transcript.promoter.nfkb.gtf -fo gencode.v19.annotation.chr22.transcript.promoter.nfkb.fasta\n", + "wc -l gencode.v19.annotation.chr22.transcript.promoter.nfkb.fasta\n", + "echo '--- First 10 lines ---'\n", + "head gencode.v19.annotation.chr22.transcript.promoter.nfkb.fasta\n", + "echo '--- Random 10 lines ---'\n", + "awk -v seed=908 'BEGIN{srand(seed);}{print $0}' gencode.v19.annotation.chr22.transcript.promoter.nfkb.fasta | head\n", + "echo '--- Last 10 lines ---'\n", + "tail gencode.v19.annotation.chr22.transcript.promoter.nfkb.fasta" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "deletable": false, + "nbgrader": { + "checksum": "d59da5ea7f94335ae7a269eab73774a0", + "grade": false, + "grade_id": "11_ex5_bedtools_getfasta_explanation", + "locked": true, + "solution": false + } + }, + "source": [ + "The following cell is for your debugging purposes. Due to the way we have to set up the notebook to grade it, we add `--out exercise5` next to the `%%bash` magic to save the output of the previous cell to the variable `exercise5`, so here we're printing the output. This is what *would* be shown below the cell if we weren't doing this workaround. This is what is graded." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "print(exercise5)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true, + "deletable": false, + "nbgrader": { + "checksum": "7ba33fa9aadb8dbfbe21bdef053ec24e", + "grade": true, + "grade_id": "11_ex5_bedtools_getfasta_test", + "locked": true, + "points": 5, + "solution": false + } + }, + "outputs": [], + "source": [ + "answer5 = ''' 2442 gencode.v19.annotation.chr22.transcript.promoter.nfkb.fasta\n", + "--- First 10 lines ---\n", + ">chr22:17565762-17565843(+)\n", + "GCAAGGAGGAACGGGGGGAGGGCCCTGTCTCACCCTAAACCCCTCCCCGTCCCAGACTAAACTCCTCCCCTCGGCCCGGCC\n", + ">chr22:17565762-17565848(+)\n", + "GCAAGGAGGAACGGGGGGAGGGCCCTGTCTCACCCTAAACCCCTCCCCGTCCCAGACTAAACTCCTCCCCTCGGCCCGGCCCGCCC\n", + ">chr22:17565762-17565946(+)\n", + "GCAAGGAGGAACGGGGGGAGGGCCCTGTCTCACCCTAAACCCCTCCCCGTCCCAGACTAAACTCCTCCCCTCGGCCCGGCCCGCCCCTGGGCCCGGGCTGGAAGCCGGAAGCGAGCAAAGTGGAGCCGACTCGAACTCCACCGCGGAAAAGAAAGCCTCAGAACGTTCGTTCGCTGCGTCCCCA\n", + ">chr22:17700266-17700502(-)\n", + "TGAACATGCGCACAAGCCCCCCACATCAAACTCAGATGCACACAGCAAGCATGCATGTAAGCCACACACTTGCCACTCTGGCTGCCTCAGCACTGCAGAGCCCCTCTCCCCGGCCTCTAGTTGGATCCCTGGTGCACACTGGAGGGAAATAAAACCTACCCCAACAGGAAGTGAAACAGTTGGTGAGCTTTTCCGGTGCTCTGCACAGATGCTGGGGCGCTGAGCAAACAGCCCTC\n", + ">chr22:17701961-17702266(-)\n", + "AACCAACATGGCACAGGTATACCTATGTATCAAACCTGCACATTGTGCACATGTACCCTAGAACTTAAAGTATAAAAAAAACCCACAAAAAACCCTTCACATGATTTACTTTCAGAATTGGTGGTTTCCCTTTGTGCGGCGCTGGAATCAATCTTGTTTCTCCTTATTACTTGCGGTGCATTCTGCTTCCTCTAACTTTCAAAAAATTAGTGTTAAACTCTTTTTTTTTTTTTTGAGACAAAATCTCACTCTGTCATCCAGACTGGAGTGCAATGGTGCAATCTCAGCTCACTGCAACCTCCACC\n", + "--- Random 10 lines ---\n", + ">chr22:17565762-17565843(+)\n", + "GCAAGGAGGAACGGGGGGAGGGCCCTGTCTCACCCTAAACCCCTCCCCGTCCCAGACTAAACTCCTCCCCTCGGCCCGGCC\n", + ">chr22:17565762-17565848(+)\n", + "GCAAGGAGGAACGGGGGGAGGGCCCTGTCTCACCCTAAACCCCTCCCCGTCCCAGACTAAACTCCTCCCCTCGGCCCGGCCCGCCC\n", + ">chr22:17565762-17565946(+)\n", + "GCAAGGAGGAACGGGGGGAGGGCCCTGTCTCACCCTAAACCCCTCCCCGTCCCAGACTAAACTCCTCCCCTCGGCCCGGCCCGCCCCTGGGCCCGGGCTGGAAGCCGGAAGCGAGCAAAGTGGAGCCGACTCGAACTCCACCGCGGAAAAGAAAGCCTCAGAACGTTCGTTCGCTGCGTCCCCA\n", + ">chr22:17700266-17700502(-)\n", + "TGAACATGCGCACAAGCCCCCCACATCAAACTCAGATGCACACAGCAAGCATGCATGTAAGCCACACACTTGCCACTCTGGCTGCCTCAGCACTGCAGAGCCCCTCTCCCCGGCCTCTAGTTGGATCCCTGGTGCACACTGGAGGGAAATAAAACCTACCCCAACAGGAAGTGAAACAGTTGGTGAGCTTTTCCGGTGCTCTGCACAGATGCTGGGGCGCTGAGCAAACAGCCCTC\n", + ">chr22:17701961-17702266(-)\n", + "AACCAACATGGCACAGGTATACCTATGTATCAAACCTGCACATTGTGCACATGTACCCTAGAACTTAAAGTATAAAAAAAACCCACAAAAAACCCTTCACATGATTTACTTTCAGAATTGGTGGTTTCCCTTTGTGCGGCGCTGGAATCAATCTTGTTTCTCCTTATTACTTGCGGTGCATTCTGCTTCCTCTAACTTTCAAAAAATTAGTGTTAAACTCTTTTTTTTTTTTTTGAGACAAAATCTCACTCTGTCATCCAGACTGGAGTGCAATGGTGCAATCTCAGCTCACTGCAACCTCCACC\n", + "--- Last 10 lines ---\n", + ">chr22:51021283-51021316(-)\n", + "GAAGCCCAGGCCGGCCGGAAGAGGAGCCGAGCG\n", + ">chr22:51021477-51021754(-)\n", + "ACCCACGCTCAGGACGGACGCGCGCTGGACGGCTCTTCCTTGTCGGAGCGCCCCAGGGGTCGGGGAAGAGGGCCCGGCAAGGGAGCCCTCGCGCCGGAGCTGCAGCTGCAGCCGCCGCCCCGCCGCCCCGCCGGCTCCCACGGGGCAGAGACGCAGCTCCTCTCCGGTCTTCCCGTACGCTACCGCGCCCGGGCAGTTCCTCGCCCGCGCACGCGCCGCTCCGCCAACTGATTGGCCTCCGGCGCCTCGGATTGGCCCAGGCCGTCCAACAGCAGCC\n", + ">chr22:51021039-51021316(-)\n", + "GAAGCCCAGGCCGGCCGGAAGAGGAGCCGAGCGCGGCCGGAAGGAACCGAGCCCGTCCGAAGGGAGCGGAGCGCAGCCTGGCCTGGGGCCCGGTCGAGCCCGCGCCATGGCGGCCGAGGCGACAGCTGTGGCCGGAAGCGGGGCTGTTGGCGGCTGCCTGGCCAAAGACGGCTTGCAGCAGTCTAAGTGCCCGGACACTACCCCAAAACGGCGGCGCGCCTCGTCGCTGTCGCGTGACGCCGAGCGCCGAGCCTACCAATGGTGCCGGGAGTACTTG\n", + ">chr22:51021477-51021754(-)\n", + "ACCCACGCTCAGGACGGACGCGCGCTGGACGGCTCTTCCTTGTCGGAGCGCCCCAGGGGTCGGGGAAGAGGGCCCGGCAAGGGAGCCCTCGCGCCGGAGCTGCAGCTGCAGCCGCCGCCCCGCCGCCCCGCCGGCTCCCACGGGGCAGAGACGCAGCTCCTCTCCGGTCTTCCCGTACGCTACCGCGCCCGGGCAGTTCCTCGCCCGCGCACGCGCCGCTCCGCCAACTGATTGGCCTCCGGCGCCTCGGATTGGCCCAGGCCGTCCAACAGCAGCC\n", + ">chr22:51021039-51021316(+)\n", + "CAAGTACTCCCGGCACCATTGGTAGGCTCGGCGCTCGGCGTCACGCGACAGCGACGAGGCGCGCCGCCGTTTTGGGGTAGTGTCCGGGCACTTAGACTGCTGCAAGCCGTCTTTGGCCAGGCAGCCGCCAACAGCCCCGCTTCCGGCCACAGCTGTCGCCTCGGCCGCCATGGCGCGGGCTCGACCGGGCCCCAGGCCAGGCTGCGCTCCGCTCCCTTCGGACGGGCTCGGTTCCTTCCGGCCGCGCTCGGCTCCTCTTCCGGCCGGCCTGGGCTTC\n", + "'''\n", + "\n", + "assert exercise5 == answer5" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "deletable": false, + "nbgrader": { + "checksum": "49d64ec52741ad00bd261b6f501e99d2", + "grade": false, + "grade_id": "12_ex6_computational_validation", + "locked": true, + "solution": false + } + }, + "source": [ + "#### Exercise 6: Computational \"validation\" of binding sites\n", + "Since we're wearing our computational biologist hat and don't do wet-lab experiments, we can't validate this finding by doing another ChIP-seq experiment. Instead, we'll validate by looking at another dataset.\n", + "\n", + "Look at the contents of `gencode.v19.annotation.chr22.transcript.promoter.nfkb.fasta`. How do sequences compare to the known binding sites as reported by [this](http://www.genomebiology.com/2011/12/7/R70) paper?" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "deletable": false, + "nbgrader": { + "checksum": "67e51c665a1868d82e9f9792ade8fe7b", + "grade": true, + "grade_id": "5_validation", + "locked": false, + "points": 5, + "solution": true + } + }, + "source": [ + "YOUR ANSWER HERE\n", + "Seems to compare quite well. There are 1112 fasta sequences representing 1112 NFKB binding sites. In the paper they identified an 11-mer NFKB binding motif. When I do a grep for that 11 mer motif I see its presence in 100% of my samples. grep [CTGA]G[GA][GT][GAT]**[CAT][TCA][CT][CTG]" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.5.1" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/weeks/week04/0_alignment_expression_quantification.ipynb b/weeks/week04/0_alignment_expression_quantification.ipynb index 4e241be..48c5999 100644 --- a/weeks/week04/0_alignment_expression_quantification.ipynb +++ b/weeks/week04/0_alignment_expression_quantification.ipynb @@ -82,7 +82,7 @@ "metadata": { "deletable": false, "nbgrader": { - "checksum": "3d2bd1bdf8f653f195a9f8fd8f27dd4c", + "checksum": "90115e4e097b016bf0965f70a1f3825a", "grade": false, "grade_id": "3_scratch", "locked": true, @@ -94,7 +94,7 @@ "\n", "The \"scratch\" directory can be thought of [\"scratch paper\"](http://www.nytimes.com/2010/12/05/magazine/05FOB-onlanguage-t.html?_r=0) for data you want to store \"just for now.\" These folders have VERY fast read/write (10-100x faster) than the `/home` directory but things that are 60+ days old get purged (deleted) every so often.\n", "\n", - "Your scratch directory is located in `/oasis/tscc/scratch/$USER/` but that's annoying to type out and inconvenient to remember. So, let's make a **soft link** from `$HOME/scratch` to this directory. Since we're using the dollar-sign variable notation, you can directly copy the command below.\n", + "Your scratch directory is located in `/oasis/tscc/scratch/$USER/` but that's annoying to type out and inconvenient to remember. So, let's make a soft link from `$HOME/scratch` to this directory. Since we're using the dollar-sign variable notation, you can directly copy the command below.\n", "\n", "```\n", "ln -s /oasis/tscc/scratch/$USER $HOME/scratch\n", @@ -188,7 +188,7 @@ "metadata": { "deletable": false, "nbgrader": { - "checksum": "d8917674f3f4238061cec76fe12c57ca", + "checksum": "e55b09f416b9330b1e6604fea053b145", "grade": false, "grade_id": "5_start_jupyter", "locked": true, @@ -205,12 +205,13 @@ "#### On TSCC\n", "\n", " jupyter notebook --no-browser --port #### &\n", + " ssh -NR ####:localhost:#### tscc-login# &\n", "\n", "#### On your laptop (Mac/Linux)\n", "\n", " ssh -NL ####:localhost:#### ucsd-train##@tscc-login#.sdsc.edu\n", "\n", - "### In the Jupyter notebook, navigate to ***this*** notebook\n", + "### In the Jupyter notebook, navigate to this notebook\n", "\n", "It's probably in `~/code/biom262-2016/weeks/week04`\n" ] @@ -270,7 +271,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": { "collapsed": false, "deletable": false, @@ -282,7 +283,18 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "25" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "5**2" ] @@ -305,7 +317,11 @@ }, { "cell_type": "code", - "execution_count": null, +<<<<<<< HEAD + "execution_count": 2, +======= + "execution_count": 7, +>>>>>>> week04 "metadata": { "collapsed": false, "deletable": false, @@ -317,14 +333,29 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "65" + ] + }, +<<<<<<< HEAD + "execution_count": 2, +======= + "execution_count": 7, +>>>>>>> week04 + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "ord('I')" + "ord('A')" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": { "collapsed": false, "deletable": false, @@ -336,7 +367,18 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "33" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "ord('!')" ] @@ -359,12 +401,20 @@ }, { "cell_type": "code", +<<<<<<< HEAD +<<<<<<< HEAD + "execution_count": 2, +======= "execution_count": 3, +>>>>>>> 4e1a84a633f245aaea96eb706d9feeef27fd7bfa +======= + "execution_count": 4, +>>>>>>> week04 "metadata": { "collapsed": false, "deletable": false, "nbgrader": { - "checksum": "6e4c9c489f587278ce30a1e0bd00af5c", + "checksum": "737c6d467429bbb4115edcca7a199e9e", "grade": false, "grade_id": "5_fastq_their_answer", "locked": false, @@ -378,20 +428,47 @@ "0.000630957344480193" ] }, +<<<<<<< HEAD +<<<<<<< HEAD + "execution_count": 2, +======= "execution_count": 3, +>>>>>>> 4e1a84a633f245aaea96eb706d9feeef27fd7bfa +======= + "execution_count": 4, +>>>>>>> week04 "metadata": {}, "output_type": "execute_result" } ], "source": [ +<<<<<<< HEAD +<<<<<<< HEAD +======= +>>>>>>> week04 + "# YOUR CODE HERE\\n\n", + "#q=-10/log_{10}p\n", + "#10^{-Q/10}= p\n", + "q= ord('A') -33\n", + "p=10**(-q/10)\n", + "p" +<<<<<<< HEAD +======= "10**(-(ord(\"A\") - ord(\"!\"))/10)" +>>>>>>> 4e1a84a633f245aaea96eb706d9feeef27fd7bfa +======= +>>>>>>> week04 ] }, { "cell_type": "code", +<<<<<<< HEAD "execution_count": 4, +======= + "execution_count": 8, +>>>>>>> week04 "metadata": { - "collapsed": true, + "collapsed": false, "deletable": false, "nbgrader": { "checksum": "897dd4b038a302492821d9932eda240e", @@ -402,10 +479,22 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "ename": "AssertionError", + "evalue": "", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mAssertionError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# checks that the last created output is equal to the following number\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[1;32massert\u001b[0m \u001b[0m_\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;36m0.000630957344480193\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;31mAssertionError\u001b[0m: " + ] + } + ], "source": [ "# checks that the last created output is equal to the following number\n", - "assert _ == 0.000630957344480193" + "assert p == 0.000630957344480193" ] }, { @@ -505,7 +594,7 @@ } }, "source": [ - "YOUR ANSWER HERE" + "The transcripts tagged as \"basic\" form part of a subset of representative transcripts for each gene. This subset prioritises full-length protein coding transcripts over partial or non-protein coding transcripts within the same gene, and intends to highlight those transcripts that will be useful to the majority of users." ] }, { @@ -513,7 +602,7 @@ "metadata": { "deletable": false, "nbgrader": { - "checksum": "9fd19aa927b06766e2b3f0a3572b5f02", + "checksum": "0e6ead7f5bdc75a68e6c1598b83d93b9", "grade": false, "grade_id": "8_setup_project", "locked": true, @@ -523,23 +612,21 @@ "source": [ "## 9. Set up a project\n", "\n", - "For this project, which we will call `shalek2013`, create the following directories for the projects:\n", + "For this project, which we will call `shalek2013`, create the following directories:\n", "\n", "```\n", - "mkdir $HOME/projects\n", - "mkdir $HOME/projects/shalek2013\n", - "mkdir $HOME/projects/shalek2013/processing_scripts\n", - "```\n", - "\n", - "Make directories in scratch:\n", - "\n", - "```\n", - "mkdir $HOME/scratch/shalek2013\n", - "mkdir $HOME/scratch/shalek2013/processed_data\n", + "/home/ucsd-train##/projects\n", + "/home/ucsd-train##/projects/shalek2013\n", + "/home/ucsd-train##/projects/shalek2013/processing_scripts\n", + "/home/ucsd-train##/projects/shalek2013/raw_data\n", + "/home/ucsd-train##/scratch/shalek2013/processed_data\n", "```\n", "\n", "### Exercise 4: Create soft links\n", "\n", +<<<<<<< HEAD + "Now use `ln -s filename newplace` to create soft links of the folders in your `~/scratch/shalek2013/` directory to your `~/projects/shalek2013` directory so when you `ls -lha` in your `~/projects/shalek2013` directory, it looks like this:\n", +======= "Now use `ln -s filename newplace` to create **soft links** (aka \"shortcuts\" or \"pointers\") of the folders in your `~/scratch/shalek2013/` directory to your `~/projects/shalek2013` directory so when you `ls -lha` in your `~/projects/shalek2013` directory, it looks like this:\n", "\n", "```\n", @@ -559,9 +646,9 @@ "```\n", "\n", "Then make sure your:\n", +>>>>>>> 4e1a84a633f245aaea96eb706d9feeef27fd7bfa "\n", "```\n", - "[ucsd-train01@tscc-0-62 ~]$ cd ~/projects/shalek2013\n", "[ucsd-train01@tscc-0-62 shalek2013]$ ls -lha\n", "total 10K\n", "drwxr-xr-x 3 ucsd-train01 biom262-group 5 Jan 25 16:05 .\n", @@ -697,7 +784,15 @@ } }, "source": [ +<<<<<<< HEAD +<<<<<<< HEAD + "—single —-fragment-legnth=200.1" +======= "--single --fragment-length=200.1" +>>>>>>> 4e1a84a633f245aaea96eb706d9feeef27fd7bfa +======= + "—single —-fragment-legnth=200.1" +>>>>>>> week04 ] }, { @@ -734,7 +829,7 @@ "metadata": { "deletable": false, "nbgrader": { - "checksum": "dfedc658160a7b9e9b7dd22b986b95e1", + "checksum": "eb7cad8360d40927bed9716190850fcd", "grade": false, "grade_id": "12_look_at_star_output", "locked": true, @@ -767,7 +862,7 @@ "To view the SAM file, you'll want to use `samtools`. Viewing directly with `head` gives you the \"header\" of the SAM file which has a bunch of parameters about the genome and the program that was used to align:\n", "\n", "```\n", - "[ucsd-train01@tscc-login2 processed_data]$ head S10.Aligned.out.sam\n", + "[ucsd-train01@tscc-login2 processed_data]$ head S10_genome.Aligned.out.sam\n", "@HD VN:1.4\n", "@SQ SN:chr1 LN:195471971\n", "@SQ SN:chr2 LN:182113224\n", @@ -783,7 +878,7 @@ "Instead, use `samtools view` and pipe that output to `head`:\n", "\n", "```\n", - "[ucsd-train01@tscc-login2 processed_data]$ samtools view S10.Aligned.out.sam | head\n", + "[ucsd-train01@tscc-login2 processed_data]$ samtools view S10_genome.Aligned.out.sam | head\n", "SRR578577.310219 163 chr1 24613435 3 101M = 24613625 291 TGAAGCTTGGAGGATGGTGAAGTAAAGTCCTAGTATAATGGTAATTAGTAGGGCTTGATTTATGTGGTTTCGTTTACCTTCTATAAGGCTATGATGAGCTC @@@DFFFFHHDHHGGHI:FHGIGI>>>>>> 4e1a84a633f245aaea96eb706d9feeef27fd7bfa +======= + "S10.Log.final.out for percentage of mapped reads\n", + "\n", + "S10.Log.out if hw didn't go as expected and neede to figure out where problem was." +>>>>>>> week04 ] }, { @@ -857,9 +964,21 @@ } }, "source": [ +<<<<<<< HEAD +<<<<<<< HEAD + "1. --input-fmt-option SAM(-S)\n", + "2. -b for bam output\n", + "3. --threads (-@)" +======= "1. -S\n", "2. -b\n", "3. -@ 4" +>>>>>>> 4e1a84a633f245aaea96eb706d9feeef27fd7bfa +======= + "1. --input-fmt-option SAM(-S)\n", + "2. -b for bam output\n", + "3. --threads (-@)" +>>>>>>> week04 ] }, { @@ -867,7 +986,7 @@ "metadata": { "deletable": false, "nbgrader": { - "checksum": "56fa227d244e1ae27b0f0f3f57e460e9", + "checksum": "9cb771c22eb9d3e4f486f80c314c66d0", "grade": false, "grade_id": "14_sort_index", "locked": true, @@ -888,8 +1007,13 @@ "```\n", "samtools view [flags from exercise 9.1, 9.2] $HOME/projects/shalek2013/processed_data/S10.Aligned.out.sam \\\n", " > $HOME/projects/shalek2013/processed_data/S10.Aligned.out.bam\n", +<<<<<<< HEAD + "samtools sort [flags from exercise 9.3] $HOME/projects/shalek2013/processed_data/S10.Aligned.out.bam \\ \n", + " $HOME/projects/shalek2013/processed_data/S10.Aligned.out.sorted\n", +======= "samtools sort [flags from exercise 9.3] $HOME/projects/shalek2013/processed_data/S10.Aligned.out.bam \\\n", " > $HOME/projects/shalek2013/processed_data/S10.Aligned.out.sorted.bam\n", +>>>>>>> 4e1a84a633f245aaea96eb706d9feeef27fd7bfa "samtools index $HOME/projects/shalek2013/processed_data/S10.Aligned.out.sorted.bam\n", "```" ] @@ -968,7 +1092,11 @@ } }, "source": [ - "YOUR ANSWER HERE" +<<<<<<< HEAD + "Use tsv file\n" +======= + "Use the tsv file. " +>>>>>>> week04 ] }, { @@ -1009,7 +1137,11 @@ "source": [ "1. -s\n", "2. -B\n", +<<<<<<< HEAD "3. --primary" +======= + "3. --primary -M" +>>>>>>> week04 ] }, { @@ -1114,7 +1246,7 @@ } }, "source": [ - "YOUR ANSWER HERE" + "kallisto seems much more informative. It is easier for me to read the actual gene that is involved in the analysis and the amount of times it appears, but featuresCounts does let me know which chromosome is invovled and the strand as well. Both seem to have their advantages, but kallisto is deinitely faster which is always optimal. " ] }, { diff --git a/weeks/week04/1_downloading_data_from_geo.ipynb b/weeks/week04/1_downloading_data_from_geo.ipynb new file mode 100644 index 0000000..3809ad1 --- /dev/null +++ b/weeks/week04/1_downloading_data_from_geo.ipynb @@ -0,0 +1,2325 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Downloading data from GEO\n", + "\n", + "The Gene Expression Omnibus (GEO) is a website funded by the NIH to store the expression data associated with papers. Many papers require you to submit your data to GEO \n", + "\n", + "Search [GEO](http://www.ncbi.nlm.nih.gov/geo) for the accession ID from [Shalek + Satija 2013](http://www.ncbi.nlm.nih.gov/pubmed/23685454). **Download the \"Series Matrix\" to your laptop** and **copy the link for the `GSE41265_allGenesTPM.txt.gz`\" file**. All the \"Series\" file formats contain the same information in different formats. The Matrix one is the easiest to understand.\n", + "\n", + "Open the \"Series Matrix\" in Excel (or equivalent) on your laptop. And look at the format and what's described." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--2016-02-06 14:06:04-- ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE41nnn/GSE41265/suppl/GSE41265_allGenesTPM.txt.gz\n", + " => “GSE41265_allGenesTPM.txt.gz.4”\n", + "Resolving ftp.ncbi.nlm.nih.gov... 130.14.250.13, 2607:f220:41e:250::12\n", + "Connecting to ftp.ncbi.nlm.nih.gov|130.14.250.13|:21... connected.\n", + "Logging in as anonymous ... Logged in!\n", + "==> SYST ... done. ==> PWD ... done.\n", + "==> TYPE I ... done. ==> CWD (1) /geo/series/GSE41nnn/GSE41265/suppl ... done.\n", + "==> SIZE GSE41265_allGenesTPM.txt.gz ... 1099290\n", + "==> PASV ... done. ==> RETR GSE41265_allGenesTPM.txt.gz ... done.\n", + "Length: 1099290 (1.0M) (unauthoritative)\n", + "\n", + "100%[======================================>] 1,099,290 1.36M/s in 0.8s \n", + "\n", + "2016-02-06 14:06:06 (1.36 MB/s) - “GSE41265_allGenesTPM.txt.gz.4” saved [1099290]\n", + "\n" + ] + } + ], + "source": [ + "! wget ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE41nnn/GSE41265/suppl/GSE41265_allGenesTPM.txt.gz" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Dataframes in Python\n", + "import pandas as pd\n", + "\n", + "# Statistical plotting library we'll use\n", + "import seaborn as sns\n", + "\n", + "# This is necessary to show the plotted figures inside the notebook -- \"inline\" with the notebook cells\n", + "%matplotlib inline\n", + "\n", + "# Read the data table\n", + "geo_expression = pd.read_table('GSE41265_allGenesTPM.txt.gz', \n", + " \n", + " # Sets the first (Python starts counting from 0 not 1) column as the row names\n", + " index_col=0, \n", + " \n", + " # Tells pandas to decompress the gzipped file\n", + " compression='gzip')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's look at the top of the dataframe by using `head()`. By default, this shows the first 5 rows." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "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", + "
S1S2S3S4S5S6S7S8S9S10...S12S13S14S15S16S17S18P1P2P3
GENE
XKR40.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0199060.000000
AB3385840.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
B3GAT20.0000000.0000000.0234410.0000000.0000000.0293780.0000000.0554520.0000000.029448...0.0000000.0000000.0316540.0000000.0000000.00000042.1502080.6803270.0229960.110236
NPL72.0085900.000000128.0620120.0950820.0000000.000000112.310234104.3291220.1192300.000000...0.0000000.1168020.1042000.1061880.2291970.1105820.0000007.1093566.72702814.525447
T20.1092490.1720090.0000000.0000000.1827030.0760120.0786980.0000000.0936980.076583...0.6934590.0101370.0819360.0000000.0000000.0868790.0681740.0620630.0000000.050605
\n", + "

5 rows × 21 columns

\n", + "
" + ], + "text/plain": [ + " S1 S2 S3 S4 S5 S6 \\\n", + "GENE \n", + "XKR4 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "AB338584 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "B3GAT2 0.000000 0.000000 0.023441 0.000000 0.000000 0.029378 \n", + "NPL 72.008590 0.000000 128.062012 0.095082 0.000000 0.000000 \n", + "T2 0.109249 0.172009 0.000000 0.000000 0.182703 0.076012 \n", + "\n", + " S7 S8 S9 S10 ... S12 \\\n", + "GENE ... \n", + "XKR4 0.000000 0.000000 0.000000 0.000000 ... 0.000000 \n", + "AB338584 0.000000 0.000000 0.000000 0.000000 ... 0.000000 \n", + "B3GAT2 0.000000 0.055452 0.000000 0.029448 ... 0.000000 \n", + "NPL 112.310234 104.329122 0.119230 0.000000 ... 0.000000 \n", + "T2 0.078698 0.000000 0.093698 0.076583 ... 0.693459 \n", + "\n", + " S13 S14 S15 S16 S17 S18 \\\n", + "GENE \n", + "XKR4 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "AB338584 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "B3GAT2 0.000000 0.031654 0.000000 0.000000 0.000000 42.150208 \n", + "NPL 0.116802 0.104200 0.106188 0.229197 0.110582 0.000000 \n", + "T2 0.010137 0.081936 0.000000 0.000000 0.086879 0.068174 \n", + "\n", + " P1 P2 P3 \n", + "GENE \n", + "XKR4 0.000000 0.019906 0.000000 \n", + "AB338584 0.000000 0.000000 0.000000 \n", + "B3GAT2 0.680327 0.022996 0.110236 \n", + "NPL 7.109356 6.727028 14.525447 \n", + "T2 0.062063 0.000000 0.050605 \n", + "\n", + "[5 rows x 21 columns]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "geo_expression.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To specify a certain number of rows, put a number between the parentheses." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "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", + "
S1S2S3S4S5S6S7S8S9S10...S12S13S14S15S16S17S18P1P2P3
GENE
XKR40.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0199060.000000
AB3385840.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
B3GAT20.0000000.0000000.0234410.0000000.0000000.0293780.0000000.0554520.0000000.029448...0.0000000.0000000.0316540.0000000.0000000.00000042.1502080.6803270.0229960.110236
NPL72.0085900.000000128.0620120.0950820.0000000.000000112.310234104.3291220.1192300.000000...0.0000000.1168020.1042000.1061880.2291970.1105820.0000007.1093566.72702814.525447
T20.1092490.1720090.0000000.0000000.1827030.0760120.0786980.0000000.0936980.076583...0.6934590.0101370.0819360.0000000.0000000.0868790.0681740.0620630.0000000.050605
T0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
PDE10A0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0186100.011152
1700010I14RIK0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.8069560.0000000.000000
6530411M01RIK0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
PABPC60.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
\n", + "

10 rows × 21 columns

\n", + "
" + ], + "text/plain": [ + " S1 S2 S3 S4 S5 S6 \\\n", + "GENE \n", + "XKR4 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "AB338584 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "B3GAT2 0.000000 0.000000 0.023441 0.000000 0.000000 0.029378 \n", + "NPL 72.008590 0.000000 128.062012 0.095082 0.000000 0.000000 \n", + "T2 0.109249 0.172009 0.000000 0.000000 0.182703 0.076012 \n", + "T 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "PDE10A 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "1700010I14RIK 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "6530411M01RIK 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "PABPC6 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "\n", + " S7 S8 S9 S10 ... \\\n", + "GENE ... \n", + "XKR4 0.000000 0.000000 0.000000 0.000000 ... \n", + "AB338584 0.000000 0.000000 0.000000 0.000000 ... \n", + "B3GAT2 0.000000 0.055452 0.000000 0.029448 ... \n", + "NPL 112.310234 104.329122 0.119230 0.000000 ... \n", + "T2 0.078698 0.000000 0.093698 0.076583 ... \n", + "T 0.000000 0.000000 0.000000 0.000000 ... \n", + "PDE10A 0.000000 0.000000 0.000000 0.000000 ... \n", + "1700010I14RIK 0.000000 0.000000 0.000000 0.000000 ... \n", + "6530411M01RIK 0.000000 0.000000 0.000000 0.000000 ... \n", + "PABPC6 0.000000 0.000000 0.000000 0.000000 ... \n", + "\n", + " S12 S13 S14 S15 S16 S17 \\\n", + "GENE \n", + "XKR4 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "AB338584 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "B3GAT2 0.000000 0.000000 0.031654 0.000000 0.000000 0.000000 \n", + "NPL 0.000000 0.116802 0.104200 0.106188 0.229197 0.110582 \n", + "T2 0.693459 0.010137 0.081936 0.000000 0.000000 0.086879 \n", + "T 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "PDE10A 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "1700010I14RIK 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "6530411M01RIK 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "PABPC6 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "\n", + " S18 P1 P2 P3 \n", + "GENE \n", + "XKR4 0.000000 0.000000 0.019906 0.000000 \n", + "AB338584 0.000000 0.000000 0.000000 0.000000 \n", + "B3GAT2 42.150208 0.680327 0.022996 0.110236 \n", + "NPL 0.000000 7.109356 6.727028 14.525447 \n", + "T2 0.068174 0.062063 0.000000 0.050605 \n", + "T 0.000000 0.000000 0.000000 0.000000 \n", + "PDE10A 0.000000 0.000000 0.018610 0.011152 \n", + "1700010I14RIK 0.000000 0.806956 0.000000 0.000000 \n", + "6530411M01RIK 0.000000 0.000000 0.000000 0.000000 \n", + "PABPC6 0.000000 0.000000 0.000000 0.000000 \n", + "\n", + "[10 rows x 21 columns]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "geo_expression.head(10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exercise 1\n", + "\n", + "Show the first 17 rows of `geo_expression`" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
S1S2S3S4S5S6S7S8S9S10...S12S13S14S15S16S17S18P1P2P3
GENE
XKR40.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0199060.000000
AB3385840.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
B3GAT20.0000000.0000000.0234410.0000000.0000000.0293780.0000000.0554520.0000000.029448...0.0000000.0000000.0316540.0000000.0000000.00000042.1502080.6803270.0229960.110236
NPL72.0085900.000000128.0620120.0950820.0000000.000000112.310234104.3291220.1192300.000000...0.0000000.1168020.1042000.1061880.2291970.1105820.0000007.1093566.72702814.525447
T20.1092490.1720090.0000000.0000000.1827030.0760120.0786980.0000000.0936980.076583...0.6934590.0101370.0819360.0000000.0000000.0868790.0681740.0620630.0000000.050605
T0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
PDE10A0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0186100.011152
1700010I14RIK0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.8069560.0000000.000000
6530411M01RIK0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
PABPC60.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
AK0196260.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
AK0207220.0000000.1927120.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0672140.0647520.0000000.5547240.2854520.529103
QK153.23493164.58654745.8923360.06907926.2734910.12100540.69037614.6442370.1438381.139030...0.00000028.8410578.9190430.35137233.7329217.8980520.04177246.89935839.08418338.324132
B930003M22RIK0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.1839930.8208720.298553
RGS80.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
PACRG0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
AK0384280.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
\n", + "

17 rows × 21 columns

\n", + "
" + ], + "text/plain": [ + " S1 S2 S3 S4 S5 \\\n", + "GENE \n", + "XKR4 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "AB338584 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "B3GAT2 0.000000 0.000000 0.023441 0.000000 0.000000 \n", + "NPL 72.008590 0.000000 128.062012 0.095082 0.000000 \n", + "T2 0.109249 0.172009 0.000000 0.000000 0.182703 \n", + "T 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "PDE10A 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "1700010I14RIK 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "6530411M01RIK 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "PABPC6 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "AK019626 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "AK020722 0.000000 0.192712 0.000000 0.000000 0.000000 \n", + "QK 153.234931 64.586547 45.892336 0.069079 26.273491 \n", + "B930003M22RIK 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "RGS8 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "PACRG 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "AK038428 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "\n", + " S6 S7 S8 S9 S10 \\\n", + "GENE \n", + "XKR4 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "AB338584 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "B3GAT2 0.029378 0.000000 0.055452 0.000000 0.029448 \n", + "NPL 0.000000 112.310234 104.329122 0.119230 0.000000 \n", + "T2 0.076012 0.078698 0.000000 0.093698 0.076583 \n", + "T 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "PDE10A 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "1700010I14RIK 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "6530411M01RIK 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "PABPC6 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "AK019626 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "AK020722 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "QK 0.121005 40.690376 14.644237 0.143838 1.139030 \n", + "B930003M22RIK 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "RGS8 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "PACRG 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "AK038428 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "\n", + " ... S12 S13 S14 S15 S16 \\\n", + "GENE ... \n", + "XKR4 ... 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "AB338584 ... 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "B3GAT2 ... 0.000000 0.000000 0.031654 0.000000 0.000000 \n", + "NPL ... 0.000000 0.116802 0.104200 0.106188 0.229197 \n", + "T2 ... 0.693459 0.010137 0.081936 0.000000 0.000000 \n", + "T ... 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "PDE10A ... 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "1700010I14RIK ... 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "6530411M01RIK ... 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "PABPC6 ... 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "AK019626 ... 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "AK020722 ... 0.000000 0.000000 0.000000 0.000000 0.067214 \n", + "QK ... 0.000000 28.841057 8.919043 0.351372 33.732921 \n", + "B930003M22RIK ... 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "RGS8 ... 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "PACRG ... 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "AK038428 ... 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "\n", + " S17 S18 P1 P2 P3 \n", + "GENE \n", + "XKR4 0.000000 0.000000 0.000000 0.019906 0.000000 \n", + "AB338584 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "B3GAT2 0.000000 42.150208 0.680327 0.022996 0.110236 \n", + "NPL 0.110582 0.000000 7.109356 6.727028 14.525447 \n", + "T2 0.086879 0.068174 0.062063 0.000000 0.050605 \n", + "T 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "PDE10A 0.000000 0.000000 0.000000 0.018610 0.011152 \n", + "1700010I14RIK 0.000000 0.000000 0.806956 0.000000 0.000000 \n", + "6530411M01RIK 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "PABPC6 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "AK019626 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "AK020722 0.064752 0.000000 0.554724 0.285452 0.529103 \n", + "QK 7.898052 0.041772 46.899358 39.084183 38.324132 \n", + "B930003M22RIK 0.000000 0.000000 0.183993 0.820872 0.298553 \n", + "RGS8 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "PACRG 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "AK038428 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "\n", + "[17 rows x 21 columns]" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Your code here\n", + "geo_expression.head(17)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A very quick and dirty way to get an initial look at the data is by performing Pearson correlation on the data. We'll use the `.corr()` method on the DataFrame for correlating, and the default is the Pearson correlation." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(21, 21)\n" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
S1S2S3S4S5S6S7S8S9S10...S12S13S14S15S16S17S18P1P2P3
S11.0000000.6154960.8615390.5705720.7689850.5600660.8019550.5918140.4296680.710020...0.1129750.2042770.5134680.4441240.2458480.4069330.7662470.6776130.6510030.652713
S20.6154961.0000000.6906770.7110100.8015140.8119890.7104020.6935280.6942200.669676...0.2021020.4007020.7017390.7687330.4780510.5783360.7376570.7099510.7040000.709001
S30.8615390.6906771.0000000.6277100.8078380.7627530.9324180.5523510.4819590.725774...0.1891580.3184280.5359960.5813160.4024560.5537600.9497580.7259060.7067860.706942
S40.5705720.7110100.6277101.0000000.8490180.8051930.5868410.8554670.7048580.787894...0.0834930.1725870.8752800.7673420.2503880.8073620.6869060.7246860.7328240.730461
S50.7689850.8015140.8078380.8490181.0000000.8294650.7758020.7195810.6685130.806874...0.1625810.2530040.7462450.7354140.3204780.6195880.8173840.7730200.7692900.771817
S60.5600660.8119890.7627530.8051930.8294651.0000000.8153580.7537390.7112620.742324...0.2277140.4057100.7938280.8799510.5268130.7287100.8629210.7641140.7692730.771557
S70.8019550.7104020.9324180.5868410.7758020.8153581.0000000.5746730.5156440.686867...0.2102300.3575940.5302740.6848290.4777470.5390800.9415050.7195060.7035400.708822
S80.5918140.6935280.5523510.8554670.7195810.7537390.5746731.0000000.6437530.690301...0.1263960.2192420.8776100.7501820.2749520.7622920.6332240.7230170.7287910.729632
S90.4296680.6942200.4819590.7048580.6685130.7112620.5156440.6437531.0000000.555630...0.3295140.4629550.6749740.8126890.5741470.6058880.5796010.6546130.6610640.665470
S100.7100200.6696760.7257740.7878940.8068740.7423240.6868670.6903010.5556301.000000...0.1096330.1996450.8260200.6520390.2230700.6328430.7433000.6811380.6811250.680949
S110.4299990.6918470.5656860.9348470.7625210.8062560.5343010.8045600.7179900.720453...0.1382580.2082560.8487200.7853060.2981320.8926110.6508120.6796620.6915870.688878
S120.1129750.2021020.1891580.0834930.1625810.2277140.2102300.1263960.3295140.109633...1.0000000.8471060.1442620.2575780.7113100.1436210.2184570.2456530.2428230.246998
S130.2042770.4007020.3184280.1725870.2530040.4057100.3575940.2192420.4629550.199645...0.8471061.0000000.2488610.3971940.8751380.2170180.3689980.3507770.3423400.343930
S140.5134680.7017390.5359960.8752800.7462450.7938280.5302740.8776100.6749740.826020...0.1442620.2488611.0000000.7498570.2985240.7351130.6234750.6917030.7041630.701956
S150.4441240.7687330.5813160.7673420.7354140.8799510.6848290.7501820.8126890.652039...0.2575780.3971940.7498571.0000000.5363790.7221670.7273000.7214090.7314350.742372
S160.2458480.4780510.4024560.2503880.3204780.5268130.4777470.2749520.5741470.223070...0.7113100.8751380.2985240.5363791.0000000.2795000.4841660.4434430.4343040.442559
S170.4069330.5783360.5537600.8073620.6195880.7287100.5390800.7622920.6058880.632843...0.1436210.2170180.7351130.7221670.2795001.0000000.6398690.6407880.6466780.645730
S180.7662470.7376570.9497580.6869060.8173840.8629210.9415050.6332240.5796010.743300...0.2184570.3689980.6234750.7273000.4841660.6398691.0000000.7609720.7503190.751963
P10.6776130.7099510.7259060.7246860.7730200.7641140.7195060.7230170.6546130.681138...0.2456530.3507770.6917030.7214090.4434430.6407880.7609721.0000000.9985830.996657
P20.6510030.7040000.7067860.7328240.7692900.7692730.7035400.7287910.6610640.681125...0.2428230.3423400.7041630.7314350.4343040.6466780.7503190.9985831.0000000.998101
P30.6527130.7090010.7069420.7304610.7718170.7715570.7088220.7296320.6654700.680949...0.2469980.3439300.7019560.7423720.4425590.6457300.7519630.9966570.9981011.000000
\n", + "

21 rows × 21 columns

\n", + "
" + ], + "text/plain": [ + " S1 S2 S3 S4 S5 S6 S7 \\\n", + "S1 1.000000 0.615496 0.861539 0.570572 0.768985 0.560066 0.801955 \n", + "S2 0.615496 1.000000 0.690677 0.711010 0.801514 0.811989 0.710402 \n", + "S3 0.861539 0.690677 1.000000 0.627710 0.807838 0.762753 0.932418 \n", + "S4 0.570572 0.711010 0.627710 1.000000 0.849018 0.805193 0.586841 \n", + "S5 0.768985 0.801514 0.807838 0.849018 1.000000 0.829465 0.775802 \n", + "S6 0.560066 0.811989 0.762753 0.805193 0.829465 1.000000 0.815358 \n", + "S7 0.801955 0.710402 0.932418 0.586841 0.775802 0.815358 1.000000 \n", + "S8 0.591814 0.693528 0.552351 0.855467 0.719581 0.753739 0.574673 \n", + "S9 0.429668 0.694220 0.481959 0.704858 0.668513 0.711262 0.515644 \n", + "S10 0.710020 0.669676 0.725774 0.787894 0.806874 0.742324 0.686867 \n", + "S11 0.429999 0.691847 0.565686 0.934847 0.762521 0.806256 0.534301 \n", + "S12 0.112975 0.202102 0.189158 0.083493 0.162581 0.227714 0.210230 \n", + "S13 0.204277 0.400702 0.318428 0.172587 0.253004 0.405710 0.357594 \n", + "S14 0.513468 0.701739 0.535996 0.875280 0.746245 0.793828 0.530274 \n", + "S15 0.444124 0.768733 0.581316 0.767342 0.735414 0.879951 0.684829 \n", + "S16 0.245848 0.478051 0.402456 0.250388 0.320478 0.526813 0.477747 \n", + "S17 0.406933 0.578336 0.553760 0.807362 0.619588 0.728710 0.539080 \n", + "S18 0.766247 0.737657 0.949758 0.686906 0.817384 0.862921 0.941505 \n", + "P1 0.677613 0.709951 0.725906 0.724686 0.773020 0.764114 0.719506 \n", + "P2 0.651003 0.704000 0.706786 0.732824 0.769290 0.769273 0.703540 \n", + "P3 0.652713 0.709001 0.706942 0.730461 0.771817 0.771557 0.708822 \n", + "\n", + " S8 S9 S10 ... S12 S13 S14 \\\n", + "S1 0.591814 0.429668 0.710020 ... 0.112975 0.204277 0.513468 \n", + "S2 0.693528 0.694220 0.669676 ... 0.202102 0.400702 0.701739 \n", + "S3 0.552351 0.481959 0.725774 ... 0.189158 0.318428 0.535996 \n", + "S4 0.855467 0.704858 0.787894 ... 0.083493 0.172587 0.875280 \n", + "S5 0.719581 0.668513 0.806874 ... 0.162581 0.253004 0.746245 \n", + "S6 0.753739 0.711262 0.742324 ... 0.227714 0.405710 0.793828 \n", + "S7 0.574673 0.515644 0.686867 ... 0.210230 0.357594 0.530274 \n", + "S8 1.000000 0.643753 0.690301 ... 0.126396 0.219242 0.877610 \n", + "S9 0.643753 1.000000 0.555630 ... 0.329514 0.462955 0.674974 \n", + "S10 0.690301 0.555630 1.000000 ... 0.109633 0.199645 0.826020 \n", + "S11 0.804560 0.717990 0.720453 ... 0.138258 0.208256 0.848720 \n", + "S12 0.126396 0.329514 0.109633 ... 1.000000 0.847106 0.144262 \n", + "S13 0.219242 0.462955 0.199645 ... 0.847106 1.000000 0.248861 \n", + "S14 0.877610 0.674974 0.826020 ... 0.144262 0.248861 1.000000 \n", + "S15 0.750182 0.812689 0.652039 ... 0.257578 0.397194 0.749857 \n", + "S16 0.274952 0.574147 0.223070 ... 0.711310 0.875138 0.298524 \n", + "S17 0.762292 0.605888 0.632843 ... 0.143621 0.217018 0.735113 \n", + "S18 0.633224 0.579601 0.743300 ... 0.218457 0.368998 0.623475 \n", + "P1 0.723017 0.654613 0.681138 ... 0.245653 0.350777 0.691703 \n", + "P2 0.728791 0.661064 0.681125 ... 0.242823 0.342340 0.704163 \n", + "P3 0.729632 0.665470 0.680949 ... 0.246998 0.343930 0.701956 \n", + "\n", + " S15 S16 S17 S18 P1 P2 P3 \n", + "S1 0.444124 0.245848 0.406933 0.766247 0.677613 0.651003 0.652713 \n", + "S2 0.768733 0.478051 0.578336 0.737657 0.709951 0.704000 0.709001 \n", + "S3 0.581316 0.402456 0.553760 0.949758 0.725906 0.706786 0.706942 \n", + "S4 0.767342 0.250388 0.807362 0.686906 0.724686 0.732824 0.730461 \n", + "S5 0.735414 0.320478 0.619588 0.817384 0.773020 0.769290 0.771817 \n", + "S6 0.879951 0.526813 0.728710 0.862921 0.764114 0.769273 0.771557 \n", + "S7 0.684829 0.477747 0.539080 0.941505 0.719506 0.703540 0.708822 \n", + "S8 0.750182 0.274952 0.762292 0.633224 0.723017 0.728791 0.729632 \n", + "S9 0.812689 0.574147 0.605888 0.579601 0.654613 0.661064 0.665470 \n", + "S10 0.652039 0.223070 0.632843 0.743300 0.681138 0.681125 0.680949 \n", + "S11 0.785306 0.298132 0.892611 0.650812 0.679662 0.691587 0.688878 \n", + "S12 0.257578 0.711310 0.143621 0.218457 0.245653 0.242823 0.246998 \n", + "S13 0.397194 0.875138 0.217018 0.368998 0.350777 0.342340 0.343930 \n", + "S14 0.749857 0.298524 0.735113 0.623475 0.691703 0.704163 0.701956 \n", + "S15 1.000000 0.536379 0.722167 0.727300 0.721409 0.731435 0.742372 \n", + "S16 0.536379 1.000000 0.279500 0.484166 0.443443 0.434304 0.442559 \n", + "S17 0.722167 0.279500 1.000000 0.639869 0.640788 0.646678 0.645730 \n", + "S18 0.727300 0.484166 0.639869 1.000000 0.760972 0.750319 0.751963 \n", + "P1 0.721409 0.443443 0.640788 0.760972 1.000000 0.998583 0.996657 \n", + "P2 0.731435 0.434304 0.646678 0.750319 0.998583 1.000000 0.998101 \n", + "P3 0.742372 0.442559 0.645730 0.751963 0.996657 0.998101 1.000000 \n", + "\n", + "[21 rows x 21 columns]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "correlation = geo_expression.corr()\n", + "print(correlation.shape)\n", + "correlation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can look at this correlation data in two ways:\n", + "\n", + "1. Simple heatmap\n", + "2. Super cool and awesome clustered heatmap\n", + "\n", + "### Simple Heatmap" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWcAAAEMCAYAAAAYi3cUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmYVNWd//F3dbMIYTGIMAZERpGvy4OAUdTg4x5Fx1En\nGqPmF6PGJYtGkxmjmYnZdCabJsaIRjNGYyZqMqLiLhOjEjSgcY/C1xUERBDcAFmapn9/3NumLKqq\n61Td23Wr+vPiqefpqjrfe051NadunXu+5+Q6OjoQEZFsaal3A0REZFPqnEVEMkids4hIBqlzFhHJ\nIHXOIiIZpM5ZRCSDetW7ASIijczMrgEOB5a6+y4lylwGHAqsBk5y96e6Oq7OnEVEanMtcEipJ83s\nUGA7d98eOAP4ZSUHVecsIlIDd58FvF2myJHA9XHZOcBgMxve1XHVOYuIpGsEsDDv/uL4sbLUOYuI\nZFAmLgjuss2+QQt8nH/wkcF13PHU88Exx+01PjjmL/MWBZXfe+etg+u478mXg2P23Wl0cMyYHbYI\nKj/jT+HtOviA7YJj7Lh9g2PWLHkjOObp/30iqPygIf2C69h6j9HBMcueCfsbA/jdrc8ElR85ZFBw\nHX17d093cupvv5Gr9Rghfc4zCx6qtb7FQP5/9JHxY2XV9Ns0s/8Ajgfa49sZwCTgHGBbYEt3f6uW\nOkREkpbL1dy/b3LI+FbM7cBXgN+b2Z7AO+6+tKsDVt05x5UcBkxw9w1mNgToA6wH7gAerPbYIiJp\nyuWSG9E1sxuA/YAtzOw14DtEfWGHu1/t7neb2WFm9hLRVLqTKzluLWfOWwHL3X0DQN4Z8htxgxP/\naBIRyRp3P6GCMmeGHreWznkG8G0zmwfcD/ze3WfWcDwRkW7RmuCZc1qqbqG7rwZ2BU4H3gRuMrMT\nk2qYiEhaWnItFd/qpaYLgu7eAcwEZprZs8CJxJOtAW2xIiKZlMIFwcRV/bFgZmPNbEzeQxOABXn3\ny129FBGRMmo5cx4A/MLMBgMbgJeA083sLOAbwHDgaTO7291Pr72pIiLJyDXAeWPVnbO7PwFMLvLU\nL+KbiEgm1XMsuVKZyBAUEelOjTDmnEaG4NnAbkTJKI8CZ7h7e7njhKZj/3DG9OC2fmHSJ4Nj/LXw\n5MbV69cHlb/78ZeC6xg95KPBMQuXrUw9ZmC/PsF1PPTn+cExo/a14Jglc8JTy5+cuyyo/LKVq4Lr\nOGLNhuCYZW+E19O/T++g8u+vC2/X2vXhMRvrNG2gpQE651ouCOZnCI4HDgIWAf/j7jvEi073B05N\npKUiIgnJ0VLxrV7SyBBcklfmUaJFPkREMqMRhjVq+ViYAYwys3lmNtXM9sl/0sx6AZ8D7q2lgSIi\nSWvJ5Sq+1a2N1QZWkCF4BfCQuz9cWxNFRJKVC/hXL6lkCJrZd4Chmt8sIlKdWpYMHQtsdPfO6QYT\ngAVmdipwMHBAAu0TEUlcs89zLpohCCwF5gOzzawDuMXdL6q1oSIiSWltaeLOuUyGYNiEShGRbtYI\n6dvZ//gQEemBMpG+Hbr5ajXZftc8+n/BMeceeERwzPy33g4qv3m/8E1B7/GngmPOPeyg4JjNAzcs\nfXDOgq4LFRi37ZbBMblercExA4YNCI4ZN2ZoUPlVqwcH1zFoi/D3/+0Va4JjZrz4dFD5Q21icB29\nW8Pfl3pp9jHnUunbZxClbwO8AJzk7u/XUo+ISJKaOgmlRPr2QuAcd5/g7hPi+8F7Z4mIpKkRklDS\nSN8GPtjgtR/aEUVEMqbZLwiWTN82s18TrbFhaG1nEcmYXC5X8a1eUknfdvdTiM6s5wLHJdBOEZHE\nNMKwRk2XLN29w91nuvt3gbOAo/OfA34PfKqmFoqIJKwR1tZIeoPX18xsu/j5HHAEMK+2JoqIJKsl\n11LxrV6STt/+InCbmQ0k2nn7aeBLNbdSRKSHSSN9e+/qmyMikr5GmOeciQxBEZHu1NoTMwTd/bH4\nucuAk919YFfHOW6v8UH1VrPxajWp2D+5//bgmIlb7RhUvqWKD/AzD9gvOOaGWWHpuwATR4TtMLZ8\n1ergOn563zPBMYd8//jgmJbe4etxXXXhtKDyY7YYFlzHJ44L+9sHuOKGOcExnx6/R1D5VWvDNioG\nWNvWFhxTrzPYnrjB68L4uY8Dm6MEFBGRqiSeIWhmLcBPiM6oj6q5hSIiCWuEMec0MgTPBG5z96XQ\nADmSItLjNHUSSokMwW8CnwYuT6Z5IiLJa4QklKQ3eL0RWA68FCeh9DezF9x9bO1NFRFJRiNcEEx6\ng9cr3f3svDIr1TGLSNY0wphzGhu85tNsDRHJnKY+cy6TIZhfZlC1xxcRSUsjrOesDEER6XEa4cw5\n+zmMIiI9UBobvH4Z2Bd4l2jM+SR3L5uj+5d5i4LqXb0+PLU0dFdsCE/FBnhyydyg8nuMHBdcx5wX\nFgfHjNvqY8Ex/fuGpTyv3bAhuI69Ru0QHLN22RvhMUtXBMfsPDzsd9arJfxcZ+3ylcExk8eOCo6Z\n9ULYzugD+/YNrqOas9GNHfW5LNXUFwQL0rc3mNkQoPMd/Vd3vzWJBoqIJC3pYQ0zmwJcSjQacY27\n/6jg+UHA/wCjgFbgEne/rmwba2jPJunb7r4kgeOKiKQqycX24yUrLgcOAXYGjjezwq+EXwGec/cJ\nwP7AJWZW9uQ4lQ1egf8ys6fM7BIzC18OTESkcUwCXnT3Be7eBtwEHFlQpgPoXKFzILCi88S2lDQ2\neD3f3Q3YHdgCOK/aOkRE0tCSq/xWgRHEK3LGFsWP5bsc2MnMXifaIepsupD4Bq/xgkfEnyDXEn2q\niIhkRi6Xq/iWkEOAJ939Y8BEYKqZDSgXkPQGrwvM7B/i53NES4b+rdo6RETSkPCqdIuJLvR1Ghk/\nlu9k4BYAd38ZeBUoO1UpjfTt/zWzoUTLhT5FtOmriEhmJDyV7jFgjJltAywBjiOaYpxvAdGGJA+b\n2XBgLPBKuYOmkb59YLXHFBFpNO7ebmZnEk2S6JxKN9fMzgA63P1q4CLgOjPrzPn4RucGJaUofVtE\nepykN3h193sBK3jsqryflxCNO1csE53z3jtvHVT+7sdf6rpQgc379QuOqWbz1dCMvzmLng2uY/I2\nE4Jj+vYKf6tDF4cZNqDs9Y2ilq9eFRyz/u13g2Pe/NvrwTHvrl0bVH7hO+FZiJ+YU3hRv2uvLn0n\nOOadNWGb726+Wfj/l44GWoSyEdbWSGX3bTP7T+AYorHoK91dO6OISGY0QN+cePp2HzM7CRgRz3Um\nvjgoIiIB0th9+0vkXal09+U1tVBEJGHNPqwxA/i2mc0D7gd+7+4zge2A48zsX4BlwNl5W1mJiNRd\nIyy2n3T69ueJVqZ73913B/4b+HUSDRURSUodMgSDJb379ueJcsxvjZ+/1cyurbmVIiIJaq1mKlY3\nSzp9ez5wG3BAXGY/wGton4hIj5RG+nY78Dsz+xqwEji15laKiCSoqS8IdrH79uHVHldEJG2NcEEw\nExmCIiLdqanPnKFohuAXgYuJhjxywDBgjrt/qtxx7nvy5aB6Rw/5aHBb7/GngmPOPGC/4JjQzVer\nScV+eEH4a7nwyGOCYwYN6hNU/tkXwqe0Tx4Xnr7c0jv8z3azwZsFxxw+afug8nNfHRJcR78BYb9j\ngEk7bhUc88eXyu6xvIkJI0YG11HNBrcb65Tx3QB9c/IZgu6+T16Zm4kuEIqIZEZT775NiQzBTvFu\nswcAJ9VQh4hI4hphWCOtDV4h2uDwj+4evuyYiEiKcrnKb/WSxgavnY4HbqyteSIiyUt4m6pUJJ0h\neCJwfbwS3e5EewiKiEigWi4IjgU25i1qNIFonyyI1nK+093X19g+EZHENfs851IZggDHAj+ssW0i\nIqlo6tka5TIE3f2AqlskIpKypl74SERE0pOJ9O19dxodVH7hspXBdZx72EHBMTfMejo4ZtxWHwsq\nX83Gq9Vk+10w/ebgmHP2/aeg8h0d4ele02eHL1o4+ZzDgmM+2r4xOOb8S+4IKr/jsPDMvdF7jgqO\nufzH9wfHnLLn3kHlF78V/n9sTduG4Jh6aephDSi+wSswEPgJ0Vn5SuAkd3+lxnaKiCSmAUY1alrP\nOT99ezxwELAIuBI43t0nEs1z/lYSDRURSUqz74RSaoPXjcDguMxg4PWaWigikrAGGNVIZYPX04B7\nzOx94D1gz9qbKSLSs6SxwevXgCnuPgq4FvhZEg0VEUlKa66l4lu9JJ2+/QVge3f/a1zkD8A9tTVR\nRCRZjTCskfQGry8Bg82sc5Xyg4G5NbRPRCRxzb7wUan07fuBaWbWDrwNnFJzK0VEepg00renxzcR\nkUxq+iQUEZFG1AB9czY65zE7bBFUvpr07c2H9AuOmVjFJpf9+/YOKl/N0oWhG69CeCo2wKUP3RVU\n/gdHHxtcx9oqUn6XPRKeVr/spbe6LlRg/+3DNnh97vVlwXU8Nj38ksz40cOCY/r2aQ0qv66tf3Ad\nG+u1W2sVmv7MuYv07d7A48AX3D18YQMRkZT01PTt64Bj3X0XosX3T6q9mSIiyWmE9O1aZlgXS99u\nA9a5+8txmT8CR9fWRBGRZDX1Bq8U2X3b3ZcDvcxs17jMMUD4wK2ISIoaYZ5zGrtvHwdcamazidbW\naE+ioSIiSWmEYY3Ed9929yOBfQDM7JPA2JpbKSLSwySdvr3AzLaMn+8LnAf8srYmiogkqxHGnNNI\n3z7fzA4HcsAV7v5gza0UEUlQS8Jz6cxsCnAp0QnvNe7+oyJl9iNapbM38Ka771/umGmkb38jvomI\nZFKSF/rMrAW4HDiQaHORx8xsurvPyyszGJgKHOzui81saJdtTKyFIiI90yTgRXdf4O5twE3AkQVl\nTgCmuftigHhmW1kVnTmXyAScBJwDbAts2blNVVz+MuBQYDXRBq9PlTv+jD+9XO7pTQzsF56+/OCc\nBcExy1etDo5ZuyEsHXnYgAHBdTz7Qpfv6yaq2Rk7NB37m9P+EFzHZyeW/WZX1PB9Ph4cM2j7JcEx\nv7r9r10XyrPHtuE7aU8+cbfgmLunPhwcM3fhiqDyWwwMX+6gkSQ8ljwCWJh3fxFR/5hvLNDbzB4g\nGhK+zN1/W+6gXZ45l8gEXAjMIjqNX1BQ/lBgO3ffnqgT1wVBEcmUOkyl60U09fhQYApwQcGEiqIB\nXSm6kSvwBoCZFbb+SOD6uOwcMxtsZsPdfWnFL0NEJEUJnzkvBvK/No2MH8u3iKgfXQusNbOZwHii\niRRFVdI5l9rItZTCU/zF8WPqnEUkExJOLnkMGGNm2wBLiBLxji8oM51odlsr0BfYA/hpuYN2OaxR\nJhNQRKQhJTnP2d3bgTOJTmSfA25y97lmdoaZnR6XmQfcBzwDzAaudvfnyx23oguCxTIBiYcugMIr\nTYuBrfPuFzvFFxGpm6TXzHD3ewEreOyqgvsXAxdXesxKLggWzQTMu5+Lb51uJ+q8Oy8mvqPxZhHJ\nkmbJECyaCWhmZxElmwwHnjazu939dHe/28wOM7OXiKbSnZxW40VEqtEUO6GUyQT8RXwrFnNmje0S\nEenRMrGHoIhId2qAE+dsdM4HH7BdUPmH/jw/uI5x224ZHPPT+54Jjtlr1A5B5ZevXhVcx+RxI4Jj\nps/24JjQzVeryfb73ZMPBMecue5zwTFsDN/Gcn172Ot/fnH4Bq9Tlr0bHHPzk2UTbos6YtwuQeXX\nrG8LrqORNnhNeuGjNCSevm1mBlxLNP3u39297Fw+EZHu1hRjzgXp2xvMbAjQB1gP3AE8WBCyAjgL\nOCrZpoqI9ByJp2/Hqy0tj9d0FhHJnAY4cU4lfVtEJNMaYVhD6dsi0uM0SxJKaPq2iEimJZ2+nYZK\nLgiOBTa6e+fSdl2lb1PwnIhIpjRA35x8+raZDQf+CgwENprZ2cBO7h4+oVdEJAWNMOacePp2vMjR\n1psWFxHJhgbom7ORISgi0p1yDZAhmKtk48/ADMETgPPi0JXAl9z92XLHX7NsYdBFxTVL3ggpDkCu\nV2twzEe23iY4Zu2ysLatfzs8fbeld/hn6mbDhwfHLHvk6aDy1Wy8unHd2uCYvSafEhwzcasdg2Om\n/uHfgsqvmr+w60IFrv9p+KzUL1/22eCYdW+GbQrcvnZ9cB3dZdjkfWruWR/41lUV9zn7X3RGXXry\nxDd4BV4B9onLXgT8KtEWi4j0AGlkCM7OuzubaP9AEZHMaIoLgtSWIXgqcE+1jRMRSUMjrEqXWoag\nme1PtAvKeV2VFRHpTj02Q9DMdgGuBqa4+9sJtVVEpMdIPEPQzEYB04DPufvLCbZVRCQZTTLmHJQh\nCFwADAGuiC8Wtrn7pHSaLyISrikuCFaRIXgacFrtTRMRSUcD9M3KEBSRnqcRMgTVOYtIj9M0Z86B\n6dtHABcCG4E24Gvu/nC544emYy+ZE36dccCwAcExLb17B8esXboiqPybf3s9uI7NBm8WHPPR9vDd\np5e99FbXhfIM2n5JcB3V7IpdTSr2k0vmBsesfm1xUPm3fGlwHY8unB8c84XAVGyAFc8tCirf2jt8\nuYNca/f0eMMSOEZTjDlXscHrH9399jh2HPAHIPx/k4hIShqgb04lffv9vLsDiM6gRUQyoynOnKki\nfdvMjgJ+AGwJ/FPNrRQR6WFSSd9299vcfUfgKKKV6UREMqMR0re77JwhSt9295nu/l3gLODovKdL\nrovq7rOAbeNxahGRTMi15iq+1Usl6zmPNbMxeQ91lb69Xd7PuwJ98sapRUTqLpfLVXyrlzTSt4+O\nhz3WA2uAY9NpuohI80ojffvHwI9rb5qISDoaYLKGMgRFpOdplql0qXv6f58IKv/k3GXBdYwbMzQ4\n5qoLpwXH7Dz8Y0Hl310bvsHp4ZO2D445/5I7gmP23z6snl/d/tfgOta3bwiOCd14FcKz/QA++dlv\nB5U/cqdiXzDLu/TCzwTHXPGdu4Jj/nH45kHlV7y3JriODVVkoVbTSX792KOCYzatt+ZDpC7x9O28\nmN2BR4DPuPstSTZaRKQmDdA7p5G+jZm1AD8E7ku0tSIiCWiWVemC0rdjZwE3A7sn0UgRkSQlfeJs\nZlOAS4mmJ1/j7j8qUa7iEYVKklBmAKPMbJ6ZTTWzfbpo5MeAo9z9SvLmP4uIZEWS85zjkYLLgUOA\nnYHjzWyHEuUqHlFII337Uj6847Y6aBHJlITTtycBL7r7AndvA24CjixSrnNEoaIZDWmkb+9G1IG/\nChwDTI3XeBYRaUYjgIV59xfFj32gmhGFxHffdvdt82KvBe7oXN9ZRCQTun+2RvCIQhrp2/lKLook\nIlIvCc/WWAyMyrs/Mn4sX+eIQg4YChxqZm3lTlwTT98uiD2lq+OLiHS3hDvnx4AxZrYNsAQ4jigv\n5APVjChUNOYsIiLFuXs7cCbRzLbngJvcfa6ZnWFmhaMJUOGIQhobvO4LTAdeicNvcfeyC+4PGtKv\nkmZ8YNnKVUHlAVatHhwcM2aL8K0ke7WEfd4tfCdsQ1iAua+GL4+947CtgmOeez0sTX6PbUd1XajA\n84vDU/FXzV/YdaEC1Wy+GpqOPf35svsYF7XPQ1sHx/RqDT+neu3N94LKVzMk274xfBSzmpTvJCQ9\n5Ozu9wJW8NhVJcpWNKKQSoYgMNPdNUNDRDKpJ2cIZv+Vi0iP1Syr0gVv8ArsZWZPEV2xPNfdn6+x\nnSIiycl+35xKhuDjwCh3n0CU0nhbEg0VEelJEs8QdPdV7v5+/PM9QG9t8CoiWdLS0lLxrW5t7KpA\nFRu8Ds/7eRKQ0wavIpIpLQG3OkkjQ/AYM/sS0Ea0wWv4Vg8iIilqiguCVWzwOhWYWnvTRER6rkzs\nISgi0p2a4sxZRKTpZL9vTmeDVzPbD/gZ0Bt40933L3f8rfcYHdToI9aE79g8aIuwFHGATxw3Pjhm\n7fKVYXXMGdF1oQL9BvQJjhm9Z3hq9WPT5waVn3zibsF1TFn2bnDM9T/tapr9ph5dOD84JnRn7GpS\nsf/1ppuCY+79728Fx8x/NCzlvW+/8PO21tbwHq+9vT4LVzZFhmBo+nZ84XAqcLC7LzazoYm3WkSk\nFk0yrBGavn0CMM3dF8fllyfUVhGRRDRA35xK+vZYosSTB4im4V3m7r+tvakiIslohAuCaaRv94rL\nHwpMAS4oSGIREamvllzltzqpaNTf3TuAmcBMM3sWOBG4Pn66cER/EdEwyFpgrZnNBMYTJa+IiNRd\nU5w5h6ZvEy20v7eZtZpZf2APIOyyv4hID5d4+ra7zzOz+4BniKbdXa0lQ0UkS5piKl01G7y6+8XA\nxbU1TUQkHU3ROYuINJ0GGHPOROe87JlFYeXfCN/g9e0Va4JjrrhhTnDM5LFhmXivLn0nuI5JO4Zv\n1nr5j+8Pjhk/OmyD27unhm9wevOTTwXH3HD7d4NjvvBm+HT7K75zV1D5ajZerSbbb8qpZfdLLupr\n+x0eHBOqo6N7sv0+nsAxGuGCYBq7b/8b8FmiWRy9gR2Boe4e3guJiPRQiadv5483m9nhwDnqmEUk\nU7J/4pza7tudjgdurKmFIiIJa4QLgpUMks0ARpnZPDObamb7VHJgM+tHlCE4rZYGiogkLdfSUvGt\nXtJI3+70z8AsDWmIiIRLI32703FoSENEsqgBhjUquSA4Ftjo7p1rY3SVvt25pvO+RLM2REQypVmm\n0oXuvg1wFHCfu4dPLhYRSVv2++bU0rd/A/ymtqaJiKSjEc6c63cpUkRESkojQ3AQ8D/AKKAVuMTd\nryt3/N/d+kxQo/v36R1UHmDGi08Hx3x6/B7BMbNeWNB1oTzvrFkdXMcfXwr7fQGcsufewTF9+7QG\nlZ+7cEVwHUeM2yU4Zl0VqdgrngtbIgDgH4dvHlT+tTffC64jdONVqC4V+2cP3hlU/vAdPhFcR2sD\nXGTrlKsi1b67VbKec36G4HjgIGAhMAs4kA9fHAT4CvCcu08A9gcuMbNMrOEhIgJECx9VequTNDIE\nO4CB8c8DgRWdsSIiWdAsY86hGYKXAzuZ2evA08DZtTZSRKSnSSND8BDgSXf/GDARmGpmA5JorIhI\nIhpgg9eKRsXdvcPdZ7r7d4GzgKPzni7MEDwZuCWOexl4Fdih9qaKiCQjl8tVfKuXNDZ4XUB00RAz\nGw6MBV6pvakiIglpkguCoRmCFwHXmVnnfK9v5F1EFBGpu0ZYMjTxDEF3X0I07iwikk0NMFtD849F\npMdJeizZzKYAlxINFV/j7j8qeP4E4Lz47krgS+7+bLljZqJzHjlkUFD599eFT5s+1CYGx6xauz44\nZmDfvkHlN9+sX3AdE0aMDI5Z/NbK4Jh1bf2Dym8xMPy1rFnfFhzTXsX70to7LNsRYMV7Yet2VfP/\nvW+/7vkvGJrxd+e8R1JqSe0uTOIgCXbOZtZCNIX4QOB14DEzm+7u8/KKvQLs4+7vxh35r4A9yx23\npr8MM2snmsvcG3ge+Ly7rzWza4DDgaXuHp6fKyKSooTHnCcBL7r7AgAzuwk4Evigc3b32XnlZwMj\nujporQnmq919V3cfB7QBX4wfvxaNO4tIzzCCaEmLToso3/meCtzT1UGTXP3jz8AYAHefBbyd4LFF\nRJJTp6l0ZrY/US7IeV2VrXXAKxdX2As4lAo+DURE6i3hjVsXE63C2Wlk/NiHmNkuwNXAFHfv8uS1\n1s65n5k9Ef/8Z+CaGo8nIpK+ZMecHwPGmNk2wBKi/VOPzy9gZqOAacDn4szpLtXaOb/v7rvWeAwR\nkYbl7u1mdibRInGdU+nmmtkZQIe7Xw1cAAwBrohX8mxz90nljpvIsEaZ57I/01tEepxcLtnF9t39\nXsAKHrsq7+fTgNNCjllrCwsXPQLAzG4AHgHGmtlrZnZyjfWIiCSnSdbWKMndi2aPuPsJtRxXRCRN\njbDYfiYyBEVEulUzLHxUTrEMQWAocD3RanUbgV+5+2XljtO3d1gz1q4PT9/u3Rqevru2LTy1uCXw\nE7mj+MhQWb2qmAa0pi38d7ZxY3jbslgHQK41/D/jhvaNQeXbq3gtrVW0q6OjinoaoDPqTo1w5pxG\nhmAb8HV33xnYC/iKmWmxfRHJjmYfcy7wZ2Ccuy8FlgK4+yozm0uUyjivXLCISLdJeLZGGlLNEDSz\n0UQ7p8ypsR4RkcQ0xWL7XSiZIRhv6nozcLa7r6qxHhGRHiWVDMH4TPpm4LfuPr3GOkREktUAFwTT\nyhD8NfC8u/+8xuOLiCQu1xI+e6u71do5bzKnx8wmA58FnjWzJ+My/x6nN4qI1F3TjzkXyxB094eB\n7H8siYhkmDIERaTn6QFjziIiDacRMgTTSN/uAGYCfeLj3+zu36uxnR/STRm/Vb2BG6tIrQ2vI/Uq\nhPD3PzTdG6C9XW9mXTRAEkri6dvuvg7Y390nEiWgHGpmZReVFhHpVi25ym91knj6NoC7vx8/1jeu\nQ6cHIpIZTT+sQYn0bTNrAR4HtgOmuvtjNdYjIpKcHjCs0Zm+/SiwgDh92903xsMaI4E9zGynGusR\nEUlMLper+FYvqW7w6u7vmdkDwBSiC4YiIvXXA86cN/lYMbOhZjY4/rkf8Em0XKiISJDE07eBrYDf\nxOPOLcDv3f3uGusREUlMT03ffhYoOdQhIlJ3PWC2hohIw2mEVely1WwWKSIi6cr+JUsRkR5InbOI\nSAapcxYRySB1ziIiGaTOWUQkg9Q5i4hkkDpnEZEMUucsIpJB6pwlNWY23Mx2jW/DazjOgCTbVXDs\nIVXEHJF2PWY2xsyOLrXcrpltHtqGOK5X3s8DzGy3an4Hkr6GyBA0s6vd/fQij7cCpxKtG32vuz+c\n99y33P2iIjH9gTOJFm36BXAc8CmilfO+7+6rKmjPC+4+tszzu7j7M/HPvYHzgEnA34CL8naKyY85\nE7jJ3Zeb2Rjg18AugAOnxmuWFMbcAtwC3FZhu7cFvgW8DvwQ+BmwFzAXONfd5xeJaQFOAo4m+j23\nAy8Av3T3B0vUMwH4JTAYWBw/PBJ4B/iyuz/RVVsLjveau48qeGwc8CtgBNEmD+e5+9vxc4+6+yZb\no5nZZOD9PaVlAAAIhklEQVS/gY3AKcBFwLZE+10e6+5/KRLzqYKHcsBU4MsA7n5LkZgP/vbizvU2\non02c8Bn3H1OkZgHgE/H7//ngAuI9uLcA7ja3X9RUH4D8CBwIzDN3d8pPGaROk4CLgFWAGfHr+NV\nYCzwDXe/satjFBzvZHe/tsRzOxC9N3Py/zbNbIq731siZhLQ4e6Pxb+3KcC8nrpwWmbW1ijz6Z0D\nDivx3FVAf6LF/i8zs4fc/evxc58i+s9X6DpgIdAPuIuoY/oJcARwJfC5gnat5O+r73WultK/8/Fi\niz/FdXQu/vRDYAui/xRHEXVaJxaJ+ZK7Xx7//HPgZ+5+q5ntF8dMLhKzB1FHc5mZ/ZHoP+pd7r6+\nSNnOdt1I1GnOBq4Fvg8cTPRhcECRmGuINlL4AXAM8B7RlmTfMrNxhZ1GXj1nFHZCZrZnXOf4wgAz\n+3rhY7EcUOzM+Urgu/HrOBWYZWZHuPvLRB1hMT8Djo2PdxdwlLvPMrNdiT6oi/2Ofw/cByzj7+//\nR4B/Jvq72KRz5sN/ez8Bznb3e+LO51LgE0VitnT35fHPXwX2cvcV8cnE7Lh9+ebGxzoe+LGZzSJ6\nb6e7+5oSr/9fAQMGEm3MPNHdX46/1fxfHB/ie0Tv54eY2VeBr8RtvMbMznb36fHT/wVs0jmb2XeI\ndlPqZWb/R/S3/QBwvplNdPf/DGxbw8tM5wy8SdQJ5C8X1RHfH1YiZpK77wJgZpcDV8Rnk8dTZK3p\n2Fh3P9bMcsAS4CB374j/uJ8uUv5aYHOiM8ulcV2vuvs/lnkt+XUfCOzu7m1mNrNEHfDh92KYu98K\n4O4PmtnAEjHL3P0YMxsEHAmcBlxtZncCN7r7jILyA939yvg1fNndL4kfvyY+cy/m4+5+cvzzLDOb\n7e7fjl/LU2zaaQB8pNjZobvPNrOPlKjnv4g6sg1Fnis2/DYw7wzsYjN7HLg3Puss9XWwd+c3EDN7\n091nxe16Il57vJhPEH3APpb3u9sv73fSlRHufk9cz6Nl6mkzsxHuvhhYBayOH18HFFulp83d7wTu\njI/5z0TfAqea2X3ufkKRmPb4A2C5ma2KP8hw96VmVrRRZvZMifbmgFJDVacR/d2sMrPRwM1mNtrd\nf07p/5fHEG0I3Rd4AxgZb9ZxMTAHUOdcR68AB7r7a4VPmNnCEjF9On9w9w3A6fEn8J8ofrZFXvkO\nM7vb3Tvy7m/yn9rdv2pmHwduNLPbgMvpesPawWb2L0SdSj93bytXR+xmM7uO6Ez2VjM7B7iV6Gx2\nk99JrLPt7wG/BX5rZkOJ/tDPBwo7541mNpbozLm/me3m7n81s+0p3gFA1GlsF59h7Qqsj+tcV+a1\n3GNmdwHXE31LAdia6BtD0a+0wBNEwzOPFz5hZqcWCzCzwe7+btyeB8zsaGAaUOpbWH4n/82C5/pQ\nRPwV+5PAWfHQw3l0/f5va2a3E3VEI82sf95QVqmz+q8BM8xsGvAc8Cczuw/YmyJnp+R1cvGZ8h+A\nP8QbXRxVoo7XzOwHRGfO88zsEqIz/4OITlSKGQ4cArxdpP5HSsS0dA5luPv8+NvfzWa2DaU75w3u\n3g68b2Yvx3/TuPsaM9tYIqapZemC4KXAR0s89+MSj//VzKbkP+DunV+1RpeJGRCXPaXzQTPbDlhZ\nLCDuMA6K7z4EbFbi2OSVOQI4HHgk/tqImf0DsLxYgLv/B38fQ/w6cCHRWOr2wGdL1LPJOLO7L3f3\nX7p7sSGKc4E7iDrNo4BvmtmLwMNEY5zFnAs8EJebFt/HzLYE7izxWr5K9CG2P1En+M3456nuXuoM\n/WSib07F7FbksR8BOxbU+wzRN5ViQw0AF8TDBLj7bZ0Pxu/99SViOvfE/DnR+/BvpcrlOZJoGOti\norH6lrie4UTDMcXqeJDoLH0J0Ea0QfJa4Cx3v7hIyO9KHOddd/9NiXb9P6JhqUVEf5+PEL03w4iu\nKxRzJzDA3RcU3OYT/b0WszS+7tDZplVE/xeGAuNKxKzvfG+Aj3c+GH/Y9MjOOTMXBM1sd2Chu78R\n3z+R6A97AfBdd3+rRMwid18SGFOsnteA7+WN+5Uq/02isbYr4/Jptevzccz8MjGTgNcq/Z0Vadfn\ngc8AL3XRrkVEX6OXV/JapGczs5FEfy9Lizw32fMu3Oc93tfd1xV5fCiwlRe5IN7ssnTmfBXxV2Yz\n24donO964F3g6jIx66qIKVbPO0QX3roqfxbRmPZ7KbfrB8Bvuoj5ZYnXUiqmsF0/ILrg1+XvOO6Y\nK30tJZlZ6jHdUUeWY5Ksw8w2M7NzzOxyMzvD8qbilbEcOL5YTLGOOZYrVk/8TbDHdcyQrTHn1ryz\nsM8QTR+aBkwzs6fqGJPVdmX2tVgVM29CY7qjjizHdFe7iE4Q2ohm6BwK7EQ0Da+c7oppapnqnM2s\nV3xh70Agf15zqXZ2R0xW25Xl11LNzJvQmO6oI8sx3dWundx9HICZXUM0bbUr3RXT1LLUOd8IPGRm\ny4E1RJ+gWJSQ8W4dY7Lariy/lmpm3oTGdEcdWY7prna1df7g7husxJS7OsU0tcx0zu7+n2Z2P7AV\nMKNzihvRuPhZ9YrJaruy/Fr4+8ybYlMAS828CY3pjjqyHNNd7RpvZu/FP+eAfvH9HKWTsLorpqll\npnOGKEmhyGMv1Dsmq+2qJqab2vUo8MGV+sIZHgnFdEcdWY7plna5e/A21d0V0+yyNFtDmke1M29C\nZ56kXUeWY7qrXVInmTpzlqbRNDNPMhzTXe2SOtGZs6ShNW9u64FE6fSdys4KCYjpjjqyHNNd7ZI6\n0RsiaWimmSdZjemudkmdZCZ9W5qLRcuDds7wWB0/NpZonYai6zmHxnRHHVmO6a52SX2ocxYRySCN\nOYuIZJA6ZxGRDFLnLCKSQeqcRUQySJ2ziEgG/X9BnxtZFZrq3AAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.heatmap(correlation)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Super cool and awesome clustered heatmap" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nSUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.clustermap(correlation)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For the next step, we want just the single cells. We're going to pull out just the single cells - which are conveniently labeled as \"S#\". We'll do this using a [list comprehension](http://www.pythonforbeginners.com/basics/list-comprehensions-in-python), which means we'll create a new list based on the items in `geo_expression.columns` and whether or not they start with the letter `'S'`." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "['S1',\n", + " 'S2',\n", + " 'S3',\n", + " 'S4',\n", + " 'S5',\n", + " 'S6',\n", + " 'S7',\n", + " 'S8',\n", + " 'S9',\n", + " 'S10',\n", + " 'S11',\n", + " 'S12',\n", + " 'S13',\n", + " 'S14',\n", + " 'S15',\n", + " 'S16',\n", + " 'S17',\n", + " 'S18']" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "single_ids = [x for x in geo_expression.columns if x.startswith('S')]\n", + "single_ids" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll access the columns we want using this bracket notation (note this only works for columns)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "geo_singles = geo_expression[single_ids]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exercise 2\n", + "\n", + "Look at the first few rows of `geo_singles`. Does it only have the single cells?" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "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", + "
S1S2S3S4S5S6S7S8S9S10S11S12S13S14S15S16S17S18
GENE
XKR40.0000000.0000000.00000000.0000000.0000000.0000000.000000.0000000.00000000.0000000.0000000.0000000.0000000.0000000.000000
AB3385840.0000000.0000000.00000000.0000000.0000000.0000000.000000.0000000.00000000.0000000.0000000.0000000.0000000.0000000.000000
B3GAT20.0000000.0234410.00000000.0293780.0000000.0554520.000000.0294480.02413700.0000000.0316540.0000000.0000000.00000042.150208
NPL72.008590128.0620120.09508200.000000112.310234104.3291220.119230.0000000.00000000.1168020.1042000.1061880.2291970.1105820.000000
\n", + "
" + ], + "text/plain": [ + " S1 S2 S3 S4 S5 S6 S7 \\\n", + "GENE \n", + "XKR4 0.00000 0 0.000000 0.000000 0 0.000000 0.000000 \n", + "AB338584 0.00000 0 0.000000 0.000000 0 0.000000 0.000000 \n", + "B3GAT2 0.00000 0 0.023441 0.000000 0 0.029378 0.000000 \n", + "NPL 72.00859 0 128.062012 0.095082 0 0.000000 112.310234 \n", + "\n", + " S8 S9 S10 S11 S12 S13 S14 \\\n", + "GENE \n", + "XKR4 0.000000 0.00000 0.000000 0.000000 0 0.000000 0.000000 \n", + "AB338584 0.000000 0.00000 0.000000 0.000000 0 0.000000 0.000000 \n", + "B3GAT2 0.055452 0.00000 0.029448 0.024137 0 0.000000 0.031654 \n", + "NPL 104.329122 0.11923 0.000000 0.000000 0 0.116802 0.104200 \n", + "\n", + " S15 S16 S17 S18 \n", + "GENE \n", + "XKR4 0.000000 0.000000 0.000000 0.000000 \n", + "AB338584 0.000000 0.000000 0.000000 0.000000 \n", + "B3GAT2 0.000000 0.000000 0.000000 42.150208 \n", + "NPL 0.106188 0.229197 0.110582 0.000000 " + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Your code here\n", + "geo_singles.head(4)\n", + "#yes it does" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exercise 3\n", + "\n", + "You now know which three cells are different from the rest, according to the paper. Label the cells as \"Mature\" and \"Maturing\" by replacing `None` below with either `\"Mature\"` or `\"Maturing\"`. We will use this `groupby` [dictionary](http://learnpythonthehardway.org/book/ex39.html) to match the sample IDs to their specific group. The \"S1\" cell has been done for you as an example." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "groupby = {'S1': \"Maturing\",\n", + " 'S10': \"Maturing\",\n", + " 'S11': \"Maturing\",\n", + " 'S12': \"Mature\",\n", + " 'S13': \"Mature\",\n", + " 'S14': \"Maturing\",\n", + " 'S15': \"Maturing\",\n", + " 'S16': \"Mature\",\n", + " 'S17': \"Maturing\",\n", + " 'S18': \"Maturing\",\n", + " 'S2': \"Maturing\",\n", + " 'S3': \"Maturing\",\n", + " 'S4': \"Maturing\",\n", + " 'S5': \"Maturing\",\n", + " 'S6': \"Maturing\",\n", + " 'S7': \"Maturing\",\n", + " 'S8': \"Maturing\",\n", + " 'S9': \"Maturing\"}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.5.1" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/weeks/week04/2_compare_alignment_vs_quasialignment.ipynb b/weeks/week04/2_compare_alignment_vs_quasialignment.ipynb index 6c9fe1a..62573ec 100644 --- a/weeks/week04/2_compare_alignment_vs_quasialignment.ipynb +++ b/weeks/week04/2_compare_alignment_vs_quasialignment.ipynb @@ -41,7 +41,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 155, "metadata": { "collapsed": false, "deletable": false, @@ -53,7 +53,16 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ucsd-train20/anaconda3/lib/python3.5/site-packages/matplotlib/__init__.py:872: UserWarning: axes.color_cycle is deprecated and replaced with axes.prop_cycle; please use the latter.\n", + " warnings.warn(self.msg_depr % (key, alt_key))\n" + ] + } + ], "source": [ "# We're doing \"import superlongname as abbrev\" for our laziness - this way we don't have to type out the whole thing each time.\n", "\n", @@ -93,7 +102,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 157, "metadata": { "collapsed": false, "deletable": false, @@ -105,7 +114,15 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/oasis/tscc/scratch/ucsd-train20/shalek2013/processed_data\n" + ] + } + ], "source": [ "cd ~/projects/shalek2013/processed_data" ] @@ -128,7 +145,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 159, "metadata": { "collapsed": false, "deletable": false, @@ -140,9 +157,93 @@ "solution": false } }, - "outputs": [], - "source": [ - "s10_kallisto = pd.read_table('S10_kallisto/abundance.tsv', index_col='target_id')\n", + "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", + "
lengtheff_lengthest_countstpm
target_id
ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMUSG00000026353.2|OTTMUST00000065166.1|Xkr4-001|Xkr4|3634|UTR5:1-150|CDS:151-2094|UTR3:2095-3634|36343389.5800
ENSMUST00000194992.5|ENSMUSG00000025900.10|OTTMUSG00000049985.2|OTTMUST00000127194.1|Rp1-002|Rp1|3047|UTR5:1-54|CDS:55-912|UTR3:913-3047|30472802.5800
ENSMUST00000027032.5|ENSMUSG00000025900.10|OTTMUSG00000049985.2|OTTMUST00000127195.2|Rp1-001|Rp1|6869|UTR5:1-127|CDS:128-6415|UTR3:6416-6869|68696624.5800
ENSMUST00000027035.9|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127245.2|Sox17-001|Sox17|3127|UTR5:1-1082|CDS:1083-2342|UTR3:2343-3127|31272882.5800
ENSMUST00000195555.1|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127249.1|Sox17-005|Sox17|1977|UTR5:1-635|CDS:636-1511|UTR3:1512-1977|19771732.5800
\n", + "
" + ], + "text/plain": [ + " length eff_length \\\n", + "target_id \n", + "ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMU... 3634 3389.58 \n", + "ENSMUST00000194992.5|ENSMUSG00000025900.10|OTTM... 3047 2802.58 \n", + "ENSMUST00000027032.5|ENSMUSG00000025900.10|OTTM... 6869 6624.58 \n", + "ENSMUST00000027035.9|ENSMUSG00000025902.13|OTTM... 3127 2882.58 \n", + "ENSMUST00000195555.1|ENSMUSG00000025902.13|OTTM... 1977 1732.58 \n", + "\n", + " est_counts tpm \n", + "target_id \n", + "ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMU... 0 0 \n", + "ENSMUST00000194992.5|ENSMUSG00000025900.10|OTTM... 0 0 \n", + "ENSMUST00000027032.5|ENSMUSG00000025900.10|OTTM... 0 0 \n", + "ENSMUST00000027035.9|ENSMUSG00000025902.13|OTTM... 0 0 \n", + "ENSMUST00000195555.1|ENSMUSG00000025902.13|OTTM... 0 0 " + ] + }, + "execution_count": 159, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "s10_kallisto = pd.read_table('/home/ucsd-train20/projects/shalek2013/processed_data/S10_kallisto/abundance.tsv', index_col='target_id')\n", "s10_kallisto.head()" ] }, @@ -164,7 +265,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 160, "metadata": { "collapsed": false, "deletable": false, @@ -176,7 +277,91 @@ "solution": false } }, - "outputs": [], + "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", + "
lengtheff_lengthest_countstpm
target_id
ENSMUST00000084013.1|ENSMUSG00000065947.3|-|-|mt-Nd4l-201|mt-Nd4l|297|CDS:1-297|29770.846724381204.930
ENSMUST00000082414.1|ENSMUSG00000064363.1|-|-|mt-Nd4-201|mt-Nd4|1378|CDS:1-1378|13781133.5800431141331.720
ENSMUST00000082418.1|ENSMUSG00000064367.1|-|-|mt-Nd5-201|mt-Nd5|1824|CDS:1-1824|18241579.580044220980.222
ENSMUST00000082419.1|ENSMUSG00000064368.1|-|-|mt-Nd6-201|mt-Nd6|519|CDS:1-519|519274.69804520576.142
ENSMUST00000082421.1|ENSMUSG00000064370.1|-|-|mt-Cytb-201|mt-Cytb|1144|CDS:1-1144|1144899.57901202344679.880
\n", + "
" + ], + "text/plain": [ + " length eff_length \\\n", + "target_id \n", + "ENSMUST00000084013.1|ENSMUSG00000065947.3|-|-|m... 297 70.8467 \n", + "ENSMUST00000082414.1|ENSMUSG00000064363.1|-|-|m... 1378 1133.5800 \n", + "ENSMUST00000082418.1|ENSMUSG00000064367.1|-|-|m... 1824 1579.5800 \n", + "ENSMUST00000082419.1|ENSMUSG00000064368.1|-|-|m... 519 274.6980 \n", + "ENSMUST00000082421.1|ENSMUSG00000064370.1|-|-|m... 1144 899.5790 \n", + "\n", + " est_counts tpm \n", + "target_id \n", + "ENSMUST00000084013.1|ENSMUSG00000065947.3|-|-|m... 2438 1204.930 \n", + "ENSMUST00000082414.1|ENSMUSG00000064363.1|-|-|m... 43114 1331.720 \n", + "ENSMUST00000082418.1|ENSMUSG00000064367.1|-|-|m... 44220 980.222 \n", + "ENSMUST00000082419.1|ENSMUSG00000064368.1|-|-|m... 4520 576.142 \n", + "ENSMUST00000082421.1|ENSMUSG00000064370.1|-|-|m... 120234 4679.880 " + ] + }, + "execution_count": 160, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "s10_kallisto.tail()" ] @@ -201,7 +386,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 161, "metadata": { "collapsed": false, "deletable": false, @@ -213,14 +398,208 @@ "solution": true } }, - "outputs": [], + "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", + "
lengtheff_lengthest_countstpm
target_id
ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMUSG00000026353.2|OTTMUST00000065166.1|Xkr4-001|Xkr4|3634|UTR5:1-150|CDS:151-2094|UTR3:2095-3634|36343389.5800.000000.000000
ENSMUST00000194992.5|ENSMUSG00000025900.10|OTTMUSG00000049985.2|OTTMUST00000127194.1|Rp1-002|Rp1|3047|UTR5:1-54|CDS:55-912|UTR3:913-3047|30472802.5800.000000.000000
ENSMUST00000027032.5|ENSMUSG00000025900.10|OTTMUSG00000049985.2|OTTMUST00000127195.2|Rp1-001|Rp1|6869|UTR5:1-127|CDS:128-6415|UTR3:6416-6869|68696624.5800.000000.000000
ENSMUST00000027035.9|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127245.2|Sox17-001|Sox17|3127|UTR5:1-1082|CDS:1083-2342|UTR3:2343-3127|31272882.5800.000000.000000
ENSMUST00000195555.1|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127249.1|Sox17-005|Sox17|1977|UTR5:1-635|CDS:636-1511|UTR3:1512-1977|19771732.5800.000000.000000
ENSMUST00000192650.5|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127247.2|Sox17-004|Sox17|3242|UTR5:1-1851|CDS:1852-2916|UTR3:2917-3242|32422997.5800.000000.000000
ENSMUST00000116652.7|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127246.1|Sox17-002|Sox17|1512|UTR5:1-249|CDS:250-1509|UTR3:1510-1512|15121267.5800.000000.000000
ENSMUST00000191647.1|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127267.2|Sox17-007|Sox17|406|UTR5:1-83|CDS:84-406|406163.2700.000000.000000
ENSMUST00000191939.1|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127266.2|Sox17-006|Sox17|840|UTR5:1-329|CDS:330-840|840595.5790.000000.000000
ENSMUST00000192913.1|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127248.2|Sox17-003|Sox17|1506|UTR5:1-997|CDS:998-1506|15061261.5800.000000.000000
ENSMUST00000130201.7|ENSMUSG00000033845.13|OTTMUSG00000029329.3|OTTMUST00000072660.1|Mrpl15-002|Mrpl15|1894|UTR5:1-33|CDS:34-648|UTR3:649-1894|18941649.58010.000000.212263
ENSMUST00000156816.6|ENSMUSG00000033845.13|OTTMUSG00000029329.3|OTTMUST00000072659.1|Mrpl15-001|Mrpl15|4203|UTR5:1-62|CDS:63-950|UTR3:951-4203|42033958.5800.000000.000000
ENSMUST00000045689.13|ENSMUSG00000033845.13|OTTMUSG00000029329.3|OTTMUST00000072661.1|Mrpl15-003|Mrpl15|497|UTR5:1-21|CDS:22-180|UTR3:181-497|497252.8040.000000.000000
ENSMUST00000146665.2|ENSMUSG00000033845.13|OTTMUSG00000029329.3|OTTMUST00000072662.2|Mrpl15-004|Mrpl15|1569|UTR5:1-62|CDS:63-569|UTR3:570-1569|15691324.5800.000000.000000
ENSMUST00000134384.7|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051163.2|Lypla1-002|Lypla1|1136|UTR5:1-126|CDS:127-801|UTR3:802-1136|1136891.5795.425560.213075
ENSMUST00000027036.10|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051162.1|Lypla1-001|Lypla1|2507|UTR5:1-91|CDS:92-784|UTR3:785-2507|25072262.580518.909008.030360
ENSMUST00000150971.7|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051164.3|Lypla1-003|Lypla1|877|UTR5:1-84|CDS:85-750|UTR3:751-877|877632.5790.000000.000000
\n", + "
" + ], + "text/plain": [ + " length eff_length \\\n", + "target_id \n", + "ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMU... 3634 3389.580 \n", + "ENSMUST00000194992.5|ENSMUSG00000025900.10|OTTM... 3047 2802.580 \n", + "ENSMUST00000027032.5|ENSMUSG00000025900.10|OTTM... 6869 6624.580 \n", + "ENSMUST00000027035.9|ENSMUSG00000025902.13|OTTM... 3127 2882.580 \n", + "ENSMUST00000195555.1|ENSMUSG00000025902.13|OTTM... 1977 1732.580 \n", + "ENSMUST00000192650.5|ENSMUSG00000025902.13|OTTM... 3242 2997.580 \n", + "ENSMUST00000116652.7|ENSMUSG00000025902.13|OTTM... 1512 1267.580 \n", + "ENSMUST00000191647.1|ENSMUSG00000025902.13|OTTM... 406 163.270 \n", + "ENSMUST00000191939.1|ENSMUSG00000025902.13|OTTM... 840 595.579 \n", + "ENSMUST00000192913.1|ENSMUSG00000025902.13|OTTM... 1506 1261.580 \n", + "ENSMUST00000130201.7|ENSMUSG00000033845.13|OTTM... 1894 1649.580 \n", + "ENSMUST00000156816.6|ENSMUSG00000033845.13|OTTM... 4203 3958.580 \n", + "ENSMUST00000045689.13|ENSMUSG00000033845.13|OTT... 497 252.804 \n", + "ENSMUST00000146665.2|ENSMUSG00000033845.13|OTTM... 1569 1324.580 \n", + "ENSMUST00000134384.7|ENSMUSG00000025903.14|OTTM... 1136 891.579 \n", + "ENSMUST00000027036.10|ENSMUSG00000025903.14|OTT... 2507 2262.580 \n", + "ENSMUST00000150971.7|ENSMUSG00000025903.14|OTTM... 877 632.579 \n", + "\n", + " est_counts tpm \n", + "target_id \n", + "ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMU... 0.00000 0.000000 \n", + "ENSMUST00000194992.5|ENSMUSG00000025900.10|OTTM... 0.00000 0.000000 \n", + "ENSMUST00000027032.5|ENSMUSG00000025900.10|OTTM... 0.00000 0.000000 \n", + "ENSMUST00000027035.9|ENSMUSG00000025902.13|OTTM... 0.00000 0.000000 \n", + "ENSMUST00000195555.1|ENSMUSG00000025902.13|OTTM... 0.00000 0.000000 \n", + "ENSMUST00000192650.5|ENSMUSG00000025902.13|OTTM... 0.00000 0.000000 \n", + "ENSMUST00000116652.7|ENSMUSG00000025902.13|OTTM... 0.00000 0.000000 \n", + "ENSMUST00000191647.1|ENSMUSG00000025902.13|OTTM... 0.00000 0.000000 \n", + "ENSMUST00000191939.1|ENSMUSG00000025902.13|OTTM... 0.00000 0.000000 \n", + "ENSMUST00000192913.1|ENSMUSG00000025902.13|OTTM... 0.00000 0.000000 \n", + "ENSMUST00000130201.7|ENSMUSG00000033845.13|OTTM... 10.00000 0.212263 \n", + "ENSMUST00000156816.6|ENSMUSG00000033845.13|OTTM... 0.00000 0.000000 \n", + "ENSMUST00000045689.13|ENSMUSG00000033845.13|OTT... 0.00000 0.000000 \n", + "ENSMUST00000146665.2|ENSMUSG00000033845.13|OTTM... 0.00000 0.000000 \n", + "ENSMUST00000134384.7|ENSMUSG00000025903.14|OTTM... 5.42556 0.213075 \n", + "ENSMUST00000027036.10|ENSMUSG00000025903.14|OTT... 518.90900 8.030360 \n", + "ENSMUST00000150971.7|ENSMUSG00000025903.14|OTTM... 0.00000 0.000000 " + ] + }, + "execution_count": 161, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# YOUR CODE HERE" + "# YOUR CODE HERE\n", + "firstseventeen= s10_kallisto.head(17)\n", + "firstseventeen\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 162, "metadata": { "collapsed": false, "deletable": false, @@ -237,7 +616,7 @@ "source": [ "# \"_\" is the previous output\n", "\n", - "assert _.index.shape == (17,)" + "assert firstseventeen.index.shape == (17,)" ] }, { @@ -258,7 +637,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 163, "metadata": { "collapsed": false, "deletable": false, @@ -270,9 +649,20 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(56504, 4)" + ] + }, + "execution_count": 163, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "s13_kallisto.shape" + "s10_kallisto.shape" ] }, { @@ -295,7 +685,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 164, "metadata": { "collapsed": false, "deletable": false, @@ -307,9 +697,93 @@ "solution": false } }, - "outputs": [], - "source": [ - "s13_kallisto = pd.read_table('S13_kallisto/abundance.tsv', index_col='target_id')\n", + "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", + "
lengtheff_lengthest_countstpm
target_id
ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMUSG00000026353.2|OTTMUST00000065166.1|Xkr4-001|Xkr4|3634|UTR5:1-150|CDS:151-2094|UTR3:2095-3634|36343395.2420.03967
ENSMUST00000194992.5|ENSMUSG00000025900.10|OTTMUSG00000049985.2|OTTMUST00000127194.1|Rp1-002|Rp1|3047|UTR5:1-54|CDS:55-912|UTR3:913-3047|30472808.2400.00000
ENSMUST00000027032.5|ENSMUSG00000025900.10|OTTMUSG00000049985.2|OTTMUST00000127195.2|Rp1-001|Rp1|6869|UTR5:1-127|CDS:128-6415|UTR3:6416-6869|68696630.2400.00000
ENSMUST00000027035.9|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127245.2|Sox17-001|Sox17|3127|UTR5:1-1082|CDS:1083-2342|UTR3:2343-3127|31272888.2400.00000
ENSMUST00000195555.1|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127249.1|Sox17-005|Sox17|1977|UTR5:1-635|CDS:636-1511|UTR3:1512-1977|19771738.2400.00000
\n", + "
" + ], + "text/plain": [ + " length eff_length \\\n", + "target_id \n", + "ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMU... 3634 3395.24 \n", + "ENSMUST00000194992.5|ENSMUSG00000025900.10|OTTM... 3047 2808.24 \n", + "ENSMUST00000027032.5|ENSMUSG00000025900.10|OTTM... 6869 6630.24 \n", + "ENSMUST00000027035.9|ENSMUSG00000025902.13|OTTM... 3127 2888.24 \n", + "ENSMUST00000195555.1|ENSMUSG00000025902.13|OTTM... 1977 1738.24 \n", + "\n", + " est_counts tpm \n", + "target_id \n", + "ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMU... 2 0.03967 \n", + "ENSMUST00000194992.5|ENSMUSG00000025900.10|OTTM... 0 0.00000 \n", + "ENSMUST00000027032.5|ENSMUSG00000025900.10|OTTM... 0 0.00000 \n", + "ENSMUST00000027035.9|ENSMUSG00000025902.13|OTTM... 0 0.00000 \n", + "ENSMUST00000195555.1|ENSMUSG00000025902.13|OTTM... 0 0.00000 " + ] + }, + "execution_count": 164, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "s13_kallisto = pd.read_table('/home/ucsd-train20/projects/shalek2013/processed_data/S13_kallisto/abundance.tsv', index_col='target_id')\n", "s13_kallisto.head()" ] }, @@ -333,7 +807,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 165, "metadata": { "collapsed": false, "deletable": false, @@ -345,14 +819,26 @@ "solution": true } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(56504, 4)" + ] + }, + "execution_count": 165, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# YOUR CODE HERE" + "# YOUR CODE HERE\n", + "s13_kallisto.shape" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 166, "metadata": { "collapsed": false, "deletable": false, @@ -369,7 +855,7 @@ "source": [ "# \"_\" is the previous output\n", "\n", - "assert _ == (56504, 4)" + "assert s13_kallisto.shape == (56504, 4)" ] }, { @@ -390,7 +876,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 167, "metadata": { "collapsed": false, "deletable": false, @@ -403,7 +889,36 @@ }, "scrolled": false }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ucsd-train20/anaconda3/lib/python3.5/site-packages/matplotlib/__init__.py:892: UserWarning: axes.color_cycle is deprecated and replaced with axes.prop_cycle; please use the latter.\n", + " warnings.warn(self.msg_depr % (key, alt_key))\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 167, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAb8AAAGoCAYAAADWwOtRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xu0lVW9//H35mqaGqJiQVwUnJqKhAdOmj9T0TQT0ZMX\n/DlSU+twzJPVr+OJrAOEeB3HSzm0i2SidrxQpohDSUw91Ekwo0jsGymEQuAREK8pl/37Yz17uzZs\nYAN7rbX3nu/XGAzWmut5njXnXrA+e85nPvOpq6+vR5KknHSqdQUkSao2w0+SlB3DT5KUHcNPkpQd\nw0+SlB3DT5KUnS61rkA743UhktqjulpXoK2x5ydJyo7hJ0nKjsOeGfrzgoU899dXmpSlvrux3777\n1KhGklRdhl+G3lmzhu477dGk7N0179SoNpJUfQ57SpKyY/hJkrJj+EmSsmP4SZKyY/hJkrJj+EmS\nsmP4SZKyY/hJkrJj+EmSsmP4SZKyY/hJkrJj+EmSsmP4SZKyY/hJkrJj+EmSsmP4SZKyY/hJkrJj\n+EmSsmP4SZKyY/hJkrJj+EmSsmP4SZKyY/hJkrJj+EmSsmP4SZKyY/hJkrJj+EmSsmP4SZKyY/hJ\nkrJj+EmSsmP4SZKyY/hJkrJj+EmSsmP4SZKyY/hJkrJj+EmSsmP4SZKyY/hJkrJj+EmSsmP4SZKy\nY/hJkrJj+EmSsmP4SZKyY/hJkrJj+EmSsmP4SZKyY/hJkrLTpdYVaC9SSl1mzpxZ62q0ipdfXs6K\n17o2KXvnlVV07bS+RjWSOr6dd965Zu89YsSI/sBLEbG2ZpVoYwy/luszYsSIWtdBkrbFQmAAsKjG\n9WgzDL+We6n4e0BNa9F6Gv4ztHcdpR3QcdpiO9qehbz3HSagrr6+vtZ1aDdSSvURUVfrerSGjtKW\njtIO6DhtsR1tT0dqS2txwoskKTuGnyQpO4afJCk7VZnwklLqA0wBegHrgR9GxHdSSj2Au4F+lGYh\nnR4Rq4t9xgLnAWuBiyNiRlE+FPgxsAPwUER8uSjvVrzHIcArwBkRsbh47RzgUqAemBQRU7axKRO2\ncb+2qKO0paO0AzpOW2xH29OR2tIqqjLhJaW0F7BXRMxNKb0f+C0wCvgcsCIirk4p/TvQIyK+nlL6\nCHAnMAzoAzwKDIqI+pTSU8BFETEnpfQQcENEPJJS+hfgoIi4MKV0BnBKRIwuAvZpYChQV7z30IaQ\n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\n3tdsXRt6fhvq16/fRj2/Xr16sXTp0sbny5cvbwzblnjmmWd47LHHeOKJJ3jnnXd48803ueSSS7j6\n6qs3u9+GvdINn0Op57dw4cKNttvent+NN97IqlWrmDhxYpPy7373u/Tv379J2dixY3nuuefo1asX\n3//+9wH42c9+xhNPPMGUKVMat9trr70YNmxY43DnEUccwfz58w2/CjD8pApaunQpv//97zn44IN5\n8MEHOeSQQxgwYACrVq1i7ty5DBkyhLVr17Jo0SIGDhzIW2+9xe67786aNWuYNm0avXr1ava4L774\nIoMGDWLQoEHMmzePhQsX8g//8A/cfffdnHzyybz66qs8/fTT/Pu//3uzE09aYmt6fgcddBCLFy9m\nyZIl7LHHHkyfPp1rr712s/uUh/NXv/pVvvrVrwIwe/ZsfvSjHzUG35133gnQOPxb7le/+hWvvfYa\n3bp149FHH+WKK67YaJtt7fltbt3je++9l1mzZjUJLihNZLn99tv51re+BcBzzz3H/vvvv1G9nnzy\nSSZPnswdd9xBt27dmux/yy238M4779C5c2fmzJnDueee2+J6qeUMP6mCBgwYwJ133snYsWMZOHAg\nZ555Jl27duWGG27gsssu4/XXX2f9+vWcffbZDBw4kC996Uucdtpp9OzZk8GDB/Pmm282e9zbbruN\np556ik6dOjFw4ECOOOIIunbtyty5cxk1ahR1dXVccskl9OzZc6PwK+8dNddT2hadO3fmW9/6VuNQ\n7qmnnto42aV8wsorr7zCZz7zGd588006derElClTmD59OjvttNMmj/3CCy9wyCGHNPva4MGDueii\ni1i+fDmjRo3aaMhza22ufl/4wheYNGkSe+yxB+PHj6d3796cfvrp1NXVceyxx3LhhRdy4YUXMmnS\npMZfGnr37t04k7PcZZddxpo1azjvvPMAOPjggxk/fjy77LILn/vc5/jMZz5DXV0dn/jEJ/jEJz4B\nwDXXXMODDz7IO++8w5FHHsmpp5663RN8cuZdHVqog654rgpasmQJY8aMYdq0abWuSrs2ZswYbrzx\nRrp0afq7+n333cezzz7bONlEm+VdHTZgz09Sm9Zcz0naXoafVCG9e/e211dBp5xyCqecckqtq6F2\nyhVeJEnZseenrfbumnU8OmcxAMcM60u3rp1rXCNJ2jqGn7bKu2vWMe6H/8Mfn18BwH/PXcKEzx9q\nAEpqVxz21FZ5dM7ixuAD+OPzKxp7gZLUXhh+kqTsGH7aKscM68uB+/RsfH7gPj05ZljfGtZIkrae\n5/y0Vbp17cyEzx/qhBdJ7Zrhp63WrWtnTjhsQK2rIUnbzGFPSVJ2DD9JUnYMP0lSdgw/SVJ2DD9J\nUnYMP0lSdgw/SVJ2DD9JUnYMP0lSdgw/SVJ2DD9JUnYMP0lSdgw/SVJ2DD9JUnYMP0lSdgw/SVJ2\nDD9JUnYMP0lSdgw/SVJ2DD9JUnYMP0lSdgw/SVJ2DD9JUnYMP0lSdgw/SVJ2DD9JUnYMP0lSdgw/\nSVJ2DD9JUna6VONNUkqTgROB5RExuCgbB3weeLnY7BsR8XDx2ljgPGAtcHFEzCjKhwI/BnYAHoqI\nLxfl3YApwCHAK8AZEbG4eO0c4FKgHpgUEVMq3mBJUptWrZ7frcBxzZRfGxFDiz8Nwbc/cDqwP/Ap\n4KaUUl2x/c3A+RGxL7BvSqnhmOcDKyNiEHA9cHVxrB7AfwDDgH8ExqWUdq1ICyVJ7UZVwi8iZgGr\nmnmprpmyUcBdEbE2IhYBC4DhKaW9gJ0jYk6x3RTg5LJ9biseTwWOLh4fB8yIiNUR8SowAzh+e9sj\nSWrfan3O76KU0tyU0i1lPbLewItl2ywpynoDL5WVv1SUNdknItYBq1NKu23mWJKkjFXlnN8m3AR8\nOyLqU0qXAf8JXNBKx26uR9liKaXxwLjWqYoktS1+x9Uw/CLif8ue/hCYVjxeAny47LU+Rdmmysv3\nWZpS6gzsEhErU0pLgCM32OeXLajbeGB8eVlKqT+wcEv7SlJb53dcdYc96yjrkRXn8Br8E/DH4vED\nwOiUUreU0gBgIDA7IpZRGs4cXkyAORu4v2yfc4rHpwGPFY8fAY5NKe1aTH45tiiTJGWsWpc6/IRS\nD6xnSmkxpe72USmlIcB6YBHwzwARMT+ldA8wH1gDXBgR9cWhvkjTSx0eLsonA7enlBYAK4DRxbFW\npZQmAk9TutRhQjHxRZKUsbr6+votb6XGIYGZM2fSp0+fWldHkrbGFudBdNDvuE22u9azPSVJqjrD\nT5KUHcNPkpQdw0+SlB3DT5KUHcNPkpQdw0+SlB3DT5KUHcNPkpQdw0+SlB3DT5KUHcNPkpQdw0+S\nlB3DT5KUHcNPkpQdw0+SlB3DT5KUHcNPkpQdw0+SlB3DT5KUHcNPkpQdw0+SlB3DT5KUHcNPkpQd\nw0+SlB3DT5KUHcNPkpQdw0+SlB3DT5KUHcNPkpQdw0+SlB3DT5KUHcNPkpQdw0+SlB3DT5KUHcNP\nkpQdw0+SlB3DT5KUHcNPkpQdw0+SlB3DT5KUHcNPkpQdw0+SlB3DT5KUHcNPkpQdw0+SlB3DT5KU\nHcNPkpQdw0+SlB3DT5KUHcNPkpQdw0+SlJ0u1XiTlNJk4ERgeUQMLsp6AHcD/YBFwOkRsbp4bSxw\nHrAWuDgiZhTlQ4EfAzsAD0XEl4vybsAU4BDgFeCMiFhcvHYOcClQD0yKiClVaLIkqQ2rVs/vVuC4\nDcq+DjwaEQl4DBgLkFL6CHA6sD/wKeCmlFJdsc/NwPkRsS+wb0qp4ZjnAysjYhBwPXB1cawewH8A\nw4B/BMallHatTBMlSe1FVcIvImYBqzYoHgXcVjy+DTi5eHwScFdErI2IRcACYHhKaS9g54iYU2w3\npWyf8mNNBY4uHh8HzIiI1RHxKjADOL7VGiZJapdqec5vz4hYDhARy4A9i/LewItl2y0pynoDL5WV\nv1SUNdknItYBq1NKu23mWJKkjLWlCS/1rXisui1vIknKVVUmvGzC8pRSr4hYXgxpvlyULwE+XLZd\nn6JsU+Xl+yxNKXUGdomIlSmlJcCRG+zzyy1VLKU0Hhi31S2SpHbA77jqhl8dTXtkDwDnAlcB5wD3\nl5XfmVK6jtIQ5UBgdkTUp5RWp5SGA3OAs4HvlO1zDvAUcBqlCTQAjwCTikkunYBjKU202ayIGA+M\nLy9LKfUHFra0sZLUVvkdV71LHX5CqQfWM6W0mNJvHFcC96aUzgP+SmmGJxExP6V0DzAfWANcGBEN\nQ6JfpOmlDg8X5ZOB21NKC4AVwOjiWKtSShOBpykNq04oJr5IkjJWV1/fmqfaOq6G34pmzpxJnz59\nal0dSdoaW5wH0UG/4zbZ7rY04UWSpKow/CRJ2TH8JEnZMfwkSdkx/CRJ2TH8JEnZMfwkSdkx/CRJ\n2TH8JEnZMfwkSdkx/CRJ2TH8JEnZMfwkSdkx/CRJ2TH8JEnZMfwkSdkx/CRJ2TH8JEnZ6dKSjVJK\nOwJ9yrePiPmVqpQkSZW0xfBLKX0JmASsBNYXxfXA3hWslyRJFdOSnt+XgRQRSytdGUmSqqEl5/xe\nMvgkSR1JS3p+41JKtwAPAX9vKIyIhypWK0mSKqgl4Tey+LMvsK4oq6cUhpIktTstCb9TgP4R8Xal\n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\nsf5OfJG0zRz2zMijcxa3KPgaNPQKGxw++IN8/uQDOeygD/LonMVVGX48ZlhfPrj7jk3KGi7Ml6Rt\nlU3PL6V0PHA9pcCfHBFX1bhKVffOO9sXVvvv3ZP/mfe3ql560K1rZ0Yevjc/+PkfK/Yekt7zpwUL\nWbm6+YUw2rr16+s5YL+96dq16xa3zSL8UkqdgBuBEcBSYE5K6f6I+FNta1Zdv/rDi9u87149d+S5\nhStqcunBcR/rz6/LQtcFsqXKWf56V9bu0K3W1dgmb77xGv0//CYf+MAHtrhtFuEHDAcWRMRfAVJK\ndwGjgKzCLxa/ts37Ll/xFstWbPzbYMOlB+UrsRwxpDdPzl0CbN1F9JtazWVz1wZWegWY9rjCTHus\nc0fm59E25RJ+vYHybs9LlAJRLVS/ifJZv1/KUYd8mEk/nt3YM7tt+vzGWyO1dGh0S6u5NHdtYKVX\ngGmPK8y0xzp3ZH4ebZcTXrRd5i9cyc0//X2T4dAt3ROwOS25T2Br7LM1Kn38SmiPde7I/Dzarlx6\nfkuA8pNEfYqyZqWUxgPjKlwnSaqJzX3H7bXLGvbc9d3qVqiV1O/Snfe///0t2jaX8JsDDEwp9QP+\nBowGztzUxhExHhhfXpZS6g8srFgN25H3de/M28XM0QP36cm/fOZgVr7+TuNvuDvu0KWx99fSySlb\ns+D19uyzNSp9/Epoj3XuyNrq57G577g0cAB9+vSpQa2qq66+flNnczqW4lKHG3jvUocrt3L//sDC\nmTNntut/GCP/3/2bfb1LZ+jSqQ7qoK6uE+vWrmM9dey6UzeO/1h/dtm5e7MTWio54aW199ka7XGy\nQnusc0fWRj6Pui1t0FG+4zawyXZnE37bq4P+w5CUB8NvA054kSRlx/CTJGXH8JMkZcfwkyRlx/CT\nJGXH8JMkZcfwkyRlx/CTJGXH8JMkZcfwkyRlx/CTJGXH8JMkZcfwkyRlx/CTJGXH8JMkZcfwkyRl\nx/CTJGXH8JMkZcfwkyRlx/CTJGXH8JMkZcfwkyRlx/CTJGXH8JMkZcfwkyRlx/CTJGXH8JMkZcfw\nkyRlx/CTJGXH8JMkZcfwkyRlx/CTJGXH8JMkZcfwkyRlx/CTJGXH8JMkZcfwkyRlx/CTJGXH8JMk\nZcfwkyRlx/CTJGXH8JMkZcfwkyRlx/CTJGXH8JMkZcfwkyRlx/CTJGXH8JMkZcfwkyRlx/CTJGXH\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "sns.jointplot(s10_kallisto['tpm'], s13_kallisto['tpm'])" ] @@ -432,7 +947,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 168, "metadata": { "collapsed": false, "deletable": false, @@ -444,7 +959,106 @@ "solution": false } }, - "outputs": [], + "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", + "
lengtheff_lengthest_countstpmlog2_tpm1000
target_id
ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMUSG00000026353.2|OTTMUST00000065166.1|Xkr4-001|Xkr4|3634|UTR5:1-150|CDS:151-2094|UTR3:2095-3634|36343389.580013.287712
ENSMUST00000194992.5|ENSMUSG00000025900.10|OTTMUSG00000049985.2|OTTMUST00000127194.1|Rp1-002|Rp1|3047|UTR5:1-54|CDS:55-912|UTR3:913-3047|30472802.580013.287712
ENSMUST00000027032.5|ENSMUSG00000025900.10|OTTMUSG00000049985.2|OTTMUST00000127195.2|Rp1-001|Rp1|6869|UTR5:1-127|CDS:128-6415|UTR3:6416-6869|68696624.580013.287712
ENSMUST00000027035.9|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127245.2|Sox17-001|Sox17|3127|UTR5:1-1082|CDS:1083-2342|UTR3:2343-3127|31272882.580013.287712
ENSMUST00000195555.1|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127249.1|Sox17-005|Sox17|1977|UTR5:1-635|CDS:636-1511|UTR3:1512-1977|19771732.580013.287712
\n", + "
" + ], + "text/plain": [ + " length eff_length \\\n", + "target_id \n", + "ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMU... 3634 3389.58 \n", + "ENSMUST00000194992.5|ENSMUSG00000025900.10|OTTM... 3047 2802.58 \n", + "ENSMUST00000027032.5|ENSMUSG00000025900.10|OTTM... 6869 6624.58 \n", + "ENSMUST00000027035.9|ENSMUSG00000025902.13|OTTM... 3127 2882.58 \n", + "ENSMUST00000195555.1|ENSMUSG00000025902.13|OTTM... 1977 1732.58 \n", + "\n", + " est_counts tpm \\\n", + "target_id \n", + "ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMU... 0 0 \n", + "ENSMUST00000194992.5|ENSMUSG00000025900.10|OTTM... 0 0 \n", + "ENSMUST00000027032.5|ENSMUSG00000025900.10|OTTM... 0 0 \n", + "ENSMUST00000027035.9|ENSMUSG00000025902.13|OTTM... 0 0 \n", + "ENSMUST00000195555.1|ENSMUSG00000025902.13|OTTM... 0 0 \n", + "\n", + " log2_tpm1000 \n", + "target_id \n", + "ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMU... 13.287712 \n", + "ENSMUST00000194992.5|ENSMUSG00000025900.10|OTTM... 13.287712 \n", + "ENSMUST00000027032.5|ENSMUSG00000025900.10|OTTM... 13.287712 \n", + "ENSMUST00000027035.9|ENSMUSG00000025902.13|OTTM... 13.287712 \n", + "ENSMUST00000195555.1|ENSMUSG00000025902.13|OTTM... 13.287712 " + ] + }, + "execution_count": 168, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "s10_kallisto['log2_tpm1000'] = np.log2(s10_kallisto['tpm']+10000)\n", "s10_kallisto.head()" @@ -468,7 +1082,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 169, "metadata": { "collapsed": false, "deletable": false, @@ -481,16 +1095,116 @@ }, "scrolled": true }, - "outputs": [], + "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", + "
lengtheff_lengthest_countstpmlog2_tpm
target_id
ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMUSG00000026353.2|OTTMUST00000065166.1|Xkr4-001|Xkr4|3634|UTR5:1-150|CDS:151-2094|UTR3:2095-3634|36343395.2420.039670.056126
ENSMUST00000194992.5|ENSMUSG00000025900.10|OTTMUSG00000049985.2|OTTMUST00000127194.1|Rp1-002|Rp1|3047|UTR5:1-54|CDS:55-912|UTR3:913-3047|30472808.2400.000000.000000
ENSMUST00000027032.5|ENSMUSG00000025900.10|OTTMUSG00000049985.2|OTTMUST00000127195.2|Rp1-001|Rp1|6869|UTR5:1-127|CDS:128-6415|UTR3:6416-6869|68696630.2400.000000.000000
ENSMUST00000027035.9|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127245.2|Sox17-001|Sox17|3127|UTR5:1-1082|CDS:1083-2342|UTR3:2343-3127|31272888.2400.000000.000000
ENSMUST00000195555.1|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127249.1|Sox17-005|Sox17|1977|UTR5:1-635|CDS:636-1511|UTR3:1512-1977|19771738.2400.000000.000000
\n", + "
" + ], + "text/plain": [ + " length eff_length \\\n", + "target_id \n", + "ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMU... 3634 3395.24 \n", + "ENSMUST00000194992.5|ENSMUSG00000025900.10|OTTM... 3047 2808.24 \n", + "ENSMUST00000027032.5|ENSMUSG00000025900.10|OTTM... 6869 6630.24 \n", + "ENSMUST00000027035.9|ENSMUSG00000025902.13|OTTM... 3127 2888.24 \n", + "ENSMUST00000195555.1|ENSMUSG00000025902.13|OTTM... 1977 1738.24 \n", + "\n", + " est_counts tpm \\\n", + "target_id \n", + "ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMU... 2 0.03967 \n", + "ENSMUST00000194992.5|ENSMUSG00000025900.10|OTTM... 0 0.00000 \n", + "ENSMUST00000027032.5|ENSMUSG00000025900.10|OTTM... 0 0.00000 \n", + "ENSMUST00000027035.9|ENSMUSG00000025902.13|OTTM... 0 0.00000 \n", + "ENSMUST00000195555.1|ENSMUSG00000025902.13|OTTM... 0 0.00000 \n", + "\n", + " log2_tpm \n", + "target_id \n", + "ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMU... 0.056126 \n", + "ENSMUST00000194992.5|ENSMUSG00000025900.10|OTTM... 0.000000 \n", + "ENSMUST00000027032.5|ENSMUSG00000025900.10|OTTM... 0.000000 \n", + "ENSMUST00000027035.9|ENSMUSG00000025902.13|OTTM... 0.000000 \n", + "ENSMUST00000195555.1|ENSMUSG00000025902.13|OTTM... 0.000000 " + ] + }, + "execution_count": 169, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# YOUR CODE HERE\n", - "\n", - "s13_kallisto.head()" + "s13_kallisto['log2_tpm'] = np.log2(s13_kallisto['tpm']+1)\n", + "s10_kallisto['log2_tpm'] = np.log2(s10_kallisto['tpm']+1)\n", + "s13_kallisto.head()\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 172, "metadata": { "collapsed": false, "deletable": false, @@ -505,7 +1219,6 @@ "outputs": [], "source": [ "gene_id = 'ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMUSG00000026353.2|OTTMUST00000065166.1|Xkr4-001|Xkr4|3634|UTR5:1-150|CDS:151-2094|UTR3:2095-3634|'\n", - "\n", "assert s13_kallisto.loc[gene_id, 'log2_tpm'] == 0.056126371311968043" ] }, @@ -529,7 +1242,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 173, "metadata": { "collapsed": false, "deletable": false, @@ -541,14 +1254,55 @@ "solution": true } }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ucsd-train20/anaconda3/lib/python3.5/site-packages/matplotlib/__init__.py:892: UserWarning: axes.color_cycle is deprecated and replaced with axes.prop_cycle; please use the latter.\n", + " warnings.warn(self.msg_depr % (key, alt_key))\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 173, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAb8AAAGoCAYAAADWwOtRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xu0lVW9//H35mqaGqJiQVwUnJqKhAdOmj9T0TQT0ZMX\n/DlSU+twzJPVr+OJrAOEeB3HSzm0i2SidrxQpohDSUw91Ekwo0jsGymEQuAREK8pl/37Yz17uzZs\nYAN7rbX3nu/XGAzWmut5njXnXrA+e85nPvOpq6+vR5KknHSqdQUkSao2w0+SlB3DT5KUHcNPkpQd\nw0+SlB3DT5KUnS61rkA743UhktqjulpXoK2x5ydJyo7hJ0nKjsOeGfrzgoU899dXmpSlvrux3777\n1KhGklRdhl+G3lmzhu477dGk7N0179SoNpJUfQ57SpKyY/hJkrJj+EmSsmP4SZKyY/hJkrJj+EmS\nsmP4SZKyY/hJkrJj+EmSsmP4SZKyY/hJkrJj+EmSsmP4SZKyY/hJkrJj+EmSsmP4SZKyY/hJkrJj\n+EmSsmP4SZKyY/hJkrJj+EmSsmP4SZKyY/hJkrJj+EmSsmP4SZKyY/hJkrJj+EmSsmP4SZKyY/hJ\nkrJj+EmSsmP4SZKyY/hJkrJj+EmSsmP4SZKyY/hJkrJj+EmSsmP4SZKyY/hJkrJj+EmSsmP4SZKy\nY/hJkrJj+EmSsmP4SZKyY/hJkrJj+EmSsmP4SZKyY/hJkrLTpdYVaC9SSl1mzpxZ62q0ipdfXs6K\n17o2KXvnlVV07bS+RjWSOr6dd965Zu89YsSI/sBLEbG2ZpVoYwy/luszYsSIWtdBkrbFQmAAsKjG\n9WgzDL+We6n4e0BNa9F6Gv4ztHcdpR3QcdpiO9qehbz3HSagrr6+vtZ1aDdSSvURUVfrerSGjtKW\njtIO6DhtsR1tT0dqS2txwoskKTuGnyQpO4afJCk7VZnwklLqA0wBegHrgR9GxHdSSj2Au4F+lGYh\nnR4Rq4t9xgLnAWuBiyNiRlE+FPgxsAPwUER8uSjvVrzHIcArwBkRsbh47RzgUqAemBQRU7axKRO2\ncb+2qKO0paO0AzpOW2xH29OR2tIqqjLhJaW0F7BXRMxNKb0f+C0wCvgcsCIirk4p/TvQIyK+nlL6\nCHAnMAzoAzwKDIqI+pTSU8BFETEnpfQQcENEPJJS+hfgoIi4MKV0BnBKRIwuAvZpYChQV7z30IaQ\n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\n3tdsXRt6fhvq16/fRj2/Xr16sXTp0sbny5cvbwzblnjmmWd47LHHeOKJJ3jnnXd48803ueSSS7j6\n6qs3u9+GvdINn0Op57dw4cKNttvent+NN97IqlWrmDhxYpPy7373u/Tv379J2dixY3nuuefo1asX\n3//+9wH42c9+xhNPPMGUKVMat9trr70YNmxY43DnEUccwfz58w2/CjD8pApaunQpv//97zn44IN5\n8MEHOeSQQxgwYACrVq1i7ty5DBkyhLVr17Jo0SIGDhzIW2+9xe67786aNWuYNm0avXr1ava4L774\nIoMGDWLQoEHMmzePhQsX8g//8A/cfffdnHzyybz66qs8/fTT/Pu//3uzE09aYmt6fgcddBCLFy9m\nyZIl7LHHHkyfPp1rr712s/uUh/NXv/pVvvrVrwIwe/ZsfvSjHzUG35133gnQOPxb7le/+hWvvfYa\n3bp149FHH+WKK67YaJtt7fltbt3je++9l1mzZjUJLihNZLn99tv51re+BcBzzz3H/vvvv1G9nnzy\nSSZPnswdd9xBt27dmux/yy238M4779C5c2fmzJnDueee2+J6qeUMP6mCBgwYwJ133snYsWMZOHAg\nZ555Jl27duWGG27gsssu4/XXX2f9+vWcffbZDBw4kC996Uucdtpp9OzZk8GDB/Pmm282e9zbbruN\np556ik6dOjFw4ECOOOIIunbtyty5cxk1ahR1dXVccskl9OzZc6PwK+8dNddT2hadO3fmW9/6VuNQ\n7qmnnto42aV8wsorr7zCZz7zGd588006derElClTmD59OjvttNMmj/3CCy9wyCGHNPva4MGDueii\ni1i+fDmjRo3aaMhza22ufl/4wheYNGkSe+yxB+PHj6d3796cfvrp1NXVceyxx3LhhRdy4YUXMmnS\npMZfGnr37t04k7PcZZddxpo1azjvvPMAOPjggxk/fjy77LILn/vc5/jMZz5DXV0dn/jEJ/jEJz4B\nwDXXXMODDz7IO++8w5FHHsmpp5663RN8cuZdHVqog654rgpasmQJY8aMYdq0abWuSrs2ZswYbrzx\nRrp0afq7+n333cezzz7bONlEm+VdHTZgz09Sm9Zcz0naXoafVCG9e/e211dBp5xyCqecckqtq6F2\nyhVeJEnZseenrfbumnU8OmcxAMcM60u3rp1rXCNJ2jqGn7bKu2vWMe6H/8Mfn18BwH/PXcKEzx9q\nAEpqVxz21FZ5dM7ixuAD+OPzKxp7gZLUXhh+kqTsGH7aKscM68uB+/RsfH7gPj05ZljfGtZIkrae\n5/y0Vbp17cyEzx/qhBdJ7Zrhp63WrWtnTjhsQK2rIUnbzGFPSVJ2DD9JUnYMP0lSdgw/SVJ2DD9J\nUnYMP0lSdgw/SVJ2DD9JUnYMP0lSdgw/SVJ2DD9JUnYMP0lSdgw/SVJ2DD9JUnYMP0lSdgw/SVJ2\nDD9JUnYMP0lSdgw/SVJ2DD9JUnYMP0lSdgw/SVJ2DD9JUnYMP0lSdgw/SVJ2DD9JUnYMP0lSdgw/\nSVJ2DD9JUna6VONNUkqTgROB5RExuCgbB3weeLnY7BsR8XDx2ljgPGAtcHFEzCjKhwI/BnYAHoqI\nLxfl3YApwCHAK8AZEbG4eO0c4FKgHpgUEVMq3mBJUptWrZ7frcBxzZRfGxFDiz8Nwbc/cDqwP/Ap\n4KaUUl2x/c3A+RGxL7BvSqnhmOcDKyNiEHA9cHVxrB7AfwDDgH8ExqWUdq1ICyVJ7UZVwi8iZgGr\nmnmprpmyUcBdEbE2IhYBC4DhKaW9gJ0jYk6x3RTg5LJ9biseTwWOLh4fB8yIiNUR8SowAzh+e9sj\nSWrfan3O76KU0tyU0i1lPbLewItl2ywpynoDL5WVv1SUNdknItYBq1NKu23mWJKkjFXlnN8m3AR8\nOyLqU0qXAf8JXNBKx26uR9liKaXxwLjWqYoktS1+x9Uw/CLif8ue/hCYVjxeAny47LU+Rdmmysv3\nWZpS6gzsEhErU0pLgCM32OeXLajbeGB8eVlKqT+wcEv7SlJb53dcdYc96yjrkRXn8Br8E/DH4vED\nwOiUUreU0gBgIDA7IpZRGs4cXkyAORu4v2yfc4rHpwGPFY8fAY5NKe1aTH45tiiTJGWsWpc6/IRS\nD6xnSmkxpe72USmlIcB6YBHwzwARMT+ldA8wH1gDXBgR9cWhvkjTSx0eLsonA7enlBYAK4DRxbFW\npZQmAk9TutRhQjHxRZKUsbr6+votb6XGIYGZM2fSp0+fWldHkrbGFudBdNDvuE22u9azPSVJqjrD\nT5KUHcNPkpQdw0+SlB3DT5KUHcNPkpQdw0+SlB3DT5KUHcNPkpQdw0+SlB3DT5KUHcNPkpQdw0+S\nlB3DT5KUHcNPkpQdw0+SlB3DT5KUHcNPkpQdw0+SlB3DT5KUHcNPkpQdw0+SlB3DT5KUHcNPkpQd\nw0+SlB3DT5KUHcNPkpQdw0+SlB3DT5KUHcNPkpQdw0+SlB3DT5KUHcNPkpQdw0+SlB3DT5KUHcNP\nkpQdw0+SlB3DT5KUHcNPkpQdw0+SlB3DT5KUHcNPkpQdw0+SlB3DT5KUHcNPkpQdw0+SlB3DT5KU\nHcNPkpQdw0+SlB3DT5KUHcNPkpQdw0+SlJ0u1XiTlNJk4ERgeUQMLsp6AHcD/YBFwOkRsbp4bSxw\nHrAWuDgiZhTlQ4EfAzsAD0XEl4vybsAU4BDgFeCMiFhcvHYOcClQD0yKiClVaLIkqQ2rVs/vVuC4\nDcq+DjwaEQl4DBgLkFL6CHA6sD/wKeCmlFJdsc/NwPkRsS+wb0qp4ZjnAysjYhBwPXB1cawewH8A\nw4B/BMallHatTBMlSe1FVcIvImYBqzYoHgXcVjy+DTi5eHwScFdErI2IRcACYHhKaS9g54iYU2w3\npWyf8mNNBY4uHh8HzIiI1RHxKjADOL7VGiZJapdqec5vz4hYDhARy4A9i/LewItl2y0pynoDL5WV\nv1SUNdknItYBq1NKu23mWJKkjLWlCS/1rXisui1vIknKVVUmvGzC8pRSr4hYXgxpvlyULwE+XLZd\nn6JsU+Xl+yxNKXUGdomIlSmlJcCRG+zzyy1VLKU0Hhi31S2SpHbA77jqhl8dTXtkDwDnAlcB5wD3\nl5XfmVK6jtIQ5UBgdkTUp5RWp5SGA3OAs4HvlO1zDvAUcBqlCTQAjwCTikkunYBjKU202ayIGA+M\nLy9LKfUHFra0sZLUVvkdV71LHX5CqQfWM6W0mNJvHFcC96aUzgP+SmmGJxExP6V0DzAfWANcGBEN\nQ6JfpOmlDg8X5ZOB21NKC4AVwOjiWKtSShOBpykNq04oJr5IkjJWV1/fmqfaOq6G34pmzpxJnz59\nal0dSdoaW5wH0UG/4zbZ7rY04UWSpKow/CRJ2TH8JEnZMfwkSdkx/CRJ2TH8JEnZMfwkSdkx/CRJ\n2TH8JEnZMfwkSdkx/CRJ2TH8JEnZMfwkSdkx/CRJ2TH8JEnZMfwkSdkx/CRJ2TH8JEnZ6dKSjVJK\nOwJ9yrePiPmVqpQkSZW0xfBLKX0JmASsBNYXxfXA3hWslyRJFdOSnt+XgRQRSytdGUmSqqEl5/xe\nMvgkSR1JS3p+41JKtwAPAX9vKIyIhypWK0mSKqgl4Tey+LMvsK4oq6cUhpIktTstCb9TgP4R8Xal\n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\nsf5OfJG0zRz2zMijcxa3KPgaNPQKGxw++IN8/uQDOeygD/LonMVVGX48ZlhfPrj7jk3KGi7Ml6Rt\nlU3PL6V0PHA9pcCfHBFX1bhKVffOO9sXVvvv3ZP/mfe3ql560K1rZ0Yevjc/+PkfK/Yekt7zpwUL\nWbm6+YUw2rr16+s5YL+96dq16xa3zSL8UkqdgBuBEcBSYE5K6f6I+FNta1Zdv/rDi9u87149d+S5\nhStqcunBcR/rz6/LQtcFsqXKWf56V9bu0K3W1dgmb77xGv0//CYf+MAHtrhtFuEHDAcWRMRfAVJK\ndwGjgKzCLxa/ts37Ll/xFstWbPzbYMOlB+UrsRwxpDdPzl0CbN1F9JtazWVz1wZWegWY9rjCTHus\nc0fm59E25RJ+vYHybs9LlAJRLVS/ifJZv1/KUYd8mEk/nt3YM7tt+vzGWyO1dGh0S6u5NHdtYKVX\ngGmPK8y0xzp3ZH4ebZcTXrRd5i9cyc0//X2T4dAt3ROwOS25T2Br7LM1Kn38SmiPde7I/Dzarlx6\nfkuA8pNEfYqyZqWUxgPjKlwnSaqJzX3H7bXLGvbc9d3qVqiV1O/Snfe///0t2jaX8JsDDEwp9QP+\nBowGztzUxhExHhhfXpZS6g8srFgN25H3de/M28XM0QP36cm/fOZgVr7+TuNvuDvu0KWx99fSySlb\ns+D19uyzNSp9/Epoj3XuyNrq57G577g0cAB9+vSpQa2qq66+flNnczqW4lKHG3jvUocrt3L//sDC\nmTNntut/GCP/3/2bfb1LZ+jSqQ7qoK6uE+vWrmM9dey6UzeO/1h/dtm5e7MTWio54aW199ka7XGy\nQnusc0fWRj6Pui1t0FG+4zawyXZnE37bq4P+w5CUB8NvA054kSRlx/CTJGXH8JMkZcfwkyRlx/CT\nJGXH8JMkZcfwkyRlx/CTJGXH8JMkZcfwkyRlx/CTJGXH8JMkZcfwkyRlx/CTJGXH8JMkZcfwkyRl\nx/CTJGXH8JMkZcfwkyRlx/CTJGXH8JMkZcfwkyRlx/CTJGXH8JMkZcfwkyRlx/CTJGXH8JMkZcfw\nkyRlx/CTJGXH8JMkZcfwkyRlx/CTJGXH8JMkZcfwkyRlx/CTJGXH8JMkZcfwkyRlx/CTJGXH8JMk\nZcfwkyRlx/CTJGXH8JMkZcfwkyRlx/CTJGXH8JMkZcfwkyRlx/CTJGXH8JMkZcfwkyRlx/CTJGXH\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaYAAAGpCAYAAADGJ5LWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xt81NWZP/DPZCYTMoFALkgCGBICPUgCpCDIJYZyUSiC\n4GK72m5df7Z46bplddtaa1u01lbbLVtWu6xarZfaxbasWJSiopWIIYJgAgQ4Sky45AZJgITcM8nv\nj5n5MpfvXDOX78x83q+Xr5LJXM4kzfeZc85znkc3ODgIIiIirUiI9ACIiIjsMTAREZGmMDAREZGm\nMDAREZGmMDAREZGmMDAREZGmGCI9gCBj7jsRRRtdpAegNbEWmOKK/KwGPb19ytdXjhuDtFEjIzgi\nIqKhY2CKYp+ebEFiSqby9eBgIwMTEUU97jEREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAR\nEZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGm\nMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAR\nEZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGm\nMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAR\nEZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmGCI9AAqOwcFBtLe34+LFi8ptqamp0Ol0ERwVEZH/\nYiYwCSEM7777bqSHEVatLedg6OwHAHR1XsJnn32Gg0frAAA9Pd1YeHUeRowYEckhEkVENP3/fsmS\nJbkAzkgp+yM9Fq3QDQ4ORnoMQSGEyAVQE+lxEBEFIE9KWRvpQWhFzMyYAJyx/m9eREcRXjWIr/cL\nxN97jrf3C8Tfe67B5esXIYZmTAAghBiUUsbNpkq8vV8g/t5zvL1fIP7ec7y9X18wK4+IiDSFgYmI\niDSFgYmIiDQlbMkPQojxAF4CMAbAAIBnpZT/JYRIA/AqgAkAagF8VUp50e0TefZIMMYaReLt/QLx\n957j7f0C8fee4+39ehW25AchRBaALCllhRBiOIADAFYD+H8AWqSUvxRCPAAgTUr5g7AMioiINCds\n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\nSFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMY\nmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiI\nSFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMY\nmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMMkXxxIcQGAOsAnLXe9EMp\n5c4IDomIiCIsooHJaqOUcmOkB0FERNqghaU8XaQHQERE2qGFGdO9QohvAPgYwL9LKS9GekBERBQ5\nIQ9MQoh3AIyxu0kHYBDAQwD+G8BPpZSDQoifAdgI4JsBvpQeABobG4cwWiKi8FqyZEkugDNSyv5I\nj0UrdIODg5EeAwBACDEBwHYp5XQf7vswgA0hHxQRUXjkSSlrAa/XN+V+sSyigUkIkSWlbLT++z4A\ns6WUXwvwuZIAdAOYBMAcvFFqWg2AvEgPIszi7T3H2/sF4u891wBI9DRjEkIYAIxHnMysIh2YXgJQ\nBGAAQC2Au6SUTUN4vkEpZdwkU8Tb+wXi7z3H2/sF4u89x9v79UVEkx+klLdF8vWJiEh7tJAuTkRE\npGBgIiIiTYm1wPRIpAcQZvH2foH4e8/x9n6B+HvP8fZ+vdJMujgREREQezMmIiKKcgxMRESkKQxM\nRESkKQxMRESkKQxMRESkKVpoexFU8dIVVwixHMBvYPlw8ZyU8okIDymkhBC1AC7CUr6qT0o5J6ID\nCgEhxHMAVgJoshUzFkKkAXgVwARYynZ9NVZaw7h5vzH79yuEGA/gJVi6LQwAeFZK+V+x/DsOVKzO\nmDZKKWda/4uJ/1PbE0IkAHgKwDIABQBuFUJMieyoQm4AwJeklF+MxaBk9XtYfqf2fgBgl5RSAHgP\nwINhH1XoqL1fIHb/fvsB3C+lLAAwD8C/WP9uY/l3HJBYDUyxXhBxDoDPpJQnpZR9ALYAWB3hMYWa\nDrH7/1cAgJRyD4DzTjevBvCi9d8vAlgT1kGFkJv3C8To36+UslFKWWH99yUAx2CpGB6zv+NAxeof\n+r1CiAohxO+EECMjPZgQGAfgtN3XZ6y3xbJBAO8IIfYLIdZFejBhdIWt4r61RcwVER5POMT63y+E\nELmwdFYoBzAmDn/HHkVlYBJCvCOEOGT332Hr/66CpSvuRCllEYBGWLriUvRbIKWcCWAFLEsgxZEe\nUITEeqmWmP/7FUIMB/AXAOutMyfn32ms/469isrkBynldT7e9VkA20M5lgipA5Bj9/V4620xS0rZ\nYP3fc0KI12BZztwT2VGFRZMQYoyUskkIkYXLSQExSUp5zu7LmPv7tTb8+wuAl6WUr1tvjqvfsS+i\ncsbkifUXa/MPAI5EaiwhtB/AJCHEBCGEEcAtAP4a4TGFjBDCZP2UCSFECoDrEZu/V8Cyv2K/x/JX\nALdb//3PAF53fkCUc3i/cfD3+zyAo1LKTXa3xfrv2G8xV8Q12F1xtcqaLr4Jl9PFH4/wkEJGCJEH\n4DVYljgMAF6JxfcrhPgjgC8ByADQBGADgG0A/gzgSgAnYUklvhCpMQaTm/e7CDH69yuEWACgFMBh\nWP6/PAjghwD2AfgTYvB3HKiYC0xERBTdYm4pj4iIohsDExERaQoDExERaQoDExERaQoDExERaQoD\nExERaQoDExERaUpUliQisieEGAAwXErZGeDjJwN4GkAWLK0J9gP4tpSyx8NjVgOok1J+HMhrEpF7\nnDFRLBjqKfFeAPdJKadaG9alAPiul8esAXDNEF+XiFRwxkSxwL7W2mxYSjWZAHTAUsH5Y+v37gXw\nHVh6AP0NwL9IKUdLKU/CUgrGZh8At40XhRDXA7gRwBIhxDdhqYB92vq6lQBmAbgE4HYp5XEhxELr\n9/YBmAtLILwNlhI8hQBOAfgHKWXXEH8ORDGBMyaKGUKIRFgqN//Q2jbhJwC2CiEMQojpAB4AMFdK\neQ2AUVCZaQkhkgHcAQ+FNKWUb8NSePNxa5fVP1i/NQ2WdtmFsLRveNnuYVcBeNI6IysHsBPAv1m7\nmQ4AuHUIb50opjAwUSywBRgBoEdK+T4ASCnfBdBjvX0hgB1SylbrfZ93fhIhhB7A/8LS5vrNAMZx\nwtqVFbAEpWm2quiW4cjD1n8fBFBha+UB4ACASQG8HlFMYmCiWOeuTbfD7UKIBACvAGiRUv5bkF7b\nfkbWbfdvs8rXXFYnsmJgolhgCzISgNG6pwMhxGJYLvgSwO7/394d4jQQBmEYfmtQOI5Q8Ukcd6hu\nMJBUNTjOgCUgQSAh3AMHEgGYERyCWkiK6N80AUogacKGvo9asbP/um9nM8kAgyRb7d7RvDhJD7hi\nNpE3/uGZE+Dj2u9+W20AsA88tg2lkn7BrzT9B1OAqnpNMgTOksyHH4ZV9QY8JDkB7pJMgBvgpdUP\ngD1mS+nuk0yB26o6/ObMa+AyyS6L4YcnYJzkop09+qZe0hLuY9LaSLI572CSHAH9qlpJeLQu7bSq\ndlbxPGmd2TFpnRy3X20bwDNw8MfvI+kLdkzSEkm2gUsWQwy9dn1eVZ+m+iSthsEkSeoUp/IkSZ1i\nMEmSOsVgkiR1isEkSeoUg0mS1Cnv0+fK7zGLjMkAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "# YOUR CODE HERE" + "# YOUR CODE HER\n", + "sns.jointplot(s10_kallisto['tpm'], s13_kallisto['tpm'])\n", + "sns.jointplot(s10_kallisto['log2_tpm'], s13_kallisto['log2_tpm'])" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 174, "metadata": { "collapsed": true, "deletable": false, @@ -584,7 +1338,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 175, "metadata": { "collapsed": false, "deletable": false, @@ -596,11 +1350,42 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ucsd-train20/anaconda3/lib/python3.5/site-packages/matplotlib/__init__.py:892: UserWarning: axes.color_cycle is deprecated and replaced with axes.prop_cycle; please use the latter.\n", + " warnings.warn(self.msg_depr % (key, alt_key))\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 175, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaYAAAGpCAYAAADGJ5LWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8lOW5N/DfLJmQBAJZMAtbQqg3kgARBVliUEQFBPUt\n/fiqPfVw9KW+Wluspy1VawV9bdWj9FDxcNSjtVpba0vFooi7RJYIimHnVmLCkg2SANm3Sd4/ZuZh\nlmfWzPLMzO/7+fgpmcxyT9I819z3fd3XpRsYGAAREZFW6CM9ACIiInsMTEREpCkMTEREpCkMTERE\npCkMTEREpCkMTEREpCnGSA8gyJj7TkTRRhfpAWhNrAWmuCK/qUJ3T6/y9ZhRWUgbMTyCIyIiGjwG\npij29bEmJKRkKl8PDNQzMBFR1OMeExERaQoDExERaQoDExERaQoDExERaQoDExERaQoDExERaQoD\nExERaQoDExERaQoDExERaQoDExERaQoDExERaQoDExERaQoDExERaQoDExERaQoDExERaQoDExER\naQoDExERaQoDExERaQoDExERaQoDExERaQoDExERaQoDExERaQoDExERaQoDExERaQoDExERaQoD\nExERaQoDExERaQoDExERaQoDExERaQoDExERaQoDExERaQoDExERaQoDExERaQoDExERaQoDExER\naQoDExERaQoDExERaQoDExERaQoDExERaQoDExERaQoDExERaQoDExERaQoDExERaQoDExERaQoD\nExERaQoDExERaQoDExERaQoDExERaYox0gOg4BgYGEBrayvOnTun3JaamgqdThfBURER+S9mApMQ\nwvjRRx9Fehhh1dx0GsaOPgBAZ0cbvvnmG+w5VAMA6O7uwtxL8zFs2LBIDpEoIqLp//dXXXVVHoCT\nUsq+SI9FK3QDAwORHkNQCCHyAFRFehxERAHIl1JWR3oQWhEzMyYAJ63/mx/RUYRXFeLr/QLx957j\n7f0C8feeq3D++kWIoRkTAAghBqSUcbOpEm/vF4i/9xxv7xeIv/ccb+/XF8zKIyIiTWFgIiIiTWFg\nIiIiTQlb8oMQYjSAVwBkAegH8IKU8vdCiDQAfwUwDkA1gJuklOfcPpFnq4Mx1igSb+8XiL/3HG/v\nF4i/9xxv79ersCU/CCGyAWRLKSuEEEMBfAngBgD/BqBJSvmkEGIlgDQp5S/DMigiItKcsC3lSSnr\n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\nyy23oLCwEN/97nfxwAMPYMmSJUhISMATTzwBADh9+rSSEOEsKSkJ+/fvx/r165GRkYHf/e53gxqr\nwWDAQw89hNtvvx0DAwP43ve+x8SHQdDZ1qijna1fyUcffeSwDk4UzebNm4d//OMfGDFiRKSHEnVe\ne+015Obm4sorr3T53sUXX4yvvvoqAqNS5TWfPkavb5ppFEhEfgj0DBAB3//+991+jz9XbWNgItKw\nGGulrRl79uyJ9BDIA5YkIiIiTWFgIiIiTWFgIiIiTWFgIiIiTWFgIiIiTWFgIiIiTWFgIiIiTWFg\nIiIiTeEBWyJyq6fXjA93HwcAzJ8+FqaE8HS+pfjGwEREqnp6zXj4hZ04UNkEAPisogarl89icKKQ\n41IeEan6cPdxJSgBwIHKJmX2RBRKDExERKQpDExEpGr+9LEoKshQvi4qyMD86WMjOCKKF9xjIiJV\npgQDVi+fxeQHCjsGJiJyy5RgwKLZ+ZEeBsUZLuUREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGm\nMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAR\nEZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmMDAREZGmGMP1QkKIFwEsBtAg\npZxive1hAMsBnLLe7QEp5ZZwjYnCo6fXjA93HwcAzJ8+FqYEQ4RHRERaFrbABOAPAJ4B8IrT7Wuk\nlGvCOA4Ko55eMx5+YScOVDYBAD6rqMHq5bMYnIjIrbAt5UkptwE4o/ItXbjGQOH34e7jSlACgAOV\nTcrsiYhITThnTO7cI4T4AYAvAPy7lPJcpAdERESRE+nkh/8CMF5KWQygHgCX9GLM/OljUVSQoXxd\nVJCB+dPHRnBEFEo9vWZs3lGFzTuq0NNrjvRwKEpFdMYkpTxt9+ULADb58jghxCoAD4diTBRcpgQD\nVi+fxeSHOMD9xODg9S38gUkHuz0lIUS2lLLe+uV3ARzw5UmklKsArLK/TQiRB6AqGIOk4DIlGLBo\ndn6kh0Eh5m4/kb97//D6Ft508T8DuAJAhhDiOCyfCK4UQhQD6AdQDeDOcI2HiIi0KWyBSUp5q8rN\nfwjX6xNRaM2fPhafVdQosybuJ1KgtJCVR0QxwH4/sc/cDx0sy3vcVyR/MTARUdCYEgyYP30skyBo\n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\nSFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMY\nmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiI\nSFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMY\nmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiI\nSFMYmIiISFMYmIiISFMYmIiISFMYmIiISFMYmIiISFOMkXxxIcTDAJYDOGW96QEp5ZYIDomIiCIs\nooHJao2Uck2kB0FERNqghaU8XaQHQERE2qGFGdM9QogfAPgCwL9LKc9FekBERBQ5IQ9MQogPAGTZ\n3aQDMADgQQD/BeARKeWAEOL/AVgD4I4AX8oAAPX19YMYLRFReF111VV5AE5KKfsiPRat0A0MDER6\nDAAAIcQ4AJuklFN8uO8qAA+HfFBEROGRL6WsBrxe35T7xbKIBiYhRLaUst76758CmC6lvDXA50oE\n0AVgAgBz8EapaVUA8iM9iDCLt/ccb+8XiL/3XAUgwdOMSQhhBDAacTKzinRgegVAMYB+ANUA7pRS\nNgzi+QaklHGTTBFv7xeIv/ccb+8XiL/3HG/v1xcRTX6QUt4WydcnIiLt0UK6OBERkYKBiYiINCXW\nAtPqSA8gzOLt/QLx957j7f0C8fee4+39eqWZdHEiIiIg9mZMREQU5RiYiIhIUxiYiIhIUxiYiIhI\nUxiYiIhIU7TQ9iKo4qUrrhBiAYD/hOXDxYtSyiciPKSQEkJUAzgHS/mqXinljIgOKASEEC8CWAyg\nwVbMWAiRBuCvAMbBUrbrplhpDePm/cbs368QYjSAV2DpttAP4AUp5e9j+XccqFidMa2RUk6z/hcT\n/6e2J4TQA1gH4FoAhQBuEUJMjOyoQq4fwBVSyotjMShZ/QGW36m9XwL4UEopAHwM4P6wjyp01N4v\nELt/v30A7pNSFgKYBeBH1r/bWP4dByRWA1OsF0ScAeAbKeUxKWUvgNcB3BDhMYWaDrH7/1cAgJRy\nG4AzTjffAOCP1n//EcCNYR1UCLl5v0CM/v1KKeullBXWf7cBOAxLxfCY/R0HKlb/0O8RQlQIIf5H\nCDE80oMJgVEATth9fdJ6WywbAPCBEGK3EGJ5pAcTRhfYKu5bW8RcEOHxhEOs//1CCJEHS2eFcgBZ\ncfg79igqA5MQ4gMhxD67//Zb/3cJLF1xx0spiwHUw9IVl6LfHCnlNACLYFkCKYn0gCIk1ku1xPzf\nrxBiKIC/A1hhnTk5/05j/XfsVVQmP0gpr/bxri8A2BTKsURIDYCxdl+Ptt4Ws6SUddb/PS2EeBOW\n5cxtkR1VWDQIIbKklA1CiGycTwqISVLK03Zfxtzfr7Xh398BvCqlfMt6c1z9jn0RlTMmT6y/WJvv\nAjgQqbGE0G4AE4QQ44QQJgA3A/hnhMcUMkKIZOunTAghUgBcg9j8vQKW/RX7PZZ/Alhm/fe/AnjL\n+QFRzuH9xsHf70sADkkp19rdFuu/Y7/FXBHXYHfF1SpruvhanE8XfzzCQwoZIUQ+gDdhWeIwAngt\nFt+vEOLPAK4AkAGgAcDDADYC+BuAMQCOwZJKfDZSYwwmN+/3SsTo368QYg6AMgD7Yfn/8gCABwDs\nAvAGYvB3HKiYC0xERBTdYm4pj4iIohsDExERaQoDExERaQoDExERaQoDExERaQoDExERaQoDExER\naUpUliQisieE6AcwVErZEeDjvwPgOQDZsLQm2A3gbillt4fH3ACgRkr5RSCvSUTuccZEsWCwp8R7\nAPxUSjnJ2rAuBcDPvDzmRgCXDfJ1iUgFZ0wUC+xrrU2HpVRTMoB2WCo4f2H93j0AfgJLD6B3AfxI\nSjlSSnkMllIwNrsAuG28KIS4BsD1AK4SQtwBSwXsE9bX3QvgEgBtAJZJKY8IIeZav7cLwExYAuFt\nsJTgKQJwHMB3pZSdg/w5EMUEzpgoZgghEmCp3PyAtW3CrwFsEEIYhRBTAKwEMFNKeRmAEVCZaQkh\nkgDcDg+FNKWU78NSePNxa5fVP1m/NRmWdtlFsLRveNXuYRcBeMY6IysHsAXAvdZupv0AbhnEWyeK\nKQxMFAtsAUYA6JZSfgoAUsqPAHRbb58LYLOUstl635ecn0QIYQDwF1jaXL8TwDiOWruyApagNNlW\nFd0yHLnf+u89ACpsrTzw/9u7Y50mwyiM438cmNy8BEie0c0LcOvcuEDCRNhMvANXIiMOjDWE2yBh\ngE0HYDkDl8AgkwkaHPp+acWWqGnil/b/m742fXs69en5epIDn4HNf6gnLSWDSctu3pruX55P8gw4\nAW6r6t2Cak93ZN+mrn/MeOxtdakxmLQMupApYL39p0OS14y/8As4AwZJXrTX7nSHk6wBnxhP5O3+\nYc074PHa74222gBgG7hqG0ol/QV/pWkZPABU1X2SIXCYpBt+GFbVd+AyyQfgIskdcAp8becHwBbj\npXRfkjwA51X19omax8AoyRsmww/XwG6So1Z754nzkuZwH5NWRpLnXQeT5D2wUVULCY/WpR1U1atF\nvJ+0yuyYtEr22622deAG2PvPn0fSDHZM0hxJXgIjJkMMa+36Y1X9NtUnaTEMJklSrziVJ0nqFYNJ\nktQrBpMkqVcMJklSrxhMkqRe+QmJHdO/OonEWwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "from scipy.stats import spearmanr\n", - "\n", - "sns.jointplot(s10_kallisto['log2_tpm'], s13_kallisto['log2_tpm'], stat_func=spearmanr)" + "#s10_kallisto['log2_tpm'] = np.log2(s10_kallisto['tpm']+1)\n", + "#s10_kallisto.head()\n", + "#added above\n", + "sns.jointplot(s10_kallisto['log2_tpm'], s13_kallisto['log2_tpm'], stat_func=spearmanr)\n" ] }, { @@ -621,7 +1406,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 176, "metadata": { "collapsed": false, "deletable": false, @@ -633,9 +1418,73 @@ "solution": false } }, - "outputs": [], + "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", + "
s10s13
target_id
ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMUSG00000026353.2|OTTMUST00000065166.1|Xkr4-001|Xkr4|3634|UTR5:1-150|CDS:151-2094|UTR3:2095-3634|00.056126
ENSMUST00000194992.5|ENSMUSG00000025900.10|OTTMUSG00000049985.2|OTTMUST00000127194.1|Rp1-002|Rp1|3047|UTR5:1-54|CDS:55-912|UTR3:913-3047|00.000000
ENSMUST00000027032.5|ENSMUSG00000025900.10|OTTMUSG00000049985.2|OTTMUST00000127195.2|Rp1-001|Rp1|6869|UTR5:1-127|CDS:128-6415|UTR3:6416-6869|00.000000
ENSMUST00000027035.9|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127245.2|Sox17-001|Sox17|3127|UTR5:1-1082|CDS:1083-2342|UTR3:2343-3127|00.000000
ENSMUST00000195555.1|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127249.1|Sox17-005|Sox17|1977|UTR5:1-635|CDS:636-1511|UTR3:1512-1977|00.000000
\n", + "
" + ], + "text/plain": [ + " s10 s13\n", + "target_id \n", + "ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMU... 0 0.056126\n", + "ENSMUST00000194992.5|ENSMUSG00000025900.10|OTTM... 0 0.000000\n", + "ENSMUST00000027032.5|ENSMUSG00000025900.10|OTTM... 0 0.000000\n", + "ENSMUST00000027035.9|ENSMUSG00000025902.13|OTTM... 0 0.000000\n", + "ENSMUST00000195555.1|ENSMUSG00000025902.13|OTTM... 0 0.000000" + ] + }, + "execution_count": 176, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ + "\n", "kallisto_log2_tpm = pd.concat([s10_kallisto['log2_tpm'], s13_kallisto['log2_tpm']], axis=1, keys=['s10', 's13'])\n", + "#same as above had to add 1000 to s10\n", "kallisto_log2_tpm.head()" ] }, @@ -657,7 +1506,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 177, "metadata": { "collapsed": false, "deletable": false, @@ -669,7 +1518,408 @@ "solution": false } }, - "outputs": [], + "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", + "
s10s13
target_id
ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMUSG00000026353.2|OTTMUST00000065166.1|Xkr4-001|Xkr4|3634|UTR5:1-150|CDS:151-2094|UTR3:2095-3634|FalseFalse
ENSMUST00000194992.5|ENSMUSG00000025900.10|OTTMUSG00000049985.2|OTTMUST00000127194.1|Rp1-002|Rp1|3047|UTR5:1-54|CDS:55-912|UTR3:913-3047|FalseFalse
ENSMUST00000027032.5|ENSMUSG00000025900.10|OTTMUSG00000049985.2|OTTMUST00000127195.2|Rp1-001|Rp1|6869|UTR5:1-127|CDS:128-6415|UTR3:6416-6869|FalseFalse
ENSMUST00000027035.9|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127245.2|Sox17-001|Sox17|3127|UTR5:1-1082|CDS:1083-2342|UTR3:2343-3127|FalseFalse
ENSMUST00000195555.1|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127249.1|Sox17-005|Sox17|1977|UTR5:1-635|CDS:636-1511|UTR3:1512-1977|FalseFalse
ENSMUST00000192650.5|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127247.2|Sox17-004|Sox17|3242|UTR5:1-1851|CDS:1852-2916|UTR3:2917-3242|FalseFalse
ENSMUST00000116652.7|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127246.1|Sox17-002|Sox17|1512|UTR5:1-249|CDS:250-1509|UTR3:1510-1512|FalseFalse
ENSMUST00000191647.1|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127267.2|Sox17-007|Sox17|406|UTR5:1-83|CDS:84-406|FalseFalse
ENSMUST00000191939.1|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127266.2|Sox17-006|Sox17|840|UTR5:1-329|CDS:330-840|FalseFalse
ENSMUST00000192913.1|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127248.2|Sox17-003|Sox17|1506|UTR5:1-997|CDS:998-1506|FalseFalse
ENSMUST00000130201.7|ENSMUSG00000033845.13|OTTMUSG00000029329.3|OTTMUST00000072660.1|Mrpl15-002|Mrpl15|1894|UTR5:1-33|CDS:34-648|UTR3:649-1894|FalseFalse
ENSMUST00000156816.6|ENSMUSG00000033845.13|OTTMUSG00000029329.3|OTTMUST00000072659.1|Mrpl15-001|Mrpl15|4203|UTR5:1-62|CDS:63-950|UTR3:951-4203|FalseFalse
ENSMUST00000045689.13|ENSMUSG00000033845.13|OTTMUSG00000029329.3|OTTMUST00000072661.1|Mrpl15-003|Mrpl15|497|UTR5:1-21|CDS:22-180|UTR3:181-497|FalseFalse
ENSMUST00000146665.2|ENSMUSG00000033845.13|OTTMUSG00000029329.3|OTTMUST00000072662.2|Mrpl15-004|Mrpl15|1569|UTR5:1-62|CDS:63-569|UTR3:570-1569|FalseTrue
ENSMUST00000134384.7|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051163.2|Lypla1-002|Lypla1|1136|UTR5:1-126|CDS:127-801|UTR3:802-1136|FalseTrue
ENSMUST00000027036.10|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051162.1|Lypla1-001|Lypla1|2507|UTR5:1-91|CDS:92-784|UTR3:785-2507|TrueTrue
ENSMUST00000150971.7|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051164.3|Lypla1-003|Lypla1|877|UTR5:1-84|CDS:85-750|UTR3:751-877|FalseFalse
ENSMUST00000119612.8|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051170.2|Lypla1-009|Lypla1|529|UTR5:1-18|CDS:19-297|UTR3:298-529|FalseFalse
ENSMUST00000137887.7|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051168.2|Lypla1-007|Lypla1|444|UTR5:1-16|CDS:17-444|FalseFalse
ENSMUST00000115529.7|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051169.1|Lypla1-008|Lypla1|930|UTR5:1-3|CDS:4-594|UTR3:595-930|FalseFalse
ENSMUST00000131119.1|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051167.3|Lypla1-006|Lypla1|660|UTR5:1-234|CDS:235-660|FalseFalse
ENSMUST00000155020.1|ENSMUSG00000104217.1|OTTMUSG00000050100.1|OTTMUST00000127419.1|Gm37988-001|Gm37988|825|UTR5:1-22|CDS:23-211|UTR3:212-825|FalseFalse
ENSMUST00000081551.13|ENSMUSG00000033813.15|OTTMUSG00000042348.1|OTTMUST00000111602.1|Tcea1-001|Tcea1|2547|UTR5:1-100|CDS:101-1006|UTR3:1007-2547|TrueTrue
ENSMUST00000165720.2|ENSMUSG00000033813.15|OTTMUSG00000042348.1|OTTMUST00000111603.1|Tcea1-002|Tcea1|2854|UTR5:1-370|CDS:371-1309|UTR3:1310-2854|FalseFalse
ENSMUST00000002533.14|ENSMUSG00000002459.17|OTTMUSG00000029338.4|OTTMUST00000072687.1|Rgs20-002|Rgs20|1778|UTR5:1-160|CDS:161-880|UTR3:881-1778|TrueTrue
ENSMUST00000118000.7|ENSMUSG00000002459.17|OTTMUSG00000029338.4|OTTMUST00000072688.2|Rgs20-001|Rgs20|2125|UTR5:1-108|CDS:109-1227|UTR3:1228-2125|FalseFalse
ENSMUST00000119256.7|ENSMUSG00000002459.17|OTTMUSG00000029338.4|OTTMUST00000072706.2|Rgs20-005|Rgs20|883|UTR5:1-184|CDS:185-811|UTR3:812-883|FalseFalse
ENSMUST00000170566.1|ENSMUSG00000002459.17|OTTMUSG00000029338.4|OTTMUST00000092053.1|Rgs20-007|Rgs20|577|CDS:1-120|UTR3:121-577|FalseFalse
ENSMUST00000147158.1|ENSMUSG00000002459.17|OTTMUSG00000029338.4|OTTMUST00000072705.2|Rgs20-004|Rgs20|707|UTR5:1-105|CDS:106-707|FalseFalse
ENSMUST00000192847.5|ENSMUSG00000033793.12|OTTMUSG00000050145.9|OTTMUST00000127492.1|Atp6v1h-003|Atp6v1h|1662|UTR5:1-161|CDS:162-1487|UTR3:1488-1662|TrueFalse
.........
ENSMUST00000178889.1|ENSMUSG00000095650.2|OTTMUSG00000042966.1|-|Gm20854-201|Gm20854|1002|UTR5:1-175|CDS:176-859|UTR3:860-1002|FalseFalse
ENSMUST00000181549.1|ENSMUSG00000095650.2|OTTMUSG00000042966.1|OTTMUST00000112802.1|Gm20854-001|Gm20854|1156|UTR5:1-335|CDS:336-1019|UTR3:1020-1156|FalseFalse
ENSMUST00000188754.1|ENSMUSG00000100240.1|OTTMUSG00000047031.1|OTTMUST00000121805.1|Gm20820-001|Gm20820|921|UTR5:1-58|CDS:59-727|UTR3:728-921|FalseFalse
ENSMUST00000189543.6|ENSMUSG00000094399.7|OTTMUSG00000047083.1|OTTMUST00000121876.1|Gm21477-001|Gm21477|924|UTR5:1-58|CDS:59-727|UTR3:728-924|FalseFalse
ENSMUST00000179970.1|ENSMUSG00000094399.7|OTTMUSG00000047083.1|-|Gm21477-201|Gm21477|498|CDS:1-498|FalseFalse
ENSMUST00000186493.1|ENSMUSG00000099856.1|OTTMUSG00000047138.1|OTTMUST00000121968.1|Gm20906-001|Gm20906|923|UTR5:1-58|CDS:59-727|UTR3:728-923|FalseFalse
ENSMUST00000187146.1|ENSMUSG00000101915.1|OTTMUSG00000047149.1|OTTMUST00000121980.1|Gm28102-001|Gm28102|924|UTR5:1-58|CDS:59-727|UTR3:728-924|FalseFalse
ENSMUST00000186443.1|ENSMUSG00000102045.1|OTTMUSG00000047309.1|OTTMUST00000122306.1|Gm21294-001|Gm21294|934|UTR5:1-73|CDS:74-742|UTR3:743-934|FalseFalse
ENSMUST00000188269.1|ENSMUSG00000100608.1|OTTMUSG00000047316.1|OTTMUST00000122318.1|Gm21996-001|Gm21996|931|UTR5:1-58|CDS:59-727|UTR3:728-931|FalseFalse
ENSMUST00000190558.6|ENSMUSG00000096178.7|OTTMUSG00000047352.1|OTTMUST00000122361.1|Gm20837-001|Gm20837|844|UTR5:1-73|CDS:74-640|UTR3:641-844|FalseFalse
ENSMUST00000178446.1|ENSMUSG00000096178.7|OTTMUSG00000047352.1|-|Gm20837-201|Gm20837|498|CDS:1-498|FalseFalse
ENSMUST00000177893.1|ENSMUSG00000095366.1|-|-|Gm21860-201|Gm21860|309|CDS:1-309|FalseFalse
ENSMUST00000179483.7|ENSMUSG00000096768.7|-|-|Erdr1-204|Erdr1|688|UTR5:1-70|CDS:71-688|FalseFalse
ENSMUST00000177591.1|ENSMUSG00000096768.7|-|-|Erdr1-201|Erdr1|774|UTR5:1-229|CDS:230-757|UTR3:758-774|FalseFalse
ENSMUST00000177671.7|ENSMUSG00000096768.7|-|-|Erdr1-202|Erdr1|708|UTR5:1-159|CDS:160-528|UTR3:529-708|FalseFalse
ENSMUST00000179077.1|ENSMUSG00000096768.7|-|-|Erdr1-203|Erdr1|887|UTR5:1-74|CDS:75-512|UTR3:513-887|FalseFalse
ENSMUST00000179623.1|ENSMUSG00000096850.1|-|-|Gm21748-201|Gm21748|309|CDS:1-309|FalseFalse
ENSMUST00000082392.1|ENSMUSG00000064341.1|-|-|mt-Nd1-201|mt-Nd1|957|CDS:1-957|TrueTrue
ENSMUST00000082396.1|ENSMUSG00000064345.1|-|-|mt-Nd2-201|mt-Nd2|1038|CDS:1-1038|TrueTrue
ENSMUST00000082402.1|ENSMUSG00000064351.1|-|-|mt-Co1-201|mt-Co1|1545|CDS:1-1545|TrueTrue
ENSMUST00000082405.1|ENSMUSG00000064354.1|-|-|mt-Co2-201|mt-Co2|684|CDS:1-684|TrueTrue
ENSMUST00000082407.1|ENSMUSG00000064356.3|-|-|mt-Atp8-201|mt-Atp8|204|CDS:1-204|TrueTrue
ENSMUST00000082408.1|ENSMUSG00000064357.1|-|-|mt-Atp6-201|mt-Atp6|681|CDS:1-681|TrueTrue
ENSMUST00000082409.1|ENSMUSG00000064358.1|-|-|mt-Co3-201|mt-Co3|784|CDS:1-784|TrueTrue
ENSMUST00000082411.1|ENSMUSG00000064360.1|-|-|mt-Nd3-201|mt-Nd3|348|CDS:1-348|TrueTrue
ENSMUST00000084013.1|ENSMUSG00000065947.3|-|-|mt-Nd4l-201|mt-Nd4l|297|CDS:1-297|TrueTrue
ENSMUST00000082414.1|ENSMUSG00000064363.1|-|-|mt-Nd4-201|mt-Nd4|1378|CDS:1-1378|TrueTrue
ENSMUST00000082418.1|ENSMUSG00000064367.1|-|-|mt-Nd5-201|mt-Nd5|1824|CDS:1-1824|TrueTrue
ENSMUST00000082419.1|ENSMUSG00000064368.1|-|-|mt-Nd6-201|mt-Nd6|519|CDS:1-519|TrueTrue
ENSMUST00000082421.1|ENSMUSG00000064370.1|-|-|mt-Cytb-201|mt-Cytb|1144|CDS:1-1144|TrueTrue
\n", + "

56504 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " s10 s13\n", + "target_id \n", + "ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMU... False False\n", + "ENSMUST00000194992.5|ENSMUSG00000025900.10|OTTM... False False\n", + "ENSMUST00000027032.5|ENSMUSG00000025900.10|OTTM... False False\n", + "ENSMUST00000027035.9|ENSMUSG00000025902.13|OTTM... False False\n", + "ENSMUST00000195555.1|ENSMUSG00000025902.13|OTTM... False False\n", + "ENSMUST00000192650.5|ENSMUSG00000025902.13|OTTM... False False\n", + "ENSMUST00000116652.7|ENSMUSG00000025902.13|OTTM... False False\n", + "ENSMUST00000191647.1|ENSMUSG00000025902.13|OTTM... False False\n", + "ENSMUST00000191939.1|ENSMUSG00000025902.13|OTTM... False False\n", + "ENSMUST00000192913.1|ENSMUSG00000025902.13|OTTM... False False\n", + "ENSMUST00000130201.7|ENSMUSG00000033845.13|OTTM... False False\n", + "ENSMUST00000156816.6|ENSMUSG00000033845.13|OTTM... False False\n", + "ENSMUST00000045689.13|ENSMUSG00000033845.13|OTT... False False\n", + "ENSMUST00000146665.2|ENSMUSG00000033845.13|OTTM... False True\n", + "ENSMUST00000134384.7|ENSMUSG00000025903.14|OTTM... False True\n", + "ENSMUST00000027036.10|ENSMUSG00000025903.14|OTT... True True\n", + "ENSMUST00000150971.7|ENSMUSG00000025903.14|OTTM... False False\n", + "ENSMUST00000119612.8|ENSMUSG00000025903.14|OTTM... False False\n", + "ENSMUST00000137887.7|ENSMUSG00000025903.14|OTTM... False False\n", + "ENSMUST00000115529.7|ENSMUSG00000025903.14|OTTM... False False\n", + "ENSMUST00000131119.1|ENSMUSG00000025903.14|OTTM... False False\n", + "ENSMUST00000155020.1|ENSMUSG00000104217.1|OTTMU... False False\n", + "ENSMUST00000081551.13|ENSMUSG00000033813.15|OTT... True True\n", + "ENSMUST00000165720.2|ENSMUSG00000033813.15|OTTM... False False\n", + "ENSMUST00000002533.14|ENSMUSG00000002459.17|OTT... True True\n", + "ENSMUST00000118000.7|ENSMUSG00000002459.17|OTTM... False False\n", + "ENSMUST00000119256.7|ENSMUSG00000002459.17|OTTM... False False\n", + "ENSMUST00000170566.1|ENSMUSG00000002459.17|OTTM... False False\n", + "ENSMUST00000147158.1|ENSMUSG00000002459.17|OTTM... False False\n", + "ENSMUST00000192847.5|ENSMUSG00000033793.12|OTTM... True False\n", + "... ... ...\n", + "ENSMUST00000178889.1|ENSMUSG00000095650.2|OTTMU... False False\n", + "ENSMUST00000181549.1|ENSMUSG00000095650.2|OTTMU... False False\n", + "ENSMUST00000188754.1|ENSMUSG00000100240.1|OTTMU... False False\n", + "ENSMUST00000189543.6|ENSMUSG00000094399.7|OTTMU... False False\n", + "ENSMUST00000179970.1|ENSMUSG00000094399.7|OTTMU... False False\n", + "ENSMUST00000186493.1|ENSMUSG00000099856.1|OTTMU... False False\n", + "ENSMUST00000187146.1|ENSMUSG00000101915.1|OTTMU... False False\n", + "ENSMUST00000186443.1|ENSMUSG00000102045.1|OTTMU... False False\n", + "ENSMUST00000188269.1|ENSMUSG00000100608.1|OTTMU... False False\n", + "ENSMUST00000190558.6|ENSMUSG00000096178.7|OTTMU... False False\n", + "ENSMUST00000178446.1|ENSMUSG00000096178.7|OTTMU... False False\n", + "ENSMUST00000177893.1|ENSMUSG00000095366.1|-|-|G... False False\n", + "ENSMUST00000179483.7|ENSMUSG00000096768.7|-|-|E... False False\n", + "ENSMUST00000177591.1|ENSMUSG00000096768.7|-|-|E... False False\n", + "ENSMUST00000177671.7|ENSMUSG00000096768.7|-|-|E... False False\n", + "ENSMUST00000179077.1|ENSMUSG00000096768.7|-|-|E... False False\n", + "ENSMUST00000179623.1|ENSMUSG00000096850.1|-|-|G... False False\n", + "ENSMUST00000082392.1|ENSMUSG00000064341.1|-|-|m... True True\n", + "ENSMUST00000082396.1|ENSMUSG00000064345.1|-|-|m... True True\n", + "ENSMUST00000082402.1|ENSMUSG00000064351.1|-|-|m... True True\n", + "ENSMUST00000082405.1|ENSMUSG00000064354.1|-|-|m... True True\n", + "ENSMUST00000082407.1|ENSMUSG00000064356.3|-|-|m... True True\n", + "ENSMUST00000082408.1|ENSMUSG00000064357.1|-|-|m... True True\n", + "ENSMUST00000082409.1|ENSMUSG00000064358.1|-|-|m... True True\n", + "ENSMUST00000082411.1|ENSMUSG00000064360.1|-|-|m... True True\n", + "ENSMUST00000084013.1|ENSMUSG00000065947.3|-|-|m... True True\n", + "ENSMUST00000082414.1|ENSMUSG00000064363.1|-|-|m... True True\n", + "ENSMUST00000082418.1|ENSMUSG00000064367.1|-|-|m... True True\n", + "ENSMUST00000082419.1|ENSMUSG00000064368.1|-|-|m... True True\n", + "ENSMUST00000082421.1|ENSMUSG00000064370.1|-|-|m... True True\n", + "\n", + "[56504 rows x 2 columns]" + ] + }, + "execution_count": 177, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "kallisto_log2_tpm > 1" ] @@ -692,7 +1942,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 52, "metadata": { "collapsed": false, "deletable": false, @@ -704,7 +1954,20 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "s10 6121\n", + "s13 6380\n", + "dtype: int64" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "(kallisto_log2_tpm > 1).sum()" ] @@ -727,7 +1990,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 53, "metadata": { "collapsed": false, "deletable": false, @@ -739,7 +2002,80 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "target_id\n", + "ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMUSG00000026353.2|OTTMUST00000065166.1|Xkr4-001|Xkr4|3634|UTR5:1-150|CDS:151-2094|UTR3:2095-3634| 0\n", + "ENSMUST00000194992.5|ENSMUSG00000025900.10|OTTMUSG00000049985.2|OTTMUST00000127194.1|Rp1-002|Rp1|3047|UTR5:1-54|CDS:55-912|UTR3:913-3047| 0\n", + "ENSMUST00000027032.5|ENSMUSG00000025900.10|OTTMUSG00000049985.2|OTTMUST00000127195.2|Rp1-001|Rp1|6869|UTR5:1-127|CDS:128-6415|UTR3:6416-6869| 0\n", + "ENSMUST00000027035.9|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127245.2|Sox17-001|Sox17|3127|UTR5:1-1082|CDS:1083-2342|UTR3:2343-3127| 0\n", + "ENSMUST00000195555.1|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127249.1|Sox17-005|Sox17|1977|UTR5:1-635|CDS:636-1511|UTR3:1512-1977| 0\n", + "ENSMUST00000192650.5|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127247.2|Sox17-004|Sox17|3242|UTR5:1-1851|CDS:1852-2916|UTR3:2917-3242| 0\n", + "ENSMUST00000116652.7|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127246.1|Sox17-002|Sox17|1512|UTR5:1-249|CDS:250-1509|UTR3:1510-1512| 0\n", + "ENSMUST00000191647.1|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127267.2|Sox17-007|Sox17|406|UTR5:1-83|CDS:84-406| 0\n", + "ENSMUST00000191939.1|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127266.2|Sox17-006|Sox17|840|UTR5:1-329|CDS:330-840| 0\n", + "ENSMUST00000192913.1|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127248.2|Sox17-003|Sox17|1506|UTR5:1-997|CDS:998-1506| 0\n", + "ENSMUST00000130201.7|ENSMUSG00000033845.13|OTTMUSG00000029329.3|OTTMUST00000072660.1|Mrpl15-002|Mrpl15|1894|UTR5:1-33|CDS:34-648|UTR3:649-1894| 0\n", + "ENSMUST00000156816.6|ENSMUSG00000033845.13|OTTMUSG00000029329.3|OTTMUST00000072659.1|Mrpl15-001|Mrpl15|4203|UTR5:1-62|CDS:63-950|UTR3:951-4203| 0\n", + "ENSMUST00000045689.13|ENSMUSG00000033845.13|OTTMUSG00000029329.3|OTTMUST00000072661.1|Mrpl15-003|Mrpl15|497|UTR5:1-21|CDS:22-180|UTR3:181-497| 0\n", + "ENSMUST00000146665.2|ENSMUSG00000033845.13|OTTMUSG00000029329.3|OTTMUST00000072662.2|Mrpl15-004|Mrpl15|1569|UTR5:1-62|CDS:63-569|UTR3:570-1569| 1\n", + "ENSMUST00000134384.7|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051163.2|Lypla1-002|Lypla1|1136|UTR5:1-126|CDS:127-801|UTR3:802-1136| 1\n", + "ENSMUST00000027036.10|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051162.1|Lypla1-001|Lypla1|2507|UTR5:1-91|CDS:92-784|UTR3:785-2507| 2\n", + "ENSMUST00000150971.7|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051164.3|Lypla1-003|Lypla1|877|UTR5:1-84|CDS:85-750|UTR3:751-877| 0\n", + "ENSMUST00000119612.8|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051170.2|Lypla1-009|Lypla1|529|UTR5:1-18|CDS:19-297|UTR3:298-529| 0\n", + "ENSMUST00000137887.7|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051168.2|Lypla1-007|Lypla1|444|UTR5:1-16|CDS:17-444| 0\n", + "ENSMUST00000115529.7|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051169.1|Lypla1-008|Lypla1|930|UTR5:1-3|CDS:4-594|UTR3:595-930| 0\n", + "ENSMUST00000131119.1|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051167.3|Lypla1-006|Lypla1|660|UTR5:1-234|CDS:235-660| 0\n", + "ENSMUST00000155020.1|ENSMUSG00000104217.1|OTTMUSG00000050100.1|OTTMUST00000127419.1|Gm37988-001|Gm37988|825|UTR5:1-22|CDS:23-211|UTR3:212-825| 0\n", + "ENSMUST00000081551.13|ENSMUSG00000033813.15|OTTMUSG00000042348.1|OTTMUST00000111602.1|Tcea1-001|Tcea1|2547|UTR5:1-100|CDS:101-1006|UTR3:1007-2547| 2\n", + "ENSMUST00000165720.2|ENSMUSG00000033813.15|OTTMUSG00000042348.1|OTTMUST00000111603.1|Tcea1-002|Tcea1|2854|UTR5:1-370|CDS:371-1309|UTR3:1310-2854| 0\n", + "ENSMUST00000002533.14|ENSMUSG00000002459.17|OTTMUSG00000029338.4|OTTMUST00000072687.1|Rgs20-002|Rgs20|1778|UTR5:1-160|CDS:161-880|UTR3:881-1778| 2\n", + "ENSMUST00000118000.7|ENSMUSG00000002459.17|OTTMUSG00000029338.4|OTTMUST00000072688.2|Rgs20-001|Rgs20|2125|UTR5:1-108|CDS:109-1227|UTR3:1228-2125| 0\n", + "ENSMUST00000119256.7|ENSMUSG00000002459.17|OTTMUSG00000029338.4|OTTMUST00000072706.2|Rgs20-005|Rgs20|883|UTR5:1-184|CDS:185-811|UTR3:812-883| 0\n", + "ENSMUST00000170566.1|ENSMUSG00000002459.17|OTTMUSG00000029338.4|OTTMUST00000092053.1|Rgs20-007|Rgs20|577|CDS:1-120|UTR3:121-577| 0\n", + "ENSMUST00000147158.1|ENSMUSG00000002459.17|OTTMUSG00000029338.4|OTTMUST00000072705.2|Rgs20-004|Rgs20|707|UTR5:1-105|CDS:106-707| 0\n", + "ENSMUST00000192847.5|ENSMUSG00000033793.12|OTTMUSG00000050145.9|OTTMUST00000127492.1|Atp6v1h-003|Atp6v1h|1662|UTR5:1-161|CDS:162-1487|UTR3:1488-1662| 1\n", + " ..\n", + "ENSMUST00000178889.1|ENSMUSG00000095650.2|OTTMUSG00000042966.1|-|Gm20854-201|Gm20854|1002|UTR5:1-175|CDS:176-859|UTR3:860-1002| 0\n", + "ENSMUST00000181549.1|ENSMUSG00000095650.2|OTTMUSG00000042966.1|OTTMUST00000112802.1|Gm20854-001|Gm20854|1156|UTR5:1-335|CDS:336-1019|UTR3:1020-1156| 0\n", + "ENSMUST00000188754.1|ENSMUSG00000100240.1|OTTMUSG00000047031.1|OTTMUST00000121805.1|Gm20820-001|Gm20820|921|UTR5:1-58|CDS:59-727|UTR3:728-921| 0\n", + "ENSMUST00000189543.6|ENSMUSG00000094399.7|OTTMUSG00000047083.1|OTTMUST00000121876.1|Gm21477-001|Gm21477|924|UTR5:1-58|CDS:59-727|UTR3:728-924| 0\n", + "ENSMUST00000179970.1|ENSMUSG00000094399.7|OTTMUSG00000047083.1|-|Gm21477-201|Gm21477|498|CDS:1-498| 0\n", + "ENSMUST00000186493.1|ENSMUSG00000099856.1|OTTMUSG00000047138.1|OTTMUST00000121968.1|Gm20906-001|Gm20906|923|UTR5:1-58|CDS:59-727|UTR3:728-923| 0\n", + "ENSMUST00000187146.1|ENSMUSG00000101915.1|OTTMUSG00000047149.1|OTTMUST00000121980.1|Gm28102-001|Gm28102|924|UTR5:1-58|CDS:59-727|UTR3:728-924| 0\n", + "ENSMUST00000186443.1|ENSMUSG00000102045.1|OTTMUSG00000047309.1|OTTMUST00000122306.1|Gm21294-001|Gm21294|934|UTR5:1-73|CDS:74-742|UTR3:743-934| 0\n", + "ENSMUST00000188269.1|ENSMUSG00000100608.1|OTTMUSG00000047316.1|OTTMUST00000122318.1|Gm21996-001|Gm21996|931|UTR5:1-58|CDS:59-727|UTR3:728-931| 0\n", + "ENSMUST00000190558.6|ENSMUSG00000096178.7|OTTMUSG00000047352.1|OTTMUST00000122361.1|Gm20837-001|Gm20837|844|UTR5:1-73|CDS:74-640|UTR3:641-844| 0\n", + "ENSMUST00000178446.1|ENSMUSG00000096178.7|OTTMUSG00000047352.1|-|Gm20837-201|Gm20837|498|CDS:1-498| 0\n", + "ENSMUST00000177893.1|ENSMUSG00000095366.1|-|-|Gm21860-201|Gm21860|309|CDS:1-309| 0\n", + "ENSMUST00000179483.7|ENSMUSG00000096768.7|-|-|Erdr1-204|Erdr1|688|UTR5:1-70|CDS:71-688| 0\n", + "ENSMUST00000177591.1|ENSMUSG00000096768.7|-|-|Erdr1-201|Erdr1|774|UTR5:1-229|CDS:230-757|UTR3:758-774| 0\n", + "ENSMUST00000177671.7|ENSMUSG00000096768.7|-|-|Erdr1-202|Erdr1|708|UTR5:1-159|CDS:160-528|UTR3:529-708| 0\n", + "ENSMUST00000179077.1|ENSMUSG00000096768.7|-|-|Erdr1-203|Erdr1|887|UTR5:1-74|CDS:75-512|UTR3:513-887| 0\n", + "ENSMUST00000179623.1|ENSMUSG00000096850.1|-|-|Gm21748-201|Gm21748|309|CDS:1-309| 0\n", + "ENSMUST00000082392.1|ENSMUSG00000064341.1|-|-|mt-Nd1-201|mt-Nd1|957|CDS:1-957| 2\n", + "ENSMUST00000082396.1|ENSMUSG00000064345.1|-|-|mt-Nd2-201|mt-Nd2|1038|CDS:1-1038| 2\n", + "ENSMUST00000082402.1|ENSMUSG00000064351.1|-|-|mt-Co1-201|mt-Co1|1545|CDS:1-1545| 2\n", + "ENSMUST00000082405.1|ENSMUSG00000064354.1|-|-|mt-Co2-201|mt-Co2|684|CDS:1-684| 2\n", + "ENSMUST00000082407.1|ENSMUSG00000064356.3|-|-|mt-Atp8-201|mt-Atp8|204|CDS:1-204| 2\n", + "ENSMUST00000082408.1|ENSMUSG00000064357.1|-|-|mt-Atp6-201|mt-Atp6|681|CDS:1-681| 2\n", + "ENSMUST00000082409.1|ENSMUSG00000064358.1|-|-|mt-Co3-201|mt-Co3|784|CDS:1-784| 2\n", + "ENSMUST00000082411.1|ENSMUSG00000064360.1|-|-|mt-Nd3-201|mt-Nd3|348|CDS:1-348| 2\n", + "ENSMUST00000084013.1|ENSMUSG00000065947.3|-|-|mt-Nd4l-201|mt-Nd4l|297|CDS:1-297| 2\n", + "ENSMUST00000082414.1|ENSMUSG00000064363.1|-|-|mt-Nd4-201|mt-Nd4|1378|CDS:1-1378| 2\n", + "ENSMUST00000082418.1|ENSMUSG00000064367.1|-|-|mt-Nd5-201|mt-Nd5|1824|CDS:1-1824| 2\n", + "ENSMUST00000082419.1|ENSMUSG00000064368.1|-|-|mt-Nd6-201|mt-Nd6|519|CDS:1-519| 2\n", + "ENSMUST00000082421.1|ENSMUSG00000064370.1|-|-|mt-Cytb-201|mt-Cytb|1144|CDS:1-1144| 2\n", + "dtype: int64" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "(kallisto_log2_tpm > 1).sum(axis=1)" ] @@ -762,7 +2098,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 54, "metadata": { "collapsed": false, "deletable": false, @@ -774,7 +2110,80 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "target_id\n", + "ENSMUST00000070533.4|ENSMUSG00000051951.5|OTTMUSG00000026353.2|OTTMUST00000065166.1|Xkr4-001|Xkr4|3634|UTR5:1-150|CDS:151-2094|UTR3:2095-3634| False\n", + "ENSMUST00000194992.5|ENSMUSG00000025900.10|OTTMUSG00000049985.2|OTTMUST00000127194.1|Rp1-002|Rp1|3047|UTR5:1-54|CDS:55-912|UTR3:913-3047| False\n", + "ENSMUST00000027032.5|ENSMUSG00000025900.10|OTTMUSG00000049985.2|OTTMUST00000127195.2|Rp1-001|Rp1|6869|UTR5:1-127|CDS:128-6415|UTR3:6416-6869| False\n", + "ENSMUST00000027035.9|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127245.2|Sox17-001|Sox17|3127|UTR5:1-1082|CDS:1083-2342|UTR3:2343-3127| False\n", + "ENSMUST00000195555.1|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127249.1|Sox17-005|Sox17|1977|UTR5:1-635|CDS:636-1511|UTR3:1512-1977| False\n", + "ENSMUST00000192650.5|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127247.2|Sox17-004|Sox17|3242|UTR5:1-1851|CDS:1852-2916|UTR3:2917-3242| False\n", + "ENSMUST00000116652.7|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127246.1|Sox17-002|Sox17|1512|UTR5:1-249|CDS:250-1509|UTR3:1510-1512| False\n", + "ENSMUST00000191647.1|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127267.2|Sox17-007|Sox17|406|UTR5:1-83|CDS:84-406| False\n", + "ENSMUST00000191939.1|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127266.2|Sox17-006|Sox17|840|UTR5:1-329|CDS:330-840| False\n", + "ENSMUST00000192913.1|ENSMUSG00000025902.13|OTTMUSG00000050014.7|OTTMUST00000127248.2|Sox17-003|Sox17|1506|UTR5:1-997|CDS:998-1506| False\n", + "ENSMUST00000130201.7|ENSMUSG00000033845.13|OTTMUSG00000029329.3|OTTMUST00000072660.1|Mrpl15-002|Mrpl15|1894|UTR5:1-33|CDS:34-648|UTR3:649-1894| False\n", + "ENSMUST00000156816.6|ENSMUSG00000033845.13|OTTMUSG00000029329.3|OTTMUST00000072659.1|Mrpl15-001|Mrpl15|4203|UTR5:1-62|CDS:63-950|UTR3:951-4203| False\n", + "ENSMUST00000045689.13|ENSMUSG00000033845.13|OTTMUSG00000029329.3|OTTMUST00000072661.1|Mrpl15-003|Mrpl15|497|UTR5:1-21|CDS:22-180|UTR3:181-497| False\n", + "ENSMUST00000146665.2|ENSMUSG00000033845.13|OTTMUSG00000029329.3|OTTMUST00000072662.2|Mrpl15-004|Mrpl15|1569|UTR5:1-62|CDS:63-569|UTR3:570-1569| True\n", + "ENSMUST00000134384.7|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051163.2|Lypla1-002|Lypla1|1136|UTR5:1-126|CDS:127-801|UTR3:802-1136| True\n", + "ENSMUST00000027036.10|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051162.1|Lypla1-001|Lypla1|2507|UTR5:1-91|CDS:92-784|UTR3:785-2507| True\n", + "ENSMUST00000150971.7|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051164.3|Lypla1-003|Lypla1|877|UTR5:1-84|CDS:85-750|UTR3:751-877| False\n", + "ENSMUST00000119612.8|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051170.2|Lypla1-009|Lypla1|529|UTR5:1-18|CDS:19-297|UTR3:298-529| False\n", + "ENSMUST00000137887.7|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051168.2|Lypla1-007|Lypla1|444|UTR5:1-16|CDS:17-444| False\n", + "ENSMUST00000115529.7|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051169.1|Lypla1-008|Lypla1|930|UTR5:1-3|CDS:4-594|UTR3:595-930| False\n", + "ENSMUST00000131119.1|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051167.3|Lypla1-006|Lypla1|660|UTR5:1-234|CDS:235-660| False\n", + "ENSMUST00000155020.1|ENSMUSG00000104217.1|OTTMUSG00000050100.1|OTTMUST00000127419.1|Gm37988-001|Gm37988|825|UTR5:1-22|CDS:23-211|UTR3:212-825| False\n", + "ENSMUST00000081551.13|ENSMUSG00000033813.15|OTTMUSG00000042348.1|OTTMUST00000111602.1|Tcea1-001|Tcea1|2547|UTR5:1-100|CDS:101-1006|UTR3:1007-2547| True\n", + "ENSMUST00000165720.2|ENSMUSG00000033813.15|OTTMUSG00000042348.1|OTTMUST00000111603.1|Tcea1-002|Tcea1|2854|UTR5:1-370|CDS:371-1309|UTR3:1310-2854| False\n", + "ENSMUST00000002533.14|ENSMUSG00000002459.17|OTTMUSG00000029338.4|OTTMUST00000072687.1|Rgs20-002|Rgs20|1778|UTR5:1-160|CDS:161-880|UTR3:881-1778| True\n", + "ENSMUST00000118000.7|ENSMUSG00000002459.17|OTTMUSG00000029338.4|OTTMUST00000072688.2|Rgs20-001|Rgs20|2125|UTR5:1-108|CDS:109-1227|UTR3:1228-2125| False\n", + "ENSMUST00000119256.7|ENSMUSG00000002459.17|OTTMUSG00000029338.4|OTTMUST00000072706.2|Rgs20-005|Rgs20|883|UTR5:1-184|CDS:185-811|UTR3:812-883| False\n", + "ENSMUST00000170566.1|ENSMUSG00000002459.17|OTTMUSG00000029338.4|OTTMUST00000092053.1|Rgs20-007|Rgs20|577|CDS:1-120|UTR3:121-577| False\n", + "ENSMUST00000147158.1|ENSMUSG00000002459.17|OTTMUSG00000029338.4|OTTMUST00000072705.2|Rgs20-004|Rgs20|707|UTR5:1-105|CDS:106-707| False\n", + "ENSMUST00000192847.5|ENSMUSG00000033793.12|OTTMUSG00000050145.9|OTTMUST00000127492.1|Atp6v1h-003|Atp6v1h|1662|UTR5:1-161|CDS:162-1487|UTR3:1488-1662| True\n", + " ... \n", + "ENSMUST00000178889.1|ENSMUSG00000095650.2|OTTMUSG00000042966.1|-|Gm20854-201|Gm20854|1002|UTR5:1-175|CDS:176-859|UTR3:860-1002| False\n", + "ENSMUST00000181549.1|ENSMUSG00000095650.2|OTTMUSG00000042966.1|OTTMUST00000112802.1|Gm20854-001|Gm20854|1156|UTR5:1-335|CDS:336-1019|UTR3:1020-1156| False\n", + "ENSMUST00000188754.1|ENSMUSG00000100240.1|OTTMUSG00000047031.1|OTTMUST00000121805.1|Gm20820-001|Gm20820|921|UTR5:1-58|CDS:59-727|UTR3:728-921| False\n", + "ENSMUST00000189543.6|ENSMUSG00000094399.7|OTTMUSG00000047083.1|OTTMUST00000121876.1|Gm21477-001|Gm21477|924|UTR5:1-58|CDS:59-727|UTR3:728-924| False\n", + "ENSMUST00000179970.1|ENSMUSG00000094399.7|OTTMUSG00000047083.1|-|Gm21477-201|Gm21477|498|CDS:1-498| False\n", + "ENSMUST00000186493.1|ENSMUSG00000099856.1|OTTMUSG00000047138.1|OTTMUST00000121968.1|Gm20906-001|Gm20906|923|UTR5:1-58|CDS:59-727|UTR3:728-923| False\n", + "ENSMUST00000187146.1|ENSMUSG00000101915.1|OTTMUSG00000047149.1|OTTMUST00000121980.1|Gm28102-001|Gm28102|924|UTR5:1-58|CDS:59-727|UTR3:728-924| False\n", + "ENSMUST00000186443.1|ENSMUSG00000102045.1|OTTMUSG00000047309.1|OTTMUST00000122306.1|Gm21294-001|Gm21294|934|UTR5:1-73|CDS:74-742|UTR3:743-934| False\n", + "ENSMUST00000188269.1|ENSMUSG00000100608.1|OTTMUSG00000047316.1|OTTMUST00000122318.1|Gm21996-001|Gm21996|931|UTR5:1-58|CDS:59-727|UTR3:728-931| False\n", + "ENSMUST00000190558.6|ENSMUSG00000096178.7|OTTMUSG00000047352.1|OTTMUST00000122361.1|Gm20837-001|Gm20837|844|UTR5:1-73|CDS:74-640|UTR3:641-844| False\n", + "ENSMUST00000178446.1|ENSMUSG00000096178.7|OTTMUSG00000047352.1|-|Gm20837-201|Gm20837|498|CDS:1-498| False\n", + "ENSMUST00000177893.1|ENSMUSG00000095366.1|-|-|Gm21860-201|Gm21860|309|CDS:1-309| False\n", + "ENSMUST00000179483.7|ENSMUSG00000096768.7|-|-|Erdr1-204|Erdr1|688|UTR5:1-70|CDS:71-688| False\n", + "ENSMUST00000177591.1|ENSMUSG00000096768.7|-|-|Erdr1-201|Erdr1|774|UTR5:1-229|CDS:230-757|UTR3:758-774| False\n", + "ENSMUST00000177671.7|ENSMUSG00000096768.7|-|-|Erdr1-202|Erdr1|708|UTR5:1-159|CDS:160-528|UTR3:529-708| False\n", + "ENSMUST00000179077.1|ENSMUSG00000096768.7|-|-|Erdr1-203|Erdr1|887|UTR5:1-74|CDS:75-512|UTR3:513-887| False\n", + "ENSMUST00000179623.1|ENSMUSG00000096850.1|-|-|Gm21748-201|Gm21748|309|CDS:1-309| False\n", + "ENSMUST00000082392.1|ENSMUSG00000064341.1|-|-|mt-Nd1-201|mt-Nd1|957|CDS:1-957| True\n", + "ENSMUST00000082396.1|ENSMUSG00000064345.1|-|-|mt-Nd2-201|mt-Nd2|1038|CDS:1-1038| True\n", + "ENSMUST00000082402.1|ENSMUSG00000064351.1|-|-|mt-Co1-201|mt-Co1|1545|CDS:1-1545| True\n", + "ENSMUST00000082405.1|ENSMUSG00000064354.1|-|-|mt-Co2-201|mt-Co2|684|CDS:1-684| True\n", + "ENSMUST00000082407.1|ENSMUSG00000064356.3|-|-|mt-Atp8-201|mt-Atp8|204|CDS:1-204| True\n", + "ENSMUST00000082408.1|ENSMUSG00000064357.1|-|-|mt-Atp6-201|mt-Atp6|681|CDS:1-681| True\n", + "ENSMUST00000082409.1|ENSMUSG00000064358.1|-|-|mt-Co3-201|mt-Co3|784|CDS:1-784| True\n", + "ENSMUST00000082411.1|ENSMUSG00000064360.1|-|-|mt-Nd3-201|mt-Nd3|348|CDS:1-348| True\n", + "ENSMUST00000084013.1|ENSMUSG00000065947.3|-|-|mt-Nd4l-201|mt-Nd4l|297|CDS:1-297| True\n", + "ENSMUST00000082414.1|ENSMUSG00000064363.1|-|-|mt-Nd4-201|mt-Nd4|1378|CDS:1-1378| True\n", + "ENSMUST00000082418.1|ENSMUSG00000064367.1|-|-|mt-Nd5-201|mt-Nd5|1824|CDS:1-1824| True\n", + "ENSMUST00000082419.1|ENSMUSG00000064368.1|-|-|mt-Nd6-201|mt-Nd6|519|CDS:1-519| True\n", + "ENSMUST00000082421.1|ENSMUSG00000064370.1|-|-|mt-Cytb-201|mt-Cytb|1144|CDS:1-1144| True\n", + "dtype: bool" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "(kallisto_log2_tpm > 1).sum(axis=1) >= 1" ] @@ -797,7 +2206,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 178, "metadata": { "collapsed": false, "deletable": false, @@ -810,7 +2219,408 @@ }, "scrolled": false }, - "outputs": [], + "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", + "
s10s13
target_id
ENSMUST00000146665.2|ENSMUSG00000033845.13|OTTMUSG00000029329.3|OTTMUST00000072662.2|Mrpl15-004|Mrpl15|1569|UTR5:1-62|CDS:63-569|UTR3:570-1569|0.0000003.952259
ENSMUST00000134384.7|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051163.2|Lypla1-002|Lypla1|1136|UTR5:1-126|CDS:127-801|UTR3:802-1136|0.2786692.769812
ENSMUST00000027036.10|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051162.1|Lypla1-001|Lypla1|2507|UTR5:1-91|CDS:92-784|UTR3:785-2507|3.1747842.992448
ENSMUST00000081551.13|ENSMUSG00000033813.15|OTTMUSG00000042348.1|OTTMUST00000111602.1|Tcea1-001|Tcea1|2547|UTR5:1-100|CDS:101-1006|UTR3:1007-2547|6.9473511.058026
ENSMUST00000002533.14|ENSMUSG00000002459.17|OTTMUSG00000029338.4|OTTMUST00000072687.1|Rgs20-002|Rgs20|1778|UTR5:1-160|CDS:161-880|UTR3:881-1778|2.7950654.141637
ENSMUST00000192847.5|ENSMUSG00000033793.12|OTTMUSG00000050145.9|OTTMUST00000127492.1|Atp6v1h-003|Atp6v1h|1662|UTR5:1-161|CDS:162-1487|UTR3:1488-1662|1.7744900.000000
ENSMUST00000159906.7|ENSMUSG00000025907.14|OTTMUSG00000033467.12|OTTMUST00000084214.2|Rb1cc1-009|Rb1cc1|656|UTR5:1-375|CDS:376-656|0.0000007.568701
ENSMUST00000088658.10|ENSMUSG00000025912.16|OTTMUSG00000034736.3|OTTMUST00000088260.1|Mybl1-001|Mybl1|4980|UTR5:1-255|CDS:256-2511|UTR3:2512-4980|0.7755181.389170
ENSMUST00000052843.11|ENSMUSG00000046101.16|OTTMUSG00000021854.3|OTTMUST00000051859.1|Mcmdc2-001|Mcmdc2|2826|UTR5:1-97|CDS:98-1141|UTR3:1142-2826|2.0367280.237117
ENSMUST00000118098.2|ENSMUSG00000046101.16|OTTMUSG00000021854.3|OTTMUST00000078010.2|Mcmdc2-003|Mcmdc2|2072|UTR5:1-405|CDS:406-1482|UTR3:1483-2072|0.2344142.070753
ENSMUST00000183059.1|ENSMUSG00000046101.16|OTTMUSG00000021854.3|OTTMUST00000113822.1|Mcmdc2-005|Mcmdc2|749|CDS:1-77|UTR3:78-749|7.0792718.468359
ENSMUST00000027050.9|ENSMUSG00000025917.9|OTTMUSG00000029459.3|OTTMUST00000072996.2|Cops5-001|Cops5|1698|UTR5:1-315|CDS:316-1320|UTR3:1321-1698|6.7233260.000000
ENSMUST00000186528.6|ENSMUSG00000025917.9|OTTMUSG00000029459.3|OTTMUST00000118982.1|Cops5-006|Cops5|962|UTR5:1-129|CDS:130-276|UTR3:277-962|4.8561290.246389
ENSMUST00000191012.6|ENSMUSG00000056763.16|OTTMUSG00000027401.8|OTTMUST00000118986.2|Cspp1-019|Cspp1|345|UTR5:1-135|CDS:136-345|4.3753310.000000
ENSMUST00000122156.7|ENSMUSG00000056763.16|OTTMUSG00000027401.8|OTTMUST00000067947.1|Cspp1-006|Cspp1|2535|UTR5:1-117|CDS:118-1077|UTR3:1078-2535|3.4666140.000000
ENSMUST00000155974.7|ENSMUSG00000056763.16|OTTMUSG00000027401.8|OTTMUST00000067949.4|Cspp1-008|Cspp1|445|UTR5:1-139|CDS:140-445|3.0358260.000000
ENSMUST00000188449.6|ENSMUSG00000056763.16|OTTMUSG00000027401.8|OTTMUST00000118993.1|Cspp1-024|Cspp1|538|CDS:1-317|UTR3:318-538|6.6190770.000000
ENSMUST00000088615.10|ENSMUSG00000067851.11|OTTMUSG00000033923.2|OTTMUST00000085577.1|Arfgef1-002|Arfgef1|6978|UTR5:1-176|CDS:177-5717|UTR3:5718-6978|6.2235232.219540
ENSMUST00000027056.11|ENSMUSG00000048960.13|OTTMUSG00000047927.1|OTTMUST00000123246.1|Prex2-001|Prex2|11053|UTR5:1-328|CDS:329-5125|UTR3:5126-11053|1.7368470.056283
ENSMUST00000188154.1|ENSMUSG00000048960.13|OTTMUSG00000047927.1|OTTMUST00000123253.1|Prex2-006|Prex2|843|CDS:1-122|UTR3:123-843|1.5475195.895499
ENSMUST00000171690.8|ENSMUSG00000057715.13|OTTMUSG00000033915.2|-|A830018L16Rik-201|A830018L16Rik|6158|UTR5:1-464|CDS:465-1331|UTR3:1332-6158|1.5973932.705801
ENSMUST00000188454.6|ENSMUSG00000025938.16|OTTMUSG00000022327.2|OTTMUST00000053228.2|Slco5a1-001|Slco5a1|8463|UTR5:1-591|CDS:592-3144|UTR3:3145-8463|0.0562843.506221
ENSMUST00000136197.7|ENSMUSG00000025938.16|OTTMUSG00000022327.2|OTTMUST00000053230.2|Slco5a1-003|Slco5a1|5123|UTR5:1-640|CDS:641-2617|UTR3:2618-5123|0.0271346.674800
ENSMUST00000027068.10|ENSMUSG00000025935.10|OTTMUSG00000049113.1|OTTMUST00000125384.1|Tram1-001|Tram1|2938|UTR5:1-188|CDS:189-1313|UTR3:1314-2938|5.4310710.201256
ENSMUST00000027071.6|ENSMUSG00000025937.6|OTTMUSG00000021599.3|OTTMUST00000051280.2|Lactb2-001|Lactb2|4494|UTR5:1-96|CDS:97-963|UTR3:964-4494|3.9405994.778224
ENSMUST00000041447.4|ENSMUSG00000032769.4|OTTMUSG00000049207.1|OTTMUST00000125545.1|Trpa1-001|Trpa1|4263|UTR5:1-27|CDS:28-3405|UTR3:3406-4263|0.0000002.086301
ENSMUST00000188371.6|ENSMUSG00000025925.14|OTTMUSG00000047984.2|OTTMUST00000123359.2|Terf1-001|Terf1|2268|UTR5:1-32|CDS:33-1298|UTR3:1299-2268|0.5358475.333087
ENSMUST00000115367.7|ENSMUSG00000067795.13|OTTMUSG00000022165.2|OTTMUST00000052635.1|4930444P10Rik-003|4930444P10Rik|868|UTR5:1-163|CDS:164-721|UTR3:722-868|3.5914044.592032
ENSMUST00000058437.13|ENSMUSG00000043716.13|OTTMUSG00000016936.3|OTTMUST00000041073.2|Rpl7-001|Rpl7|1163|UTR5:1-284|CDS:285-1097|UTR3:1098-1163|9.5577499.656554
ENSMUST00000149566.1|ENSMUSG00000043716.13|OTTMUSG00000016936.3|OTTMUST00000041075.2|Rpl7-003|Rpl7|838|CDS:1-838|8.0276357.302383
.........
ENSMUST00000112172.3|ENSMUSG00000049775.16|OTTMUSG00000019572.3|OTTMUST00000046738.1|Tmsb4x-001|Tmsb4x|768|UTR5:1-225|CDS:226-360|UTR3:361-768|13.76828814.830347
ENSMUST00000112176.7|ENSMUSG00000049775.16|OTTMUSG00000019572.3|OTTMUST00000046739.2|Tmsb4x-002|Tmsb4x|698|UTR5:1-139|CDS:140-292|UTR3:293-698|4.3587346.675759
ENSMUST00000112175.1|ENSMUSG00000049775.16|OTTMUSG00000019572.3|OTTMUST00000046740.1|Tmsb4x-003|Tmsb4x|864|UTR5:1-502|CDS:503-655|UTR3:656-864|0.6531298.543295
ENSMUST00000112137.1|ENSMUSG00000031358.17|OTTMUSG00000019558.2|OTTMUST00000046702.2|Msl3-002|Msl3|2316|UTR5:1-163|CDS:164-1564|UTR3:1565-2316|0.0943841.071969
ENSMUST00000112129.7|ENSMUSG00000031355.16|OTTMUSG00000019560.4|OTTMUST00000046950.1|Arhgap6-006|Arhgap6|2487|UTR5:1-211|CDS:212-1369|UTR3:1370-2487|2.2175632.394953
ENSMUST00000154638.8|ENSMUSG00000031352.10|OTTMUSG00000019596.2|OTTMUST00000046816.2|Hccs-003|Hccs|3310|UTR5:1-239|CDS:240-521|UTR3:522-3310|0.6934461.291150
ENSMUST00000033717.8|ENSMUSG00000031352.10|OTTMUSG00000019596.2|OTTMUST00000046815.1|Hccs-002|Hccs|2320|UTR5:1-207|CDS:208-1026|UTR3:1027-2320|5.2850360.090573
ENSMUST00000115894.2|ENSMUSG00000069053.11|OTTMUSG00000045273.1|-|Uba1y-201|Uba1y|3981|UTR5:1-102|CDS:103-3279|UTR3:3280-3981|2.2656623.909082
ENSMUST00000189069.6|ENSMUSG00000056673.14|OTTMUSG00000045277.1|OTTMUST00000118912.1|Kdm5d-004|Kdm5d|2177|UTR5:1-178|CDS:179-1609|UTR3:1610-2177|0.0000001.415645
ENSMUST00000055032.13|ENSMUSG00000056673.14|OTTMUSG00000045277.1|OTTMUST00000118913.1|Kdm5d-001|Kdm5d|7974|UTR5:1-176|CDS:177-4823|UTR3:4824-7974|3.0096523.433922
ENSMUST00000186726.6|ENSMUSG00000056673.14|OTTMUSG00000045277.1|OTTMUST00000118916.1|Kdm5d-002|Kdm5d|5916|UTR5:1-128|CDS:129-944|UTR3:945-5916|1.7155682.865436
ENSMUST00000143958.7|ENSMUSG00000068457.14|OTTMUSG00000032814.5|OTTMUST00000081730.2|Uty-002|Uty|2903|UTR5:1-126|CDS:127-363|UTR3:364-2903|1.1691300.000000
ENSMUST00000091190.11|ENSMUSG00000069045.11|OTTMUSG00000045279.1|OTTMUST00000118924.1|Ddx3y-001|Ddx3y|4600|UTR5:1-106|CDS:107-2083|UTR3:2084-4600|0.4201811.121188
ENSMUST00000091178.1|ENSMUSG00000069036.3|OTTMUSG00000045384.2|OTTMUST00000119113.2|Sry-001|Sry|1188|CDS:1-1188|2.3055091.958223
ENSMUST00000190391.1|ENSMUSG00000096706.2|OTTMUSG00000045647.2|OTTMUST00000119534.2|Gm21854-001|Gm21854|1480|UTR5:1-662|CDS:663-1361|UTR3:1362-1480|1.3864470.904086
ENSMUST00000185926.1|ENSMUSG00000096036.2|OTTMUSG00000045661.2|OTTMUST00000119556.2|Gm21778-001|Gm21778|1482|UTR5:1-660|CDS:661-1359|UTR3:1360-1482|3.4110560.000000
ENSMUST00000189201.1|ENSMUSG00000094484.2|OTTMUSG00000045867.2|OTTMUST00000119866.2|Gm21244-001|Gm21244|3115|UTR5:1-405|CDS:406-1089|UTR3:1090-3115|6.1084437.190151
ENSMUST00000082392.1|ENSMUSG00000064341.1|-|-|mt-Nd1-201|mt-Nd1|957|CDS:1-957|10.38611012.218548
ENSMUST00000082396.1|ENSMUSG00000064345.1|-|-|mt-Nd2-201|mt-Nd2|1038|CDS:1-1038|9.12867211.083306
ENSMUST00000082402.1|ENSMUSG00000064351.1|-|-|mt-Co1-201|mt-Co1|1545|CDS:1-1545|14.11068713.061822
ENSMUST00000082405.1|ENSMUSG00000064354.1|-|-|mt-Co2-201|mt-Co2|684|CDS:1-684|13.67325413.407600
ENSMUST00000082407.1|ENSMUSG00000064356.3|-|-|mt-Atp8-201|mt-Atp8|204|CDS:1-204|13.96062614.381415
ENSMUST00000082408.1|ENSMUSG00000064357.1|-|-|mt-Atp6-201|mt-Atp6|681|CDS:1-681|13.43556613.835251
ENSMUST00000082409.1|ENSMUSG00000064358.1|-|-|mt-Co3-201|mt-Co3|784|CDS:1-784|13.36691013.871424
ENSMUST00000082411.1|ENSMUSG00000064360.1|-|-|mt-Nd3-201|mt-Nd3|348|CDS:1-348|10.29168910.614544
ENSMUST00000084013.1|ENSMUSG00000065947.3|-|-|mt-Nd4l-201|mt-Nd4l|297|CDS:1-297|10.23593011.969117
ENSMUST00000082414.1|ENSMUSG00000064363.1|-|-|mt-Nd4-201|mt-Nd4|1378|CDS:1-1378|10.38015811.326160
ENSMUST00000082418.1|ENSMUSG00000064367.1|-|-|mt-Nd5-201|mt-Nd5|1824|CDS:1-1824|9.93843610.430975
ENSMUST00000082419.1|ENSMUSG00000064368.1|-|-|mt-Nd6-201|mt-Nd6|519|CDS:1-519|9.17278310.414791
ENSMUST00000082421.1|ENSMUSG00000064370.1|-|-|mt-Cytb-201|mt-Cytb|1144|CDS:1-1144|12.19256412.669727
\n", + "

9383 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " s10 s13\n", + "target_id \n", + "ENSMUST00000146665.2|ENSMUSG00000033845.13|OTTM... 0.000000 3.952259\n", + "ENSMUST00000134384.7|ENSMUSG00000025903.14|OTTM... 0.278669 2.769812\n", + "ENSMUST00000027036.10|ENSMUSG00000025903.14|OTT... 3.174784 2.992448\n", + "ENSMUST00000081551.13|ENSMUSG00000033813.15|OTT... 6.947351 1.058026\n", + "ENSMUST00000002533.14|ENSMUSG00000002459.17|OTT... 2.795065 4.141637\n", + "ENSMUST00000192847.5|ENSMUSG00000033793.12|OTTM... 1.774490 0.000000\n", + "ENSMUST00000159906.7|ENSMUSG00000025907.14|OTTM... 0.000000 7.568701\n", + "ENSMUST00000088658.10|ENSMUSG00000025912.16|OTT... 0.775518 1.389170\n", + "ENSMUST00000052843.11|ENSMUSG00000046101.16|OTT... 2.036728 0.237117\n", + "ENSMUST00000118098.2|ENSMUSG00000046101.16|OTTM... 0.234414 2.070753\n", + "ENSMUST00000183059.1|ENSMUSG00000046101.16|OTTM... 7.079271 8.468359\n", + "ENSMUST00000027050.9|ENSMUSG00000025917.9|OTTMU... 6.723326 0.000000\n", + "ENSMUST00000186528.6|ENSMUSG00000025917.9|OTTMU... 4.856129 0.246389\n", + "ENSMUST00000191012.6|ENSMUSG00000056763.16|OTTM... 4.375331 0.000000\n", + "ENSMUST00000122156.7|ENSMUSG00000056763.16|OTTM... 3.466614 0.000000\n", + "ENSMUST00000155974.7|ENSMUSG00000056763.16|OTTM... 3.035826 0.000000\n", + "ENSMUST00000188449.6|ENSMUSG00000056763.16|OTTM... 6.619077 0.000000\n", + "ENSMUST00000088615.10|ENSMUSG00000067851.11|OTT... 6.223523 2.219540\n", + "ENSMUST00000027056.11|ENSMUSG00000048960.13|OTT... 1.736847 0.056283\n", + "ENSMUST00000188154.1|ENSMUSG00000048960.13|OTTM... 1.547519 5.895499\n", + "ENSMUST00000171690.8|ENSMUSG00000057715.13|OTTM... 1.597393 2.705801\n", + "ENSMUST00000188454.6|ENSMUSG00000025938.16|OTTM... 0.056284 3.506221\n", + "ENSMUST00000136197.7|ENSMUSG00000025938.16|OTTM... 0.027134 6.674800\n", + "ENSMUST00000027068.10|ENSMUSG00000025935.10|OTT... 5.431071 0.201256\n", + "ENSMUST00000027071.6|ENSMUSG00000025937.6|OTTMU... 3.940599 4.778224\n", + "ENSMUST00000041447.4|ENSMUSG00000032769.4|OTTMU... 0.000000 2.086301\n", + "ENSMUST00000188371.6|ENSMUSG00000025925.14|OTTM... 0.535847 5.333087\n", + "ENSMUST00000115367.7|ENSMUSG00000067795.13|OTTM... 3.591404 4.592032\n", + "ENSMUST00000058437.13|ENSMUSG00000043716.13|OTT... 9.557749 9.656554\n", + "ENSMUST00000149566.1|ENSMUSG00000043716.13|OTTM... 8.027635 7.302383\n", + "... ... ...\n", + "ENSMUST00000112172.3|ENSMUSG00000049775.16|OTTM... 13.768288 14.830347\n", + "ENSMUST00000112176.7|ENSMUSG00000049775.16|OTTM... 4.358734 6.675759\n", + "ENSMUST00000112175.1|ENSMUSG00000049775.16|OTTM... 0.653129 8.543295\n", + "ENSMUST00000112137.1|ENSMUSG00000031358.17|OTTM... 0.094384 1.071969\n", + "ENSMUST00000112129.7|ENSMUSG00000031355.16|OTTM... 2.217563 2.394953\n", + "ENSMUST00000154638.8|ENSMUSG00000031352.10|OTTM... 0.693446 1.291150\n", + "ENSMUST00000033717.8|ENSMUSG00000031352.10|OTTM... 5.285036 0.090573\n", + "ENSMUST00000115894.2|ENSMUSG00000069053.11|OTTM... 2.265662 3.909082\n", + "ENSMUST00000189069.6|ENSMUSG00000056673.14|OTTM... 0.000000 1.415645\n", + "ENSMUST00000055032.13|ENSMUSG00000056673.14|OTT... 3.009652 3.433922\n", + "ENSMUST00000186726.6|ENSMUSG00000056673.14|OTTM... 1.715568 2.865436\n", + "ENSMUST00000143958.7|ENSMUSG00000068457.14|OTTM... 1.169130 0.000000\n", + "ENSMUST00000091190.11|ENSMUSG00000069045.11|OTT... 0.420181 1.121188\n", + "ENSMUST00000091178.1|ENSMUSG00000069036.3|OTTMU... 2.305509 1.958223\n", + "ENSMUST00000190391.1|ENSMUSG00000096706.2|OTTMU... 1.386447 0.904086\n", + "ENSMUST00000185926.1|ENSMUSG00000096036.2|OTTMU... 3.411056 0.000000\n", + "ENSMUST00000189201.1|ENSMUSG00000094484.2|OTTMU... 6.108443 7.190151\n", + "ENSMUST00000082392.1|ENSMUSG00000064341.1|-|-|m... 10.386110 12.218548\n", + "ENSMUST00000082396.1|ENSMUSG00000064345.1|-|-|m... 9.128672 11.083306\n", + "ENSMUST00000082402.1|ENSMUSG00000064351.1|-|-|m... 14.110687 13.061822\n", + "ENSMUST00000082405.1|ENSMUSG00000064354.1|-|-|m... 13.673254 13.407600\n", + "ENSMUST00000082407.1|ENSMUSG00000064356.3|-|-|m... 13.960626 14.381415\n", + "ENSMUST00000082408.1|ENSMUSG00000064357.1|-|-|m... 13.435566 13.835251\n", + "ENSMUST00000082409.1|ENSMUSG00000064358.1|-|-|m... 13.366910 13.871424\n", + "ENSMUST00000082411.1|ENSMUSG00000064360.1|-|-|m... 10.291689 10.614544\n", + "ENSMUST00000084013.1|ENSMUSG00000065947.3|-|-|m... 10.235930 11.969117\n", + "ENSMUST00000082414.1|ENSMUSG00000064363.1|-|-|m... 10.380158 11.326160\n", + "ENSMUST00000082418.1|ENSMUSG00000064367.1|-|-|m... 9.938436 10.430975\n", + "ENSMUST00000082419.1|ENSMUSG00000064368.1|-|-|m... 9.172783 10.414791\n", + "ENSMUST00000082421.1|ENSMUSG00000064370.1|-|-|m... 12.192564 12.669727\n", + "\n", + "[9383 rows x 2 columns]" + ] + }, + "execution_count": 178, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "expressed_genes = (kallisto_log2_tpm > 1).sum(axis=1) >= 1\n", "kallisto_log2_tpm.loc[expressed_genes]" @@ -834,7 +2644,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 179, "metadata": { "collapsed": false, "deletable": false, @@ -846,7 +2656,76 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(9383, 2)\n" + ] + }, + { + "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", + "
s10s13
target_id
ENSMUST00000146665.2|ENSMUSG00000033845.13|OTTMUSG00000029329.3|OTTMUST00000072662.2|Mrpl15-004|Mrpl15|1569|UTR5:1-62|CDS:63-569|UTR3:570-1569|0.0000003.952259
ENSMUST00000134384.7|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051163.2|Lypla1-002|Lypla1|1136|UTR5:1-126|CDS:127-801|UTR3:802-1136|0.2786692.769812
ENSMUST00000027036.10|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051162.1|Lypla1-001|Lypla1|2507|UTR5:1-91|CDS:92-784|UTR3:785-2507|3.1747842.992448
ENSMUST00000081551.13|ENSMUSG00000033813.15|OTTMUSG00000042348.1|OTTMUST00000111602.1|Tcea1-001|Tcea1|2547|UTR5:1-100|CDS:101-1006|UTR3:1007-2547|6.9473511.058026
ENSMUST00000002533.14|ENSMUSG00000002459.17|OTTMUSG00000029338.4|OTTMUST00000072687.1|Rgs20-002|Rgs20|1778|UTR5:1-160|CDS:161-880|UTR3:881-1778|2.7950654.141637
\n", + "
" + ], + "text/plain": [ + " s10 s13\n", + "target_id \n", + "ENSMUST00000146665.2|ENSMUSG00000033845.13|OTTM... 0.000000 3.952259\n", + "ENSMUST00000134384.7|ENSMUSG00000025903.14|OTTM... 0.278669 2.769812\n", + "ENSMUST00000027036.10|ENSMUSG00000025903.14|OTT... 3.174784 2.992448\n", + "ENSMUST00000081551.13|ENSMUSG00000033813.15|OTT... 6.947351 1.058026\n", + "ENSMUST00000002533.14|ENSMUSG00000002459.17|OTT... 2.795065 4.141637" + ] + }, + "execution_count": 179, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "kallisto_log2_tpm_expressed = kallisto_log2_tpm.loc[expressed_genes]\n", "print(kallisto_log2_tpm_expressed.shape)\n", @@ -871,7 +2750,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 180, "metadata": { "collapsed": false, "deletable": false, @@ -883,7 +2762,36 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ucsd-train20/anaconda3/lib/python3.5/site-packages/matplotlib/__init__.py:892: UserWarning: axes.color_cycle is deprecated and replaced with axes.prop_cycle; please use the latter.\n", + " warnings.warn(self.msg_depr % (key, alt_key))\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 180, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nRUXo7+9HbW0tJk2aBKvViuzsbPT19WHTpk0eT9gnT57EhRdeiAsvvBD79+9HTU0NLr30Uvz1r3/F\n8uXLcfbsWXz99dd46KGHUF1dHdSxBzKSmD59Ok6cOIH6+nqMHj0aH330EdasWeN2v2uvvRZvv/02\nlixZgsrKSqSnpyum7uRB6nT8+HFMmDABALB161ZMnDgRgCMYHnroIbz++utuj7HZbNiyZQuWLFmC\nTZs2SaPCcL+/hoYG3H///XjuueeQn5/v9n2190eBYygRBclsNuPtt9/Gww8/jEmTJuH2229HcnIy\n1q5di6effhodHR0YGBjAHXfcgUmTJuH+++/Hd7/7XWRlZWHGjBno7OxUfd433ngDX375JZKSkjBp\n0iSUlJQgOTkZlZWVuPnmm6HT6fDf//3fyMrKcgsl+ahBbQQRDL1ej1WrVklTkt/5znekIoD169dD\np9Phe9/7Hq688krs2LED1113HVJTU/HrX/9aeo6f/exn+PLLL3H27FlcddVVuO+++3DLLbfgN7/5\nDWpqapCUlIRx48bhiSeeAACcPn0aBoP66Sk1NRX79+/HunXrkJWVhd/+9rcReX9//OMf0dbWhiee\neMJRJWYw4N133/X6/ihwunhId+d+I9u2bcP48eOjfTiUAOrr6/GTn/wEmzZtivahxKW3334b48aN\nw9VXX+32vUsuuQTffPNNFI4qLHx+cojj81vUN/kjIvKLsypRTahGgKRN7OhAFIS8vDyOkqJkz549\n0T4ECiOGEhERaQZDiYiINIOhREREmsFQIiIizWAoERGRZjCUiIhIMxhKRESkGQwlIiLSDHZ0ICJV\nvX02bN11AgCwcE4+jMn6KB8RJQKGEhG56e2zYfXLO3GguhUA8HllPZ5YMZ/BRGHH6TsicrN11wkp\nkADgQHWrNGoiCieGEhERaQZDiYjcLJyTj2mFWdLX0wqzsHCO+8Z2RKHGa0pE5MaYrMcTK+az0IEi\njqFERKqMyXosKTZH+zAowXD6joiINIOhREREmsFQIiIizWAoERGRZjCUiIhIMxhKRESkGQwlIiLS\nDIYSERFpBkOJiIg0g6FERESawVAiIiLNYCgREZFmMJSIiEgzGEpERKQZDCUiItIMhhIREWkGQ4mI\niDSDoURERJrBUCIiIs1gKBERkWYwlIiISDMYSkREpBmGSLyIIAivArgJQLMoijMGb1sNYAWAU4N3\n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\nKEmSqvEOma+z+a1O5ssAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "sns.jointplot('s10', 's13', kallisto_log2_tpm_expressed)" ] @@ -906,7 +2814,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 181, "metadata": { "collapsed": false, "deletable": false, @@ -918,14 +2826,46 @@ "solution": true } }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ucsd-train20/anaconda3/lib/python3.5/site-packages/matplotlib/__init__.py:892: UserWarning: axes.color_cycle is deprecated and replaced with axes.prop_cycle; please use the latter.\n", + " warnings.warn(self.msg_depr % (key, alt_key))\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 181, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n2vDLX/4S58+fh8ViwQMPPICFCxdi7ty5WLhwIYqLi5GUlITXXnsNI0aMgMlkwrPPPova2loAwJNP\nPonrrrsOhw4dwosvvojOzk4kJibi97//PXJycrBx40Z8/vnnMJvNsFqteOihh/D666+jf//++OGH\nH7BgwQJcc801+OCDD9DR0YE333wTI0aMwFdffYW1a9eiu7sbAwcOxKuvvoq0tDS88cYbqKmpwblz\n5+TRyV133YXq6mosX74ckyZNwrFjx/DWW28hKysrID+jL7/8Eh9++CEA4Mc//jHuuusu/OpXv1Lc\nZ/DgwRg8eDAAIDk5GXl5ebhw4QLy8vKQnJys+HnHxdkmYi5cuICnn34a69atc3nN6667DnfccQe+\n+eYbDB48GKtXr8agQYMC8n5KSkqQnZ0t/3zOnTuH5557DpcuXUJSUhJeeOEF5Obmujzu2muvVX2+\noUOHAgB0OmV3HIPhymm0vb09IMce09ylVST9ieJPEhQg27Ztk55++mn56+bmZkmSJGnOnDnSunXr\nJEmSpI0bN0orV66UJEmSHn30UWn//v2SJElSTU2NtHDhQkmSbKMBi8UiSZIklZSUSA899JAkSZL0\n97//XZo1a5bU1NQkSZIkffvtt9KUKVOk+vp6qaOjQ7rpppuk119/XZIkSXr//felF198UZIkSb6/\nJEnS3/72N+mll16SJEmSXn/9denOO++Uurq6JJPJJE2dOlXq7u6WqqqqpLFjx0oHDx5UfZ8vvvii\ntGzZMpc/9hGQJ1OmTPH4tbNz585Jc+bMUYyQVq9eLc2aNUtavHixZDKZvL6mIAjSp59+KkmSJL3x\nxhvS888/73KfTz75RFq6dKnLe3r44Yc9PvcTTzwhffjhh/LXP//5z6UzZ85IkmQbDd19990eH+88\nUrJ7/PHHFSMlSZKk2tpaqaioSMrPz5c++ugjj8/rJJbPbxwpUey65ppr8PLLL+O1117DrFmzcMMN\nN8jfW7RoEQBg8eLFeOmllwAAe/bswenTpyFJtsb1ZrMZbW1taG5uxmOPPYYzZ84AACwWi/w8BQUF\n6N+/v/z1xIkTkZ6eDgDIzs7GjBkz5GPZu3cvAKC2tha//OUvceHCBXR3d2P48OHy42fPng2DwYBB\ngwYhIyMD9fX1AGyf2N19mn/iiSf68FNSch4ROGptbcXDDz+MJ598UjFCeuSRR/DII4/grbfewocf\n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\nZzwCCC9uw/2pXMsAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "# YOUR CODE HERE" + "# YOUR CODE HERE\n", + "from scipy.stats import spearmanr\n", + "\n", + "sns.jointplot('s10', 's13', kallisto_log2_tpm_expressed, stat_func=spearmanr)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 182, "metadata": { "collapsed": false, "deletable": false, @@ -961,7 +2901,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 183, "metadata": { "collapsed": false, "deletable": false, @@ -973,11 +2913,100 @@ "solution": false } }, - "outputs": [], - "source": [ - "s10_featurecounts = pd.read_table('s10_featureCounts.txt')\n", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(46984, 1)\n" + ] + }, + { + "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", + "
# Program:featureCounts v1.5.0; Command:\"featureCounts\" \"-T\" \"8\" \"-s\" \"-B\" \"--primary\" \"-a\" \"/projects/ps-yeolab/biom262-2016/genomes/mm10/gencode/m8/gencode.vM8.basic.annotation.gtf\" \"-o\" \"/home/ucsd-train20/projects/shalek2013/processed_data/S10_featureCounts.txt\" \"/home/ucsd-train20/projects/shalek2013/processed_data/S10.Aligned.out.sorted.bam\"
GeneidChrStartEndStrandLength/home/ucsd-train20/projects/shalek2013/process...
ENSMUSG00000102693.1chr130732533074322+10700
ENSMUSG00000064842.1chr131020163102125+110980
ENSMUSG00000051951.5chr1;chr1;chr13214482;3421702;36705523216968;3421901;3671498-;-;-36340
ENSMUSG00000102851.1chr132527573253236+4800
\n", + "
" + ], + "text/plain": [ + " # Program:featureCounts v1.5.0; Command:\"featureCounts\" \"-T\" \"8\" \"-s\" \"-B\" \"--primary\" \"-a\" \"/projects/ps-yeolab/biom262-2016/genomes/mm10/gencode/m8/gencode.vM8.basic.annotation.gtf\" \"-o\" \"/home/ucsd-train20/projects/shalek2013/processed_data/S10_featureCounts.txt\" \"/home/ucsd-train20/projects/shalek2013/processed_data/S10.Aligned.out.sorted.bam\" \n", + "Geneid Chr Start End Strand Length /home/ucsd-train20/projects/shalek2013/process... \n", + "ENSMUSG00000102693.1 chr1 3073253 3074322 + 1070 0 \n", + "ENSMUSG00000064842.1 chr1 3102016 3102125 + 110 980 \n", + "ENSMUSG00000051951.5 chr1;chr1;chr1 3214482;3421702;3670552 3216968;3421901;3671498 -;-;- 3634 0 \n", + "ENSMUSG00000102851.1 chr1 3252757 3253236 + 480 0 " + ] + }, + "execution_count": 183, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "s10_featurecounts = pd.read_table('/home/ucsd-train20/projects/shalek2013/processed_data/S10_featureCounts.txt')\n", + "\n", "print(s10_featurecounts.shape)\n", - "s10_featurecounts.head()" + "s10_featurecounts.head()\n", + "\n" ] }, { @@ -1001,7 +3030,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 184, "metadata": { "collapsed": false, "deletable": false, @@ -1013,16 +3042,130 @@ "solution": true } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(46983, 6)\n" + ] + }, + { + "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", + "
ChrStartEndStrandLength/home/ucsd-train20/projects/shalek2013/processed_data/S10.Aligned.out.sorted.bam
Geneid
ENSMUSG00000102693.1chr130732533074322+10700
ENSMUSG00000064842.1chr131020163102125+110980
ENSMUSG00000051951.5chr1;chr1;chr13214482;3421702;36705523216968;3421901;3671498-;-;-36340
ENSMUSG00000102851.1chr132527573253236+4800
ENSMUSG00000103377.1chr133657313368549-28190
\n", + "
" + ], + "text/plain": [ + " Chr Start \\\n", + "Geneid \n", + "ENSMUSG00000102693.1 chr1 3073253 \n", + "ENSMUSG00000064842.1 chr1 3102016 \n", + "ENSMUSG00000051951.5 chr1;chr1;chr1 3214482;3421702;3670552 \n", + "ENSMUSG00000102851.1 chr1 3252757 \n", + "ENSMUSG00000103377.1 chr1 3365731 \n", + "\n", + " End Strand Length \\\n", + "Geneid \n", + "ENSMUSG00000102693.1 3074322 + 1070 \n", + "ENSMUSG00000064842.1 3102125 + 110 \n", + "ENSMUSG00000051951.5 3216968;3421901;3671498 -;-;- 3634 \n", + "ENSMUSG00000102851.1 3253236 + 480 \n", + "ENSMUSG00000103377.1 3368549 - 2819 \n", + "\n", + " /home/ucsd-train20/projects/shalek2013/processed_data/S10.Aligned.out.sorted.bam \n", + "Geneid \n", + "ENSMUSG00000102693.1 0 \n", + "ENSMUSG00000064842.1 980 \n", + "ENSMUSG00000051951.5 0 \n", + "ENSMUSG00000102851.1 0 \n", + "ENSMUSG00000103377.1 0 " + ] + }, + "execution_count": 184, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# YOUR CODE HERE\n", + "s10_featurecounts = pd.read_table('/home/ucsd-train20/projects/shalek2013/processed_data/S10_featureCounts.txt',skiprows=1,index_col=0)\n", "print(s10_featurecounts.shape)\n", "s10_featurecounts.head()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 185, "metadata": { "collapsed": false, "deletable": false, @@ -1038,6 +3181,7 @@ "outputs": [], "source": [ "assert s10_featurecounts.shape == (46983, 6)\n", + "\n", "assert (s10_featurecounts.columns[:-1] == pd.Index(['Chr', 'Start', 'End', 'Strand', 'Length'],\n", " dtype='object')).all()" ] @@ -1065,7 +3209,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 186, "metadata": { "collapsed": false, "deletable": false, @@ -1077,7 +3221,24 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Chr object\n", + "Start object\n", + "End object\n", + "Strand object\n", + "Length int64\n", + "/home/ucsd-train20/projects/shalek2013/processed_data/S10.Aligned.out.sorted.bam int64\n", + "dtype: object" + ] + }, + "execution_count": 186, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "s10_featurecounts.dtypes" ] @@ -1100,7 +3261,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 188, "metadata": { "collapsed": false, "deletable": false, @@ -1113,9 +3274,30 @@ }, "scrolled": true }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 188, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "sns.distplot(s10_featurecounts['/home/ucsd-train01/projects/shalek2013/processed_data/S10.Aligned.out.sorted.bam'])" + "sns.distplot(s10_featurecounts['/home/ucsd-train20/projects/shalek2013/processed_data/S10.Aligned.out.sorted.bam'])" ] }, { @@ -1136,7 +3318,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 189, "metadata": { "collapsed": false, "deletable": false, @@ -1148,7 +3330,18 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "90730267" + ] + }, + "execution_count": 189, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "s10_featurecounts['Length'].sum()" ] @@ -1173,7 +3366,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 190, "metadata": { "collapsed": false, "deletable": false, @@ -1185,9 +3378,130 @@ "solution": false } }, - "outputs": [], - "source": [ - "reads = s10_featurecounts['/home/ucsd-train01/projects/shalek2013/processed_data/S10.Aligned.out.sorted.bam']\n", + "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", + "
ChrStartEndStrandLength/home/ucsd-train20/projects/shalek2013/processed_data/S10.Aligned.out.sorted.bamnew_column
Geneid
ENSMUSG00000102693.1chr130732533074322+107000.00
ENSMUSG00000064842.1chr131020163102125+11098044457830.83
ENSMUSG00000051951.5chr1;chr1;chr13214482;3421702;36705523216968;3421901;3671498-;-;-363400.00
ENSMUSG00000102851.1chr132527573253236+48000.00
ENSMUSG00000103377.1chr133657313368549-281900.00
\n", + "
" + ], + "text/plain": [ + " Chr Start \\\n", + "Geneid \n", + "ENSMUSG00000102693.1 chr1 3073253 \n", + "ENSMUSG00000064842.1 chr1 3102016 \n", + "ENSMUSG00000051951.5 chr1;chr1;chr1 3214482;3421702;3670552 \n", + "ENSMUSG00000102851.1 chr1 3252757 \n", + "ENSMUSG00000103377.1 chr1 3365731 \n", + "\n", + " End Strand Length \\\n", + "Geneid \n", + "ENSMUSG00000102693.1 3074322 + 1070 \n", + "ENSMUSG00000064842.1 3102125 + 110 \n", + "ENSMUSG00000051951.5 3216968;3421901;3671498 -;-;- 3634 \n", + "ENSMUSG00000102851.1 3253236 + 480 \n", + "ENSMUSG00000103377.1 3368549 - 2819 \n", + "\n", + " /home/ucsd-train20/projects/shalek2013/processed_data/S10.Aligned.out.sorted.bam \\\n", + "Geneid \n", + "ENSMUSG00000102693.1 0 \n", + "ENSMUSG00000064842.1 980 \n", + "ENSMUSG00000051951.5 0 \n", + "ENSMUSG00000102851.1 0 \n", + "ENSMUSG00000103377.1 0 \n", + "\n", + " new_column \n", + "Geneid \n", + "ENSMUSG00000102693.1 0.00 \n", + "ENSMUSG00000064842.1 44457830.83 \n", + "ENSMUSG00000051951.5 0.00 \n", + "ENSMUSG00000102851.1 0.00 \n", + "ENSMUSG00000103377.1 0.00 " + ] + }, + "execution_count": 190, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "reads = s10_featurecounts['/home/ucsd-train20/projects/shalek2013/processed_data/S10.Aligned.out.sorted.bam']\n", "\n", "s10_featurecounts['new_column'] = (s10_featurecounts['Length'].sum() * reads)/2e3\n", "s10_featurecounts.head()" @@ -1215,7 +3529,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 191, "metadata": { "collapsed": false, "deletable": false, @@ -1227,18 +3541,146 @@ "solution": true } }, - "outputs": [], - "source": [ - "reads = s10_featurecounts['/home/ucsd-train01/projects/shalek2013/processed_data/S10.Aligned.out.sorted.bam']\n", + "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", + "
ChrStartEndStrandLength/home/ucsd-train20/projects/shalek2013/processed_data/S10.Aligned.out.sorted.bamnew_columnfpkm
Geneid
ENSMUSG00000102693.1chr130732533074322+107000.000.000000
ENSMUSG00000064842.1chr131020163102125+11098044457830.83151.953838
ENSMUSG00000051951.5chr1;chr1;chr13214482;3421702;36705523216968;3421901;3671498-;-;-363400.000.000000
ENSMUSG00000102851.1chr132527573253236+48000.000.000000
ENSMUSG00000103377.1chr133657313368549-281900.000.000000
\n", + "
" + ], + "text/plain": [ + " Chr Start \\\n", + "Geneid \n", + "ENSMUSG00000102693.1 chr1 3073253 \n", + "ENSMUSG00000064842.1 chr1 3102016 \n", + "ENSMUSG00000051951.5 chr1;chr1;chr1 3214482;3421702;3670552 \n", + "ENSMUSG00000102851.1 chr1 3252757 \n", + "ENSMUSG00000103377.1 chr1 3365731 \n", + "\n", + " End Strand Length \\\n", + "Geneid \n", + "ENSMUSG00000102693.1 3074322 + 1070 \n", + "ENSMUSG00000064842.1 3102125 + 110 \n", + "ENSMUSG00000051951.5 3216968;3421901;3671498 -;-;- 3634 \n", + "ENSMUSG00000102851.1 3253236 + 480 \n", + "ENSMUSG00000103377.1 3368549 - 2819 \n", + "\n", + " /home/ucsd-train20/projects/shalek2013/processed_data/S10.Aligned.out.sorted.bam \\\n", + "Geneid \n", + "ENSMUSG00000102693.1 0 \n", + "ENSMUSG00000064842.1 980 \n", + "ENSMUSG00000051951.5 0 \n", + "ENSMUSG00000102851.1 0 \n", + "ENSMUSG00000103377.1 0 \n", + "\n", + " new_column fpkm \n", + "Geneid \n", + "ENSMUSG00000102693.1 0.00 0.000000 \n", + "ENSMUSG00000064842.1 44457830.83 151.953838 \n", + "ENSMUSG00000051951.5 0.00 0.000000 \n", + "ENSMUSG00000102851.1 0.00 0.000000 \n", + "ENSMUSG00000103377.1 0.00 0.000000 " + ] + }, + "execution_count": 191, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "reads = s10_featurecounts['/home/ucsd-train20/projects/shalek2013/processed_data/S10.Aligned.out.sorted.bam']\n", "\n", "# YOUR CODE HERE\n", - "\n", + "s10_featurecounts['fpkm'] = (reads*10e8/((reads.sum()*s10_featurecounts['Length'])))\n", "s10_featurecounts.head()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 192, "metadata": { "collapsed": false, "deletable": false, @@ -1251,9 +3693,21 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "151.9538381109796" + ] + }, + "execution_count": 192, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "assert s10_featurecounts.loc['ENSMUSG00000064842.1', 'fpkm'] == 151.9538381109796" + "assert s10_featurecounts.loc['ENSMUSG00000064842.1', 'fpkm'] == 151.9538381109796\n", + "s10_featurecounts.loc['ENSMUSG00000064842.1', 'fpkm']" ] }, { @@ -1274,7 +3728,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 193, "metadata": { "collapsed": false, "deletable": false, @@ -1286,7 +3740,28 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 193, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n1WHUEgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "sns.distplot(s10_featurecounts['fpkm'])" ] @@ -1313,7 +3788,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 194, "metadata": { "collapsed": false, "deletable": false, @@ -1325,15 +3800,151 @@ "solution": true } }, - "outputs": [], + "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", + "
ChrStartEndStrandLength/home/ucsd-train20/projects/shalek2013/processed_data/S10.Aligned.out.sorted.bamnew_columnfpkmtpm
Geneid
ENSMUSG00000102693.1chr130732533074322+107000.000.0000000.000000
ENSMUSG00000064842.1chr131020163102125+11098044457830.83151.953838260.827361
ENSMUSG00000051951.5chr1;chr1;chr13214482;3421702;36705523216968;3421901;3671498-;-;-363400.000.0000000.000000
ENSMUSG00000102851.1chr132527573253236+48000.000.0000000.000000
ENSMUSG00000103377.1chr133657313368549-281900.000.0000000.000000
\n", + "
" + ], + "text/plain": [ + " Chr Start \\\n", + "Geneid \n", + "ENSMUSG00000102693.1 chr1 3073253 \n", + "ENSMUSG00000064842.1 chr1 3102016 \n", + "ENSMUSG00000051951.5 chr1;chr1;chr1 3214482;3421702;3670552 \n", + "ENSMUSG00000102851.1 chr1 3252757 \n", + "ENSMUSG00000103377.1 chr1 3365731 \n", + "\n", + " End Strand Length \\\n", + "Geneid \n", + "ENSMUSG00000102693.1 3074322 + 1070 \n", + "ENSMUSG00000064842.1 3102125 + 110 \n", + "ENSMUSG00000051951.5 3216968;3421901;3671498 -;-;- 3634 \n", + "ENSMUSG00000102851.1 3253236 + 480 \n", + "ENSMUSG00000103377.1 3368549 - 2819 \n", + "\n", + " /home/ucsd-train20/projects/shalek2013/processed_data/S10.Aligned.out.sorted.bam \\\n", + "Geneid \n", + "ENSMUSG00000102693.1 0 \n", + "ENSMUSG00000064842.1 980 \n", + "ENSMUSG00000051951.5 0 \n", + "ENSMUSG00000102851.1 0 \n", + "ENSMUSG00000103377.1 0 \n", + "\n", + " new_column fpkm tpm \n", + "Geneid \n", + "ENSMUSG00000102693.1 0.00 0.000000 0.000000 \n", + "ENSMUSG00000064842.1 44457830.83 151.953838 260.827361 \n", + "ENSMUSG00000051951.5 0.00 0.000000 0.000000 \n", + "ENSMUSG00000102851.1 0.00 0.000000 0.000000 \n", + "ENSMUSG00000103377.1 0.00 0.000000 0.000000 " + ] + }, + "execution_count": 194, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# YOUR CODE HERE\n", + "s10_featurecounts['tpm'] = 1e6*s10_featurecounts['fpkm']/s10_featurecounts['fpkm'].sum()\n", "s10_featurecounts.head()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 195, "metadata": { "collapsed": false, "deletable": false, @@ -1346,9 +3957,21 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "260.82736102245372" + ] + }, + "execution_count": 195, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "assert s10_featurecounts.loc['ENSMUSG00000064842.1', 'tpm'] == 260.82736102245372" + "assert s10_featurecounts.loc['ENSMUSG00000064842.1', 'tpm'] == 260.82736102245372 \n", + "s10_featurecounts.loc['ENSMUSG00000064842.1', 'tpm']\n" ] }, { @@ -1369,7 +3992,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 196, "metadata": { "collapsed": false, "deletable": false, @@ -1381,7 +4004,28 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 196, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "sns.distplot(s10_featurecounts['tpm'])" ] @@ -1404,7 +4048,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 197, "metadata": { "collapsed": false, "deletable": false, @@ -1416,7 +4060,36 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ucsd-train20/anaconda3/lib/python3.5/site-packages/matplotlib/__init__.py:892: UserWarning: axes.color_cycle is deprecated and replaced with axes.prop_cycle; please use the latter.\n", + " warnings.warn(self.msg_depr % (key, alt_key))\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 197, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAb8AAAGoCAYAAADWwOtRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xu0XWV59/3vJgcgCBqChJIYiCRccihgMKmgRSScjIVA\nldPLEJCDDwUU1LeVYPskqJSDo0IsQ1o1VcD4AGIpoHkxJNRTEQjSWCR4kQcSQoIJkkA4anaS/f6x\nZsLK+bTXXmvv+/sZg8Fa95xzrWuuAfO373vec862jo4OJEkqyXbNLkCSpK5m+EmSimP4SZKKY/hJ\nkopj+EmSimP4SZKK07vZBXQzXhciqTtqa3YBrcaenySpOIafJKk4Dnv2UP/zxFP8/sXXV79fvryd\nw0bsy67939HEqiSpNRh+PdTrb7bT0bf/6vftK99k2bJlTaxIklqHw56SpOIYfpKk4hh+kqTiGH6S\npOIYfpKk4hh+kqTiGH6SpOIYfpKk4hh+kqTiGH6SpOIYfpKk4hh+kqTiGH6SpOIYfpKk4hh+kqTi\nGH6SpOIYfpKk4hh+kqTiGH6SpOIYfpKk4hh+kqTiGH6SpOIYfpKk4hh+kqTiGH6SpOIYfpKk4hh+\nkqTiGH6SpOIYfpKk4hh+kqTiGH6SpOIYfpKk4hh+kqTiGH6SpOIYfpKk4hh+kqTiGH6SpOIYfpKk\n4hh+kqTiGH6SpOIYfpKk4hh+kqTiGH6SpOIYfpKk4hh+kqTiGH6SpOIYfpKk4vRudgHdRUT0nj59\nerPL2Gx/+MMLvNq+4+r3f/rTH5k9ewkvLVncxKqknm/nnXdudgnrGD169N7A/Mxc3uxaWoXht/kG\njx49utk1SNLWmAMMBeY2uY6WYfhtvvnVv4c2tYots+o/+O7AWhvDWhujO9UKtXrnb3KtgrR1dHQ0\nu4ZuIyI6MrOt2XVsru5Ur7U2hrU2RneqFbpfvV3BCS+SpOIYfpKk4hh+kqTidMmEl4iYBPwVsCgz\nD6ra+gO3A3tRm4F0amYurZaNA84FlgOXZubUqn0E8F1gB2BKZl5WtfcFbgEOBV4ETsvMedWys4Ev\nAh3AVZl5yzbsypXbsG0zdKd6rbUxrLUxulOt0P3qbbgumfASER8EXgNuqQu/a4HFmXldRHwB6J+Z\nl0fE/sBkYCQwGJgGDM/Mjoh4GLgkM2dExBRgYmb+JCL+BvjzzLwoIk4DTs7M06uAfRQYAbQBvwZG\nrApZSVKZumTYMzN/Cby0VvNY4Obq9c3ASdXrE4HbMnN5Zs4FZgOjImIPYOfMnFGtd0vdNvWfdSdw\nVPX6OGBqZi7NzJeBqcDxnbZjkqRuqZnn/HbPzEUAmbkQ2L1qHwQ8V7fegqptEGtepzK/altjm8xc\nASyNiF038lmSpIK10kXunTn+2unXs0REb2rDsN4iSFKPU9oxrpnhtygiBmbmompI84WqfQHwrrr1\nBldtG2qv3+b5iOgF7JKZSyJiAXDkWtv856YKi4gJwPj1LetO9/eUpMoaHYKCjnEb7Ah1Zfi1rVXI\nPcA5wLXA2cDdde2TI+J6akOUw4BHqgkvSyNiFDADOAv4et02ZwMPA6cAD1TtPwGuioi3UxviPQa4\nfFOFZuYEYEJ9W0TsTe0WQZLUrXmM67pLHb5PrQc2ICLmUfuL4xrgBxFxLvAscCpAZs6KiDuAWUA7\ncFFmrhoSvZg1L3W4r2qfBNwaEbOBxcDp1We9FBFfpjbjswO4spr4IkkqmPf23Eyr/iqaPn06gwcP\nbnY5krQlNjkPooce4za4397hRZJUHMNPklQcw0+SVBzDT5JUHMNPklQcw0+SNuGKK67g8MMP54QT\nTmhqHV/5ylc49thjGTt2LE8++WRTa+nuDD9JLWPFihUN+dyVK1du0/Z//dd/zaRJkzqpmq3zs5/9\njHnz5jF16lS+9KUvMX78em/Qos3USvf2lNRNLFiwgPPPP58DDjiAWbNmMXz4cK677jq23357nnji\nCa655hreeOMN+vfvzzXXXMNuu+3GD37wA26//XaWL1/OkCFD+OpXv8r222/PuHHj6Nu3L08++SSH\nHnooRx11FFdddRVtbW20tbXxve99j379+nHttdfyy1/+kra2Ni688ELGjBnDI488wj//8z/Tv39/\nZs+ezYEHHshXv/pVAI466ijGjBnDgw8+yPnnn8+YMWO2en/f9773sWDBgnXab7vtNtra2jjttNPW\naL/rrru4//77efXVV3nhhRc44YQTuOSSS7b6+6F227GTTqo9yObggw/m1Vdf5cUXX2S33Xbbps8t\nleEnaavMmTOHq6++mkMOOYQrrriC73//+3ziE5/gy1/+MjfddBP9+/dnypQpfO1rX+Mf//EfOfbY\nYznllFMAuOGGG7jzzjs588wzAVi0aBF33HEHABdeeCHjx4/nve99L2+++SZ9+/Zl6tSpPPXUU9x7\n770sXryYj3/844waNQqA3/3ud/z4xz/mne98J2eccQaPPfYYI0aMAKB///78+7//+zq133vvvUya\nNIm2tjWvgR4yZAgTJ07c7N/g9NNP3+Cyxx9/nB//+Mdsv/32fPzjH+fDH/4wBxxwwBrrfPazn2Xu\n3LnrbHvOOecwduzYNdpeeOEF9thjj9XvBw4cyKJFiwy/rWT4Sdoqe+65J4cccggAJ554It/73vf4\n4Ac/yOzZszn33HPp6Ohg5cqV7L577WllmcnEiRN55ZVXePPNN/ngBz+4+rOOP/6tx2yOGDGCq6++\nmhNOOIFjjz2WgQMH8utf/5qPfvSjAAwYMIBRo0bx+OOPs9NOO3HQQQet/o73vOc9LFiwYHX4bai3\nd8IJJzT8/N0HPvABdtllFwCOOeYYfv3rX68Tftdff31Da9CGGX6SOkVbWxsdHR0MHz6c2267bZ3l\n48aN46abbmLfffflrrvu4pFHHlm9rF+/fqtff+pTn+LDH/4wP/3pTznjjDP49re/vc5n1d+WsU+f\nPqtf9+rVa43zhjvuuON6a13V81vbXnvttUU9v41Zu1e59nuo9fzmzJmzznrr6/ntvvvuLFy4cPX7\nhQsXMnDgwE6ptUSGn6St8vzzz/Ob3/yGgw8+mB/96EcceuihDB06lJdeeomZM2dyyCGHsHz5cubO\nncuwYcN444032G233Whvb+fee+/d4IH7ueeeY/jw4QwfPpzHH3+cOXPm8L73vY/bb7+dk046iZdf\nfplHH32UL3zhCzz99NNbVfvW9PzWdx/kyZMnA6wevq33X//1X7zyyiv07duXadOmcfXVV6+zzpb0\n/EaPHs3kyZMZM2YMM2fOZJdddnHIcxsYfpK2ytChQ5k8eTLjxo1j2LBhnHHGGfTp04eJEyfyla98\nhVdffZWVK1dy1llnMWzYMD7zmc9wyimnMGDAAA466CBef/319X7uzTffzMMPP8x2223HsGHDOOKI\nI+jTpw8zZ85k7NixtLW18Xd/93cMGDBgnfCr712tr6e1tT7/+c/z8MMP8/LLL3PkkUfy6U9/mo99\n7GM888wzHHrooevd5qCDDuKSSy5h0aJFjB07dp0hzy31oQ99iJ/97Gccc8wx7LjjjusNU20+n+qw\nmXroHc+lrbJgwQIuvPBC7r333maX0lQXXnghN954I717r9mPuOuuu3jiiSf4+7//+yZVtg6f6rAW\n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\n8Ovhzv/y3Sxa/9UMAPzDuSN5b+zRdQVJUgsw/HqwEz5/90aXjzvrUEYdsGcXVSOpO1j0wgu0bdc9\nr+9ta9uOPf9s4GatW0z4RcTxwA3UznNOysxrm1xSQ20q+C4Yux+HHzy4i6qR1F38zzOvMv+Vfs0u\nY6u8vvQP/D9jDb/VImI74EZgNPA8MCMi7s7M9V/l3c1tKvj+8uCBnHjEvl1UjaTupG/f7dl++x2a\nXcZWWdZ782/MUcpsz1HA7Mx8NjPbgduAsU2uqSE2FXwD3wF/d9b7u6gaSWpNpYTfIOC5uvfzq7bi\nfPsfemTmS9IWKWLYc0tFxARgfLPr6Gw/vOavml2CpBawsWNcv+1eZ6ftXu3agjrJ9m/f/EgrJfwW\nAEPq3g+u2tYrMycAE+rbImJvYE7nl9Y1jhm5p09okARs/Bg38pBg8OCePxmulGHPGcCwiNgrIvoC\npwP3NLmmhrj3n9Yd1jz+LwbxmdNHNqEaSWpNRfT8MnNFRFwCTOWtSx2ebHJZDbO+AJQkvaWI8API\nzPuAaHYdkqTmK2XYU5Kk1Qw/SVJxDD9JUnEMP0lScQw/SVJxDD9JUnEMP0lScQw/SVJxDD9JUnEM\nP0lScQw/SVJxDD9JUnEMP0lScQw/SVJxDD9JUnEMP0lScQw/SVJxDD9JUnEMP0lScQw/SVJxDD9J\nUnEMP0lScQw/SVJxDD9JUnEMP0lScQw/SVJxDD9JUnEMP0lScQw/SVJxDD9JUnEMP0lScQw/SVJx\nDD9JUnEMP0lScQw/SVJxDD9JUnEMP0lScQw/SVJxDD9JUnEMP0lScQw/SVJxDD9JUnF6N+uLI+I6\n4ATgT8DTwCcz85Vq2TjgXGA5cGlmTq3aRwDfBXYApmTmZVV7X+AW4FDgReC0zJxXLTsb+CLQAVyV\nmbd01T5KklpTM3t+U4EDMvMQYDYwDiAi9gdOBfYDPgJ8IyLaqm1uAs7LzH2BfSPiuKr9PGBJZg4H\nbgCuqz6rP/C/gZHAXwDjI+LtXbFzkqTW1bTwy8xpmbmyevsQMLh6fSJwW2Yuz8y51IJxVETsAeyc\nmTOq9W4BTqpejwVurl7fCRxVvT4OmJqZSzPzZWqBe3yj9kmS1D20yjm/c4Ep1etBwHN1yxZUbYOA\n+XXt86u2NbbJzBXA0ojYdSOfJUkqWEPP+UXE/cDAuqY2aufevpiZ91brfBFoz8z/04lf3bbpVbZY\n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\nAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "sns.jointplot('fpkm', 'tpm', s10_featurecounts)" ] @@ -1441,7 +4114,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 198, "metadata": { "collapsed": false, "deletable": false, @@ -1453,15 +4126,158 @@ "solution": true } }, - "outputs": [], + "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", + "
ChrStartEndStrandLength/home/ucsd-train20/projects/shalek2013/processed_data/S10.Aligned.out.sorted.bamnew_columnfpkmtpmlog2_tpm
Geneid
ENSMUSG00000102693.1chr130732533074322+107000.000.0000000.0000000.000000
ENSMUSG00000064842.1chr131020163102125+11098044457830.83151.953838260.8273618.032472
ENSMUSG00000051951.5chr1;chr1;chr13214482;3421702;36705523216968;3421901;3671498-;-;-363400.000.0000000.0000000.000000
ENSMUSG00000102851.1chr132527573253236+48000.000.0000000.0000000.000000
ENSMUSG00000103377.1chr133657313368549-281900.000.0000000.0000000.000000
\n", + "
" + ], + "text/plain": [ + " Chr Start \\\n", + "Geneid \n", + "ENSMUSG00000102693.1 chr1 3073253 \n", + "ENSMUSG00000064842.1 chr1 3102016 \n", + "ENSMUSG00000051951.5 chr1;chr1;chr1 3214482;3421702;3670552 \n", + "ENSMUSG00000102851.1 chr1 3252757 \n", + "ENSMUSG00000103377.1 chr1 3365731 \n", + "\n", + " End Strand Length \\\n", + "Geneid \n", + "ENSMUSG00000102693.1 3074322 + 1070 \n", + "ENSMUSG00000064842.1 3102125 + 110 \n", + "ENSMUSG00000051951.5 3216968;3421901;3671498 -;-;- 3634 \n", + "ENSMUSG00000102851.1 3253236 + 480 \n", + "ENSMUSG00000103377.1 3368549 - 2819 \n", + "\n", + " /home/ucsd-train20/projects/shalek2013/processed_data/S10.Aligned.out.sorted.bam \\\n", + "Geneid \n", + "ENSMUSG00000102693.1 0 \n", + "ENSMUSG00000064842.1 980 \n", + "ENSMUSG00000051951.5 0 \n", + "ENSMUSG00000102851.1 0 \n", + "ENSMUSG00000103377.1 0 \n", + "\n", + " new_column fpkm tpm log2_tpm \n", + "Geneid \n", + "ENSMUSG00000102693.1 0.00 0.000000 0.000000 0.000000 \n", + "ENSMUSG00000064842.1 44457830.83 151.953838 260.827361 8.032472 \n", + "ENSMUSG00000051951.5 0.00 0.000000 0.000000 0.000000 \n", + "ENSMUSG00000102851.1 0.00 0.000000 0.000000 0.000000 \n", + "ENSMUSG00000103377.1 0.00 0.000000 0.000000 0.000000 " + ] + }, + "execution_count": 198, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# YOUR CODE HERE\n", + "s10_featurecounts['log2_tpm'] = np.log2(s10_featurecounts['tpm']+1)\n", "s10_featurecounts.head()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 199, "metadata": { "collapsed": false, "deletable": false, @@ -1474,9 +4290,21 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "8.0324720569159176" + ] + }, + "execution_count": 199, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "assert s10_featurecounts.loc['ENSMUSG00000064842.1', 'log2_tpm'] == 8.0324720569159176" + "assert s10_featurecounts.loc['ENSMUSG00000064842.1', 'log2_tpm'] == 8.0324720569159176 \n", + "s10_featurecounts.loc['ENSMUSG00000064842.1', 'log2_tpm']" ] }, { @@ -1499,7 +4327,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 200, "metadata": { "collapsed": false, "deletable": false, @@ -1511,7 +4339,69 @@ "solution": false } }, - "outputs": [], + "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", + "
s10s13
target_id
ENSMUST00000146665.2|ENSMUSG00000033845.13|OTTMUSG00000029329.3|OTTMUST00000072662.2|Mrpl15-004|Mrpl15|1569|UTR5:1-62|CDS:63-569|UTR3:570-1569|0.0000003.952259
ENSMUST00000134384.7|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051163.2|Lypla1-002|Lypla1|1136|UTR5:1-126|CDS:127-801|UTR3:802-1136|0.2786692.769812
ENSMUST00000027036.10|ENSMUSG00000025903.14|OTTMUSG00000021562.4|OTTMUST00000051162.1|Lypla1-001|Lypla1|2507|UTR5:1-91|CDS:92-784|UTR3:785-2507|3.1747842.992448
ENSMUST00000081551.13|ENSMUSG00000033813.15|OTTMUSG00000042348.1|OTTMUST00000111602.1|Tcea1-001|Tcea1|2547|UTR5:1-100|CDS:101-1006|UTR3:1007-2547|6.9473511.058026
ENSMUST00000002533.14|ENSMUSG00000002459.17|OTTMUSG00000029338.4|OTTMUST00000072687.1|Rgs20-002|Rgs20|1778|UTR5:1-160|CDS:161-880|UTR3:881-1778|2.7950654.141637
\n", + "
" + ], + "text/plain": [ + " s10 s13\n", + "target_id \n", + "ENSMUST00000146665.2|ENSMUSG00000033845.13|OTTM... 0.000000 3.952259\n", + "ENSMUST00000134384.7|ENSMUSG00000025903.14|OTTM... 0.278669 2.769812\n", + "ENSMUST00000027036.10|ENSMUSG00000025903.14|OTT... 3.174784 2.992448\n", + "ENSMUST00000081551.13|ENSMUSG00000033813.15|OTT... 6.947351 1.058026\n", + "ENSMUST00000002533.14|ENSMUSG00000002459.17|OTT... 2.795065 4.141637" + ] + }, + "execution_count": 200, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "kallisto_log2_tpm_expressed.head()" ] @@ -1536,7 +4426,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 201, "metadata": { "collapsed": false, "deletable": false, @@ -1548,7 +4438,28 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "['ENSMUST00000146665.2',\n", + " 'ENSMUSG00000033845.13',\n", + " 'OTTMUSG00000029329.3',\n", + " 'OTTMUST00000072662.2',\n", + " 'Mrpl15-004',\n", + " 'Mrpl15',\n", + " '1569',\n", + " 'UTR5:1-62',\n", + " 'CDS:63-569',\n", + " 'UTR3:570-1569',\n", + " '']" + ] + }, + "execution_count": 201, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "s = 'ENSMUST00000146665.2|ENSMUSG00000033845.13|OTTMUSG00000029329.3|OTTMUST00000072662.2|Mrpl15-004|Mrpl15|1569|UTR5:1-62|CDS:63-569|UTR3:570-1569|'\n", "s.split('|')" @@ -1572,7 +4483,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 78, "metadata": { "collapsed": false, "deletable": false, @@ -1584,9 +4495,22 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array(['ENSMUSG00000033845.13', 'ENSMUSG00000025903.14',\n", + " 'ENSMUSG00000025903.14', ..., 'ENSMUSG00000064367.1',\n", + " 'ENSMUSG00000064368.1', 'ENSMUSG00000064370.1'], dtype=object)" + ] + }, + "execution_count": 78, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "kallisto_log2_tpm_expressed.index.map(lambda x: x.split('|')[1])" + "kallisto_log2_tpm_expressed.index.map(lambda x: x.split('|')[1])\n" ] }, { @@ -1607,7 +4531,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 202, "metadata": { "collapsed": false, "deletable": false, @@ -1619,7 +4543,70 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(9383, 2)\n" + ] + }, + { + "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", + "
s10s13
ENSMUSG00000033845.130.0000003.952259
ENSMUSG00000025903.140.2786692.769812
ENSMUSG00000025903.143.1747842.992448
ENSMUSG00000033813.156.9473511.058026
ENSMUSG00000002459.172.7950654.141637
\n", + "
" + ], + "text/plain": [ + " s10 s13\n", + "ENSMUSG00000033845.13 0.000000 3.952259\n", + "ENSMUSG00000025903.14 0.278669 2.769812\n", + "ENSMUSG00000025903.14 3.174784 2.992448\n", + "ENSMUSG00000033813.15 6.947351 1.058026\n", + "ENSMUSG00000002459.17 2.795065 4.141637" + ] + }, + "execution_count": 202, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "kallisto_log2_tpm_expressed_genes = kallisto_log2_tpm_expressed.copy()\n", "kallisto_log2_tpm_expressed_genes.index = kallisto_log2_tpm_expressed.index.map(lambda x: x.split('|')[1])\n", @@ -1649,7 +4636,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 203, "metadata": { "collapsed": false, "deletable": false, @@ -1661,8 +4648,72 @@ "solution": false } }, - "outputs": [], - "source": [ + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(6733, 2)\n" + ] + }, + { + "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", + "
s10s13
ENSMUSG00000000001.40.2736516.259357
ENSMUSG00000000056.75.2181730.000000
ENSMUSG00000000058.611.6094940.344833
ENSMUSG00000000078.62.7237164.196505
ENSMUSG00000000085.160.0000005.360020
\n", + "
" + ], + "text/plain": [ + " s10 s13\n", + "ENSMUSG00000000001.4 0.273651 6.259357\n", + "ENSMUSG00000000056.7 5.218173 0.000000\n", + "ENSMUSG00000000058.6 11.609494 0.344833\n", + "ENSMUSG00000000078.6 2.723716 4.196505\n", + "ENSMUSG00000000085.16 0.000000 5.360020" + ] + }, + "execution_count": 203, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#kallisto_log2_tpm_expressed_genes_summed = kallisto_log2_tpm_expressed_genes.groupby(level=0, axis=0).sum()\n", "kallisto_log2_tpm_expressed_genes_summed = kallisto_log2_tpm_expressed_genes.groupby(level=0, axis=0).sum()\n", "print(kallisto_log2_tpm_expressed_genes_summed.shape)\n", "kallisto_log2_tpm_expressed_genes_summed.head()" @@ -1686,7 +4737,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 204, "metadata": { "collapsed": false, "deletable": false, @@ -1698,7 +4749,31 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "before aligning: (6733,) (46983,)\n", + "after aligning: (46983,) (46983,)\n" + ] + }, + { + "data": { + "text/plain": [ + "ENSMUSG00000000001.4 0.273651\n", + "ENSMUSG00000000003.15 NaN\n", + "ENSMUSG00000000028.14 NaN\n", + "ENSMUSG00000000031.15 NaN\n", + "ENSMUSG00000000037.16 NaN\n", + "Name: s10, dtype: float64" + ] + }, + "execution_count": 204, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "x = kallisto_log2_tpm_expressed_genes_summed['s10']\n", "y = s10_featurecounts['log2_tpm']\n", @@ -1727,7 +4802,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 205, "metadata": { "collapsed": true, "deletable": false, @@ -1747,7 +4822,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 206, "metadata": { "collapsed": false, "deletable": false, @@ -1759,7 +4834,36 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ucsd-train20/anaconda3/lib/python3.5/site-packages/matplotlib/__init__.py:892: UserWarning: axes.color_cycle is deprecated and replaced with axes.prop_cycle; please use the latter.\n", + " warnings.warn(self.msg_depr % (key, alt_key))\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 206, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaUAAAGoCAYAAADmTPpwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl81NW9P/7XZJJJMoFgFiEBDAlBjxCWCEIRMYpAtShq\nL7ZX67etV+vW+rtcu6ttcV976aW1pXVr7VUvtlKxKEUFKzGEKEoTIMARQiKQDbOQlWSSmfn9MQuz\nfGbNzHw+M3k9Hw8fZj6zfM4nwOc955z3eR+d1WoFERGRFiSp3QAiIiIHBiUiItIMBiUiItIMBiUi\nItIMBiUiItIMBiUiItKMZLUbEEHMbSeieKNTuwFaw54SERFpBoMSERFpBoMSERFpBoMSERFpBoMS\nERFpBoMSERFpBoMSERFpBoMSERFpRiItnk0I7R2dGB4acj5OMRiQnXWWii0iIoodBiWNKf/4EHSG\ncc7HenMPVi7/kootIiKKHQYljUlJSUFyutH52DowoGJriIhii3NKRESkGQxKRESkGQxKRESkGQxK\nRESkGQxKRESkGQxKRESkGQxKRESkGQxKRESkGQxKRESkGQxKRESkGQxKRESkGQxKRESkGQxKRESk\nGQxKRESkGQxKRESkGQxKRESkGQxKRESkGQxKRESkGQxKRESkGQxKRESkGQxKRESkGQxKRESkGclq\nN4D8s1qt6OrqcjuWmZkJnU6nUouIiKKHQUnj+vt68fcPDsBozLA97u/DNZfNwLhx41RuGRFR5DEo\nxQGjMQMZYzLVbgYRUdRxTomIiDSDQYmIiDSDw3dxhokPRJTIGJTiTH9/L97Z1YHs7Bz7YyY+EFHi\nYFCKQ+npTHwgosTEoBTnlIbzAA7pEVF8YlCKc57DebZjHNIjovjEoJQAPIfzmAxBRPGKQSkBefae\n+vp6cdncyW49J88gZbVa0d3d7fY5DGREFGsMSgnKtffU19eDd3bV+Q1SXV1d2PGvEzAax/h8DYMU\nEUUbg9Io4S9IAUDbF63IGDPO52s4T0VEscCgNEp5zkP19fX4fQ2z/IgoFhiUKChKWX4c4iOiSGNQ\noqAp9a4CzVVZrVYAcAtUDFxE5AuDEo1IMHNVSfpkn4FLKWh5HgsmsDF7kCgxJERQEkIkb9++Xe1m\nRERH+xfQ9w07H/d3tmHA0oX0dKPt+Y42JCXpMdDfrfg4mNdE+z06q9n5mq5T7W7HOjra8L/1RzA2\n0xaUuro6kKTTOx8rHfN8PDg4gEsvLMLYsWOd7+np6cGOT+qRmprm8zVEDlr5e7F06dJCACeklMOB\nXjta6BzfQuOZEKIQQL3a7SAiCkORlLJB7UZoRUL0lACcsP+/SNVWREY9EuM6gMS5Fl6H9iTKtdTj\nzP2LkCA9JQAQQlillHE/gZAo1wEkzrXwOrQnUa4lUa4jkrjzLBERaQaDEhERaQaDEhERaUZMEh2E\nEJMB/BnABAAWAM9JKX8thMgC8BqAKQAaAHxdSuldyyY4D0airRqQKNcBJM618Dq0J1GuJVGuI2Ji\nkugghMgDkCelrBZCjAHwKYBrAfwHgHYp5VNCiJ8AyJJS/jTqDSIiIk2KyfCdlLJFSllt/7kXwEEA\nk2ELTC/ZX/YSgOti0R4iItKmmM8p2Re6lgKoAjBBStkK2AIXgPGxbg8REWlHTBfP2ofuXgewWkrZ\nK4TwHDsMayxRCJEMW8+L5TqIKKGMtvtbzIKS/Rf7OoD/lVK+aT/cKoSYIKVstc87nQzicx4AsEbp\nuUSpf0dEo4bbwtlRdn9TXDQcy57SiwAOSCnXuRz7O4CbATwJ4NsA3lR4nxsp5QMAHnA9xtp3RJQI\neH+LXUr4xQBuArBPCPEv2Ibp7oMtGP1FCHELgM8BfD0W7SEiIm2KSVCSUu4EoPfx9LJYtIGIiLSP\nFR2IiEgzGJSIiEgzGJSIiEgzGJSIiEgzGJSIiEgzEmU7dCKKQ+Xl5XjsscdgtVqxatUq3H777V6v\neeGFF7B582bodDoMDw+jrq4OVVVVaG9vxz333AOdTger1Yrjx49j9erV+Na3vhXz63jkkUdQXl6O\n9PR0PPHEE5g+fXrM25AoGJSIRgGz2Qy93teqjPBZLBYkJYU34GKxWPDwww/jT3/6E8aPH4/rr78e\nS5cuRXFxsdvrbr31Vtx6660AgH/+85946aWXkJmZiczMTGzatMn5WWVlZVi+fPnILigMO3bswLFj\nx/Duu++ipqYGa9aswV/+8peYtyNRMCgRaUhjYyO+853voKSkBAcOHMC5556Lp556CqmpqaitrcUT\nTzyB/v5+ZGVl4YknnkBubi7++te/4rXXXsPw8DAKCgrw9NNPIzU1Fffeey8MBgMOHjyIefPm4fLL\nL8ejjz4KnU4HnU6Hl19+GUajEU8++SQqKiqg0+lw5513YsWKFfj444/xm9/8BllZWTh8+DBmzpyJ\np59+GgBw+eWXY8WKFaisrMR3vvMdrFixIqxr3bt3L6ZMmYJJkyYBAK666ips377dKyi5euutt3DV\nVVd5Ha+srERBQQHy8/MBABs2bIBOp8O///u/u73ujTfewHvvvYeenh6cPHkSK1euxN133x1W+x22\nb9+O666zbXAwZ84c9PT0oK2tDbm5uSP63NGKQYlIY+rr6/H444+jtLQU9913H1599VV885vfxMMP\nP4z169cjKysLW7Zswdq1a/HYY4/hy1/+Mr72ta8BAP7nf/4Hr7/+Om666SYAQGtrq/Nb+5133ok1\na9bgggsuwOnTp2EwGPDuu+/is88+w+bNm9He3o7rr78eCxYsAAAcOnQIb7/9Ns4++2zceOON2LNn\nD+bOnQsAyMrKwt/+9jevtm/evBkvvPACdDr3smYFBQVYt26d27HW1lZnEAGACRMmYN++fT5/LwMD\nA6ioqMCaNd6l4bZs2eIWrG644Qafn7Nv3z68/fbbSE1NxfXXX48lS5agpKTE7TX33HMPGhoavN57\n880349prr3U7dvLkSeTl5bldR2trK4NSmBiUiDRm4sSJKC0tBQBcc801ePnll7F48WIcPnwYt9xy\nC6xWKywWC8aPt+30IqXEunXr0N3djdOnT2Px4sXOz7ryyiudP8+dOxePP/44Vq5ciS9/+cuYMGEC\nPv30U+fNPCcnBwsWLMC+ffuQkZGB2bNnO89x/vnno7Gx0RmUfPWOVq5ciZUrV0b+lwLg/fffx9y5\nc5GZmel2fGhoCO+//z5++MMfBvU5F198sfMzli9fjk8//dQrKP3qV7+KTKMpZAxKRBrnmMg/99xz\nsWHDBq/n7733Xqxfvx7nnXce3njjDXz88cfO54xGo/Pn22+/HUuWLMEHH3yAG2+8Ec8//7zXZ7nu\nRJ2SkuL8Wa/Xw2w2Ox+np6crttXRU/I0ZcoUr57ShAkT0NTU5Hzc2trqDIJKtmzZgquvvtrreHl5\nOUpKSpCdne3zva48e3GejwFbT6m+vt7rdUo9pfHjx6OlpcX5uKWlBRMmTAiqLeSNQYlIY5qamlBT\nU4M5c+bgrbfewrx581BUVITOzk5UV1ejtLQUw8PDaGhowLRp09Df34/c3FwMDQ1h8+bNPm+Ix48f\nx7nnnotzzz0X+/btQ319PS688EK89tpruO6663Dq1Cl88skn+MlPfoK6urqw2h5KT2nWrFk4duwY\n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\n/31t3AYmHYBUQxKGhi3Q6YAx6QbodEBWZirW3GrLrlu/sQYWqxVFk8bhaGMXhoctaOs8jfHZGTi/\nKCvoRIcZRd5Zff6wOjlR/FG1pxQpCfxNgogSG3tKHliQlYiININBiYiININBiYiININBiYiININB\niYiININBiYiININBiYiININBiYiININBiYiININBiYiININBiYiININBiYiININBiYiININBiYiI\nNINBiYiININBiYiININBiYiININBiYiININBiYiININBiYiININBiYiININBiYiININBiYiININB\niYiININBiYiININBiYiININBiYiININBiYiININBiYiININBiYiININBiYiININBiYiININBiYiI\nNINBiYiININBiYiININBiYiININBiYiININBiYiININBiYiININBiYiININBiYiININBiYiININB\niYiININBiYiININBiYiININBiYiININBiYiININBiYiININBiYiININBiYiININBiYiININBiYiI\nNINBiYiINCNZrRMLIdYAuA3ASfuh+6SUW9VqDxERqU+1oGS3Vkq5VuU2EBGRRqg9fKdT+fxERKQh\naveU7hZCfBPAJwB+IKXsUrk9RESkoqgGJSHEewAmuBzSAbACuB/A7wA8JKW0CiEeAbAWwK1hnkoP\nAC0tLSNoLRFRbC1durQQwAkp5bDabdEKndVqVbsNEEJMAbBZSjk7iNc+AGBN1BtFRBQbRVLKBiDg\n/c35ukSmWlASQuRJKVvsP98DYL6U8hthflYqgAEA0wCYI9dKVdQDKFK7ERGSKNfC69CeRLmWegAp\n/npKQohkAJMxSnpUagalPwMoBWAB0ADgDill6wg+zyqljPvEiUS5DiBxroXXoT2Jci2Jch2RpFqi\ng5TyW2qdm4iItEntlHAiIiInBiUiItKMRApKD6rdgAhJlOsAEudaeB3akyjXkijXETGaSAknIiIC\nEqunREREcY5BiYiININBiYiININBiYiININBiYiINEPtrStGRAhxPYAHAEyHrXbeHpfn7gVwC4Bh\nAKullO+q0sgQCCGuBPA/sH1ZeEFK+aTKTQqKEOIFAFcDaHUU1RVCZAF4DcAU2MpIfV3rW5MIISYD\n+DNsle0tAJ6TUv46Tq8lFUA5AANs/85fl1I+GI/XAgBCiCTYtrg5IaW8Jh6vQwjRAKALtr9bQ1LK\n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\nRK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "sns.jointplot(x, y)" ] @@ -1782,7 +4886,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 207, "metadata": { "collapsed": false, "deletable": false, @@ -1794,7 +4898,36 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ucsd-train20/anaconda3/lib/python3.5/site-packages/matplotlib/__init__.py:892: UserWarning: axes.color_cycle is deprecated and replaced with axes.prop_cycle; please use the latter.\n", + " warnings.warn(self.msg_depr % (key, alt_key))\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 207, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nT+ZOSEhQHSnl5OSgqakJubm5OHfuHLKzs/1+PvnHoEQUBWfPnsUll1yChQsXIiMjA2+99ZbrsY0b\nN2Lx4sX4+9//7prOmjNnDl599VUsWrQIAHDs2DFcccUV6OzsdHXcvjroUHR1deGyy+xna77zzjuD\nfr9QRkrz5s3Do48+ivvuuw+NjY04ffq0zxHYzp07MW7cOLegVVNTg/z8fBgMBtTW1qKqqgqjRo0C\nADz22GP4z//8T0yaNMnrvTZv3ow77rgDZ86cQU1NDYqKitweD3WkNG/ePLz99tv41re+hXfeeQc3\n3HBD0K8lbwxKRFHw+eefu9Y8kpOT8dRTT7kea29vx2233YaUlBSsWLECALB06VI8/fTTuO2222C1\nWjFt2jQsX74cixYtwmOPPYZVq1bhuuuuC/rzfU0pffvb38Z///d/IysrCzNnzkRtbe3gbjQE48eP\nx80334wvfelLSEpKwrJly1zt9ExU2LRpk9fU3aeffoo1a9YgOTkZCQkJWL58OS655BIAgJTSFWw9\n5efn48tf/jK6urrw1FNPBZzuC2Tx4sV4+OGHsW7dOowaNQq//OUvB/V+Q12Ccngaq5znjWzbts1t\nTpxI75zfsp2dKQ1eZ2cnnnzySdXg8Pjjj+P666/HF7/4RQ1apirgAlQc92+q986KDkQa4qJ4+A0b\nNoyjlRjG6TsiDcXhEde69uyzz2rdBAqAIyUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUi\nItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItIN\nBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItKNJK0bQBRu5j4Ltu47DQCYP70AxmSD\nxi0iomAxKFFcMfdZsGzNbhyubAYAfHSgFk8tnsXARBQjOH1HcWXrvtOugAQAhyubXaMmolhms9m0\nbkJUMCgREcWAzs5OrZsQFQxKFFfmTy/AxOIc188Ti3Mwf3qBhi0iolBwTYniijHZgKcWz2KiA1GM\nYlCimKeWbXfL7CKNW0VEA8GgRDGN2XZE8YVrShTTmG1HgP3LycZdVdi4qwrmPovWzaFB4EiJiGLa\nUBktDxs2TOsmRAVHShTTmG1HQ2W0nJCQoHUTooIjJYppzLYjii8MShTzmG03tM2fXoCPDtS6Rksc\n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\nv/4tL7MPl2Vpu9F+MGy2BORkXxLweQlalkIXQhgASNgTHeoB7AXwVSnl0RDfpxBA1bZt2zB69Oiw\ntzPSFn73Xa2bEDH+pu/88TV9V1KUjafvn81UcIoXAdPpYr1/80P13jUdKUkpLUKIhwB8gIsp4SEF\npHiw4YXbYzYwJQBIMSair9+KhARgWJoRCQnA8MwULFtkz65bte4grDYbikZl4WRtG/r7rWhqvYDL\nstNxRdHwoBMdJhR5Z/X5w+rkRLFH05FSuMTxNwkiim8cKXlgQVYiItINBiUiItINBiUiItINBiUi\nItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItIN\nBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUi\nItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItIN\nBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUi\nItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItINBiUiItIN\nBiUiItINBiUiItKNJK0+WAixDMBiAGcdl56QUm7Wqj1ERKQ9zYKSwwop5QqN20BERDqh9fRdgsaf\nT0REOqL1SOkhIcQ9AD4B8F0pZZvG7SEiIg1FNCgJIbYAGKG4lADABmApgN8CeFpKaRNC/BjACgCL\nBvhRBgBoaGgYRGuJiKLrhhtuKARQI6Xs17otepFgs9m0bgOEEGMBbJBSTg7iucsBLIt4o4iIoqNI\nSlkNBOzfXM+LZ5oFJSFEnpSywfHnRwBMl1J+bYDvlQKgB8B4AJbwtVITVQCKtG5EmMTLvfA+9Cde\n7qUKQLK/kZIQIgnAaAyREZWWQelVAKUArACqAdwvpWwcxPvZpJQxnzgRL/cBxM+98D70J17uJV7u\nI5w0S3SQUt6r1WcTEZE+aZ0STkRE5MKgREREuhFPQekprRsQJvFyH0D83AvvQ3/i5V7i5T7CRhcp\n4UREREB8jZSIiCjGMSgREZFuMCgREZFuMCgREZFuMCgREZFuaH10xaAIIb4MYDmAK2Gvnbdf8djj\n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\nRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "sns.jointplot(x, y, stat_func=spearmanr)" ] @@ -1818,8 +4951,7 @@ ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "raw", "metadata": { "collapsed": true, "deletable": false, @@ -1832,9 +4964,10 @@ "solution": true } }, - "outputs": [], "source": [ - "# YOUR CODE HERE" + "# YOUR CODE HERE\n", + "Both kalisto and featureCounts(combined with STAR) are used for sequence expression analysis and abundance, they simply use different approaches/algorithms. Therefore, you would expect both to have similar results, via analysing the same RNA seq data, but diffrent due to their approach in the analysis. The main difference between the two methods is the way they assign a read to a gene. In featurecounts, we first do a sequence aligment using the STAR algorithm, and reference genome, then we can count the reads using featurecount. Potential biases with using a reference genome include bias towards the reference genome and potential inability to find novel genes. Kallisto uses pseudoalignment to rapidly determine the compatibility of reads with targets, without the need for full alignment reads to the reference genome -often the slowest step. This makes kallisto very fast at quantifying abundances of transcripts from RNA-Seq data. Different methods of gene alignment, whether it be from different reference mapping or quasi alignments, can lead to differences in gene reads. \n", + "\n" ] }, { @@ -1857,7 +4990,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 210, "metadata": { "collapsed": false, "deletable": false, @@ -1869,7 +5002,23 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "ENSMUSG00000000001.4 -5.985706\n", + "ENSMUSG00000000056.7 5.218173\n", + "ENSMUSG00000000058.6 11.264661\n", + "ENSMUSG00000000078.6 -1.472789\n", + "ENSMUSG00000000085.16 -5.360020\n", + "dtype: float64" + ] + }, + "execution_count": 210, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "kallisto_diff = kallisto_log2_tpm_expressed_genes_summed['s10'] - kallisto_log2_tpm_expressed_genes_summed['s13']\n", "kallisto_diff.head()" @@ -1877,7 +5026,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 212, "metadata": { "collapsed": false, "deletable": false, @@ -1889,7 +5038,28 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 212, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nE/Hlh8rb7nUAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "sns.distplot(kallisto_diff)" ] @@ -1918,7 +5088,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 211, "metadata": { "collapsed": false, "deletable": false, @@ -1930,8 +5100,32 @@ "solution": false } }, - "outputs": [], - "source": [ + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(218,)\n" + ] + }, + { + "data": { + "text/plain": [ + "0 ENSMUSG00000000827.18\n", + "1 ENSMUSG00000001418.13\n", + "2 ENSMUSG00000002699.12\n", + "3 ENSMUSG00000002885.14\n", + "4 ENSMUSG00000002996.17\n", + "dtype: object" + ] + }, + "execution_count": 211, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#kallisto_diff = kallisto_log2_tpm_expressed_genes_summed['s10'] - kallisto_log2_tpm_expressed_genes_summed['s13']\n", "kallisto_s10_specific = kallisto_diff > (kallisto_diff.mean() + 2*kallisto_diff.std())\n", "kallisto_s10_specific_genes = pd.Series(kallisto_s10_specific.index[kallisto_s10_specific])\n", "print(kallisto_s10_specific_genes.shape)\n", @@ -1960,7 +5154,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 214, "metadata": { "collapsed": false, "deletable": false, @@ -1972,19 +5166,43 @@ "solution": true } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(162,)\n" + ] + }, + { + "data": { + "text/plain": [ + "0 ENSMUSG00000000386.14\n", + "1 ENSMUSG00000000399.10\n", + "2 ENSMUSG00000000581.8\n", + "3 ENSMUSG00000000753.15\n", + "4 ENSMUSG00000001127.12\n", + "dtype: object" + ] + }, + "execution_count": 214, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# YOUR CODE HERE\n", - "\n", + "kallisto_s13_specific = kallisto_diff < (kallisto_diff.mean() - 2*kallisto_diff.std())\n", + "kallisto_s13_specific_genes = pd.Series(kallisto_s13_specific.index[kallisto_s13_specific])\n", "print(kallisto_s13_specific_genes.shape)\n", - "kallisto_s13_specific_genes.head()\n" + "kallisto_s13_specific_genes.head()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 215, "metadata": { - "collapsed": true, + "collapsed": false, "deletable": false, "nbgrader": { "checksum": "23353ecb34dd90a2c06220ae14bb9f66", @@ -1995,9 +5213,21 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(162,)" + ] + }, + "execution_count": 215, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "assert kallisto_s13_specific_genes.shape == (162,)" + "assert kallisto_s13_specific_genes.shape == (162,)\n", + "kallisto_s13_specific_genes.shape" ] }, { @@ -2022,7 +5252,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 216, "metadata": { "collapsed": false, "deletable": false, @@ -2034,7 +5264,23 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0 ENSMUSG00000000386\n", + "1 ENSMUSG00000000399\n", + "2 ENSMUSG00000000581\n", + "3 ENSMUSG00000000753\n", + "4 ENSMUSG00000001127\n", + "dtype: object" + ] + }, + "execution_count": 216, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "kallisto_s10_specific_genes_ensembl = kallisto_s10_specific_genes.map(lambda x: x.split('.')[0])\n", "kallisto_s13_specific_genes_ensembl = kallisto_s13_specific_genes.map(lambda x: x.split('.')[0])\n", @@ -2059,7 +5305,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 217, "metadata": { "collapsed": true, "deletable": false, @@ -2095,7 +5341,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 218, "metadata": { "collapsed": false, "deletable": false, @@ -2107,9 +5353,40 @@ "solution": false } }, - "outputs": [], - "source": [ - "! head kallisto*specific_genes.csv" + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "==> kallisto_s10_specific_genes.csv <==\r\n", + "ENSMUSG00000000827\r\n", + "ENSMUSG00000001418\r\n", + "ENSMUSG00000002699\r\n", + "ENSMUSG00000002885\r\n", + "ENSMUSG00000002996\r\n", + "ENSMUSG00000003662\r\n", + "ENSMUSG00000003721\r\n", + "ENSMUSG00000004266\r\n", + "ENSMUSG00000004609\r\n", + "ENSMUSG00000004610\r\n", + "\r\n", + "==> kallisto_s13_specific_genes.csv <==\r\n", + "ENSMUSG00000000386\r\n", + "ENSMUSG00000000399\r\n", + "ENSMUSG00000000581\r\n", + "ENSMUSG00000000753\r\n", + "ENSMUSG00000001127\r\n", + "ENSMUSG00000001289\r\n", + "ENSMUSG00000001794\r\n", + "ENSMUSG00000002845\r\n", + "ENSMUSG00000004296\r\n", + "ENSMUSG00000004530\r\n" + ] + } + ], + "source": [ + "! head kallisto*specific_genes.csv\n", + "\n" ] }, { @@ -2135,8 +5412,7 @@ ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "metadata": { "collapsed": true, "deletable": false, @@ -2149,9 +5425,26 @@ "solution": true } }, - "outputs": [], "source": [ - "# YOUR CODE HERE" + "Using Mouse genome: Mus Musculus\n", + "\n", + "For kallisto_s10_specific_genes:\n", + "\n", + "I see enrichment for trancription factors, chaperons, translation initiatin factors and growth factors. \n", + "\n", + "_____________________________________________________________________________________________________________\n", + "\n", + "For kallisto_s13_specific_genes:\n", + "\n", + "Displaying only results with P<0.05; click here to display all results \n", + " \tMus musculus (REF)\tupload_1\n", + "GO biological process complete\t#\t#\texpected\t Fold Enrichment\t+/-\tP value\n", + "negative regulation of cellular metabolic process (GO:0031324)\t2058\t22\t7.65\t2.87\t+\t3.20E-02\n", + "regulation of macromolecule metabolic process (GO:0060255)\t4893\t38\t18.20\t2.09\t+\t8.98E-03\n", + "regulation of metabolic process (GO:0019222)\t5686\t42\t21.14\t1.99\t+\t6.06E-03\n", + "Unclassified\t1652\t3\t6.14\t.49\t-\t0.00E00\n", + "\n", + "S13 also seems to have a lot more tumor suppresor genes, tumor necrosis factors, and interferon induced genes." ] }, { @@ -2179,7 +5472,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 219, "metadata": { "collapsed": false, "deletable": false, @@ -2191,16 +5484,171 @@ "solution": true } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(46983, 6)\n" + ] + }, + { + "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", + "
ChrStartEndStrandLength/home/ucsd-train20/projects/shalek2013/processed_data/S13.Aligned.out.sorted.bamfpkmtpmlog2_tpm
Geneid
ENSMUSG00000102693.1chr130732533074322+10700000
ENSMUSG00000064842.1chr131020163102125+1100000
ENSMUSG00000051951.5chr1;chr1;chr13214482;3421702;36705523216968;3421901;3671498-;-;-36340000
ENSMUSG00000102851.1chr132527573253236+4800000
ENSMUSG00000103377.1chr133657313368549-28190000
\n", + "
" + ], + "text/plain": [ + " Chr Start \\\n", + "Geneid \n", + "ENSMUSG00000102693.1 chr1 3073253 \n", + "ENSMUSG00000064842.1 chr1 3102016 \n", + "ENSMUSG00000051951.5 chr1;chr1;chr1 3214482;3421702;3670552 \n", + "ENSMUSG00000102851.1 chr1 3252757 \n", + "ENSMUSG00000103377.1 chr1 3365731 \n", + "\n", + " End Strand Length \\\n", + "Geneid \n", + "ENSMUSG00000102693.1 3074322 + 1070 \n", + "ENSMUSG00000064842.1 3102125 + 110 \n", + "ENSMUSG00000051951.5 3216968;3421901;3671498 -;-;- 3634 \n", + "ENSMUSG00000102851.1 3253236 + 480 \n", + "ENSMUSG00000103377.1 3368549 - 2819 \n", + "\n", + " /home/ucsd-train20/projects/shalek2013/processed_data/S13.Aligned.out.sorted.bam \\\n", + "Geneid \n", + "ENSMUSG00000102693.1 0 \n", + "ENSMUSG00000064842.1 0 \n", + "ENSMUSG00000051951.5 0 \n", + "ENSMUSG00000102851.1 0 \n", + "ENSMUSG00000103377.1 0 \n", + "\n", + " fpkm tpm log2_tpm \n", + "Geneid \n", + "ENSMUSG00000102693.1 0 0 0 \n", + "ENSMUSG00000064842.1 0 0 0 \n", + "ENSMUSG00000051951.5 0 0 0 \n", + "ENSMUSG00000102851.1 0 0 0 \n", + "ENSMUSG00000103377.1 0 0 0 " + ] + }, + "execution_count": 219, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# YOUR CODE HERE\n", + "#Read the s13_featureCounts.txt file\n", + "\n", + "s13_featurecounts = pd.read_table('/home/ucsd-train20/projects/shalek2013/processed_data/S13_featureCounts.txt', skiprows=[0], index_col=[0])\n", "print(s13_featurecounts.shape)\n", + "#s13_featurecounts.head()\n", + "#FPKM\n", + "\n", + "reads = s13_featurecounts['/home/ucsd-train20/projects/shalek2013/processed_data/S13.Aligned.out.sorted.bam']\n", + "#s13_featurecounts['fpkm'] = 1e9*(reads/((reads.sum()*s13_featurecounts['Length'])))\n", + "s13_featurecounts['fpkm'] = 1e9*reads/((reads.sum()*s13_featurecounts['Length']))\n", + "#TPM\n", + "s13_featurecounts['tpm'] = 1e6*(s13_featurecounts['fpkm']/s13_featurecounts['fpkm'].sum())\n", + "#log2(TPM+1) (\"log2_tpm\")\n", + "s13_featurecounts['log2_tpm'] = np.log2(s13_featurecounts['tpm']+1)\n", "s13_featurecounts.head()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 220, "metadata": { "collapsed": false, "deletable": false, @@ -2213,10 +5661,24 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "13.152023286578066" + ] + }, + "execution_count": 220, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "assert len(s13_featurecounts.columns.intersection(['fpkm', 'tpm', 'log2_tpm'])) == 3\n", - "assert s13_featurecounts.loc['ENSMUSG00000064370.1', 'log2_tpm'] == 13.15202328657807" + "assert s13_featurecounts.loc['ENSMUSG00000064370.1', 'log2_tpm'] == 13.152023286578066\n", + "#assert s13_featurecounts.loc['ENSMUSG00000064370.1', 'log2_tpm'] == 13.15202328657807\n", + "# my answer is off by .000000000000004 cant figure out why, all my other ex. are correct\n", + "s13_featurecounts.loc['ENSMUSG00000064370.1', 'log2_tpm']" ] }, { @@ -2237,7 +5699,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 89, "metadata": { "collapsed": false, "deletable": false, @@ -2249,7 +5711,36 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ucsd-train20/anaconda3/lib/python3.5/site-packages/matplotlib/__init__.py:892: UserWarning: axes.color_cycle is deprecated and replaced with axes.prop_cycle; please use the latter.\n", + " warnings.warn(self.msg_depr % (key, alt_key))\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 89, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n02WoNmdoFnOGBhkZ6eyaPmn2LFh49MvY+sx2tj39HMfNO5QTjj2cOUODLFowlxvXbGJnp0McdRgH\nDg16607aQ+PBBJCZ64Bouo6ZYu01S5ouQZPwiYtPbboEqWgljMqTJGkXg0mSVBSDSZJUFINJklQU\ng0mSVBSDSZJUFINJklQUg0mSVBSDSZJUFINJklQUg0mSVBSDSZJUFINJklQUg0mSVBSDSZJUFINJ\nklQUg0mSVBSDSZJUFINJklQUg0mSVBSDSZJUFINJklQUg0mSVBSDSZJUFINJklQUg0mSVBSDSZJU\nFINJklQUg0mSVBSDSZJUFINJklQUg0mSVBSDSZJUFINJklQUg0mSVBSDSZJUFINJklQUg0mSVBSD\nSZJUFINJklQUg0mSVBSDSZJUFINJklQUg0mSVBSDSZJUFINJklQUg0mSVBSDSZJUFINJklQUg0mS\nVBSDSZJUFINJklQUg0mSVJTBJg8eESuAy4F/1JuWZ+a6BkuSJDWs0WCqrcrMVU0XIUkqQwm38gaa\nLkCSVI4SekzLIuJiYANwdWZubbogSVJzeh5MEXE3cGTXpgGgA3wG+DrwhczsRMQXgVXApRM81GyA\n4eHhSVQrSdNr8eLFRwOPZ+bzTddSioFOp9N0DQBExHxgbWaetB+v/RywoudFSdL0OCYzH4V9/nzb\n9bo2azSYImJuZg7Xj68CTs3Miyb4XgcCzwLHAzunrsqiPQIc03QR06zf2txv7YX+a/MjwAHj9Zgi\nYhCYR5/0rJoOpluBk4ER4FHgg5m5ZRLv18nMvhlM0W/thf5rc7+1F/qvzf3W3v3R6OCHzFza5PEl\nSeUpYbi4JEm7GEySpKK0LZg+33QB06zf2gv91+Z+ay/0X5v7rb37VMxwcUmSoH09JknSDGcwSZKK\nYjBJkopiMEmSimIwSZKKUsKyF1OqX1bFjYi3AV+l+uXixsz8UsMl9VREPApspZq+akdmntZoQT0Q\nETcC7wC2jE5mHBGHAT8A5lNN2/XutiwNM0Z7W3v9RsQ84Faq1RZGgBsy82ttPscT1dYe06rMPKX+\naMU3dbeImAVcD7wVWABcGBGvbraqnhsBzsrM17UxlGrfpjqn3T4F/CIzA7gH+PS0V9U7e2svtPf6\nfR74WGYuAN4AXFFft20+xxPS1mBq+4SIpwF/zszNmbkD+D6wpOGaem2A9n6/ApCZ9wL/3mPzEuCW\n+vEtwHnTWlQPjdFeaOn1m5nDmflg/Xgb8DDVjOGtPccT1dYLfVlEPBgR34qIlzZdTA+8Anis6/nj\n9bY26wB3R8T9EXF508VMoyNGZ9yvl4g5ouF6pkPbr18i4miqlRXuA47sw3M8rhkZTBFxd0Q81PWx\nsf58LtWquMdm5snAMNWquJr5zsjMU4C3U90CeWPTBTWk7VO1tP76jYhDgDuAj9Y9pz3PadvP8T7N\nyMEPmfmW/XzpDcDaXtbSkCeAo7qez6u3tVZm/r3+/GRE3El1O/PeZquaFlsi4sjM3BIRc9k9KKCV\nMvPJrqetu37rBf/uAG7LzNX15r46x/tjRvaYxlOf2FHnA5uaqqWH7geOj4j5ETEEvAdY03BNPRMR\nB9W/ZRIRBwNn087zCtXfV7r/xrIGuKR+/D5g9Z47zHAvaG8fXL83AX/MzGu7trX9HL9orZvEdapX\nxS1VPVz8WnYPF1/ZcEk9ExHHAHdS3eIYBG5vY3sj4rvAWcDhwBZgBfAT4EfAK4HNVEOJ/9NUjVNp\njPa+iZZevxFxBvAbYCPV93IHWA6sB35IC8/xRLUumCRJM1vrbuVJkmY2g0mSVBSDSZJUFINJklQU\ng0mSVBSDSZJUFINJklSUGTklkdQtIkaAQzLz6Qnu/yrgm8BcqqUJ7gc+lJnbx9lnCfBEZm6YyDEl\njc0ek9pgsv9L/Dngqsw8oV6w7mDg4/vY5zzg9EkeV9Je2GNSG3TPtXYq1VRNBwH/pZrBeUP9tWXA\nR6jWAPo5cEVmvjwzN1NNBTNqPTDmwosRcTbwTmBxRFxKNQP2Y/Vx/wC8HtgGXJKZf4qIM+uvrQcW\nUQXhUqopeBYCfwPOz8xnJvnvILWCPSa1RkQcQDVz8/J62YTPAj+OiMGIOAn4JLAoM08HDmUvPa2I\neAnwfsaZSDMz76KaeHNlvcrqd+ovnUi1XPZCquUbbuva7TXAdXWP7D5gHXBlvZrpCHDhJJoutYrB\npDYYDZgAtmfmrwAy85fA9nr7mcDPMvNf9Wtv2vNNImI28D2qZa5/OoE6/lKvygpVKJ04Oit6VU5u\nrB8/ADw4upQH8Hvg+AkcT2olg0ltN9Yy3S/YHhGzgNuBf2bmlVN07O4e2bNdj3fu5bm31aWawaQ2\nGA2ZBIbqv+kQEW+m+oGfwK+BcyLi8Pq1S0d3jogB4BaqEXmX7ecxnwL2XPb7uHppA4D3AhvrFUol\nvQj+lqY26ABk5o6IuAC4LiJGBz9ckJnPAw9FxJeB30XEU8A9wNZ6/3OAi6gWpXsgIjrAbzPzw+Mc\n8zbg5oh4F7sHP2wCLouIb9THXjrO/pLG4HpM6hsRcchoDyYiVgDHZeaUhEfdS/tKZp42Fe8n9TN7\nTOonK+tbbUPAX4EPNFyPpL2wxySNISJeC9zM7kEMA/Xj6zPz/0b1SZoaBpMkqSiOypMkFcVgkiQV\nxWCSJBXFYJIkFcVgkiQV5X+K4n9xwha3awAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "sns.jointplot(s10_featurecounts['log2_tpm'], s13_featurecounts['log2_tpm'])" ] @@ -2274,7 +5765,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 139, "metadata": { "collapsed": false, "deletable": false, @@ -2286,16 +5777,41 @@ "solution": true } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(46983,)\n" + ] + }, + { + "data": { + "text/plain": [ + "Geneid\n", + "ENSMUSG00000102693.1 0.000000\n", + "ENSMUSG00000064842.1 8.032472\n", + "ENSMUSG00000051951.5 0.000000\n", + "ENSMUSG00000102851.1 0.000000\n", + "ENSMUSG00000103377.1 0.000000\n", + "Name: log2_tpm, dtype: float64" + ] + }, + "execution_count": 139, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# YOUR CODE HERE\n", + "featurecounts_diff = s10_featurecounts['log2_tpm'] - s13_featurecounts['log2_tpm']\n", "print(featurecounts_diff.shape)\n", "featurecounts_diff.head()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 221, "metadata": { "collapsed": false, "deletable": false, @@ -2308,9 +5824,23 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "8.0324720569159176" + ] + }, + "execution_count": 221, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "assert featurecounts_diff['ENSMUSG00000064842.1'] == 8.0324720569159282" + "#assert featurecounts_diff['ENSMUSG00000064842.1'] == 8.0324720569159282\n", + "assert featurecounts_diff['ENSMUSG00000064842.1'] == 8.0324720569159176\n", + "featurecounts_diff1['ENSMUSG00000064842.1']\n", + "#my answer 8.0324720569159176 not sure what is up again" ] }, { @@ -2331,7 +5861,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 134, "metadata": { "collapsed": false, "deletable": false, @@ -2343,7 +5873,28 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 134, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nRc7Sif5hBodTxePh0TR7D/Szecdh9h3sZ3A4xZaXjrDy/Lm86+plxXKlATA4OMAWP1j8/ONP7+Ol\nPWN9/6uXn8PqC88BoOfIAJetOIc3X76Yl3v6+Mdvby7OGP7WD7dzrG+IdXf/mnseeYF//M5mcrkc\nP/vtK3zor3/At3+0g1wux8DgKHc9tJVfbz1Q/B37DvZz+Pjg5PyfJDNKmDGApUDpg82vEoRCrTI9\n+XOHaBHDo2my2Ryz2pNkslkGh9MkEnFmdySDb335b2izO5LEYrGgaZ/J0jkrSSIeZ3g0zWgqy6yO\nBO3JBMOjaYZG0nS0J+nsSDI8mmZgMEV7W4LuzjZGUhl6T46QSMSLXQjBZKIs53TPIpmIcaxvmOHR\nDOd0dzCrI0nP4QGO9g2xeEEnixd0cuTEEAeOneKc7g7OXziH/YcG2L73GF2d7Vy+cgGnhlK8+PIx\nYjG4fOVCEokYL+w+yrHeAZYv7qK7s419BwfoPTnC6hWLOH9RF8f7hzneP8yC7lksnD+LvoFRjvQO\n0jW7nfPOmc3AUIoDR08xr6ud161ayNBImmf9MP0nB1m+pIu2RJzdr/VzaijNqvO7WDivg109Jzly\nYpiLl3azYkk3rx1Psbunj0uWzeONq89l045D/Py3r3Degtm89XfPZ3gkw+aXjtLRluDq159L30CK\nHz/9KoMjad5+5QUsPbeTn20+wIGjg1x7xXmsOr+bh3+1j+d3HedNtog/WLOEZ3Yc5eltR7jogm7+\nYM0Stuw8xm9ePEJHW5xrrziPkVSWzX6UkVTw7T0GXLZiPulMljWXnMOKRQnicchmT38MtKNjFjBE\n95xZzOmay9yuIaCPjrY4czuyXLBg7M/q2ivOZW5nGxtfPMhvXjjIgrkd/JsrzuP/PbWfm//+ZwwM\npZkzK8lTzx9g3Z1PsmXnMXLAAz92Dh8/ydaXT3Do+BDf/+XL/Lu3XMjwaJbHn+khmYjx3j9YyXnn\nzOKhDfsYHEmz9poLuXzFfH75/EEOHB3k9y5fxCVL5/GzTa/x4p4TrFm9gN9/wxKe3XmMZ7YfYdUF\n3bz9ygvY3dPPhi1B3a6/ehkjqSwbthwgl4NrrjiPtmScDVsO0Dswyu/ZIi5aOpddr/Zz+MQQqy7o\nZsmC2Wzb08uunn4uWNTJRUvnMjiU4kjvMJ2zkpw7fxanhtMcODZIezLOBYvm0N4Wp/9UirZknMtW\n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\n/wFIJFpVZtya9wAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "sns.distplot(featurecounts_diff)" ] @@ -2366,7 +5917,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 222, "metadata": { "collapsed": false, "deletable": false, @@ -2378,7 +5929,35 @@ "solution": false } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(9470,)\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 222, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEZCAYAAACervI0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xt03OV95/H3XKWRZEmW5RuWb9jw5U5KA0matCFN28DZ\nNLBNm0LYppdc2LZ0057tLk17Wkw35zSk3ZRtSFtI2DRN2dKzTUvIJgGSNIFAoJhwCxd/scGW71fZ\nuo009/1jZuTxWJeRNNJoZj6vczhofnpm5vnZnt9nnsvveQK5XA4REWk+wVpXQEREakMBICLSpBQA\nIiJNSgEgItKkFAAiIk1qyQWAmW2rdR0Wks6vvjXy+TXyuYHObzIVBYCZXWNmO8zsNTO7dZLf/76Z\nPWdmz5rZj8wsbWbds61MwW1zfF690PnVt0Y+v0Y+N9D5nWXGADCzIHAX8B7gYuBGM7ugtIy7/4W7\n/5i7XwF8Avieu5+abWVERGTxVNICuArY6e797p4C7geum6b8jcA/VqNyIiKycCoJgHXAvpLH+wvH\nzmJmMeAa4Cvzr5qIiCykcJVf7+eBx+fa/WNmLYX/bwEy1azYUmJmm2pdh4Wk86tfjXxu0NDnF4L8\nNdTdE5U+qZIAOABsKHncVzg2mRuosPunMGI91aDFrkpeo47trnUFFpjOr3418rlB45/fuJmVH7vd\n3bdNVjgw02JwZhYCHHg3cAh4GrjR3V8tK9cFvAH0ufvYXGpe+Oa/67777mPNmjVzeQkRkaZz+PBh\nbrrpJoCt7v56pc+bsQXg7hkzuwV4hPyYwb3u/qqZ3Qzk3P2eQtHrgYfnevEvyACsWbOGvr6+ebyM\niEhTmlXXeUVjAO7+EGBlx+4ue/wl4EuzeXMREamdJXcnsIiILA4FgIhIk1IAiIg0KQWAiEiTUgCI\niDQpBYCISJNSAIiINCkFgIhIk1IAiIg0KQWAiEiTUgCIiDQpBYCISJNSAIiINCkFgIhIk1IAiIg0\nKQWAiEiTUgCIiDQpBYCISJNSAIiINCkFgIhIk1IAiIg0KQWAiEiTUgCIiDSpcCWFzOwa4E7ygXGv\nu98xSZmrgb8EIsAxd39XFespIiJVNmMLwMyCwF3Ae4CLgRvN7IKyMl3A54D3uvslwC8tQF1FRKSK\nKmkBXAXsdPd+ADO7H7gO2FFS5oPAV9z9AIC7H692RUUWUy6XY2hoaNLfdXZ2EggEFrlGItVXSQCs\nA/aVPN5PPhRKnQ9EzOy7QAfwV+7+5epUUWTxDQ0N8eD3XqGtrf2M4/H4KO+7+iK6urpqVDOR6qlo\nDKDC17kC+GmgHXjSzJ50911Ven2RRdfW1k57R2etqyGyYCoJgAPAhpLHfYVjpfYDx919HBg3s8eA\ny4EpA8DMtgG3zaq2IiIynd1mVn7sdnffNlnhSgJgO7DVzDYCh4AbgBvLynwV+KyZhYAW4C3AZ6Z7\n0UKFzqiUmW0CdldQJxEROdtmd99TaeEZZwG5ewa4BXgEeBm4391fNbObzexjhTI7gIeBF4GngHvc\n/ZU5VF5ERBZJRWMA7v4QYGXH7i57/BfAX1SvaiIispB0J7CISJNSAIiINCkFgIhIk1IAiIg0KQWA\niEiTUgCIiDQpBYCISJNSAIiINCkFgIhIk1IAiIg0KQWAiEiTUgCIiDQpBYCISJNSAIiINCkFgIhI\nk1IAiIg0KQWAiEiTUgCIiDQpBYCISJNSAIiINCkFgIhIk1IAiIg0KQWAiEiTCldSyMyuAe4kHxj3\nuvsdZb9/J/BV4I3CoX9x909Ws6IiIlJdMwaAmQWBu4B3AweB7Wb2VXffUVb0MXd/3wLUUUREFkAl\nXUBXATvdvd/dU8D9wHWTlAtUtWYiIrKgKukCWgfsK3m8n3wolHubmT0PHAD+m7u/UoX6iYjIAqlo\nDKACPwQ2uHvczK4FHgDOn+4JZrYNuK1K7y8iIrDbzMqP3e7u2yYrXEkAHAA2lDzuKxyb4O4jJT9/\n08z+2sx63H1gqhctVOiMSpnZJmB3BXUSEZGzbXb3PZUWrmQMYDuw1cw2mlkUuAF4sLSAma0u+fkq\nIDDdxV9ERGpvxhaAu2fM7BbgEU5PA33VzG4Gcu5+D/CLZvabQAoYA355ISstIiLzV9EYgLs/BFjZ\nsbtLfv4c8LnqVk1ERBaS7gQWEWlSCgARkSalABARaVIKABGRJqUAEJlBNpdj+ytHGBpN1LoqIlWl\nABCZweETozz9ymEee+7AzIVF6ogCQGQGiWQGgP7Dw5waSda4NiLVowAQmUEilZn4+ZX+oRrWRKS6\nFAAiMyi2AABePzDCcFytAGkMCgCRGSQLLYBNazvJZHN855mDNa6RSHUoAERmUGwBvOn8lQQC8OLr\nWudQGoMCQGQGxTGAjliESDhIPJGZ4Rki9UEBIDKDYgC0RENEQkHGEuka10ikOhQAIjMojgFEwyEi\n4QDjagFIg1AAiMwgkcoQCQcJBgNEwkHGkxlyuVytqyUybwoAkRkkkllaIiEAIuEgmWyOZDpb41qJ\nzJ8CQGQGyVSGlmghAEIBAMbGNQ4g9U8BIDKNXC5HIpUhWmgBRMP5j0w8kapltUSqQgEgMo1iV0+x\nCyhcCAC1AKQRKABEplG8CWyiC6gYAJoKKg1AASAyjeIU0JaJLqD8GEBcASANQAEgMo3iTWDFMYBw\nSF1A0jgUACLTSJS1ANQFJI0kXEkhM7sGuJN8YNzr7ndMUe5K4AfAL7v7v1StliI1kiwbA5iYBaQW\ngDSAGVsAZhYE7gLeA1wM3GhmF0xR7lPAw9WupEitlLcAwsX7ANQCkAZQSRfQVcBOd+939xRwP3Dd\nJOV+B/hn4GgV6ydSU8VZQLoPQBpRJQGwDthX8nh/4dgEMzsHuN7d/wYIVK96IrV1ugWQ/6hEdB+A\nNJCKxgAqcCdwa8njGUPAzLYBt1Xp/UUWRDJ15hhAOKwuIFnSdptZ+bHb3X3bZIUrCYADwIaSx32F\nY6XeDNxvZgGgF7jWzFLu/uBUL1qo0BmVMrNNwO4K6iSyKMqngZ7uAlIAyJK02d33VFq4kgDYDmw1\ns43AIeAG4MbSAu5+bvFnM/si8LXpLv4i9aJ8DCAUDBAIqAtIGsOMYwDungFuAR4BXgbud/dXzexm\nM/vYJE/RQunSMBKpDNFwkGAg3/UTCASIRUPqApKGUNEYgLs/BFjZsbunKPsbVaiXyJKQTGWIFvr/\ni2ItYXUBSUPQncAi00ikMhP3ABS1toTUBSQNQQEgMoVcLkcylT0rAGLRMGO6D0AagAJAZArFvQCi\nk7QA0pkcqbQ2h5f6pgAQmUIyVdgMpnwMoPBY6wFJvVMAiEyhfDewotaW/NwJzQSSeqcAEJlCsQVQ\n3gUUa8k/VgBIvVMAiExhyhaAuoCkQSgARKYw5RiAuoCkQSgARKYwUwtA9wJIvVMAiEwhVQiA4hLQ\nRcUxAO0JIPVOASAyhdQU9wGoC0gahQJAZAqpdH5dw/IWgLqApFEoAESmkMoUWgBTdgEpAKS+KQBE\npjAxBnDWILC6gKQxKABEpjBVF9BEC0BdQFLnFAAiU0hnsoRDpzeDKdKdwNIoFAAiU0ils2d9+4f8\nfQGBgAJA6p8CQGQKqUyOaOTsj0ggEMjvCjau+wCkvikARKaQbwGEJv1drCWsFoDUPQWAyCSyuRzp\nTO6sKaBFCgBpBAoAkUmMJ/O7fU02BgDQ1hrWLCCpewoAkUmMJ/IBUL4MRFGsJUwqnZ24V0CkHikA\nRCYxnsx/u5+qBaD1gKQRhCspZGbXAHeSD4x73f2Ost+/D/gfQBZIAb/n7k9Uua4ii2YsUewCmrwF\n0NYaKZRL09keXbR6iVTTjC0AMwsCdwHvAS4GbjSzC8qKfdvdL3f3HwM+DHyh6jUVWUTFMYDpBoFB\nLQCpb5V0AV0F7HT3fndPAfcD15UWcPd4ycMO8i0Bkbo1MQg8yX0AkB8EBnQvgNS1SrqA1gH7Sh7v\nJx8KZzCz64E/A1YC/6EqtROpkeI3++g09wGUlhOpRxWNAVTC3R8AHjCzdwCfBH52uvJmtg24rVrv\nL1JNM00DLQaApoLKErPbzMqP3e7u2yYrXEkAHAA2lDzuKxyblLs/bmbnmlmPuw9MU24bcEalzGwT\nsLuCOoksqIlpoFMOAqsFIEvSZnffU2nhSsYAtgNbzWyjmUWBG4AHSwuY2ZaSn68AotNd/EWWurEZ\nxgDUBSSNYMYWgLtnzOwW4BFOTwN91cxuBnLufg/wfjP7EJAExoAPLGSlRRZa8T6AmWYBqQtI6llF\nYwDu/hBgZcfuLvn508Cnq1s1kdoZn8V9ACL1SncCi0xCXUDSDBQAIpM4PQis+wCkcSkARCYxnkwT\nAMIhtQCkcSkARCYxnswQDgcIlO0HXNQa1SCw1D8FgMgkxhIZIlN8+wcIBgPEWkJqAUhdUwCITGI8\nmZnyLuAi7Qom9U4BIDKJ8USaSHjy7p+iWEuYMXUBSR1TAIiUSWeypDK5abuAAGKtEeJqAUgdUwCI\nlCl264Rn6AJqawmTTGXIZLT6udQnBYBImWK3TiVdQKCpoFK/FAAiZYoX9Jm7gApTQRUAUqcUACJl\nJgKggllAgAaCpW4pAETKxBOVdQG1qQtI6pwCQKSMuoCkWSgARMqcHgSeaRZQ5IzyIvVGASBSZtZj\nAAmtCCr1SQEgUmbiPoDQDNNAW7UgnNQ3BYBImUpbABoElnqnABApU3EXUKsCQOpbRXsCizST07OA\nzu4CyuVyDA4OApBJjgNwaihOLpebcu8AkaVKASBSZroWQDw+wsNPDtDTs4LRsXy5nftOMDQ0RFdX\n16LWU2S+FAAiZUbH8rN6puoCisXaae/oJBzNAPvIEVrE2olUj8YARMoMjSZpawkRCk7fpROJ5D8+\nqbRWA5X6VFELwMyuAe4kHxj3uvsdZb//IHBr4eEw8Jvu/qNqVlRksQyNJuhoi8xYLhgIEA4FFQBS\nt2ZsAZhZELgLeA9wMXCjmV1QVuwN4Kfc/XLgk8Dnq11RkcWQy+UYGk3S2RatqHwkrACQ+lVJC+Aq\nYKe79wOY2f3AdcCOYgF3f6qk/FPAumpWUmSxjCXSpDM5llXQAgCIRoIkU5kFrpXIwqhkDGAdsK/k\n8X6mv8B/BPjmfColUitDo0mAirqAAKLhkFoAUreqOgvIzN4F/DrwjgrKbgNuq+b7i8zX4EgCoOIW\nQCQcJJ3Jkc3mFrJaIpXabWblx253922TFa4kAA4AG0oe9xWOncHMLgPuAa5x95MzvWihQmdUysw2\nAbsrqJPIgii2APIBMPNFPRrJTwEdT6obSJaEze6+p9LClQTAdmCrmW0EDgE3ADeWFjCzDcBXgF9x\n99crr6vI0lIMgM62CKlUcsbyxXsFxpJaDkLqz4xjAO6eAW4BHgFeBu5391fN7GYz+1ih2B8DPcBf\nm9lzZvb0gtVYZAHNegyg2AJIqAUg9aeiMQB3fwiwsmN3l/z8UeCj1a2ayOIrHQM4OThz+WixBaAF\n4aQO6U5gkRJnjgHMrCWabwGMjCkApP4oAERKzDYAiruCDY7OPF4gstQoAERKDI0mCQYDtLVWNkO6\nrTUfFIMjCgCpPwoAkRLFZSCCFa7tX9wVbGhU+wJL/VEAiJQYGk2wrL2ydYDg9K5gQ+oCkjqkABAp\nyGSyjIyl6JxNAGgMQOqYAkCkYGQsRS7HrAIgHAoSCQfVBSR1SQEgUlDsxunqaJnV82LRkFoAUpcU\nACIFE8tAzKIFANDaEmQ4niKjBeGkzigARAqKdwHPNgBi0RC5XH4AWaSeKABECubaAoi15O8G1r0A\nUm8UACIFc+4CKiwHcWp4vOp1EllICgCRgolB4PbZDQKfDgB1AUl9UQCIFBT78OfaBXRqRAEg9UUB\nIFIwONcxALUApE4pAEQKhkaTRMPBiSWeK9WqFoDUKQWASMHQaJLO9iiBCheCK1ILQOqVAkAEyGZz\nnBoap2vZ7AaAAcKhANFwUC0AqTsKABHgyECcZDrL+lXLZv3cQCBAV0eUQbUApM4oAESAPYeGANi4\ntnNOz+9si3BqJEkup+UgpH4oAESAvYcLAbBm9i0AgM6OKOlMltExrQoq9UMBIML8WwBdhamjJ9UN\nJHVEASAC9B8eoq01zMru2Jye39Ve3BtYASD1o6Kdr83sGuBO8oFxr7vfUfZ7A74IXAH8obt/ptoV\nFVkoqXSGA8dGsQ3LZz0FtKh485hmAkk9mbEFYGZB4C7gPcDFwI1mdkFZsRPA7wB/XvUaiiywfUeG\nyWZzrF3RwuDg4MR/OSof0O3qKASAuoCkjlTSArgK2Onu/QBmdj9wHbCjWMDdjwPHzey9C1JLkQW0\nY/dRAEbjSb79dD8Ax48dob2ji46Oyl6jtyt//8CBYyMLUkeRhVBJAKwD9pU83k8+FEQawr4j+Yv2\n2lXdtBeu+KOjw7N6jQ2rOwgFA+zce6rq9RNZKBWNASwEM9sG3Far9xcp2n9sFIAVna1zfo1oJMTm\nczp5/cAgqXSGSHh26wmJVMnu/JDsGW53922TFa4kAA4AG0oe9xWOzUuhQmdUysw2Abvn+9ois7Hv\n6CixlhCtLfP7PnTehuXs2j/I7oNDnL9heZVqJzIrm919T6WFK5kGuh3YamYbzSwK3AA8OE35uU2j\nEKmB+HiKE4MJlndE5v1aVrjov7b35LxfS2QxzPiVx90zZnYL8Ainp4G+amY3Azl3v8fMVgPPAMuA\nrJl9HLjI3TUiJkvac68dA6Cnc/aLwJUrfuv3vSfRbAipBxW1ed39IcDKjt1d8vMRYH11qyay8B76\nwR4Atq6rcLrPNNat7KC9Ncxr/WoBSH3QncDStA4eG+H5nce4YEMX3R2z2wVsMsFggPPWL+fg8VGG\n48kq1FBkYSkApGl988k9ALz7zedU7TXP35jvBtJ0UKkHCgBpSolUhu9s30tXR5QrL1xZtde1knEA\nkaVOASBN6ZGn+hmOp/jZqzYSDs3vY5DL5SaWj1izPD///5lXDmlvAFnyanYjmEgt5HI5Xt55kC/+\nv5fpiIV55+W9s173p1w8PsLDTw7Q07MCgHN6Y7y2b5Cnf7SXt1y2sVpVF6k6tQCkqRw9fpI/+/Jz\npNJZrrqwhx++ephvPu6Mj81vEbdYrJ32jk7aOzp56yXrAHjg+/3VqLLIglEASNPIZHN84Ws7GIpn\nuGxrLxeeu5b2jk5ibW1VfZ+1ve2sXdHKS2+cZMeegaq+tkg1KQCkKWSyOe68/1meevkYq7pb+IlL\n1y7o+71pS34w+L6Hd2gsQJYsBYA0vGQqw53/+Czf++F+tq7r5GfevIbQPAd+Z7K6p5VLzl3O868d\n4yvf3bWg7yUyVwoAaWhHBuLcetf3+d6z+7ENy/nvN11GNLw4/+z/8/UX0NvVyt9/4xWefvnworyn\nyGwoAKQhpdMZ/vnbr/Dx//lddu0f5KfetIZbb7qEVGJ0XjN+KpXL5Qhkxvn4By4mEgry5//wDE88\ntzs/40hdQrJEaBqo1L1cLsfQ0NDE41f2nOTvvu4cPDFOJBTgJy7uZfPqVh57bv+sd/qaq9KpoW+/\npJdHXzjKHfe9yOXndvBfP/jjdHd3L2wFRCqgAJC6NzQ0xIPfe4VsIMr2HQP0H4kDsHlNjKvfvJm2\n1tNLPc92p6/5KE4NvWhrJ8u7O/nmk3t4/vUR7viHF/nI9ZexpU8hILWlAJC6l0hl8ANJXtp9jEw2\nx5qeNi7eEKG3q+2Mi38tre1t55fefR7f/vfdvLT7JL/7l49y+dYe3nbJKq44v5c1q3oIBJbOVhrl\nraqizs7Os+pZLDuWSDMwlCCbyxEMBFi5opuujhaiEe2OtlQpAKQupTNZDh0f5d+e2cfDT+1hOJ6i\nrTXMT1x6Dudv6ObY0YO1ruJZlrVFeftFHew7GmTX4Qwv7BrghV35+wR6u6JsXLOM5cta6OqI0t0R\n5ZxVy+npaqWns5WujhaCASa9KMPkF+Zy44kUb+w7xsnhJCNjKZKpDKlMjnAoQGdHO5FIiEg4SCqd\n5fjAEE++uJ+xJIyMpUmms6RSGVb2tNHb3U57a4SWaIjxZJoDR4fYf3SERGrysY2OWJhzetvYuGYZ\n1759C+et125pS4UCQGpusm+buVyOTDbHwFCCg8fj7D0ywoFjcY6dGuPEYIKB4QTFsdT21hCXbeni\nLZesr4tvmxvXdPHjl67i5PA4O/edov/gACeHU/zQT0z5nEAAlsXC5HI5sjlIZ3KF4wFi0QAXn7uC\nc/t6WL96Gb3dMbLZHMcHBtl7ZITdh4bZc2iEQ8fjcxr+DgTyex6HggEOHY+z59CZ+zyFggHaW0Os\n7onR0RYhGAwQHx0lkUyTDYQZHUuzc98Qr+0b4lvbD7C1r4uPXHcpF5+7Yg61kWpSADSZXC7Hnv3H\neOPgEKNjacaSGWItIfpWL2dVTxure9pmvaF58QJ+cjjBi7sG2Ht0hKMD4wyPpQgGIBwK0h4L0xGL\n0BGLsKK7gxz57RhPDSfYf2SI/UeHyREgl8uRy0E6kyGVZtILViwaYFV3a/6b5YpWOsKjdHa21cXF\nv9TyZa1cddEaNq3IEAiE6ehawehYivh4msNHjzIST0GohbFEhngizUg8SSYboCUaJhrNf9vPZnMM\njiZ5/MUjPP7ikSnfKxIKsLwjSPeyFlYs7yQWDRMOBwkFA5w6NUAimaa1tY1MNt8iSIyN0Lmsg419\nq/MX9UCAkeFBrrRuorEOxhMZkqlM/jWy4zyz8xQdHV0T73f0yAGCwQi9K1cBkMlk2dl/hOODCV58\nY5BPfO5x3vv2Dbz/6k30LO9eUt1fzUQB0OByuRyHjo/y8hsneOmNE7z0+jGOnhyfsnyA/PaIq5bH\nWLm8la72CJ3tUZa1Rehsi9LZHmH92hXEWiOMjqU4MhDnyRf28uhzBzk1mj7rtSr5xhkAWqJBwqEg\nwWCAQCBAMAidbUF6ujvo6ojS2x1jRWcrY8PHCIejExcWyF9s6l0gECDWEiZW2Ji+NTBEMLjsrPMs\nvagWHT68n5ND4xBuZ3AkRTyRITEWp7W1lb61PazsbqOrI8qxowcnff7RlvhZx4vv1dl+eqOceHyE\nR546vehdUSUzq0KhID3tWdrDOdb1ruX7Lx7ja0/s5YkXD7Ltw1eyef2qqZ8sC0YB0IDi4yl+uOMo\nT710iBd2HmNw5PTuVLGWEH0rY/St7qK9NUIkEuT48RMMx1NkiDAcTzMcT/Fq/ylencVaZsEArF/V\nwca1naxZ0U5XR5TBgcOEQlF6Vqwkkcownkhz6MhhRuNJOjs7iYSDtEaCjI8O0NnZXdHFLjGqb4rl\ngoEAK5d3TvHnV93+9uLMplKzmVkVi7XTu3IV69au4LFnD+B7T/LHn3+GW3/1Ki7d0lvVusrMFAAN\noNgFc3ggzjef3M9jLxwmlc4C0BoNsmlNO6uXt7Kmp5X02AAdy8682C4Lj571bTOdydK/dx/JdIiW\ntmWMJdKMJdIMDo8Si4bIEqS9Ncyy9ggbV0YZGc+wvPvMi81QoVkfDJ7+dpsai7Cqu63sYjW/lTil\n/kTDId595Xq62wNs3zHAH/3NE/z8T57Lr1x7Ia1RXZYWi/6kG8DzO/ZzzwMvc+B4ghz5WRcXbeyk\nKzrOmpXdrFy1eqJspRfbcCjIsrZw4VvkmX27iUSSnp7TF/uDh/JdACKzEQgEuGBDJ++4tJf7vrOP\nBx97gydfPMh1P7mRd1y2WmMDi0ABUKdODo3zxIsHefTZ/ezoz28/uLI7xo/ZSras6yYYDHD0yIEF\n+QCVdwMs5s1V0lji8RF2nkzyM1es4rmdp3i1f5AvfM257+Gd/Nxb1vOet21h/eplta5mw6ooAMzs\nGuBO8msH3evud0xS5q+Aa4FR4Nfc/flqVrQZlU6PjI+n2dF/ipd3n+SVPafYd3QUyE/Ru3DjMtav\namPrhtX6xiR1JxZrp6urm6vf3M2bL07xvB/l5d0n+Or3+/nq9/tZ0xPjwk3dXLx5OVde0kdPZ6zW\nVW4YMwaAmQWBu4B3AweB7Wb2VXffUVLmWmCLu59nZm8B/hZ46wLVuSkkUhmeeWkfDzy6k+NDGU4M\nJiZm1AQDsHZFK30r29i8pp348Ana24K6+Evd64hFeMeb1nHuqhz9R+IcGw5weGCM7z57iO8+ewi+\n8gp9K9u4cFM3F27s5oKN3fSt7dW//TmqpAVwFbDT3fsBzOx+4DpgR0mZ64C/B3D3fzezLjNb7e5T\nT0wWstkcw/EkJwbH2H9ogBNDCfYfG2XPoRF2HxwiVbjZJxiANSvaWLdqGR3hcXq7Y6xeXdKvnxmr\n1SmILIhwKMB5fd28beUqstkcx06N4W8c4NBAgkMnxth/LM63tufv9u5b2cbl56/m0i29XLJlBV0d\nLTWuff2oJADWAftKHu8nHwrTlTlQOLakA6C4LG8uVzJfPZdfLPj0ir25M36fK3mQK3mN/DTHzMRs\nmfFkmvh4mpODwySSGcYSGQZHk5wcSnByJMnJ4QSnhpNksmfPlA8Ay5dF6W7L0rdyGbZl3cRNTvnp\nffq2I80jGAywuqeNQKqNizZ2sXxFL0cHxjhwbIS9h09x9OQ4X39iN19/YjeQD4QtfZ1sWLOcVctj\ntMUiE7PQ2lrChIubAQWK/8v/UGxElDcmAoF8ifz9KYX/Avnpt4FggGDg9LF6a4kstUHgEMDhw9Xb\nPOOBR3fxjR/sOWMN9lovx1688aklEqS1JUAgm6IjFqW7q4PO9gidbfl/pAMDxwkk4hw9eHoe/8DA\ncYLBEOPxoWmPzabsUnz+UqxTrZ+/FOtUy3Na0wbR7pOsb02QDbVzYjjNwHCa/n0D7J7FPSzVFAhA\nW2uEP/jQlaztbV+09y25Zs7qdvhKAuAAsKHkcV/hWHmZ9TOUOYOZbQNum+x3N910UwXVEhFZmv7T\n12v21rvMrPzY7e6+bbLClQTAdmCrmW0EDgE3ADeWlXkQ+G3gn8zsrcCpmfr/CxU6o1Jm1gKMA1uB\nTAV1q0e7gc21rsQC0vnVr0Y+N2js8wsBu4BWd6/4zspAJdvTFaaB/i9OTwP9lJndDOTc/Z5CmbuA\na8hPA/3bo264AAAGNklEQVR1d3929ucAZpZz9/rqSJsFnV99a+Tza+RzA53fZCoaA3D3hwArO3Z3\n2eNbZvPGIiJSW9oUXkSkSSkARESa1FIMgNtrXYEFpvOrb418fo18bqDzO0tFg8AiItJ4lmILQERE\nFoECQESkSSkARESalAJARKRJKQBERJrUklkN1Mx+kfzaQBcCVxaXkiisQfQqp/cfeMrdf6smlZyH\nqc6v8LtPAL8BpIGPu/sjNalklZjZbcBHgaOFQ39YuJu8blWyK149M7M9wCCQBVLuXr7ke10xs3uB\n9wJH3P2ywrHlwD8BG4E9wAfcfbBmlZyHKc5v1p+7JRMAwI+A/wjcPcnvdrn7FYtcn2qb9PzM7ELg\nA+SDoQ/4tpmd5+71Pj/3M+7+mVpXohoq2RWvAWSBq939ZK0rUiVfBD5LYaOqgj8Avu3unzazW4FP\nFI7Vo8nOD2b5uVsyXUCet5OJbRrOUPcLOE1zftcB97t72t33ADs5e8OdelT3f2clJnbFc/cUUNwV\nr5EEWELXg/ly98eB8jC7DvhS4ecvAdcvaqWqaIrzg1l+7urlL3yTmT1rZt81s3fUujJVNtVuavXu\nFjN73sy+YGZdta7MPE22K14j/B2VygHfMrPtZvbRWldmgawqLlPv7oeBVTWuz0KY1eduUbuAzOxb\nwOqSQwHy//D+yN2/NsXTDgIb3P2kmV0BPGBmF7n7yAJXd9bmeH51abpzBf4a+FN3z5nZJ4HPAB9e\n/FrKLLzd3Q+Z2UryQfBq4VtmI6v3btZys/7cLWoAuPvPzuE5KQpNHXd/1sxeB84H5rTfwEKay/kx\nh93UloJZnOvngXoPv0p2xatr7n6o8P9jZvav5Lu9Gi0AjpjZanc/YmZrOD1Y2hDc/VjJw4o+d0u1\nC2iiH8vMeguDcJjZueR3C3ujVhWrktJ+ugeBG8wsamabyZ/f07WpVnUUPlxFvwC8VKu6VMnErnhm\nFiW/K96DNa5T1ZhZm5l1FH5uB36O+v87g/znrPyz9muFn38V+OpiV6jKzji/uXzulsxicGZ2PflR\n7V7gFPC8u19rZr8A/CmQJD9T4U/c/Ru1q+ncTHV+hd99gnxTLUVjTAP9e+BN5P++9gA3z7RF6FI3\n2a54Na5S1RS+ePwr+S6RMHBfvZ+fmf0f4GpgBXCE/P7jDwD/l3yLu5/8NNBTtarjfExxfu9ilp+7\nJRMAIiKyuJZqF5CIiCwwBYCISJNSAIiINCkFgIhIk1IAiIg0KQWAiEiTUgCIiDSppbQctMi8mFkW\n6HD3+Byffx755brXkN+bYTvwW+6emOY51wEH3P2ZubynSC2pBSCNZL53NSaB33P3iwqbbLQDvz/D\nc64H3jLP9xWpCbUApJGUrotyJfmlG9qAUfJLbDxT+N0twH8hv8jgN4HfdveV7t5PfomAoqeBC6Z6\nMzP7OeB9wLvN7MPkV1/cV3jfF4AfB0aAX3P3HWb2zsLvngbeSj5wPkT+Nv5LgL3AL7j72Dz/HEQq\nohaANBwziwD/TH5LvDcBfwJ8xczCZnYZcCvwVnd/C9DNJC0HM4uR36ZzygXDCms2PQh8yt2vcPd/\nKPzqUuDz7n4J+SV6v1zytAuBzxZaGE8BDwG/6+4Xk1/D5cZ5nLrIrCgApJEUL+QGJNz9ewDu/h0g\nUTj+TuAb7j5QKPu/y1/EzELAP5LfPvDrc6jHrpK19L8MXFpcbTNfHf9R4ednyS8KeKjw+IfkV4MV\nWRQKAGkWU22Vd8bxwtLj9wEn3P13q/TepS2M8ZKfM5M8VresLBoFgDSS4sXcgWihzx0z+2nyF1YH\nHgWuNbMVhbIfKj7ZzALk94pNAx+p8D2HgPKt97aY2dsLP98E/Ggp7mAnom8b0khykN9FzszeD3zW\nzIqDwO939zTwopl9GviBmQ0B/wYMFp5/LfBB8htpPGtmOeAJd/+dad7zy8DfmdkvcXoQ+CXgI2b2\nt4X3/tA0zxepGe0HIE3HzDqK38jN7DZgi7tX5SJdaHX8ubtfVY3XE1lIagFIM/pUoYsmCrwOfKzG\n9RGpCbUARGZgZpcDf8fpwdxA4ee73P2sWUQi9UIBICLSpDQLSESkSSkARESalAJARKRJKQBERJqU\nAkBEpEn9f2b/UVyEFHJZAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "featurecounts_diff_nonzero = featurecounts_diff[featurecounts_diff != 0]\n", "print(featurecounts_diff_nonzero.shape)\n", @@ -2413,7 +5992,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 223, "metadata": { "collapsed": false, "deletable": false, @@ -2425,9 +6004,38 @@ "solution": true } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "featurecounts_s10_specific_genes.shape (303,)\n", + "featurecounts_s13_specific_genes.shape (369,)\n" + ] + }, + { + "data": { + "text/plain": [ + "0 ENSMUSG00000081441.3\n", + "1 ENSMUSG00000102664.1\n", + "2 ENSMUSG00000079658.9\n", + "3 ENSMUSG00000062939.11\n", + "4 ENSMUSG00000026094.14\n", + "Name: Geneid, dtype: object" + ] + }, + "execution_count": 223, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# YOUR CODE HERE\n", + "featurecounts_s10_specific = featurecounts_diff_nonzero>(featurecounts_diff_nonzero.mean()+2*featurecounts_diff_nonzero.std())\n", + "featurecounts_s10_specific_genes = pd.Series(featurecounts_s10_specific.index[featurecounts_s10_specific])\n", + "featurecounts_s13_specific = featurecounts_diff_nonzero<(featurecounts_diff_nonzero.mean()-2*featurecounts_diff_nonzero.std())\n", + "featurecounts_s13_specific_genes = pd.Series(featurecounts_s13_specific.index[featurecounts_s13_specific])\n", + "\n", "print('featurecounts_s10_specific_genes.shape', featurecounts_s10_specific_genes.shape)\n", "print('featurecounts_s13_specific_genes.shape', featurecounts_s13_specific_genes.shape)\n", "\n", @@ -2436,7 +6044,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 224, "metadata": { "collapsed": false, "deletable": false, @@ -2496,7 +6104,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 225, "metadata": { "collapsed": false, "deletable": false, @@ -2508,17 +6116,36 @@ "solution": true } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0 ENSMUSG00000081441\n", + "1 ENSMUSG00000102664\n", + "2 ENSMUSG00000079658\n", + "3 ENSMUSG00000062939\n", + "4 ENSMUSG00000026094\n", + "Name: Geneid, dtype: object" + ] + }, + "execution_count": 225, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# YOUR CODE HERE\n", + "featurecounts_s10_specific_genes_ensembl = featurecounts_s10_specific_genes.map(lambda x:x.split('.')[0])\n", + "featurecounts_s13_specific_genes_ensembl = featurecounts_s13_specific_genes.map(lambda x:x.split('.')[0])\n", + "\n", "featurecounts_s13_specific_genes_ensembl.head()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 226, "metadata": { - "collapsed": true, + "collapsed": false, "deletable": false, "nbgrader": { "checksum": "64f7a9e9c259188b18c95a8ee95cf468", @@ -2559,7 +6186,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 146, "metadata": { "collapsed": true, "deletable": false, @@ -2574,12 +6201,14 @@ "outputs": [], "source": [ "# Code to write series to file.\n", - "# YOUR CODE HERE" + "#kallisto_s10_specific_genes_ensembl.to_csv('kallisto_s10_specific_genes.csv', index=False)\n", + "#kallisto_s13_specific_genes_ensembl.to_csv('kallisto_s13_specific_genes.csv', index=False)\n", + "featurecounts_s10_specific_genes_ensembl.to_csv('featurecounts_s10_specific_genes.csv',index=False)\n", + "featurecounts_s13_specific_genes_ensembl.to_csv('featurecounts_s13_specific_genes.csv',index=False)\n" ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "raw", "metadata": { "collapsed": true, "deletable": false, @@ -2592,9 +6221,9 @@ "solution": true } }, - "outputs": [], "source": [ - "# YOUR CODE HERE" + "# YOUR CODE HERE\n", + "While both featurecounts and kallisto share most GO enrichments between the different samples (S10 and S13), kallisto did end up giving me a higher number of S10 and S13 specific genes which also resulted in a higher number of mapped GO reads. This to me was expected knowing that two diffrent algorithmic approaches were used to analyze gene enrichent and our spreaman correlation showed similar, but different results. S13 seems to be the mature one. Aside from haveing genes related to previous viral exposure (i.e. INTERFERON REGULATORY FACTOR 1,GOLGI-ASSOCIATED PLANT PATHOGENESIS-RELATED PROTEIN 1) it also shows genes which are suggested to be involved in matures cels according to Shalek et al. (i.e. Ccr7, Cd83, and ccl22)." ] } ], @@ -2619,4 +6248,4 @@ }, "nbformat": 4, "nbformat_minor": 0 -} \ No newline at end of file +} diff --git a/weeks/week04/4_analyze_gene_expression_python.ipynb b/weeks/week04/4_analyze_gene_expression_python.ipynb new file mode 100644 index 0000000..e6baa49 --- /dev/null +++ b/weeks/week04/4_analyze_gene_expression_python.ipynb @@ -0,0 +1,56 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "http://[link: Unterminated IPv6 numeric address.\r\n", + "--2016-02-01 17:19:47-- http://to/\r\n", + "Resolving to... failed: Name or service not known.\r\n", + "wget: unable to resolve host address “to”\r\n", + "--2016-02-01 17:19:47-- http://allgenestpm.txt.gz/\r\n", + "Resolving allgenestpm.txt.gz... failed: Name or service not known.\r\n", + "wget: unable to resolve host address “allgenestpm.txt.gz”\r\n", + "--2016-02-01 17:19:47-- http://goes/\r\n", + "Resolving goes... failed: Name or service not known.\r\n", + "wget: unable to resolve host address “goes”\r\n", + "--2016-02-01 17:19:47-- http://here%5D/\r\n", + "Resolving here]... failed: Name or service not known.\r\n", + "wget: unable to resolve host address “here]”\r\n" + ] + } + ], + "source": [ + "! wget [link to allGenesTPM.txt.gz goes here]" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.5.1" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +}