{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# QC and processing raw barcode counts for Library 2 with the Rho promoter\n",
    "This notebook takes raw barcode counts and processes it into activity scores for each replicate. Then, we do statistics to determine which sequences are significantly different from the Rho promoter alone. There are three biological replicates of RNA and one DNA sample from the input plasmid pool. This notebook should be nearly identical to notebook 01 for Library 1 with Rho."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import sys\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "from scipy import stats\n",
    "\n",
    "sys.path.insert(0, \"utils\")\n",
    "from utils import modeling, plot_utils, quality_control"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "plot_utils.set_manuscript_params()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Load in data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>label</th>\n",
       "      <th>DNA</th>\n",
       "      <th>RNA1</th>\n",
       "      <th>RNA2</th>\n",
       "      <th>RNA3</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>barcode</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>AACAACAAG</th>\n",
       "      <td>chr7-141291911-141292075_UPPP_MUT-allCrxSites</td>\n",
       "      <td>132</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AACAACGTT</th>\n",
       "      <td>chr19-16380352-16380516_CPPN_MUT-allCrxSites</td>\n",
       "      <td>1779</td>\n",
       "      <td>36</td>\n",
       "      <td>17</td>\n",
       "      <td>46</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AACAACTAC</th>\n",
       "      <td>chr1-44147572-44147736_UPPP_MUT-allCrxSites</td>\n",
       "      <td>2928</td>\n",
       "      <td>433</td>\n",
       "      <td>802</td>\n",
       "      <td>510</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AACAACTCG</th>\n",
       "      <td>chr12-116230818-116230982_CPPE_WT</td>\n",
       "      <td>2822</td>\n",
       "      <td>3043</td>\n",
       "      <td>2967</td>\n",
       "      <td>3013</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AACAACTGT</th>\n",
       "      <td>chr5-65391346-65391510_CPPP_MUT-allCrxSites</td>\n",
       "      <td>1810</td>\n",
       "      <td>1572</td>\n",
       "      <td>2281</td>\n",
       "      <td>1559</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AACAAGCTT</th>\n",
       "      <td>chr15-97965790-97965954_CPPP_MUT-allCrxSites</td>\n",
       "      <td>1047</td>\n",
       "      <td>1259</td>\n",
       "      <td>1531</td>\n",
       "      <td>1310</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AACAAGGCG</th>\n",
       "      <td>chr1-59164069-59164233_CPPE_WT</td>\n",
       "      <td>4966</td>\n",
       "      <td>17124</td>\n",
       "      <td>17046</td>\n",
       "      <td>14499</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AACAAGTAG</th>\n",
       "      <td>chr2-158513919-158514083_CPPE_WT</td>\n",
       "      <td>2690</td>\n",
       "      <td>10607</td>\n",
       "      <td>12288</td>\n",
       "      <td>9783</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AACAAGTCT</th>\n",
       "      <td>chr11-58097684-58097848_UPCP_MUT-allCrxSites</td>\n",
       "      <td>4049</td>\n",
       "      <td>1589</td>\n",
       "      <td>2030</td>\n",
       "      <td>1541</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AACAATAGG</th>\n",
       "      <td>chr16-33682556-33682720_CPNE_MUT-allCrxSites</td>\n",
       "      <td>2623</td>\n",
       "      <td>2510</td>\n",
       "      <td>2215</td>\n",
       "      <td>2097</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AACAATCAC</th>\n",
       "      <td>chr8-120493050-120493214_CSRE_MUT-shape</td>\n",
       "      <td>1105</td>\n",
       "      <td>23</td>\n",
       "      <td>14</td>\n",
       "      <td>137</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AACAATGAG</th>\n",
       "      <td>chr1-162570536-162570700_CSPP_MUT-shape</td>\n",
       "      <td>564</td>\n",
       "      <td>217</td>\n",
       "      <td>563</td>\n",
       "      <td>371</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AACAATGCT</th>\n",
       "      <td>chr12-86553474-86553638_CPRN_WT</td>\n",
       "      <td>1139</td>\n",
       "      <td>176</td>\n",
       "      <td>72</td>\n",
       "      <td>87</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AACAATGTC</th>\n",
       "      <td>chr4-59668207-59668371_CPPE_MUT-allCrxSites</td>\n",
       "      <td>1168</td>\n",
       "      <td>814</td>\n",
       "      <td>1323</td>\n",
       "      <td>1242</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AACAATTCA</th>\n",
       "      <td>chr1-111864309-111864473_UPCQ_MUT-allCrxSites</td>\n",
       "      <td>2963</td>\n",
       "      <td>2004</td>\n",
       "      <td>2144</td>\n",
       "      <td>2143</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AACACAGCC</th>\n",
       "      <td>chr9-27191668-27191832_CPPE_WT</td>\n",
       "      <td>1589</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AACACAGGG</th>\n",
       "      <td>chr13-41249684-41249848_CSPP_scrambled</td>\n",
       "      <td>580</td>\n",
       "      <td>47</td>\n",
       "      <td>118</td>\n",
       "      <td>53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AACACATAC</th>\n",
       "      <td>chr9-59660499-59660663_CPPP_WT</td>\n",
       "      <td>5276</td>\n",
       "      <td>48243</td>\n",
       "      <td>41743</td>\n",
       "      <td>32514</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AACACATGT</th>\n",
       "      <td>chr19-3321456-3321620_UPPE_WT</td>\n",
       "      <td>1947</td>\n",
       "      <td>1397</td>\n",
       "      <td>1485</td>\n",
       "      <td>1005</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AACACCAAT</th>\n",
       "      <td>chr4-119142639-119142803_UPPE_WT</td>\n",
       "      <td>3350</td>\n",
       "      <td>588</td>\n",
       "      <td>1101</td>\n",
       "      <td>779</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                   label   DNA   RNA1   RNA2  \\\n",
       "barcode                                                                        \n",
       "AACAACAAG  chr7-141291911-141292075_UPPP_MUT-allCrxSites   132      0      1   \n",
       "AACAACGTT   chr19-16380352-16380516_CPPN_MUT-allCrxSites  1779     36     17   \n",
       "AACAACTAC    chr1-44147572-44147736_UPPP_MUT-allCrxSites  2928    433    802   \n",
       "AACAACTCG              chr12-116230818-116230982_CPPE_WT  2822   3043   2967   \n",
       "AACAACTGT    chr5-65391346-65391510_CPPP_MUT-allCrxSites  1810   1572   2281   \n",
       "AACAAGCTT   chr15-97965790-97965954_CPPP_MUT-allCrxSites  1047   1259   1531   \n",
       "AACAAGGCG                 chr1-59164069-59164233_CPPE_WT  4966  17124  17046   \n",
       "AACAAGTAG               chr2-158513919-158514083_CPPE_WT  2690  10607  12288   \n",
       "AACAAGTCT   chr11-58097684-58097848_UPCP_MUT-allCrxSites  4049   1589   2030   \n",
       "AACAATAGG   chr16-33682556-33682720_CPNE_MUT-allCrxSites  2623   2510   2215   \n",
       "AACAATCAC        chr8-120493050-120493214_CSRE_MUT-shape  1105     23     14   \n",
       "AACAATGAG        chr1-162570536-162570700_CSPP_MUT-shape   564    217    563   \n",
       "AACAATGCT                chr12-86553474-86553638_CPRN_WT  1139    176     72   \n",
       "AACAATGTC    chr4-59668207-59668371_CPPE_MUT-allCrxSites  1168    814   1323   \n",
       "AACAATTCA  chr1-111864309-111864473_UPCQ_MUT-allCrxSites  2963   2004   2144   \n",
       "AACACAGCC                 chr9-27191668-27191832_CPPE_WT  1589      1      1   \n",
       "AACACAGGG         chr13-41249684-41249848_CSPP_scrambled   580     47    118   \n",
       "AACACATAC                 chr9-59660499-59660663_CPPP_WT  5276  48243  41743   \n",
       "AACACATGT                  chr19-3321456-3321620_UPPE_WT  1947   1397   1485   \n",
       "AACACCAAT               chr4-119142639-119142803_UPPE_WT  3350    588   1101   \n",
       "\n",
       "            RNA3  \n",
       "barcode           \n",
       "AACAACAAG      1  \n",
       "AACAACGTT     46  \n",
       "AACAACTAC    510  \n",
       "AACAACTCG   3013  \n",
       "AACAACTGT   1559  \n",
       "AACAAGCTT   1310  \n",
       "AACAAGGCG  14499  \n",
       "AACAAGTAG   9783  \n",
       "AACAAGTCT   1541  \n",
       "AACAATAGG   2097  \n",
       "AACAATCAC    137  \n",
       "AACAATGAG    371  \n",
       "AACAATGCT     87  \n",
       "AACAATGTC   1242  \n",
       "AACAATTCA   2143  \n",
       "AACACAGCC      1  \n",
       "AACACAGGG     53  \n",
       "AACACATAC  32514  \n",
       "AACACATGT   1005  \n",
       "AACACCAAT    779  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "barcode_count_dir = os.path.join(\"Data\", \"Rhodopsin\")\n",
    "barcode_count_files = [\"library2Plasmid.counts\", \"library2Rna1.counts\",\n",
    "                     \"library2Rna2.counts\", \"library2Rna3.counts\"]\n",
    "barcode_count_files = [os.path.join(barcode_count_dir, i) for i in barcode_count_files]\n",
    "\n",
    "# Stuff for downstream functions\n",
    "sample_labels = np.array([\"DNA\", \"RNA1\", \"RNA2\", \"RNA3\"])\n",
    "sample_rna_mask = np.array([False, True, True, True])\n",
    "rna_labels = sample_labels[sample_rna_mask]\n",
    "dna_labels = sample_labels[np.logical_not(sample_rna_mask)]\n",
    "n_samples = len(sample_labels)\n",
    "n_rna_samples = len(rna_labels)\n",
    "n_dna_samples = len(dna_labels)\n",
    "\n",
    "n_barcodes_per_sequence = 3\n",
    "results_dir = barcode_count_dir\n",
    "output_prefix = os.path.join(results_dir, \"library2\")\n",
    "\n",
    "all_sample_counts_df = quality_control.read_bc_count_files(barcode_count_files, sample_labels)\n",
    "all_sample_counts_df.to_csv(f\"{output_prefix}RawBarcodeCounts.txt\", sep=\"\\t\", na_rep=\"NaN\")\n",
    "all_sample_counts_df.head(20)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Threshold barcode counts, assess reproducibility\n",
    "Set barcodes that are below the DNA cutoff to an NaN (because they are missing from the input plasmid pool) and those that are below any of the RNA cutoffs to zero in all replicates."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Barcodes missing in DNA:\n",
      "Sample DNA: 277 barcodes\n",
      "277 barcodes are missing from more than 0 DNA samples.\n",
      "Barcodes off in RNA:\n",
      "Sample RNA1: 875 barcodes\n",
      "Sample RNA2: 678 barcodes\n",
      "Sample RNA3: 774 barcodes\n",
      "1180 barcodes are off in more than 0 RNA samples.\n",
      "There are a total of  157.724 million barcode counts.\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAARgAAAD/CAYAAAAquMkCAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAEfZJREFUeJzt3XuQXnV9x/H3B0JFIQEhK7ZAkoIKVmtQgtdyU6uCUq10rDdgqtOobTq1itU6oKlFcbwgdbDRaCopSamAqAiK4wUVvOAsDqipAUshBBHYSIlJgEDg0z/OWX14stk9m31+z43Pa+aZ3f2d8zzn+8vufHLO73cusk1ERAm79LqAiBheCZiIKCYBExHFJGAiopgETEQUk4CJiGISMBFRTAImIopJwEREMbN6XcDOmjt3rhcsWNDrMiIeka655poNtkemWm9gA2bBggWMjo72uoyIRyRJ65qsl0OkiCgmARMRxSRgIqKYBExEFJOAiYhiEjARUUwCJiKKScBERDEJmIgoZmDP5G1qwbsu63UJjd38wZf2uoSeyu9q+GQPJiKKScBERDEJmIgoJgETEcUkYCKimARMRBSTgImIYhIwEVFMVwJG0qMkrZC0TtImSddKOq5etkCSJW1ueZ3ejboioqxunck7C1gPHA3cAhwPXCDpj1vW2dv2ti7VExFd0JU9GNtbbC+1fbPth2xfCtwEHN6N7UdEb/RkDEbSfsCTgDUtzesk3Srps5Lm7uB9iyWNShodGxvrSq0RsfO6HjCSdgNWAyttrwU2AEcA86n2aGbXy7dje7ntRbYXjYxM+UiWiOixrl5NLWkX4DzgfmAJgO3NwPgDju6QtAT4laTZtjd1s76I6KyuBYwkASuA/YDjbT+wg1Vdf80UesSA6+YezDLgycALbd873ijpWcDdwC+AxwIfB75te2MXa4uIAroSMJLmA28CtgK3VzszULc9BHwAeBzwG+DrwGu6Udcgy82ZYhB0JWBsrwM0ySrnd6OOiOiujHNERDEJmIgoJgETEcUkYCKimARMRBSTgImIYhIwEVFMAiYiiknAREQxCZiIKCYBExHFJGAiopgETEQU09U72kU8Eg3KrTVK3FYjezARUUwCJiKKScBERDEJmIgoJgETEcUkYCKimARMRBSTgImIYhIwEVFMAiYiiknAREQxCZiIKCYBExHFJGAiopgETEQU05WAkfQoSSskrZO0SdK1ko5rWf4CSWsl3SPpCknzu1FXRJTVrT2YWcB64GhgL+A04AJJCyTNBS4GTgf2AUaBz3WprogoqCt3tLO9BVja0nSppJuAw4F9gTW2LwSQtBTYIOlQ22u7UV9ElNFoD0bS2yQdVn//bEm3SLpJ0nN2ZqOS9gOeBKwBngJcN76sDqMb6/b29y2WNCppdGxsbGc2HRFd1PQQ6R+Am+rvzwTOAs4Azp7uBiXtBqwGVtZ7KHsCG9tW2wjMbn+v7eW2F9leNDIyMt1NR0SXNT1E2sv2RkmzgYXAC20/KOmj09mYpF2A84D7gSV182ZgTtuqc4BN0/nsiOg/TQNmvaTnUh22fLcOlznAg003JEnACmA/4HjbD9SL1gCntKy3B3Bw3R4RA6xpwLwDuIhqz+PEuu1lwI+msa1lwJOp9n7ubWn/AvBhSScClwHvAX6SAd6IwdcoYGx/BfiDtuYLgQuavL8+r+VNwFbg9mpnBoA32V5dh8s5wCrgauDVTT43Ivpbo4CRdJftfVrbbD8g6U7gcVO93/Y6QJMs/wZwaJNaImJwNJ1F2q29oZ4N2rWz5UTEMJl0D0bSlYCB3SV9t23xAcD3SxUWEYNvqkOkz1Ad2hxBNQM0zsAdwLcK1RURQ2DSgLG9EkDSDzOrExHT1XQWaa2kFwGHUZ1527rsPSUKi4jB13QW6RzgVcAVwD0ti1yiqIgYDk1PtHstsND2+pLFRMRwaTpNvQG4u2QhETF8mu7BfBRYLelMqtmj37L9vx2vKiKGQtOAWVZ/fVlbu8nJdhGxA01nkXJz8IiYtgRHRBTTdJp6/JKB7dg+qqMVRcTQaDoG85m2nx8PvJHq9goRERNqOgazsr1N0ueBzwLv63RRETEcZjIG80vgaZ0qJCKGT9MxmDe0NT0GeCXww45XFBFDo+kYzEltP2+huhfMxzpbTkQMk6ZjMMeWLiQihk/jR8dKeiLwGmB/qvGX823/olRhETH4mj469gTgGqobc98FHAKMSvqzgrVFxIBrugfzAeDltq8Yb5B0DNWjRi4pUFdEDIGm09QHAFe2tV1Vt0dETKhpwFwLvL2t7W11e0TEhJoeIr0F+LKkvwfWAwdS3TrzhFKFRcTgm85Nv58MPJvqEbK3AVe3PMA+ImI7Tc/kPQz4te2rWtoOlLSP7euKVRcRA63pGMwqtn987O8B53W2nIgYJk0DZl77vXdt3wgsaLohSUskjUraKunclvYFkixpc8vr9KafGxH9q+kg762SnmH7x+MNkp5BNRbT1G3AGcCLgUdPsHxv29um8XkR0eeaBszHgC9J+hBwI3AwcCrw/qYbsn0xgKRF5PyZiEeEprNIn5Z0N9Vd7A6kmqp+u+2LOljLOkkGvg68w/aGDn52RPRA44sdbV8IXFighg3AEVQn7e0LfAJYTXUo9TCSFgOLAebNm1eglIjopJ4/VcD2ZtujtrfZvgNYArxI0uwJ1l1ue5HtRSMjI90vNiKmpecBM4Hxpxf0Y20RMQ2ND5FmStKsenu7ArtK2h3YBhxO9dzrXwCPBT4OfNv2xm7VFhFldHMv4TTgXuBdwOvr708DDgIuBzYBPwO2Ut3YKiIG3A73YCQ1ehyJ7fc0XG8psHQHi89v8hkRMVgmO0Q6sGtVRMRQ2mHA2P6rbhYSEcNnWoO89dTxXEDjbe3XKEVEjGt6u4Y/ojr5bSHVNLL43XTyrmVKi4hB13QW6d+AK4B9gN9QTSd/CjilUF0RMQSaHiItBP7U9gOSZHujpHdQTSuvKldeRAyypnsw9/G7G05tkDSvfu++RaqKiKHQNGCuBF5Vf38R8FXgO8C3ShQVEcOh6e0aXtXy47upDo1mAytLFBURw6Hpo2NPHf/e9kO2V9leBry5WGURMfCaHiLt6HKA0zpVSEQMn0kPkSQ9v/52V0nH0nKCHdVFiptKFRYRg2+qMZgV9dfdgX9vaTdwO/B3JYqKiOEwacDY/kMASf9h++TulBQRw6LpLNLJ9Q2jngvsD9wK/CCPGYmIyTS9FukQ4FKq5xmtp7qVw32STrD984L1RcQAazqLtAxYDhxo+zm2DwA+SXWNUkTEhJoGzGHAWbbd0nZ23R4RMaGmAXMbcHRb25FM79GxEfEI0/Rq6ncDl0i6FFgHzAdeSnXz7oiICTXag7F9CfAMfncN0s+Aw21/qWBtETHgms4inWr7I8AZbe1vs31WkcoiYuDlWqSIKCbXIkVEMbkWKSKKybVIEVFM01mkhEtETFvTQd6IiGlLwEREMV0LGElLJI1K2irp3LZlL5C0VtI9kq6QNL9bdUVEOd3cg7mN6kS91tkoJM0FLgZOp3py5CjwuS7WFRGFzChgJP206bq2L7b9ReDXbYteCayxfaHt+4ClwEJJh86ktojovZnuwZzZgRqeAlw3/oPtLcCNdXtEDLCmz0V6/A4WdeLJjnsCG9vaNlJdVNlex+J6HGd0bGysA5uOiJKa7sHcsIP2/+5ADZuBOW1tc5jgMgTby20vsr1oZGSkA5uOiJKaBoy2a5DmAA91oIY1wMKWz90DOLhuj4gBNtXFjuuprjt6tKRb2hbvC5zfdEP1UwlmAbtSXTy5O7AN+ALwYUknApdRXbn9E9trG/ciIvrSVBc7vp5q7+UrwEkt7QbusH39NLZ1GvDets/+Z9tL63A5B1gFXA28ehqfGxF9aqqLHb8D1bkqtu+ZyYZsL6Wagp5o2TeATEtHDJmmYzCrJB3Z2iDpSEkXFagpIoZE04A5Gvh+W9sPgGM7W05EDJOmAXMfsEdb257AA50tJyKGSdOA+RrwqXpqenyK+hzg8lKFRcTgaxowb6c6+e0uSXcCdwF7AW8tVVhEDL5Gjy2x/X/AS+tLBg4E1tu+vWhlETHwpjrR7jFU5688FfgxcGaCJSKamuoQ6RPACcBa4C+AjxSvKCKGxlQB8xLgRbb/ETgOeFn5kiJiWEwVMHvY/hWA7fVUA7sREY1MNcg7q+2Jju0/Y7sT94SJiCE0VcDcycPvoftrtn/C40GdLioihsNUFzsu6FIdETGE8lykiCgmARMRxSRgIqKYBExEFJOAiYhiEjARUUwCJiKKScBERDEJmIgoJgETEcUkYCKimARMRBSTgImIYhIwEVFMAiYiiknAREQxfRMwkr4t6T5Jm+vX9b2uKSJmpm8CprbE9p7165BeFxMRM9NvARMRQ6TfAuZMSRskfU/SMb0uJiJmpp8C5p1UTyjYH1gOfFnSwa0rSFosaVTS6NjYWC9qjIhp6JuAsX217U22t9peCXwPOL5tneW2F9leNDIy0ptCI6KxvgmYCZiWB7xFxODpi4CRtLekF0vaXdIsSa8DjgIu73VtEbHzpnqyY7fsBpwBHAo8CKwFXmH7hp5WFREz0hcBY3sMOKLXdUREZ/XFIVJEDKcETEQUk4CJiGISMBFRTAImIopJwEREMQmYiCgmARMRxSRgIqKYBExEFJOAiYhiEjARUUwCJiKKScBERDEJmIgoJgETEcUkYCKimARMRBSTgImIYhIwEVFMAiYiiknAREQxCZiIKCYBExHFJGAiopgETEQUk4CJiGISMBFRTAImIorpm4CRtI+kL0jaImmdpNf2uqaImJlZvS6gxSeA+4H9gMOAyyRdZ3tNb8uKiJ3VF3swkvYATgROt73Z9lXAJcBJva0sImaiLwIGeBKwzfYNLW3XAU/pUT0R0QGy3esakHQkcKHtx7e0/TXwOtvHtLQtBhbXPx4CXN/NOtvMBTb0cPslDGOfYDj71es+zbc9MtVK/TIGsxmY09Y2B9jU2mB7ObC8W0VNRtKo7UW9rqOThrFPMJz9GpQ+9csh0g3ALElPbGlbCGSAN2KA9UXA2N4CXAy8T9Iekp4HvBw4r7eVRcRM9EXA1P4GeDRwJ3A+8JY+n6Lui0O1DhvGPsFw9msg+tQXg7wRMZz6aQ8mIoZMAiYiiknA1CTdLOleSZsk3S3p+5LeLGmXevm5kizpmS3veYKk7Y4x63W3Sfr9bvah3vZ4PzZLur2uZc+WumbUB0lPlfQ1SRsmel8JXejTKZKukfQbSbdK+pCk4qdwdKFfr5Z0vaSNku6UtFJS++kgRSVgHu4E27OB+cAHgXcCK1qW3wWcMdkHtFz2sBF4faE6p3KC7T2prul6OvBPLctm2ocHgAuAN3as2mZK9ukxwFupTl57FvAC4NTOlD2lkv36HvA823sBB1Gd9zbp53VaAmYCtjfavgT4S+AUSU+tF60Enibp6EnefiJwN/A+4JSylU7O9u3A16j+eMfNqA+2r7e9gh6do1SoT8tsX2n7ftu/BFYDz+ts5ZMr1K/1tlvP9n0QeEJnKm4mATMJ2z8CbgWOrJvuAT4AvH+St51CNc3+X8Chkg4vWuQkJB0AHAf8T0vzQPWhXZf6dBRdDtBS/ZL0J5I2Up0VfyJwdifrnkoCZmq3Afu0/PwpYJ6k49pXlDQPOBb4T9t3AN8ETu5KlQ/3RUmbgPVU5xW9t235IPShXVf6JOkNwCLgIx2sfTJF+2X7qvoQ6QDgw8DNHe/BJBIwU9uf6lgYANtbgX+pX+1OAn5u+9r659XAayXtVrzKh3tFPZZ0DHAo1djCbw1IH9oV75OkVwBnAse1HVqU1JXfVX3odznVnk7XJGAmIekIqoC5qm3RZ4G9gVe2tZ8MHFTPCNwOnEX1B3N86VonYvs7wLlM/L/xQPShXak+SXoJ8GmqQdefFih9Ul36Xc0CDu5IwQ31y9XUfaWeyjsK+Fdgle2fSvrtctvbJL0X+HjLe55D9ct7OjDW8nEfpfpD+FIXSp/I2cDNkha2Nu5sH1T9QzwK+L36PbtXH+etRXvxcJ3u0/Op/vf/83rcrVc63a/XAVfavkXSfKqxnG8W7sPD2c6rulziZuBeqsGwjcAPgL8Fdq2Xnwuc0bL+LsDPqn9CA3wS+PwEn/tMYCuwTxf78cK2tmXA5zvRB2AB4LbXzQPepyuAbVS3DRl/fXUIflfvp5qk2FJ/XQ7s242/w/FXrkWKiGIyBhMRxSRgIqKYBExEFJOAiYhiEjARUUwCJiKKScBERDEJmIgoJgETEcX8P56Kx/+sQsOgAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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li3hY59++qmMMadca86cOYqLi9PevXujjq9atUoTJ05UYmKiRo8erUcffVR1dXWnHZO1VitWrNCFF16o+Ph4jR49Wrfddps+/vjj8Pfp37+/EhISNGzYME2dOjW8HGfRokUyxmj58uVR11y+fLmMMVq0aFGrf0YAeq/GL/pF98BvvYjJwYMHZYxRQkKCBg8erPT09CanosvKyvTmm2/qpptuavMxHDhwQD/4wQ8UHx+v9PR0vfDCC6c9d+fOnZo8ebKSkpI0btw4vfLKK1Htu3btUlZWloYOHarU1FTNmzcv/AvX0aNHlZubq/T0dA0ZMkQTJkzQunXr2vx+gN7qtddeU3V1tUpKSrRt2zY9/fTTUe3Dhg3TggULmr1GTU2NAoGAkpKS9Ic//CGq7fDhw1q2bJn279+vDz74QG+99ZZ+/etfn/ZaDz30kJYvX64VK1bowIEDKi0t1S233KI33ngjfM6jjz6q6upq7d69WyNGjNCcOXPCbZmZmXruueeirrlq1SplZma29KMA0M2x5wkSgQoxKikp0fDhw1VdXa3Dhw/r6aef1ty5c7V///7wOVVVVZo1a5ZWrlzZLvunHnzwQfXv319ff/21Vq9erfvvv187duw45by6ujrdfPPNmj59ug4cOKBnn31Wd999t0pLS8PnPPDAAxoxYoT27t2rkpISbdy4Uc8880y4f1pamjZu3KjKykotXrxYt99+u3bt2tXm9wT0ZqmpqbrxxhtVUlISdXz27Nnavn27Nm7ceNq+gUBAycnJevLJJ7Vq1aqotvvvv1/XXHON+vfvr1GjRmnmzJl69913m7xOMBjUb37zG61Zs0aTJ0/WgAEDNHjwYM2cOVOPPfbYKecPHjxYd911lz755JPwscsvv1yHDx8OP4927NihI0eO6PLLL4/5ZwGg+3EcRzNmzFBBQYH8fn/4GAGr9yFQISYlJSW67LLLwn+/7rrrdOLECR08eFBSfQi54447tHDhQl1wwQVt/v1D/xr91FNPKSEhQd/73vc0Y8YMPf/886ec6ziO9uzZo5/85Cfq27evJk+erKuvvjrq3H/84x+6/fbbNXDgQKWmpmratGnhX4bi4+O1aNEijRkzRn369NH06dN13nnn6cMPP2zz+wJ6s927d2vdunUaN25c1PHBgwfr8ccf1/z580/bd9WqVbrzzjt1xx13yHGcZv/73LRpk8aPH99k21tvvaXRo0friiuuiGnM1dXVWr16tS699NKo47NmzQrPUq1atUqzZs2K6XoAuoemgpLf71cwGFRGRkZ4z1OoqEQoYKF3iClQGWPmGWO2GmOOGmNWNmqbYoxxjDGHjTHvGGPSI9oGGGMKjDFVxph9xpiHY+2LrmXbtm2aOHGiJKmiokI///nPNXHixPAvQmvWrNEHH3ygp556Stdff71eeumlU64xffp0JScnN/mZPn16s9+/tLRUcXFxUUtoLrnkkiZnqJpirY36F+W8vDy9+OKLOnz4sL766iutW7dO06ZNa7Lv119/rdLS0tP+QgagdW655RYNGTJEaWlpGjFihH7xi1+ccs7cuXP1xRdfNLnc9osvvtA777yju+66S2effbamTJlyypK7kIKCAm3dulU//elPm2z/9ttvdc4557Q45l//+tdKTk7WuHHjVF1drZUrV0a133333VqzZo2OHz+uF198UXfffXeL1wTQfTQVlLxerzIyMrRs2bLwnqdQUQmv16vc3FwVFRUxY9ULxDpDtUfSYkkFkQeNMcMlFUp6QtIwSVslRf4mvUhShqR0Sf9L0qPGmGkx9kUXUlJSouXLlysxMVFDhw7VN998o/Xr14c3is+aNUvffvutNmzYoA0bNuiHP/zhKdd4/fXXVVFR0eTn9ddfb/b7V1dXKzExMepYUlKSDh06dMq5F1xwgUaMGCG/36/jx4/rzTff1MaNG3X48OHwOddee6127NgR3rQ+adIk3XLLLadc6/jx45o5c6Zmz57NBlGgjbz66qs6dOiQNmzYIMdxopYOhwwYMEBPPPGEnnjiiVPann/+eX3nO9/RhAkTJEkzZ87UCy+8oOPHj5/yfX7+859r3bp1Gj58eJNjOeuss04patGUn/70p6qoqNC+ffu0du1anX/++VHt5557rsaNG6fHH39cGRkZSktLa/GaALq2yFmppqrvBQIBBYNBBQKB8LFQUYlAIKCCggLl5eUxY9ULxBSorLWF1tpXJX3bqClb0g5r7R+ttUdUH6AuMcaEfvOcLekpa+1Ba+1OSb+TNCfGvugijh49qp07d2r79u2qqqrSyy+/rPfff79D3zOVkJCgqqqqqGNVVVUaMmTIKef269dPr776qt544w2lpqZq6dKluv322zV69GhJ0smTJzVt2jRlZ2erpqZG+/fv18GDB/Wzn/0s6jonT57UrFmz1L9/f/3nf/5n+90c0Etdd911mjNnzmlnj370ox+poqJChYWFUcefe+45ff7550pNTVVqaqoefvhh7d+/X0VFReFz1q9fr3vvvVevvfaaLrrootOOYcqUKdq9e7e2bt16xvdzzz33aOnSpbrnnnvO+FoAOl/krFRT1feaK3Eealu2bBll0HuBM91DNV7SR6G/WGtrJH0mabwxZqikcyLbG74e31LfMxwT2tgnn3yigQMHauzYsZLqp7jPPffcqH+RicX3v/99JSQkNPn5/ve/32zfzMxM1dXVKRgMho999NFHp12Gd/HFF2vjxo369ttv9ec//1mff/55eI/EgQMH9MUXX2jevHkaMGCAzjrrLP3oRz+K+mXMWqvc3Fx9/fXXCgQCvKQYaCd5eXkqLi7WRx99dEpbXFycfvGLX+hXv/pV+Njf/vY3ffbZZ9qyZYtKSkpUUlKiTz75RHfddVd42d/bb7+tmTNnKhAItLg3KiMjQw888IDuvPNObdiwQceOHdORI0f04osv6t///d9bdS8//OEP9eabb+r2229vVT8AXY/jOKqoqJDX6z1tGGquxHmoLSsrizLovcCZBqoESZWNjlVKGtLQpkbtobaW+kYxxtzXsIdra3l5+RkOGa21bds2jR8/Puo9MFlZWVq7dm2rrrNu3TpVV1c3+WmpLHl8fLyys7P15JNPqqamRu+++67+9Kc/nXbj9/bt23XkyBEdPnxYv/71r7V3795wmePhw4frvPPO029/+1vV1dWpoqJCq1at0sUXXxzuf//992vnzp167bXXwu/XQvfFM6TrSklJ0T333KNf/vKXTbbfeeedUXucVq1apZtvvlkXXXRReIYqNTVVDz30kF5//XUdOHBATz31lCorK5WVlRXTP9qsWLFC8+bN04MPPqjk5GSdf/75euWVV1r9+odBgwbpX//1X3lm9DA8P3onv9+vwsJCWWvl9/vZA4XmWWtj/qh+H9XKiL8vl/RMo3M+luSVNFSSlTQios0r6eOW+jY3hokTJ1p0rAcffNDee++9UcfeeecdO3jwYFtbW9th4/j222/tzTffbAcPHmzT0tLs6tWro9qnTZtmlyxZYq219qc//alNTk628fHxdtq0aTYYDEadu23bNnvdddfZ5ORke9ZZZ9nbbrvN7tu3z1pr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66ELsda2+JGULekWSb+VtDLi+HBJlZJukzRQkl/S+xHtT0vaLGmopO9I2idpWix9T/eZOHGiRce76KKL7ODBg+2QIUOsJHvjjTfa8vLyDvv+mzZtsmeffXbUsWeffdZed911p5x77Ngxe95559lf/epX9tixY/bPf/6z7devn73hhhtOOXfXrl22T58+9vPPP2/y+7bUjvYnaauN4TkV64dnSOfoac+Qv//97/ayyy6zffv2tZLs7Nmz7cmTJ6211n711VdWkp04caLds2ePLS8vt1dddZV9/PHH2/UecSqeHz1Lenq6jY+PtwkJCVaSnTx5sj148GC4ffbs2Xb+/Pn2yJEjNi0tzRYVFdlgMGjrf92tV1ZWZo0xdtu2bdZaa2+44Qb74x//uMnvt3v3brtw4UL7P//zP022L1682F555ZXNjnn27Nl2wIABNikpyZ599tn2pptusp9++qm11tqFCxfamTNn2rKyMpuWlmaPHTtm09LS7BdffGFnzpxpFy5c2JofD9pBrM+QmGaorLWF1tpXJX3bqClb0g5r7R+ttUckLZJ0iTHG8/+3d/+xdtZ1nsDfn52SQgqEX8USEEVokXQE3S2ZRJx1Nrg7hWSDgQRtWYFudskO1mgIWSZqXURXMSsh0QgZTVwLC8MmWhB/gHbMlM2gjNuNlKAwmLKBqDi0QiktFNLlu3/cU+a0tL33PveWc885r1fyJJzne76n389Tnk/6vs95ntsbvyLJ51prz7fWHkvyjSRXTnEuc8Qrr7ySxx57LI888ki2b9+eb3/723nooYcOyT0OB3LkkUe+4abQ7du356ijjnrDew877LDcc889+cEPfpBFixblpptuyqWXXppTTjnlDe+9/fbb8773vS+nnXbafv/cycaByY1aD3nttdeyfPnyXHzxxdm5c2e2bt2a559/Ptddd12S5IgjjkiSfOxjH8tJJ52UE044Iddcc01++MMfHuIqYfTdc889efHFF7Nhw4Y8/vjje92Hucf8+fOzZs2arFmz5g1jt99+e84666y8+93vTpJcdtllufPOO/f7u+9OPvnkLF++PB/+8If3u5bjjz/+DQ+12J9rr70227Zty+9///vce++9Of300/caP/XUU3PGGWfkk5/8ZBYvXpy3vvWtk34mc8tM76FammTTnhettZ1JNidZWlXHJjmpf7z330snmzvDNTHLHn300Rx++OGv31B9ySWX5NRTT813vvOdaX3OBRdc8Ian5+3ZLrjggoPOXbJkSXbv3p1f//rXr+/btGlTli7d//8uZ599dh544IH84Q9/yI9+9KM8+eST+70kf9ttt+WKK6444J872TgwuVHrIc8991yefvrprF69OvPnz8/xxx+fVatWvR6Yjj322Jxyyil7fU3YV4Zhdr3//e/PlVdemWuvvXa/46tWrcq2bduybt26vfbfdtttefLJJ7No0aIsWrQo11xzTbZu3XrAH3js3r07mzdv3u/Y+eefn9/85jfZuHHjzIpJcvnll+emm27K5ZdfPuPP4s0300B1ZCa+ttfvhSRH9cayz/iescnm7qWqrurdw7Vxy5YtM1wy0/WLX/wiS5cu3esfBBdeeGHuvffeaX3Offfdt9fT8/q3++6776BzFyxYkIsvvjif+cxnsnPnzjz44IP57ne/e8DvGT/yyCPZtWtXXnrppXz5y1/OM888s9dTdZLkpz/9aX77298e8Ol9k40zPPSQwRq1HnLCCSfktNNOy6233prdu3dn27ZtWbt2bc4+++zX569atSpf/epX8+yzz+b555/PzTffPOl9XsxN+sfc9YlPfCLr16/Ppk2b3jA2b968fPazn82XvvSl1/f97Gc/y+bNm/Pzn/88Dz/8cB5++OE8+uijWbly5ev3MN1xxx15+umnk0z8GodPfepTOf/88/f75y+qv6WrAAANLUlEQVRevDhXX311VqxYkQ0bNuTVV1/Nrl27ctddd+XGG2+cVi0f+tCH8uMf/ziXXnrptOYxN8w0UO1IcvQ++45O8mJvLPuM7xmbbO5eWmtfb60ta60tW7hw4QyXzHQ9/PDDe/1DIUmWL1+e9evXZ9euXW/aOm655Za8/PLLOfHEE7NixYrceuute/10+YILLsgXvvCFJBOX9E866aSceOKJ+clPfpL169dn/vz5e33e2rVrc/HFF+/3Kz9TGWd46CGDNYo9ZN26dbn//vuzcOHCnHHGGTnssMNy8803vz6+Zs2anHvuuVmyZEnOOuusvOc97znoTfLMXfrH3LVw4cJcfvnlueGGG/Y7vmLFir1+afjatWtz0UUX5V3vetfrV6gWLVqUj3/84/n+97+f5557Lr/61a/y3ve+NwsWLMh5552XM888M9/4xjcOuIavfOUrWb16dT760Y/mmGOOyemnn56777572r9L74gjjsgHPvCB178yzHCpifutpvjmqs8nOaW1dmXv9VVJrmitndd7vSDJliT/vLX2eFX9rje+vjd+Q5IlrbUPTzb3QGtYtmxZm41Lq8BwqKr/01pbNlufp4fA+NA/gJmYag+Z6mPT51XV4Un+KMkfVdXhVTUvyd1J/riqLumNfybJI32B6LYkn66qY3sPm/iPSb7VG5tsLgAAwJw21a/8fTrJy0n+Msm/6/33p1trW5JckuS/Jnk+yZ8k6X8Uyn/JxIMmnkryQJL/1lq7P0mmMBcAAGBOmzeVN7XWrs/EY833N/Y3Sfb7qPPW2itJ/n1vm9ZcAACAuW6mD6UAAAAYWwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABARwIVAABAR7MSqKpqQ1Xtqqodve0f+sZWVtVTVbWzqu6pquP6xo6rqrt7Y09V1crZWA8AAMCbYTavUK1urR3Z285MkqpamuSvknwkyVuSvJTklr45X0vyam/ssiS39uYAAADMefMO8edfluR7rbX/lSRVtSbJY1V1VJLXklyS5I9bazuS/F1V3ZuJ8PWXh3hdAAAAMzabV6i+WFVbq+rBqvqz3r6lSTbteUNrbXMmrkgt6W27W2tP9H3Gpt6cvVTVVVW1sao2btmyZRaXDIwDPQToSv8AJjNbgeq6JO9IcnKSryf5XlWdnuTIJC/s894XkhzVG9t+gLG9tNa+3lpb1lpbtnDhwllaMjAu9BCgK/0DmMysfOWvtfb3fS/XVtWKJBcm2ZHk6H3efnSSFzPxlb8DjQEAAMx5h+qx6S1JJfllknP27KyqdySZn+SJ3javqhb3zTunNwcAAGDO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\n",
      "text/plain": [
       "<Figure size 864x864 with 9 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "cutoffs = [10, 5, 5, 5]\n",
    "threshold_sample_counts_df = quality_control.filter_low_counts(all_sample_counts_df, sample_labels, cutoffs,\n",
    "                                                               dna_labels=dna_labels, bc_per_seq=n_barcodes_per_sequence)\n",
    "fig = quality_control.reproducibility_plots(threshold_sample_counts_df, rna_labels, \"CPM\", big_dimensions=True)\n",
    "plot_utils.save_fig(fig, f\"{output_prefix}Reproducibility\", timestamp=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Normalize RNA barcode counts by plasmid barcode counts"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "normalized_sample_counts_df = quality_control.normalize_rna_by_dna(threshold_sample_counts_df, rna_labels, dna_labels)\n",
    "# Drop DNA\n",
    "barcode_sample_counts_df = normalized_sample_counts_df.drop(columns=dna_labels)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Compute expression across replicates"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "activity_replicate_df = quality_control.average_barcodes(barcode_sample_counts_df)\n",
    "activity_replicate_df.to_csv(f\"{output_prefix}ReplicateExpression.txt\", sep=\"\\t\", na_rep=\"NaN\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Normalize to basal, average across replicates, do statistics"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/ryan/Documents/DBBS/CohenLab/Manuscripts/CRX-Information-Content/utils/quality_control.py:408: RuntimeWarning: invalid value encountered in double_scalars\n",
      "  cov = std / mean\n"
     ]
    }
   ],
   "source": [
    "sequence_expression_df = quality_control.basal_normalize(activity_replicate_df, \"BASAL\")\n",
    "# Compare vs. basal\n",
    "sequence_expression_df[\"expression_pvalue\"] = quality_control.log_ttest_vs_basal(activity_replicate_df, \"BASAL\")\n",
    "sequence_expression_df[\"expression_qvalue\"] = modeling.fdr(sequence_expression_df[\"expression_pvalue\"])\n",
    "\n",
    "# Save to file\n",
    "sequence_expression_df.to_csv(f\"{output_prefix}TotalExpressionSummary.txt\", sep=\"\\t\", na_rep=\"NaN\")"
   ]
  }
 ],
 "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.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}