{ "cells": [ { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The autoreload extension is already loaded. To reload it, use:\n", " %reload_ext autoreload\n" ] } ], "source": [ "from __future__ import absolute_import\n", "%load_ext autoreload\n", "%autoreload 2\n", "%matplotlib inline\n", "import sys\n", "import pandas as pd\n", "import numpy as np\n", "import cohorts\n", "from cohorts.functions import missense_snv_count, snv_count\n", "from query_tcga import cohort" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Initializing the cohort\n", "\n", "In this example, we will demonstrate how to use [query_tcga](http://github.com/jburos/query_tcga) to initialize a cohort object. We will then do some simple mock-analyses using this object.\n", "\n", "This proceeds in two steps:\n", " 1. `prep_patients()`: create a list of Patients (objects of class `cohort.Patient`)\n", " 2. `prep_cohort()`: create a Cohort from the list of patients (object class `cohorts.Cohort`)\n", "\n", "For example, to query the `BLCA` cohort:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'dataframe_hash': -6111177348469020104, 'provenance_file_summary': None}\n" ] } ], "source": [ "blca_patients = cohort.prep_patients(project_name='TCGA-BLCA',\n", " project_data_dir='data',\n", " data_dir='data/gdc')\n", "\n", "blca_cohort = cohort.prep_cohort(patients=blca_patients,\n", " cache_dir='data-cache3')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We are now ready to proceed with our analysis." ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "## Analysis of outcomes: Survival by Somatic Mutation Burden" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this cohort, we have VCF data so we can plot survival according to `snv_count`.\n", "\n", "`plot_survival` plots `OS` as the outcome, using the median value as the threshold." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "# no condition 71\n", "# with condition 70\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "blca_cohort.plot_survival(snv_count)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are a number of functions pre-defined in `cohorts` which provide common summaries of genetic data. \n", "\n", "Some examples:\n", "\n", " - `snv_count` summarizes the number of somatic SNVs per patient\n", " - `missense_snv_count` summarizes the number of missense SNVs per patient\n", " - `neoantigen_count` counts number of predicted neoantigens, after running topiary on VCFs\n", " - `expressed_snv_count` same as `snv_count` but filtered to expressed variants\n", "\n", "Note that not every function will work for every cohort. If your cohort does not have mRNA data, for example, the `expressed_snv_count` function will produce an error. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Analysis of outcomes: Benefit by SNV count" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Alternatively, we might want to summarize the association of SNV count with `benefit`, which is defined as OS > 1 year by default (see `?cohort.prep_patients`). \n", "\n", "To accomplish this, we can use the `plot_benefit` function for the cohort:" ] }, { "cell_type": "code", "execution_count": 73, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mann-Whitney test: U=2337.0, p-value=0.643264297939 (two-sided)\n" ] }, { "data": { "text/plain": [ "MannWhitneyResults(U=2337.0, p_value=0.643264297939, sided_str='two-sided')" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "blca_cohort.plot_benefit(cohorts.functions.snv_count)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Data exploration: Correlation of SNV count with Age" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We might want to summarize correlation between `snv_count` and `age at diagnosis`. \n", "\n", "One peculiarity of the `plot_correlation` function is that it currently requires a function as input. Unlike `plot_survival` and `plot_benefit`, you cannot pass a variable name as a string.\n", "\n", "So, for now, we create a mini-function to return the desired variable:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def age_at_dx(row):\n", " return row['age']" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "CorrelationResults(coeff=-0.0470557604077, p_value=0.579517637023, stat_func=pearsonr)" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nbz9uu+02qqqqupVbunQpP/3pTxk1ahQAZWVlLF26FIDFixfz+OOPM3jwYI444gjmz59PcXFxt9eQ\nDDiOU1B/xo8f/8Hx48c7mzZtckQkMzt27HBOOOEEZ+PGjY7jOM5tt93mzJs3r1/l7r33XueEE05w\nFixYkPJr3XLLLc73vve9Ab6CvrW2tjonn3yy88orrziO4zi//vWvnUsuuSRl2ZkzZzp//OMfux1f\ntWqVM3XqVKelpcVxHMf59re/7SxZsiTTqhTq51mP16sWlkiaVq9ezcKFC/nABz7Apk2bKC0t5eab\nb+bQQw+lra2N22+/nRdeeIHOzk4+/OEPc+2111JWVsbTTz/NPffcQ3t7O7W1tZx11llcfvnlrF69\nmptuuonS0lL27NnD0qVLmTNnDhs3bqSoqIgjjjiCG264AYAHHniApUuXMnjwYEaOHMn111/PQQcd\nxA9+8APKysp488032bp1K4cccgjV1dWUlpbykY98hClTpmCt5fbbb+fwww/vupYbb7yRl156Ken6\niouLeeCBB3r9HqxcuZJJkyYxbtw4AL70pS9x1llnMXfu3IzKPf/886xcuZILLriAhoaGbl/nxRdf\n5C9/+QuPPtp143HOPvtsbrrppqTrALjzzjtZv34927dvZ/v27UycOJEbb7yxW2vu3nvv5fHHH+/2\nte6//34qKiq6Hr/++uuUl5dz1FFHAXDuuedy8803U19fn1QO4JVXXqGpqYn77ruPkSNHctVVVzF+\n/Hg6OjpobW2ludm9x2xLSwslJf69uiVjvaVZPv7J099IJAdWrVrlTJw40XnppZccx3Gc3/zmN860\nadMcx3GcO++801m4cGFX2TvuuKOrRfHVr37VeeeddxzHcZz33nvPmThxorNz586u1/vPf/7jOI7j\nPPLII87FF1/sOI7jdHR0ONddd52zceNG5+9//7vzmc98xtm5c6fjOI6zbNky54wzznAcx3GuueYa\n50tf+pLT1tbmtLW1Oeecc46zbNkyx3Ecxxjj/OEPfxjQ78E999zjzJ07t+txe3u7M2HCBGfXrl1p\nl9u6datz5plnOjU1Nc7ixYtTtrC++MUvOo8++mhadVq8eLFzyimnODt27HAcx2313HrrrZlfnOex\nxx7reh/iPvnJTzrW2qRju3fvdqZPn+68+uqrjuM4zp/+9Cfnk5/8pLN7927HcRzn2muvdY466ijn\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "blca_cohort.plot_correlation(snv_count, age_at_dx)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As before, we can alternatively plot `snv_count` by benefit :" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## More flexibility: Prepare dataframe for analysis" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we can retrieve the cohort data as a dataframe, including calculated functions like `snv_count`, etc. \n", "\n", "This is to enable opportunities for more detailed data exploration and/or analysis using external libraries.\n", "\n", "Here it is possible to provide a list of functions so that multiple summary statistics can be computed in the same dataframe." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['snv_count']\n" ] } ], "source": [ "extra_cols, df = blca_cohort.as_dataframe(on=[cohorts.functions.snv_count])\n", "print(extra_cols)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Also note that **the function now returns a tuple** when a list is passed to the parameter `on`. \n", " (By comparison, when no `on` parameter is given, `as_dataframe()` simply returns a dataframe.)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Other options to `prep_cohort`:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The idea behind `cohorts` is to encourage the majority of analyses to use the \"standard\" options for this particular cohort. \n", "\n", "Thus, the user can set various *default* options at a cohort-level at the time of creation, but then override these on an analysis-by-analysis basis as needed.\n", "\n", "Examples of options that utilize this framework include:\n", " - `normalized_per_mb`: whether to normalize metrics like SNV count to coverage\n", " - `filter_fn`: QC filters to apply to *all variants* prior to summary stats being calculated\n", " - `plot_benefit_name`: Descriptor to use for \"benefit\" plots \n", " - etc.\n", " \n", "See `?cohorts.Cohort` for a more complete list of options.\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.12" } }, "nbformat": 4, "nbformat_minor": 0 }