{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "e888b1cb-d36e-4357-9eb0-8f272504b87d",
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"os.environ['CUDA_VISIBLE_DEVICES'] = '0'"
]
},
{
"cell_type": "markdown",
"id": "8b9b4aa0-3a2b-48a1-b2d1-bb8316663173",
"metadata": {},
"source": [
"### Tutorial A3: DeepLIFT/SHAP\n",
"\n",
"Although machine learning models -- and, more specifically, deep learning models -- are frequently referred to as \"black box\" and \"uninterpretable\", these models can be invaluable tools for discovery. At a high level, if one rephrases the problem not of understanding what the set/s of learned weights mean but rather how changes in each input to the model affect the output of the model, principled methods can be devised. These methods aim to attribute to each feature in an example a value that corresponds in some meaningful manner to that feature's \"importance\" to the predictions for that feature. The simplest such value is just the Euclidean distance between the predictions before and after making the substitution. Frequently, this value is then Z-score normalized independently for each position in the sequence. In genomics, each feature is a nucleotide at a position so there are `4*seq_len` total features. Each attribution method has its own set of assumptions and interpretation of the output so it is important to fully understand the method being used.\n",
"\n",
"Perhaps the most conceptually simple attribution method is in silico saturation mutagenesis (ISM). In this method, each potential substitution is considered and the attribution value is derived from the difference in prediction before and after making the substitution. Nucleotides that drive predictions higher, such as those within protein binding sites, are usually assigned a higher score and those that are irrelevant for the prediction are assigned near-zero values. Importantly, this method measures the individual effect that each nucleotide has on predictions and does not consider epistatic interactions. You can read more about it in the corresponding tutorial.\n",
"\n",
"A challenge with ISM is that it requires `3*seq_len` forward passes through the model; in contrast, gradient-based methods work by assigning an importance to each feature simultaneously based on the gradient with respect to an output. Put another way, perturbation-based methods require a number of forward passes proportional to the number of perturbations/inputs, whereas gradient-based methods require a number of backward passes proportional to the number of outputs of the model. If you have a model with a single output this means that you can calculate attributions for each input with a single backward pass. If you have a multi-task model with many tasks you will need one backward pass for each task that you care about.\n",
"\n",
"Unfortunately, basic gradient-based/saliency methods are unstable and suffer from not having a reference to compare against. Imagine if you were trying to run ISM but did not have an original sequence to compare the predictions to. DeepLIFT provides a \"rescale\" correction for the instability of gradients and also calculates the gradient with respect to a reference sequence. The choice of reference sequence is critical for getting meaningful attributions but, fortunately, generating such references in genomics is fairly straightforward. DeepSHAP, which was developed concurrently, extends this idea to using multiple reference sequences and averaging over them. They are commonly called DeepLIFT/SHAP to recognize the connections between methods and concurrence of development.\n",
"\n",
"tangermeme provides an implementation of DeepLIFT/SHAP that is based on the implementation found in Captum. However, this implementation has several advantages: (1) it is significantly more compact and better documented, (2) it is unit tested thoroughly to ensure convergence (see below) of common layers and models, (3) it allows vectorized calculations of attributions when the references are different for each sequence, (4) it automatically checks the convergence of each run and raises a warning if convergence is not reached, and (5) it can calculate attributions for models even when the full number of references do not fit in memory by running batches that do fit in memory and then aggregating the references after they have all been run. \n",
"\n",
"Let's take a look at how to do this using the Beluga model. We start by loading it up like normal."
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "45bd5dc1-7cb8-4d77-8f85-89e6e52e1670",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import torch\n",
"from model import Beluga\n",
"\n",
"model = Beluga()\n",
"model.load_state_dict(torch.load(\"deepsea.beluga.torch\"))"
]
},
{
"cell_type": "markdown",
"id": "f71ff7fe-1b85-4ba0-bb12-53e811ab0435",
"metadata": {},
"source": [
"Now, let's take a random one-hot encoding and put an AP-1 motif right in the middle."
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "1a75583e-1234-411f-ba1e-84bd67b4e782",
"metadata": {},
"outputs": [],
"source": [
"from tangermeme.utils import random_one_hot\n",
"from tangermeme.ersatz import substitute\n",
"\n",
"X = random_one_hot((1, 4, 2000)).type(torch.float32)\n",
"X = substitute(X, \"GTGACTCATC\")"
]
},
{
"cell_type": "markdown",
"id": "f991e128-a7ac-4b70-ad0d-a095f8935f13",
"metadata": {},
"source": [
"Now we can run DeepLIFT/SHAP using the Beluga model focusing specifically on a task that predicts JunD binding in GM12878. The signature of DeepLIFT/SHAP somewhat mirrors that of the `predict` function with the notable changes being that an optional `target` parameter allows you to focus on a specific output and the `random_state` argument allows you to force DeepLIFT/SHAP to be deterministic when generating the randomly shuffled sequences as references."
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "17a38cb4-8a0d-4487-babe-370f6599f5c9",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"torch.Size([1, 4, 2000])"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from tangermeme.deep_lift_shap import deep_lift_shap\n",
"\n",
"X_attr = deep_lift_shap(model, X, target=267, device='cpu', random_state=0)\n",
"X_attr.shape"
]
},
{
"cell_type": "markdown",
"id": "028f5716-b576-4e18-8bf8-548e59961e5c",
"metadata": {},
"source": [
"We will get back a tensor that is the same shape as the input where the values are the attributions averaged across all references. As a technical note, these values are not the multipliers that are usually returned by other DeepLIFT/SHAP implementations. Rather, these are the multipliers after they have been corrected for the difference-from-reference property. Specifically, the multipliers can be thought of as the importance of each character to the prediction. But, using a one-hot encoding, multiple values cannot be 1 and so the presence of a 1 explicitly means that the other values at that position are 0. So, the true influence of a character at a position is the attribution of that character at that position minus the attribution taken by the character at the reference sequence. \n",
"\n",
"Here, `tangermeme` makes several decisions for the user, which diverges from my goal of being as assumption-free as possible. However, this is because calculating attributions correctly is challenging but there is a well-used way to do it and I wanted to make sure that people -- particularly those new to genomics -- were doing it right.\n",
"\n",
"Anyway, we can visualize these attributions using a logo where the height of the characters corresponds to the attribution values."
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "57d754a2-5037-44e4-ae76-d91bc25252d7",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA04AAADtCAYAAACIwCVcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABjy0lEQVR4nO3dd3xN9x/H8VemDFusmLVCJXaprZSWDqtKq6EoSidVtVrlR1NabZWaVaoUraBWS42iRqlSalXtEQSxEpn3/P447k2u3CQ3JGK8n49HHrnne77nnO+5+d6b8znfcVwMwzAQERERERGRFLlmdQFERERERETudgqcRERERERE0qDASUREREREJA0KnERERERERNKgwElERERERCQNCpxERERERETSoMBJREREREQkDQqcRERERERE0qDASUREREREJA3uWV0AEbm/LViwgIEDB9qWPT09yZkzJ6VKlaJevXo899xz5MuXLwtLaM9a3vnz5xMUFOQwz8mTJ2nSpAn9+/enW7duAPzxxx906tTJYf4nnngCHx8fFi5cmObxW7duzccff5xmvpCQEGbMmEGjRo2YPHlysvV//fUXGzdupHPnzuTMmdNu3ezZs/H29qZNmzZpHsfKen4zZ86kVq1aAAwYMIAVK1awY8cOp/eTltTKHRwcDMB3332XYcfLSMuXL+err77ixIkTxMTEsGjRIipUqJCpxzxx4gTffvstGzduJCwsjISEBPLnz0+1atV47rnnqFWrFi4uLoD9ZzHp39HKMAyaNWvG8ePHqVmzpt37vGjRItatW8fevXs5duwY/v7+rFmzJll5Nm/ezOLFi9mxYwdnzpwhR44cBAYG8tprrxEYGJjseD/++CNz587l6NGjeHh4ULZsWV555RUaNWpky3fzd8jN3nnnHXr06GFb3rJlC5MnT2b//v1ER0dTtGhR2rVrR8eOHXFzc0v1/cyMOu1IcHAwW7duBcDFxQVvb2/8/PyoUKECLVq0oFmzZri66t62yN1GgZOI3BEhISGUKlWK+Ph4Lly4wPbt25k6dSrffPMNn3/+OXXq1MnqImaIvn37JrsgzZ07N66urnTo0MGWtmfPHoYPH54sf968edM8RlxcHIsXLwZgw4YNnD17loIFC9rl2bFjB+PHj6d169bJApA5c+aQJ0+edAVOFStWZN68eZQpU8bpbW5F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hybd7z///JOs6631OIUKFUrn2UCRIkWS1d3NmzenOnnH7QgNDWX9+vU89dRTtrFOInJ3UIuTiNwRBw8eJCEhgfj4eC5evMiff/7JggULcHNzY/z48XbPaRk2bBjdu3enW7dutG7dmoIFC3L58mUOHTrEnj17bBMXvPnmm2zatIkOHToQHBzMQw89RGxsLCdPnmT9+vUMGzbM7kLJzc2NLl260KVLFywWC1OnTuXatWu88cYbycq7ZcsWh12hGjZsmAnvTtqWLFlCTEwMwcHByR5cCmbry5IlS5g/fz6DBg2ydX389ttvad26Ne7u7jz00ENkz56dcuXKsWzZMpYvX07RokXJli2bbRxGenl4eDB9+nSioqIICgqyzarXoEEDW9cvFxcXnn32WUJDQylevDjly5dn165ddtNhW6VW7pu1atWK2bNn895773Hq1CnKlSvH9u3bmTx5Mg0bNkz3Q5WvXr1Kp06dePrppylVqhS+vr7s3r2bDRs2pDo1eEpcXV1599136devHz179qR9+/bExsYybdo0rly5wjvvvJPufVoVL16cMWPG8M477/Dss8/SoUMHKlasiKenJxcuXGDjxo0AaU720K9fP6eO999///Hff/8BZgva9evX+eWXXwBz1kPr5BjffPMNX375JfXr16dRo0bJAiPrxBn+/v40a9aMH374AU9PTxo2bEhsbCyLFi3ir7/+4q233krW8nn27Fk2bNhA8+bNHT6fCsyAcsSIEbz66qu2ySM2b97M9OnTqVOnjsPp2dPSsmVLxo4dy9ixY6lZsyb//fcfs2bNuu2uvdHR0bb3Jzo6mhMnTrB69WrWrl1LzZo17Z5vJSJ3BwVOInJHDBw4EDAvtHPmzEnp0qXp3r077dq1S/Zwy0cffZQff/yRSZMm8dFHH3HlyhVy585N6dKlbbOngXl3ef78+UyYMIFp06Zx9uxZfH19KVKkCPXr10/WDapjx47ExMQwYsQILly4QNmyZZk8ebLDGbw+/fRTh+fhqJXkTpg/fz758uVLcYa3gIAAqlSpwuLFi+nXrx+1atWiZ8+eLFy4kB9//BGLxcLMmTOpVasWb7zxBuHh4QwZMoTIyEiKFCnicDyJMzw8PJg0aRIjRoxg4sSJeHl50a5dO/r372+Xz/q8m6+//pqoqChq1arFpEmTkg2kT63cN8uWLRszZ87k888/5+uvvyYiIoKCBQvStWvXFFs6UpMtWzYqVarETz/9xKlTp4iPj6dw4cJ0796dV155Jd37A3PiDG9vb6ZMmUKfPn1wc3OjcuXKzJw5k2rVqt3SPq2aNGnCkiVL+Pbbb1mwYAFfffUVFovFNk35V199RZMmTW7rGFY///wz48ePt0t76623AHNCCuvNB+tzsTZs2OBwgoekLTeffvops2bN4qeffiI0NBQPDw9KlizJJ5984rBFaeHChSQkJDicFMIqODiYggULMmPGDIYMGUJMTAxFihThtdde4+WXX07zPK9fv55sev5u3bpx7do1Fi5cyDfffEOlSpUYO3Zsit0FnXXixAnat28PmLOL5suXj4cffpixY8fSrFkzp5+dJSJ3jouhqVtE5D538uRJmjRpQv/+/enWrVtWF0dE7lLPPvssnp6etvGEIiJJqcVJREREHlixsbHs3LmT9evXc+DAAQYNGpTVRRKRu5QCJxEREXlgnTt3js6dO1OgQAF69+5NcHBwVhdJRO5S6qonIiIiIiKSBo08FBERERERSYMCJxERERERkTQocBIREREREUmDAicREREREZE0PPCBk8ViYdeuXVgslqwuitznVNfkTlFdkztFdU3uFNU1uRs88IGTYRjExcWhyQUls6muyZ2iuiZ3iuqa3Cmqa3I3eOADJxERERERkbQocBIREREREUmDAicREREREZE0KHASERERERFJgwInERERERGRNChwEhERERERSYMCJxERERERkTQocBIREREREUmDAicREREREZE0KHASERERERFJgwInERERERGRNChwEhERERERSYMCJxERERERkTRkeeA0e/ZsGjduTFBQEG3atOHPP/9MMe+ff/5Jhw4dqFWrFpUqVeLJJ59kxowZd66wIiIiIiLyQHLPyoMvX76ckJAQhg4dSrVq1Zg7dy7du3dn2bJl+Pv7J8vv4+PDSy+9REBAAN7e3mzfvp2hQ4fi7e1N+/bts+AMRERERETkQZClLU7Tp0+nbdu2tGvXjtKlSzN48GAKFSrEnDlzHOZ/+OGHefrppylbtixFixalZcuW1KtXL9VWKhERERERkduVZS1OsbGx7Nmzhx49etil161blx07dji1j71797Jjxw7efvvtdB3bYrFgGAYACQkJdr9FMovqmtwpqmtyp6iuyZ2iuiaZyc3Nzal8WRY4RUREkJCQQL58+ezS/fz8CA8PT3XbBg0acPHiRRISEnj99ddp165duo79zz//EBcXZ5e2e/fudO1D5Faprsmdoromd4rqmtwpqmuSGapXr+5Uviwd4wTg4uJit2wYRrK0m82ePZuoqCj+/vtvxowZQ4kSJXj66aedPmZgYKBdi9Pu3bsJCgpyOtoUuRWqa3KnqK7JnaK6JneK6prcDbIscMqTJw9ubm6cP3/eLv3ChQv4+fmlum2xYsUACAgI4Pz584wbNy5dgZOra/KhXW5ubvogyh2huiZ3iuqa3Cmqa3KnqK5JVsqyySE8PT2pWLEiGzdutEvftGkTVatWdXo/hmEk63YnIiIiIiKSkbK0q16XLl3o378/gYGBVK1alXnz5hEWFkaHDh0AGDNmDGfPnmX06NGA2UWvcOHClCpVCoDt27fzzTff8NJLL2XZOYiIiIiIyP0vSwOnFi1aEBERwYQJEzh37hzlypVjypQpFClSBIDw8HDCwsJs+S0WC5999hknT57Ezc2N4sWL884779gCLRERERERkcyQ5ZNDdOzYkY4dOzpc9/HHH9stBwcHExwcfCeKJSIiIiIiYpOlD8AVERERERG5FyhwEhERERERSYMCJxERERERkTQocBIREREREUmDAicREREREZE0KHASERERERFJgwInERERERGRNChwEhERERERSYMCJxERERERkTQocBIREREREUmDAicREREREZE0KHASERERERFJgwInERERERGRNLind4OwsDBcXFwoVKgQALt27WLJkiWUKVOG9u3bZ3gBRUREREREslq6W5zeeecdtmzZAkB4eDhdunRh9+7dfPbZZ4wfPz7DCygiIiIiIpLV0h04HTx4kEqVKgHw888/U7ZsWebOncuYMWNYuHBhhhdQREREREQkq6U7cIqPj8fT0xOATZs20bhxYwBKlSpFeHh4xpZORERERETkLpDuwKlMmTLMnTuXP//8k02bNtGgQQMAzp07R+7cuTO6fCIiIiIiIlku3YFTv379mDdvHsHBwTz11FOUL18egDVr1ti68ImIiIiIiNxP0j2rXq1atdiyZQvXrl0jV65ctvTnn38eb2/vDC2ciIiIiIjI3SDdgROAm5ubXdAEULRo0QwpkIiIiIiIyN0m3YHT+fPnGTVqFJs3b+bixYsYhmG3ft++fRlW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wuhwY47GMWPGcPbsWUaPHg1Ahw4dmD17NiEhITz//PPs2LGD0NBQxowZk+Flc3d1Z1ijYYzeNJrAAoG28Qwi6ZXXOy8tyrbg18O/8m7pd/Fx96Htw23v2PE9PMzxDykZ2XgkjUo2AqB1+dZ3plCZLZMvAoIrBTNkzRBC94VSKk8p2lRok6nHE7kVz5R7BlcXV5YfXE6xnGbXvFblW2Vtoe4BBbMXZOyTY9l8YjNFcha5a7rgpsnVHQo2Mn9upsBI7iGebp78/erfqeZJ6caHr6/Z6vTUU463e7zU48zYOYPL0ZfZenorri6uNH6osdNly9LAqUWLFkRERDBhwgTOnTtHuXLlmDJlCkWKmBMFhIeHExYWZstfrFgxpkyZQkhICLNnz6ZAgQIMHjw4XVORp0dw5WCCKwdnyr7lwdKpUid+/e9XAJ4JeMY2XuZukN83Py8GvZjVxbinZHPPxrqX13E+6jyFshfC7U4NxBVJh/y++alTrA4rDq2gUPZClMxd0n6SAUnRK9VecXrM1B2TiS3pIg+Kxx8yA6e1R9ey/th6qheubj/pWxqyNHACc9xSxxSeePfxx8kHqNesWZOFC2+9eV4kKzxV7il6VOsBQK8avbK4NJIRAvwCCCAgq4shkqqWAS35/fjvXLx+kbdqvZX2BiIi97HHSz2OCy5M2DaB81Hn6V6te7q2d82kcolIEp5unnzS7BMAqhaumkZuEZGM0TKgJf45/PHP4a8upfc6w0j5R0ScUjB7QQILBPLHKfMB9OkZ3wR3QYuTiIiIZI6y+cpyqu+prC6GiMhdo2mppuw+txtvd2/qFqubrm0VOImIiIiIyANhQL0BPF/xeXw8fMjmni3tDZJQ4CQiIiIiIg+E/L75ye+b/5a21RgnERERERGRNChwEhERERERSYMCJxERERERkTQocBIREREREUmDAicREREREZE0KHASERERERFJgwInERERERGRNChwEhERERERSYOLYRhGVhdCRERERETkbqYWJxERERERkTQocBIREREREUmDAicREREREZE0KHASERERERFJgwInERERERGRNChwEhERERERSYMCJxERERERkTQocBIREREREUmDAicREREREZE0KHASERERERFJwwMfOM2ePZvGjRsTFBREmzZt+PPPP7O6SHIPmzx5Mm3btqVq1arUrl2b3r17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bkz16tXp06cP165ds+WJjY1lxIgR1K5dm6CgIF544QV27dplW//HH38QEBDAhg0baNWqFZUqVaJTp05cuHCBdevW0bx5c6pVq0bfvn25fv26bbubu7HFxsYyevRoGjZsSGBgIM2aNePHH390+B4YhsHAgQMpUaIE33//PY0aNaJ48eJUqFCB119/nQkTJtjyHjhwgE6dOlGpUiVq1arF+++/T2RkpG29xWJh/PjxNGjQgMDAQFq2bMn69ett60+ePElAQADLly8nODiYoKAgFi9eTEJCAiEhIdSoUYNatWoxevRoDMOwK+fN59i4cWMmTZrEwIEDqVq1Ko0aNWLevHl223zyySc88cQTVK5cmSZNmvDFF18QFxcHwIIFCxg/fjz79+8nICCAgIAAFixY4NTfWkREEilwEhG5z0VERLBx40Y6duyIj4+PwzwuLi6AGVz06NGD8PBwpkyZwoIFC6hYsSKdO3fm0qVLtvzHjx9n9erVTJo0icmTJ7Nt2zamTp1qWz969GhWrFjBxx9/zMKFCylRogSvvPKK3T4Axo8fz/vvv8/cuXM5c+YMb7/9NjNnzmTMmDFMmTKFjRs38t1336V4bv3792f58uUMGTKEn3/+mWHDhuHr6+sw7759+zh48CBdu3bF1TX5v7+cOXMCcP36dV555RVy5crF/Pnz+eKLL9i0aRP/+9//bHlnzpzJ9OnTee+991i8eDH16tWjd+/eHD161G6fn376KcHBwSxfvpx69erxzTffEBoaysiRI/n++++5fPkyv/76a4rnZzV9+nQCAwNZtGgRL774Ih9++CGHDh2yrff19SUkJIRly5YxePBgfvzxR2bMmAFAixYt6Nq1K2XLluX333/n999/p0WLFk7/rUVE5AZDRETuazt37jTKlStnrFy50i69Zs2aRpUqVYwqVaoYo0ePNgzDMDZt2mRUq1bNiImJscv7+OOPG3PnzjUMwzC+/PJLo3LlysbVq1dt60eNGmW0a9fOMAzDiIyMNCpWrGgsXrzYtj42NtaoV6+eMXXqVMMwDGPLli1GuXLljE2bNtnyTJ482ShXrpxx/PhxW9r7779vdO3a1bb80ksvGSNGjDAMwzAOHz5slCtXzti4caNT78OyZcuMcuXKGXv27Ek137x584xHHnnEiIyMtKX99ttvRvny5Y3w8HDDMAyjXr16xsSJE+22a9u2rfHhhx8ahmEYJ06cMMqVK2fMmDHDLk/dunWNyZMn25bj4uKMBg0aGL169XJ4joZhGI899pjRr18/27LFYjFq165tfP/99ymew9SpU43WrVvblr/88kvj2WeftcvjzN9aREQSaYyTiMgDwtqqZDV//nwsFgv9+vUjNjYWgD179hAVFUWtWrXs8kZHR3P8+HHbcpEiRciePbttuUCBAly4cAEwW6Pi4uKoVq2abb2HhweVKlWyayUBCAgIsL3Oly8f3t7eFCtWzJbm5+fH7t27HZ7Pvn37cHNz45FHHnHq/K1ufh9udujQIQICAuxa56pVq4bFYuHIkSN4eXlx7tw5u/Oz5rm5m1tgYKDt9dWrVwkPD6dq1aq2NHd3dwIDA5N117tZ0vfJxcUFPz8/2/sN8Msvv/Dtt99y/PhxoqKiiI+Pt/v7OOLs31pEREwKnERE7nPFixfHxcWFw4cP26VbAxQvLy9bmsViIX/+/A67x+XIkcP22tGsbzdf/N8coBiGkSwt6X5cXFyS7dfFxQWLxeLwvJKW2xklS5YEzMCoQoUKKeZzVM6k5XH0OqXtUuoamV6O3hfr+71z50769u3LG2+8Qb169ciRIwfLli1j+vTpqe7T2b+1iIiYNMZJROQ+lydPHurWrcusWbOIiopKNW/FihU5f/48bm5ulChRwu4nb968Th2vePHieHh4sH37dltaXFwc//zzD6VLl76tc0mqXLlyWCwWtm3b5lT+ChUqUKZMGb755huHwdiVK1cAKFOmDPv377d7r/766y9cXV0pWbIk2bNnp0CBAnbnB7Bjx45Uzy9Hjhzkz5+fnTt32tLi4+PZs2ePU+VPyV9//YW/vz+9evUiKCiIkiVLcvr0abs8Hh4eyc45I/7WIiIPEgVOIiIPgKFDh5KQkEDbtm1Zvnw5hw4d4vDhw/z0008cPnwYNzc3AOrUqUOVKlV47bXX2LBhAydPnuSvv/7i888/T7HL3M18fHx44YUXGD16NOvXr+e///7j/fffJzo6mueeey7Dzqlo0aK0bt2aQYMGsWrVKk6cOMEff/zB8uXLHeZ3cXEhJCSEo0eP0rFjR9atW8eJEyfYv38/EydOtD2E9plnnsHT05MBAwbw77//smXLFv73v//RsmVL/Pz8AOjWrRtTp05l+fLlHD58mE8//ZT9+/fTqVOnVMvcqVMnpk6dyq+//sqhQ4cYNmyYLWC7VcWLFycsLIxly5Zx/PhxZs6cyapVq+zyFClShJMnT7Jv3z4uXrxIbGxshvytRUQeJOqqJyLyAChevDgLFy5k8uTJjBkzhrNnz+Lh4UGZMmXo2rUrL774ImAGF1OmTOGLL75g0KBBRERE4OfnR40aNWxBgzP69euHYRj079+fyMhIAgMD+frrr8mVK1eGnteHH37IZ599xocffsilS5fw9/enZ8+eKeavVKkSoaGhTJo0iSFDhhAREUGBAgWoWrUqgwYNAsDb25tp06YxcuRInnvuOby9vWnWrBkDBgyw7adTp05cu3aNjz/+mIsXL1K6dGkmTJhg6w6Ykq5duxIeHs6AAQNwdXWlbdu2NG3alKtXr97ye/D444/TuXNnhg8fTmxsLI0aNaJXr16MHz/elueJJ57g119/pVOnTly5coWQkBDatGmTIX9rEZEHhYuR1ohUERERERGRB5y66omIiIiIiKRBgZOIiIiIiEgaFDiJiIiIiIikQYGTiIiIiIhIGhQ4iYiIiIiIpEGBk4iIiIiISBoUOImIiIiIiKRBgZOIiIiIiEgaFDiJiIiIiIikQYGTiIiIiIhIGhQ4iYiIiIiIpOH/M9Sbk1AFIcMAAAAASUVORK5CYII=",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from matplotlib import pyplot as plt\n",
"import seaborn; seaborn.set_style('whitegrid')\n",
"from tangermeme.plot import plot_logo\n",
"\n",
"plt.figure(figsize=(10, 2))\n",
"ax = plt.subplot(111)\n",
"plot_logo(X_attr[0, :, 950:1050], ax=ax)\n",
"\n",
"plt.xlabel(\"Genomic Coordinate\")\n",
"plt.ylabel(\"Attributions\")\n",
"plt.title(\"DeepLIFT Attributions for GM12878 JunD\")\n",
"plt.ylim(-0.05, 0.35)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "4345e645-6e47-46d2-8caf-97ead8afc74a",
"metadata": {},
"source": [
"This looks good. When we substitute in an AP-1 motif that Beluga is known to respond to, the attributions highlight the motif and are pretty low everywhere else.\n",
"\n",
"We can check and see that there are other tasks where this motif does not drive predictions. Specifically, we can find the binding of some very different protein in the same cell type and make sure that the attributions are low.\n",
"\n",
"IMPORTANT: when comparing attributions at the same location across different tasks it is crucial that they must be done against the exact same reference sequences. When you set `random_state` to an integer and use the the same number of shuffles this is taken care for you. But if you do not set a random state you will get slightly different attributions for even the same task."
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "8a2ce0da-f641-49b8-8180-9a11a7cf17f1",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA04AAADtCAYAAACIwCVcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABTuUlEQVR4nO3dd3xN9x/H8VemBDFjEzsxEnvHKkrRqln8CA2l1epQqkZbozStVhdFqNpFG6NG2mqpVu29qT1TImIkQcY9vz9Oc7kSkhC5xvv5eOSR3O/5nnO+59xv7j2f8x3HwTAMAxEREREREbkjR3sXQERERERE5GGnwElERERERCQFCpxERERERERSoMBJREREREQkBQqcREREREREUqDASUREREREJAUKnERERERERFKgwElERERERCQFCpxERERERERS4GzvAojI42nhwoUMHjzY+trV1ZVs2bJRokQJ6tatS/v27cmdO7cdS2grsbwhISH4+fklm+f06dM0btyYgQMH0rNnTwA2btxIt27dks3frFkzMmfOzKJFi1Lcf5s2bfj4449TzBcUFMT06dNp2LAhwcHBSZZv27aNtWvX0r17d7Jly2azbM6cObi7u9O2bdsU95Mo8fhmzpxJzZo1ARg0aBC//vor27dvT/V2UnK3cgcEBAAwa9asdNtfegoNDeWbb77h1KlT3Lhxg8WLF1O2bNkHus9Tp04xY8YM1q5dS1hYGAkJCeTJk4cqVarQvn17atasiYODA2D7v3jr+5jIMAyaNm3KyZMnqVGjhs15Xrx4MX/++Sf79u3jxIkTFCxYkFWrViUpz/r161myZAnbt2/n33//xcPDA19fX1577TV8fX2T7O/HH39k3rx5HD9+HBcXF0qXLs1LL71Ew4YNrflu/wy5Xf/+/endu7f19YYNGwgODubAgQNcv36dwoUL06FDB7p06YKTk9Ndz+egQYPu+n968OBBAgIC2LRp0123A9C3b19ef/11YmJimD17NsuWLeP06dMYhkHu3LkpX748Xbp0oUaNGtZ1vvjiCw4cOMC+ffs4f/58qj8PRCRjKXASkQcqKCiIEiVKEB8fT0REBFu3bmXKlCl89913fPHFF9SpU8feRUwXb7/9dpIL0hw5cuDo6EinTp2saXv37mXkyJFJ8ufKlSvFfcTFxbFkyRIA1qxZw7lz58iXL59Nnu3btzN+/HjatGmTJACZO3cuOXPmTFPgVL58eebPn0+pUqVSvc69uFu5hw0b9kD3fT8uXrzIwIEDqVu3LsOGDcPV1ZVixYo90H2uXLmSAQMGkDNnTjp16kS5cuVwdXXlxIkT/Prrr3Tv3p3p06dTu3Ztm/WyZMlCSEhIknq6adMmTp48SZYsWZLs66effuLChQtUqFABwzCIj49Ptkxz587l0qVLdOvWjVKlSnHx4kWmTZtGx44d+fbbb23K8vXXXzNhwgQ6depE//79uXHjBrNnz+bll19m3LhxNG3aFICGDRsyf/78JPv6+uuvWbt2LU2aNLGmrVu3jp49e1KtWjU+/PBDMmfOzKpVqxg9ejQnT57kvffeS/G8urm5MWPGjDsuHzZsGFFRUdbXq1evZuLEidbPuET58+cnISGBHj168M8//9CzZ08qVKgAwIkTJ/jjjz/YsmWLTeA0Y8YMfHx8aNSoEQsWLEixrCJiHwqcROSBKl26tE0LTrNmzXjxxRf53//+R9++fVmxYgWenp52LGH6KFq0KJUqVUp2mZeXl/XvGzdupJj/TlauXMnFixdp2LAhq1evZtGiRbzyyiv3WuS7iouLw8HBgaxZs6a5nOntQQdt9+PYsWPExcXRqlUrmwvh+3Ht2jXc3d2TXXby5En69+9PqVKlmD59OlmzZrUuq1GjBh06dGDjxo1kz549ybotWrRg6dKlDBs2zGa9kJAQKleubBMUJJo6dSqOjmav/pdffplDhw4lW65hw4YlaUGuV68eTZs2JTg42CZwWrBgAVWrVmXEiBHWNH9/f/z9/Vm0aJE1cMqVK1eSGwoxMTFs376dqlWr2gQrCxcuxNnZmeDgYDJnzgxAnTp1OHbsGIsWLUpV4OTo6HjXun57PTx69CiQ9DMOzNav7du389FHH9GuXTubc9K1a1csFotN/m3btlnPc+LNERF5+GiMk4hkuIIFC/Luu+8SHR3NvHnzbJbt3r2bV155hRo1auDn50fr1q0JDQ1Nso3w8HA++OAD6tevj6+vL40aNWL8+PE2d8RPnz6Nj48PU6ZMYeLEiTRs2BA/Pz/atm3L+vXrH/hxpreQkBBcXFwICgqiQIECLFy4EMMwrMvHjRvHmDFjAGjcuDE+Pj74+PiwceNGGjVqxKFDh9i0aZM1vVGjRoDZHc/Hx4fFixfz8ccfU69ePfz8/Dhx4oR12caNG5OU59ChQ3Tv3p1KlSpRq1YtRo4cybVr16zLE8//woULk6zr4+PDuHHjUiw3mF31ErvrJbp06RLDhw+nXr16+Pr60rhxY7744gtiY2OT7GfkyJEsXryY5s2bU7FiRVq1asUff/xhk+/ixYu8//77NGjQAF9fX2rVqkWnTp1Yt27dHd+PQYMG8b///Q+Afv364ePjY1POlStX0rFjRypWrEjlypUJDAxM0r1x3Lhx+Pj4sHfvXt544w2qV6/O008/fcd9Tps2jWvXriUJfm5Vs2ZNypQpkyS9ZcuWACxbtsyadvXqVVasWGFzcX+rxIv5lCTX7TZLliyULFmSsLAwm3RnZ2c8PDxs0jJlymT9uZvQ0FBiYmLo0KGDTbqLiwsuLi64ubnZpHt4eKS4zQfh0qVLAOTJkyfZ5bef19SeZxGxL7U4iYhdNGjQACcnJ7Zs2WJN27BhAy+99BIVK1Zk+PDheHh4EBoaSr9+/bh+/bq1i1l4eDgdOnTA0dGR1157DS8vL7Zv387EiRM5c+YMQUFBNvuaM2cOBQsWZMiQIVgsFr799lt69erFrFmzqFy5crocj8ViSdKNydk5/T5i//33X9auXUvTpk3JlSsXrVu3ZuLEiWzevNna0tGhQwcuX77MrFmzGD9+vPWirVSpUowfP5433ngDDw8Pa9c3V1dXm318/vnnVKpUiREjRuDo6Eju3Lm5cOFCsuWJi4ujd+/edOzYkd69e1vP/9mzZ5k0aVKaju1u5U7OjRs36NatG6dOneL111/Hx8eHLVu2MHnyZPbv38/kyZNt8q9evZrdu3fzxhtvkDlzZr799lv69u3LL7/8QpEiRQB455132LdvH/369aNYsWJcuXKFffv2WS+Ak/Pqq6/i5+dn0/UyMZhZunQpAwYMoG7duowdO5bY2Fi+/fZbAgICmD59OtWqVbPZ1uuvv06LFi3o1KkTMTExd9znunXryJMnzx3H4d1N1qxZadasGQsWLLB2H122bBmOjo40b978rt3U7sXVq1fZt28ftWrVsknv1q0bY8aM4ccff6Rp06bcuHGDqVOncvXq1SQB8u1CQkLImjUrzzzzjE16p06dWLZsGaNGjeLll1/G3d2dVatW8fvvv/P222+nuszJdUV0dHRMc2Dj6+uLi4sLo0eP5tKlS9SqVYu8efOmaRsi8vBR4CQidpE5c2Zy5szJ+fPnrWkjRoygdOnSzJgxwxp01KtXj8jISD7//HNat26No6Mj48aN4/LlyyxfvpyCBQsCULt2bdzc3Pjkk0/o2bOnzUV3QkIC06ZNs955rlu3Lo0bN+brr79m2rRp6XI8/fr1S5K2YsUKihYtmi7bX7BgARaLhfbt2wPQrl07Jk2aREhIiDVwyp8/PwUKFACgbNmyFC5c2Lp+uXLlcHNzu2vXOy8vL77++utUlScuLo7AwEDrxBj+/v44OzvzxRdfsHXrVqpWrZrqY7tbuZOzaNEiDh48yJdffknz5s2t+8+cOTOfffYZa9euxd/f35r/xo0bTJs2zRrUlC9fnnr16vHzzz9bJxfYtm0bHTp04IUXXrCud+sYmuR4eXlZ69mtXS8tFgtjxozB29ubKVOmWC+6GzRowNNPP81nn32WpKW1devWvPHGG3fdH0BYWFiyE09YLBab7l93uthv164d3bp149ChQ5QuXZoFCxbwzDPP3LH16n6MGDGCa9euJelO+uKLL+Lm5sbIkSOtXehy5MjBpEmT7lpvjhw5wvbt2+nYsWOSrowVK1ZkxowZvPnmm8yZMwcAJycn3n77bXr06JGq8sbExFC+fPkk6bVr12b69Omp2kaiwoULM3z4cEaPHs0777wDmK1P/v7+dOjQIUngLCKPBrUNi4jd3NrN7MSJExw9epTnnnsOMO/8Jv7Ur1+f8PBwjh07BpgtCDVr1iRv3rxJ8gFJZr5q2rSpTXedrFmz8tRTT7F582YSEhLS5VgGDBhASEiIzU9iMHC/DMNg4cKFFChQwBoQFClShBo1arBixYpkx6bci8SxJamV+F4levbZZwGS7daXnjZs2EDmzJmTtDoktkje3g3z1pYgAE9PT3Lnzs2ZM2esaRUqVGDRokVMmDCBHTt2EBcXd8/lO3bsGOfPn+f555+3CV6yZMlC06ZN2blzp02XRkj7ub9d3759KV++vPVn1KhRyearUaMGXl5eLFiwgIMHD7J79+47dtO7H19++SVLly5l8ODBSWbVW7BgAaNHj6Zr165Mnz6dyZMn4+/vz6uvvsqaNWvuuM2QkBCAJN30APbs2WM9B5MmTWLGjBn07t2bL7/8km+++SZVZXZzc0vyPxwSEnLPk5O0b9+ev/76i7FjxxIQEECBAgVYsmQJXbt25dtvv72nbYqIfanFSUTsIiYmhkuXLuHt7Q1g7RL2ySef8MknnyS7TmRkJAARERH88ccfyd4dvjVfouQmn/D09CQuLo6YmJgk4y3uRZEiRe6p+1RqbNiwgdOnTxMYGGgTJDVv3pyNGzeybNkym5n77tWdxmMkx9nZmZw5cya7/t26t6WHS5cu4enpaZ1uO1Hu3LlxdnZOsv8cOXIk2Yarq6t1og4wp4OeOHEiISEhfPXVV2TOnJmnn36ad955J03nBW7Wv+TWy5s3LxaLhStXrti0mqS2G1eBAgVsAr5EgwYNok+fPgDWVsnkODg40LZtW2bNmsWNGzcoVqxYurd+jB8/nokTJ9KvXz+6du1qs+zy5cuMHDmSDh068O6771rTGzRoQEBAAMOGDUt2uvO4uDh++uknypQpk+z/2ciRI8mdOzfffPONderxWrVq4ejoyPjx42nVqpW1W+adODo6pvv/sIeHB88++6z1psKhQ4cIDAzkyy+/5IUXXkgyg6SIPNwUOImIXaxevZqEhARrN7PEi/CXX375joPjixcvbs3r4+PDW2+9lWy+2y9Ckxunc+HCBVxcXKwzcD3MEu+0T5s2LdmuhSEhIekSON0eiNxNfHw8kZGRNsFTeHg4cDNQSWzlu33ChtsD27TKkSMHO3fuxDAMmzJHREQQHx+fJKBLjVy5cjF06FCGDh3K2bNnWbVqFWPHjiUiIoKpU6emaVuJ+088H7c6f/48jo6O93zB7O/vz5w5c9i9e7fNRf6tMzempG3btnz99dfMmzcv2S6m92P8+PGMGzeO119/PdkZH48dO8b169eTDVB8fX3ZtGkT0dHRSaZGX716NREREbz66qvJ7nf//v08++yzSZ7X5Ofnh8Vi4ciRIykGThmhdOnStGjRghkzZnD8+HHrNOUi8mhQVz0RyXBnz55lzJgxeHh4WC/4S5QoQbFixThw4AB+fn7J/iR2t2rYsCH//PMPXl5eyea7/dlGK1assGldiIqK4o8//qBatWopPhjT3i5fvsxvv/1GlSpVmDlzZpKf5557jt27d/PPP/8ANyd8uPV4E7m6unL9+vV0K9vSpUttXifO1pYYDHt6epIpUyYOHjxok2/lypXJlg2SL/ftateuTUxMDL///rtN+uLFi63L70fBggXp2rUrderUYd++fWlev3jx4uTLl49ly5bZdEeNiYlhxYoVVKpU6Y7TjafkxRdfxN3dnZEjR95zF818+fLRs2dPnnrqKVq3bn1P20jON998w7hx4+jTpw99+/ZNNk/iTY0dO3bYpBuGwY4dO8iePXuyNzNCQkLIlClTku6ht253z549SbreJu4nf/78aTya+xMZGZnkhkGixGnMNVmEyKNHLU4i8kAdOnSIhIQE4uPjuXjxIlu2bGHhwoU4OTkxfvx4m+e0jBgxgl69etGzZ0/atGlDvnz5uHz5MkeOHGHv3r3WiQveeOMN1q1bR6dOnQgICKB48eLExsZy+vRp/vrrL0aMGGFzoeTk5ERgYCCBgYFYLBamTJlCVFQUr7/+epLybtiwIdmuUA0aNHgAZydlS5cu5caNGwQEBCR5cCmYrS9Lly4lJCSEIUOGWLs+zpgxgzZt2uDs7Ezx4sXJmjUr3t7eLF++nNDQUAoXLkymTJnw8fG5p3K5uLgwbdo0YmJi8PPzs86qV79+fWvXLwcHB1q1asWCBQvw8vKiTJky7Nq1y2Y67ER3K/ftWrduzZw5c3j33Xc5c+YM3t7ebN26leDgYBo0aJDmhypfvXqVbt268eyzz1KiRAmyZMnC7t27WbNmzV2nBr8TR0dH3nnnHQYMGMDLL79Mx44diY2NZerUqVy5coX+/funeZuJvLy8GDt2LP3796dVq1Z06tSJ8uXL4+rqSkREBGvXrgVIcbKHAQMGpGp/hw8f5vDhw4DZgnbt2jV++eUXwJz1MHFyjO+++46vv/6aevXq0bBhwySBUeLEGQULFqRp06b88MMPuLq60qBBA2JjY1m8eDHbtm3jzTffTNLyee7cOdasWUPz5s2TfT4VmAHlqFGjeOWVV6yTR6xfv55p06ZRp06dZKdnv53FYklS7kSJDxlOrY0bNzJ69Giee+45qlSpQo4cOYiIiGD58uWsWbOG1q1b23xGbdq0iYsXLwLmZDZnzpyxnucaNWqk6gHZIvLgKXASkQdq8ODBgHmhnS1bNkqWLEmvXr3o0KFDkouBWrVq8eOPPzJp0iQ++ugjrly5Qo4cOShZsqR19jQw79SGhIQwYcIEpk6dyrlz58iSJQuFChWiXr16SbpBdenShRs3bjBq1CgiIiIoXbo0wcHByc7g9dlnnyV7HMm1kmSEkJAQcufOfccZ3nx8fKhUqRJLlixhwIAB1KxZk5dffplFixbx448/YrFYmDlzJjVr1uT1118nPDyc9957j+joaAoVKpTseJLUcHFxYdKkSYwaNYqJEyfi5uZGhw4dGDhwoE2+QYMGAfDtt98SExNDzZo1mTRpkvUZUonuVu7bZcqUiZkzZ/LFF1/w7bffEhkZSb58+ejRo8cdWzruJlOmTFSoUIGffvqJM2fOEB8fT4ECBejVqxcvvfRSmrcH5sQZ7u7uTJ48mX79+uHk5ETFihWZOXMmVapUuadtJmrcuDFLly5lxowZLFy4kG+++QaLxWKdpvybb76hcePG97WPRD///DPjx4+3SXvzzTcBc0KKxJsPic/FWrNmTbITPNza6vjZZ58xe/ZsfvrpJxYsWICLiwvFihXj008/TbZFadGiRSQkJCQ7KUSigIAA8uXLx/Tp03nvvfe4ceMGhQoV4rXXXuPFF19M1bFev36djh07JrssrTNkVqpUiXbt2rFx40aWLFlCZGQkmTJlolSpUrz//vt07tzZJv+4ceNsJrXZtGmT9fWd/g9EJOM5GLf2IxAReYycPn2axo0bM3DgQHr27Gnv4oiIiMgjTGOcREREREREUqDASUREREREJAXqqiciIiIiIpICtTiJiIiIiIikQIGTiIiIiIhIChQ4iYiIiIiIpECBk4iIiIiISAqe+MDJYrGwa9cuLBaLvYsijznVNckoqmuSUVTXJKOorsnD4IkPnAzDIC4uDk0uKA+a6ppkFNU1ySiqa5JRVNfkYfDEB04iIiIiIiIpUeAkIiIiIiKSAgVOIiIiIiIiKVDgJCIiIiIikgIFTiIiIiIiIilQ4CQiIiIiIpICBU4iIiIiIiIpUOAkIiIiIiKSAgVOIiIiIiIiKVDgJCIiIiIikgIFTiIiIiIiIilQ4CQiIiIiIpICBU4iIiIiIiIpsHvgNGfOHBo1aoSfnx9t27Zly5Ytd8y7ZcsWOnXqRM2aNalQoQLPPPMM06dPz7jCioiIiIjIE8nZnjsPDQ0lKCiIYcOGUaVKFebNm0evXr1Yvnw5BQsWTJI/c+bMdO3aFR8fH9zd3dm6dSvDhg3D3d2djh072uEIRERERETkSWDXFqdp06bRrl07OnToQMmSJRk6dCj58+dn7ty5yeYvV64czz77LKVLl6Zw4cI8//zz1K1b966tVCIiIiIiIvfLbi1OsbGx7N27l969e9uk+/v7s3379lRtY9++fWzfvp233norTfu2WCwYhgFAQkKCzW+RB0V1TTKK6ppkFNU1ySiqa/IgOTk5pSqf3QKnyMhIEhISyJ07t026p6cn4eHhd123fv36XLx4kYSEBPr27UuHDh3StO89e/YQFxdnk7Z79+40bUPkXqmuSUZRXZOMoromGUV1TR6EqlWrpiqfXcc4ATg4ONi8NgwjSdrt5syZQ0xMDDt37mTs2LEULVqUZ599NtX79PX1tWlx2r17N35+fqmONkXuheqaZBTVNckoqmuSUVTX5GFgt8ApZ86cODk5ceHCBZv0iIgIPD0977pukSJFAPDx8eHChQuMGzcuTYGTo2PSoV1OTk76R5QMobomGUV1TTKK6ppkFNU1sSe7TQ7h6upK+fLlWbt2rU36unXrqFy5cqq3YxhGkm53IiIiIiIi6cmuXfUCAwMZOHAgvr6+VK5cmfnz5xMWFkanTp0AGDt2LOfOnWPMmDGA2UWvQIEClChRAoCtW7fy3Xff0bVrV7sdg4iIiIiIPP7sGji1aNGCyMhIJkyYwPnz5/H29mby5MkUKlQIgPDwcMLCwqz5LRYLn3/+OadPn8bJyQkvLy/69+9vDbREREREREQeBLtPDtGlSxe6dOmS7LKPP/7Y5nVAQAABAQEZUSwREREREREruz4AV0RERERE5FGgwElERERERCQFCpxERERERERSoMBJREREREQkBQqcREREREREUqDASUREREREJAUKnERERERERFKgwElERERERCQFCpxERERERERSoMBJREREREQkBQqcREREREREUqDASUREREREJAUKnERERERERFLgnNYVwsLCcHBwIH/+/ADs2rWLpUuXUqpUKTp27JjuBRQREREREbG3NLc49e/fnw0bNgAQHh5OYGAgu3fv5vPPP2f8+PHpXkARERERERF7S3PgdOjQISpUqADAzz//TOnSpZk3bx5jx45l0aJF6V5AERERERERe0tz4BQfH4+rqysA69ato1GjRgCUKFGC8PDw9C2diIiIiIjIQyDNgVOpUqWYN28eW7ZsYd26ddSvXx+A8+fPkyNHjvQun4iIiIiIiN2lOXAaMGAA8+fPJyAggJYtW1KmTBkAVq1aZe3CJyIiIiIi8jhJ86x6NWvWZMOGDURFRZE9e3Zr+gsvvIC7u3u6Fk5ERERERORhkObACcDJyckmaAIoXLhwuhRIRERE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REREREREHiap6qo3c+ZM698lS5Zk0qRJbNq0iUqVKgGwc+dOtm3bRmBg4AMppIiIiIiIiD2lKnCaPn26zets2bJx+PBhDh8+bE3z8PBgwYIFvPrqq+laQBEREREREXtLVeC0atWqB10OERERERGRh1aaxziJiIiIiIg8aVLV4hQUFMSbb75J5syZCQoKumvewYMHp0vBREREREREHhapCpz27dtHfHy89e87cXBwSHMB5syZw9SpUwkPD6d06dIMGTKEatWqJZv3/PnzfPLJJ+zZs4cTJ04QEBDA0KFD07xPERERERGRtEhV4DRr1qxk/75foaGhBAUFMWzYMKpUqcK8efPo1asXy5cvp2DBgknyx8bGkjNnTvr06ZNkwgoREREREZEHJU1jnOLj4ylXrhz//PNPuux82rRptGvXjg4dOlCyZEmGDh1K/vz5mTt3brL5CxcuzHvvvUfr1q3x8PBIlzKIiIiIiIikJFUtTtbMzs4ULFgQi8Vy3zuOjY1l79699O7d2ybd39+f7du33/f278ZisWAYBgAJCQk2v0UeFNU1ySiqa5JRVNcko6iuyYPk5OSUqnxpCpwA+vTpw9ixY/n000/JkSNHWle3ioyMJCEhgdy5c9uke3p6Eh4efs/bTY09e/YQFxdnk7Z79+4Huk+RRKprklFU1ySjqK5JRlFdkwehatWqqcqX5sBp1qxZnDhxgnr16lGwYEEyZ85ss3zRokVp2t7tE0oYhnFPk0ykha+vr02L0+7du/Hz80t1tClyL1TXJKOorklGUV2TjKK6Jg+DNAdOjRs3TpfAJmfOnDg5OXHhwgWb9IiICDw9Pe97+3fj6Jh0aJeTk5P+ESVDqK5JRlFdk4yiuiYZRXVN7CnNgdPrr7+eLjt2dXWlfPnyrF27lqefftqavm7dOho3bpwu+xAREREREUkPaZpVD8wWp8jIyCTpV65cSXPAExgYSEhICCEhIRw5coSPPvqIsLAwOnXqBMDYsWMZOHCgzTr79+9n//79REdHc/HiRfbv38/hw4fTehgiIiIiIiKpluYWpzNnziQ7q15sbCznzp1L07ZatGhBZGQkEyZM4Pz583h7ezN58mQKFSoEQHh4OGFhYTbrtG7d2vr33r17WbZsGYUKFWLVqlVpPRQREREREZFUSXXgtHLlSuvfa9assXmOksViYf369daAJy26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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"X_attr = deep_lift_shap(model, X, target=214, device='cpu',random_state=0)\n",
"\n",
"plt.figure(figsize=(10, 2))\n",
"ax = plt.subplot(111)\n",
"plot_logo(X_attr[0, :, 950:1050], ax=ax)\n",
"\n",
"plt.xlabel(\"Genomic Coordinate\")\n",
"plt.ylabel(\"Attributions\")\n",
"plt.title(\"DeepLIFT Attributions for GM12878 ETS1\")\n",
"plt.ylim(-0.05, 0.35)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "4075c297-5dfc-4c69-9497-d08f792233a4",
"metadata": {},
"source": [
"Looks good. This result shows that the inclusion of an AP-1 binding site does not drive predictions of ETS1.\n",
"\n",
"Conversely, we can show that tasks that should be influenced by the inclusion of an AP-1 binding site also highlight the added motif. Specifically, because most AP-1 factors also drive chromatin accessibility we can look at a DNase target in the same cell type."
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "22c7cd44-6eb9-4b56-b3ab-642175e0e155",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA04AAADtCAYAAACIwCVcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABbEUlEQVR4nO3dd1xV9R/H8RcgU3EiDlw5wAEKztymqWlljkxNscxcZZZl5qgc2Q+ztKG5V47UwpGrstTKHLnNWe6RCxFRQBn3nt8fR65eAQEFcbyfj8d93Hu/53vO+Z7L917O53zHcTAMw0BERERERERS5JjVBRAREREREbnfKXASERERERFJhQInERERERGRVChwEhERERERSYUCJxERERERkVQocBIREREREUmFAicREREREZFUKHASERERERFJhQInERERERGRVChwEpG7smjRIvz8/GyPgIAAateuTXBwMJMmTSI8PDyri2gnsby7d+9OMc+pU6fw8/Nj2rRptrS//vrL7jhvfvTp04cBAwakuPzmx4ABA9JUzpCQEPz8/OjRo0eyy7dv387YsWO5fPlykmVz585l0aJFadrPrcf3119/2dIGDBhAUFBQuraTmtuVOzg4mODg4AzdX0ZauXIlTz/9NBUrVsTPz4/9+/dn+j5PnjzJiBEjaNasGYGBgQQEBNCwYUP69evHpk2bMAzDlvfm7+LNf8dEhmHQuHFj/Pz8knzOS5YsoW/fvjRt2pSyZcvSsGHDZMuzceNGBg4cyFNPPUVgYCB169alV69e7NmzJ9n9fffdd7Ru3ZrKlStTo0YNOnXqxG+//WaX79bfkFsfkydPtsu/adMmunTpQs2aNQkKCuLZZ59l1qxZWCyWVD/PW7+ngYGBNGzYkJ49e7Jw4ULi4uKSrBMcHIyfnx9du3ZNsiy53woReXhly+oCiMjDISQkhJIlS5KQkEB4eDjbtm1jypQpTJ8+nc8//5xatWpldREzxNtvv02NGjXs0nLnzo2joyPt27e3pe3du5fhw4cnyZ83b95U9xEfH8/SpUsBWLduHefOnaNAgQJ2eXbs2MG4ceNo1aoVOXPmtFs2b9488uTJQ+vWrdN8XBUqVGDBggWULl06zevciduVe8iQIZm677tx8eJF+vfvT506dRgyZAguLi6UKFEiU/e5evVq+vXrR548eWjfvj3ly5fH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RUREREREslq6W5zeeecdNm3aBEBYWBhdunRh9+7djBkzhnHjxmV4AUVERERERLJaugOngwcPUrFiRQB+/PFHypQpw/z58xk9ejSLFy/O8AKKiIiIiIhktXQHTgkJCbi4uACwYcMGGjZsCEDJkiUJCwvL2NKJiIiIiIjcB9IdOJUuXZr58+ezdetWNmzYQL169QA4f/48uXPnzujyiYiIiIiIZLl0B079+vVjwYIFBAcH8/TTT1O2bFkA1qxZY+vCJyIiIiIi8jBJ96x6NWrUYNOmTURFRZErVy5b+gsvvIC7u3uGFk5EREREROR+kO7ACcDJyckuaAIoUqRIhhRIRERERETkfpPuwOnChQt88sknbNy4kYsXL2IYht3y/fv3Z1jhRERERERE7gfpDpwGDBjAmTNneO211/D29s6MMomIiIiIiNxX0h04bdu2jW+//ZZy5cplRnlERERERETuO+meVa9QoUJJuueJiIiIiIg8zNIdOA0aNIjRo0dz6tSpzCiPiIiIiIjIfSfdXfX69u3L1atXady4MW5ubjg7O9st37x5c4YVTkRERERE5H6Q7sBp0KBBmVEOERERERGR+1a6A6dWrVplaAHmzp3LtGnTCAsLo0yZMgwaNIiqVasmm3fVqlXMmzeP/fv3ExcXR5kyZejduzd169bN0DKJiIiIiIjcLN1jnAAsFgs///wz48ePZ8KECfzyyy9YLJZ0b2flypWEhITQq1cvlixZQpUqVejWrRunT59ONv+WLVuoVasWkydPZtGiRdSoUYNevXqxb9++OzkMERERERGRNEl3i9Px48fp3r07586d47HHHsMwDCZNmkTBggWZPHkyxYoVS/O2ZsyYQZs2bWjbti0AgwcP5s8//2TevHm88847SfIPHjzY7v3bb7/N6tWrWbNmDeXLl0/zfq1Wq21mwMSA704CP5H0UF2Te0V1Te4V1TW5V1TXJDM5OTmlKV+6A6cRI0ZQtGhRFixYQO7cuQGIiIjg3XffZcSIEUyePDlN24mLi2Pv3r10797dLr127drs2LEjTduwWq1ER0fbypFWe/bsIT4+3i5t9+7d6dqGyJ1SXZN7RXVN7hXVNblXVNckM1SpUiVN+dIdOG3ZssUuaALIkycP/fr1o0OHDmneTkREBBaLhXz58tmle3l5ERYWlqZtTJ8+natXr9KsWbM07xfA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xozh2LFjFClShC5duvDCCy/YlquuSUaJioriyy+/5NdffyU8PBxvb2+efvppXn/9dVxcXADVN8k6j3zgJCIiIiIikppHdoyTiIiIiIhIWilwEhERERERSYUCJxERERERkVQocBIREREREUmFAicREREREZFUKHASERERERFJhQInERERERGRVChwEhERERERSYUCJxEReWAEBwfz8ccfZ3UxMtSAAQN47bXXbO8fxmMUEXkYZMvqAoiIyL0RFhbGpEmT+P333zl79iyenp4UL16cFi1a0LJlS9zd3bO6iKkaO3Ys2bLd3b+u48ePM3HiRNavX8/Fixfx9vYmMDCQLl26EBAQkEElvXMZcYzJbfPXX3/lhx9+yNDtiog8ShQ4iYg8Ak6ePEmHDh3w9PSkb9+++Pn5kZCQwLFjx1i4cCHe3t40atQoq4uZqty5c9/V+rt37+bll1+mTJkyDB8+nJIlSxIdHc3q1av55JNPmDNnTsYUNBnx8fE4Ozunmu9uj1FERDKHuuqJiDwChg4dipOTEwsXLqR58+aUKlUKPz8/mjZtyuTJk2nYsKEt75UrV/jggw+oWbMmlStXpnPnzhw4cMC2fOzYsTz33HMsWbKEhg0bUqVKFfr27UtUVJQtT1xcHCNGjKBmzZoEBATQoUMH/v77b9vyv/76Cz8/P9atW0fLli2pWLEinTt3Jjw8nN9//51mzZpRuXJl3n77ba5evWpb79ZubHFxcYwaNYr69evj7+9PkyZN+P7775P9DAzDYODAgRQvXpxvv/2WBg0aUKxYMcqVK0fv3r0ZP368Le8///xD586dqVixIjVq1OCDDz4gOjrattxqtTJu3Djq1auHv78/zz33HH/88Ydt+alTp/Dz82PlypUEBwcTEBDA0qVLsVgshISEULVqVWrUqMGoUaMwDMOunLceY8OGDZk4cSIDBw4kKCiIBg0asGDBArt1Pv30U5o2bUqlSpVo1KgRX3zxBfHx8QAsWrSIcePGceDAAfz8/PDz82PRokVp+luLiMgNCpxERB5yERERrF+/no4dO+Lh4ZFsHgcHB8AMLrp3705YWBiTJ09m0aJFVKhQgZdeeolLly7Z8p84cYLVq1czceJEJk2axJYtW5gyZYpt+ahRo/j5558ZOXIkixcvpnjx4rz66qt22wAYN24cH3zwAfPnz+fs2bO89dZbzJo1i9GjRzN58mTWr1/P7NmzUzy2/v37s3LlSt5//31+/PFHhg0bRvbs2ZPNu3//fg4ePMgrr7yCo2PSf385c+YE4OrVq7z66qvkypWL0NBQvvjiCzZs2MBHH31kyztr1ixmzJjBe++9x9KlS6lTpw6vvfYax44ds9vmZ599RnBwMCtXrqROnTpMnz6dhQsX8vHHH/Ptt98SGRnJL7/8kuLxJZoxYwb+/v4sWbKEF198kaFDh3L48GHb8uzZsxMSEsKKFSsYPHgw33//PTNnzgSgefPmvPLKK5QpU4Y///yTP//8k+bNm6f5by0iItcZIiLyUNu5c6fh6+trrFq1yi69evXqRmBgoBEYGGiMGjXKMAzD2LBhg1G5cmUjNjbWLu+TTz5pzJ8/3zAMw/jqq6+MSpUqGVeuXLEt/+STT4y2bdsahmEY0dHRRoUKFYylS5falsfFxRl16tQxpkyZYhiGYWzatMnw9fU1NmzYYMszadIkw9fX1zhx4oQt7YMPPjBeeeUV2/tOnToZI0aMMAzDMI4cOWL4+voa69evT9PnsGLFCsPX19fYu3fvbfMtWLDAqFatmhEdHW1L++2334yyZcsaYWFhhmEYRp06dYwJEybYrdemTRtj6NChhmEYxsmTJw1fX19j5syZdnlq165tTJo0yfY+Pj7eqFevntGrV69kj9EwDOOJJ54w+vXrZ3tvtVqNmjVrGt9++22KxzBlyhSjVatWtvdfffWV0aJFC7s8aflbi4jIDRrjJCLyiEhsVUoUGhqK1WqlX79+xMXFAbB3715iYmKoUaOGXd5r165x4sQJ23sfHx9y5Mhhe+/t7U14eDhgtkbFx8dTuXJl23JnZ2cqVqxo10oC4OfnZ3udL18+3N3dKVq0qC3Ny8uL3bt3J3s8+/fvx8nJiWrVqqXp+BPd+jnc6vDhw/j5+dm1zlWuXBmr1crRo0dxc3Pj/PnzdseXmOfWbm7+/v6211euXCEsLIygoCBbWrZs2fD390/SXe9WN39ODg4OeHl52T5vgJ9++olvvvmGEydOEBMTQ0JCgt3fJzlp/VuLiIhJgZOIyEOuWLFiODg4cOTIEbv0xADFzc3Nlma1WsmfP3+y3eM8PT1tr5Ob9e3Wk/9bAxTDMJKk3bwdBweHJNt1cHDAarUme1w3lzstSpQoAZiBUbly5VLMl1w5by5Pcq9TWi+lrpHpldznkvh579y5k7fffps33niDOnXq4OnpyYoVK5gxY8Ztt5nWv7WIiJg0xklE5CGXJ08eateuzZw5c4iJiblt3goVKnDhwgWcnJwoXry43SNv3rxp2l+xYsVwdnZm27ZttrT4+Hj27NlDqVKl7upYbubr64vVamXLli1pyl+uXDlKly7N9OnTkw3GLl++DEDp0qU5cOCA3We1fft2HB0dKVGiBDly5MDb29vu+AB27Nhx2+Pz9PQkf/787Ny505aWkJDA3r1701T+lGzfvp3ChQvTq1cvAgICKFGiBKdPn7bL4+zsnOSYM+JvLSLyKFHgJCLyCBgyZAgWi4U2bdqwcuVKDh8+zJEjR/jhhx84cuQITk5OANSqVYvAwEBef/111q1bx6lTp9i+fTuff/55il3mbuXh4UGHDh0YNWoUf/zxB4cOHeKDDz7g2rVrPP/88xl2TEWKFKFVq1YMGjSIX3/9lZMnT/LXX3+xcuXKZPM7ODgQEhLCsWPH6NixI7///jsnT57kwIEDTJgwwXYT2meffRYXFxcGDBjAv//+y6ZNm/joo4947rnn8PLyAqBr165MmTKFlStXcuTIET777DMOHDhA586db1vmzp07M2XKFH755RcOHz7MsGHDbAHbnSpWrBhnzpxhxYoVnDhxglmzZvHrr7/a5fHx8eHUqVPs37+fixcvEhcXlyF/axGRR4m66omIPAKKFSvG4sWLmTRpEqNHj+bcuXM4OztTunRpXnnlFV588UXADC4mT57MF198waBBg4iIiMDLy4uqVavagoa06NevH4Zh0L9/f6Kjo/H392fq1KnkypUrQ49r6NChjBkzhqFDh3Lp0iUKFy5Mjx49UsxfsWJFFi5cyMSJE3n//feJiIjA29uboKAgBg0aBIC7uzvTpk3j448/5vnnn8fd3Z0mTZowYMAA23Y6d+5MVFQUI0eO5OLFi5QqVYrx48fbugOm5JVXXiEsLIwBAwbg6OhImzZtaNy4MVeuXLnjz+DJJ5/kpZdeYvjw4cTFxdGgQQN69erFuHHjbHmaNm3KL7/8QufOnbl8+TIhISG0bt06Q/7WIiKPCgcjtRGpIiIiIiIijzh11RMREREREUmFAicREREREZFUKHASERERERFJhQInERERERGRVChwEhERERERSYUCJxERERERkVQocBIREREREUmFAicREREREZFUKHASERERERFJhQInERERERGRVChwEhERERERScX/AXgdm4aTjlmhAAAAAElFTkSuQmCC",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"X_attr = deep_lift_shap(model, X, target=55, device='cpu',random_state=0)\n",
"\n",
"plt.figure(figsize=(10, 2))\n",
"ax = plt.subplot(111)\n",
"plot_logo(X_attr[0, :, 950:1050], ax=ax)\n",
"\n",
"plt.xlabel(\"Genomic Coordinate\")\n",
"plt.ylabel(\"Attributions\")\n",
"plt.title(\"DeepLIFT Attributions for GM12878 DNase\")\n",
"plt.ylim(-0.05, 0.35)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "57a8e342-469e-4c64-ada7-ecefcd279f35",
"metadata": {},
"source": [
"DeepLIFT/SHAP is most useful because it can identify all the motifs that are driving model predictions in a region -- not just a single one. To demonstrate this, we will insert two copies of the AP-1 motif as well as two other non-informative sequences."
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "baa9f6b8-6551-4f07-a40a-378dc2f064c3",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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c+3OzcnJCevXr8d3332HH3/8EUlJSShbtizef/99k5kOc5ycnFC3bl388ssvePDgAZRKJcqXL4/hw4fjgw8+sHl/gFg4w8XFBStWrMDYsWMhk8lQr149rF+/Hg0bNnyhfWp06tQJu3btwrp167B9+3b88MMPUKvV2jLlP/zwAzp16pSnY2j89ttvWLJkid6yTz/9FIBYkEJz8UEzL9ahQ4eMFnjQzdzMnz8fGzduxC+//ILIyEg4OjrC398f33zzjdGM0o4dO6BSqYwWhdAIDQ1F2bJlsXbtWkydOhWZmZmoUKECPv74Y7z33nsWP2d6erpBef5hw4YhJSUFO3bswOrVq1G3bl18//33JocLWuvevXvo378/ALG6qJeXF2rXro3vv/8eXbp0sXruLCIqOBKBpVuI6BV3//59dOrUCRMmTMCwYcMKuzlE9JLq2bMn5HK59n5CIiJdzDgRERFRsaVQKHDu3Dn8888/+O+//zB58uTCbhIRvaQYOBEREVGxFRcXhyFDhsDHxwejRo1CaGhoYTeJiF5SHKpHRERERERkAe88JCIiIiIisoCBExERERERkQUMnIiIiIiIiCxg4ERERERERGRBsQ+c1Go1zp8/D7VaXdhNoVcc+xoVFPY1Kijsa1RQ2NfoZVDsAydBEJCVlQUWF6T8xr5GBYV9jQoK+xoVFPY1ehkU+8CJiIiIiIjIEgZOREREREREFjBwIiIiIiIisoCBExERERERkQUMnIiIiIiIiCxg4ERERERERGQBAyciIiIiIiILGDgRERERERFZwMCJiIiIiIjIAgZOREREREREFjBwIiIiIiIisoCBExERERERkQUMnIiIiIiIiCwo9MBp06ZN6NixI4KDg9GnTx+cOnXK5LanTp3CgAED0KxZM9StWxevv/461q5dW3CNJSIiIiKiYsmhMA8eFRWFsLAwTJ8+HQ0bNsSWLVswfPhw7NmzB76+vgbbu7q6YtCgQQgMDISLiwtOnz6N6dOnw8XFBf379y+ET0BERERERMVBoWac1qxZg759+yIkJATVqlXDlClTUK5cOWzevNno9rVr10aPHj1Qo0YNVKxYEW+99RZat25tNktFRERERESUV4WWcVIoFLh48SJGjBiht7xVq1Y4e/asVfu4dOkSzp49i88++8ymY6vVagiCAABQqVR6j0T5hX2NCgr7GhUU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/vc/vPXWW/D29gYADBs2DCtXrkRUVBRu3ryJ+fPn48qVKxg8eLDZNg8ePBgrV67EH3/8gRs3bmDmzJnagO1F+fn5ITY2Fnv27MHdu3exfv16/Pnnn3rbVKhQAffv38fly5eRmJgIhUJhl581EVFxwqF6RETFgJ+fH3bs2IHw8HAsWLAAjx8/hqOjI6pXr473338f7777LgAxuFixYgUWLlyIyZMnIykpCd7e3mjcuLE2aLDG+PHjIQgCJkyYgNTUVAQFBeHHH39EyZIl7fq5ZsyYgW+//RYzZszA06dP4evriw8//NDk9nXr1kVkZCSWL1+OqVOnIikpCT4+PmjQoAEmT54MAHBxccGqVaswZ84c9OvXDy4uLujSpQsmTpyo3c/gwYORkpKCuXPnIjExEdWqVcPSpUu1wwFNef/99xEfH4+JEydCKpWib9++6Ny5M5KTk1/4e/Daa69hyJAhmDVrFhQKBdq3b4+RI0diyZIl2m26du2KP/74A4MHD8bz588RFhaGPn362OVnTURUXEgES3ekEhERERERFXMcqkdERERERGQBAyciIiIiIiILGDgRERERERFZwMCJiIiIiIjIAgZOREREREREFjBwIiIiIiIisoCBExERERERkQUMnIiIiIiIiCxg4ERERERERGQBAyciIiIiIiILGDgRERERERFZ8P+uvLHmK5bfJAAAAABJRU5ErkJggg==",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from tangermeme.ersatz import multisubstitute\n",
"\n",
"X = random_one_hot((1, 4, 2000)).type(torch.float32)\n",
"X = multisubstitute(X, [\"GTGACTCATC\", \"GTGACTCATC\", \"CCTCTG\", \"AACTCTCC\"], [12, 8, 15])\n",
"X_attr = deep_lift_shap(model, X, target=267, random_state=0)\n",
"\n",
"plt.figure(figsize=(10, 2))\n",
"ax = plt.subplot(111)\n",
"plot_logo(X_attr[0, :, 950:1050], ax=ax)\n",
"\n",
"plt.xlabel(\"Genomic Coordinate\")\n",
"plt.ylabel(\"Attributions\")\n",
"plt.title(\"DeepLIFT Attributions for GM12878 JunD\")\n",
"plt.ylim(-0.05, 0.35)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "5827c6c9-1331-4fb3-87ca-7b7a945e3db9",
"metadata": {},
"source": [
"As you might expect, the attributions highlight the two AP-1 motifs and are low for the other two sequences."
]
},
{
"cell_type": "markdown",
"id": "753c1e06-d504-49a5-8fa9-90998646765f",
"metadata": {},
"source": [
"#### Large Model Handling\n",
"\n",
"Working with massive models like Enformer can be challenging due to their large memory footprint. When making predictions, large memory requirements can be circumvented by simply setting a batch size to a small number or even just 1. Running DeepLIFT/SHAP is a bit more challenging because a number of references need to be operated on and averaged over for each example and this number of references should, ideally, be larger the larger the length of the sequence. Some implementations require that an example and all reference examples are able to fit in memory at the same time so that even when the batch size is set to 1 that still requires fitting in `2*n_shuffles` sequences in memory where `n_shuffles` is the number of reference sequences used (multiplied by 2 because, in practice, the example being explained needs to be copied once for each reference because you're calculating differences from reference internally). \n",
"\n",
"The `tangermeme` implementation of DeepLIFT/SHAP overcomes this issue by having the batch size correspond to the number of example-reference pairs being processed at the same time. So, when `batch_size=1`, two sequences are being put in memory: the example and one of the references for that sequence. Batches of example-reference pairs are then processed with each batch being moved to the specified device and the results being moved back to the CPU. After each batch, if an example and all of its references have been processed, the average across all references is taken. Basically, this implementation allows one to run DeepLIFT/SHAP with a number of references larger than what fits in GPU memory.\n",
"\n",
"We can see here what the attributions look like when setting the batch size to less than the number of shuffles."
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "ec1e4e37-a7f7-4872-9bdd-940047c21826",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"tensor([[-0.0000e+00, -0.0000e+00, -0.0000e+00, 0.0000e+00, -0.0000e+00,\n",
" 5.6139e-06, 2.4708e-05, -8.2555e-06, 0.0000e+00, 0.0000e+00],\n",
" [ 0.0000e+00, 0.0000e+00, 4.2981e-06, 0.0000e+00, 3.3393e-05,\n",
" -0.0000e+00, 0.0000e+00, -0.0000e+00, -7.3389e-05, 0.0000e+00],\n",
" [-0.0000e+00, -0.0000e+00, -0.0000e+00, -0.0000e+00, -0.0000e+00,\n",
" -0.0000e+00, -0.0000e+00, -0.0000e+00, 0.0000e+00, -8.8689e-05],\n",
" [-0.0000e+00, -3.2803e-06, -0.0000e+00, 1.4074e-05, -0.0000e+00,\n",
" -0.0000e+00, 0.0000e+00, -0.0000e+00, 0.0000e+00, 0.0000e+00]])"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X_attr = deep_lift_shap(model, X, target=267, n_shuffles=20, device='cpu', batch_size=1, random_state=0)\n",
"X_attr[0, :, :10]"
]
},
{
"cell_type": "markdown",
"id": "5fdc5b09-3084-4f84-a629-3f6eabadb0df",
"metadata": {},
"source": [
".. and we can see what they look like when the batch size is equal to the number of shuffles, meaning that only one batch is processed."
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "6dd36ac6-068c-4f4d-bc09-db5f5e630167",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"tensor([[-0.0000e+00, -0.0000e+00, -0.0000e+00, 0.0000e+00, -0.0000e+00,\n",
" 5.6139e-06, 2.4708e-05, -8.2555e-06, 0.0000e+00, 0.0000e+00],\n",
" [ 0.0000e+00, 0.0000e+00, 4.2981e-06, 0.0000e+00, 3.3393e-05,\n",
" -0.0000e+00, 0.0000e+00, -0.0000e+00, -7.3389e-05, 0.0000e+00],\n",
" [-0.0000e+00, -0.0000e+00, -0.0000e+00, -0.0000e+00, -0.0000e+00,\n",
" -0.0000e+00, -0.0000e+00, -0.0000e+00, 0.0000e+00, -8.8689e-05],\n",
" [-0.0000e+00, -3.2803e-06, -0.0000e+00, 1.4074e-05, -0.0000e+00,\n",
" -0.0000e+00, 0.0000e+00, -0.0000e+00, 0.0000e+00, 0.0000e+00]])"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X_attr = deep_lift_shap(model, X, target=267, n_shuffles=20, device='cpu', batch_size=20, random_state=0)\n",
"X_attr[0, :, :10]"
]
},
{
"cell_type": "markdown",
"id": "d9737172-71f2-44cd-a204-1de759311844",
"metadata": {},
"source": [
"The results are the same! So, if you're using a massive model you can still run a reasonable number of references without being limited by only having modest hardware. "
]
},
{
"cell_type": "markdown",
"id": "194f2f88-aa73-4b25-a9cd-ff639fb6cb9a",
"metadata": {},
"source": [
"#### References\n",
"\n",
"The choice of reference is hugely important for getting intuitive results. Ideally, a reference should be a biologically plausible sequence that is not predicted to have the activity that you care about. In `tangermeme`, the default reference function is `dinucleotide_shuffle`. Dinucleotide shuffles are reasonable choices because they preserve GC dinucleotide content -- important due to their role in being methylated -- while being disruptive to any motifs present in the sequence.\n",
"\n",
"Let's take a look at what happens when we increase the number of shuffles used when analyzing the sequence with multiple motifs substituted into it."
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "9154a523-236f-4128-a7ef-23acc0128f06",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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5o1b36BbSDcW/7mYPxL/YHiH4bx404u4u5iPMPFy9mL+A/MZ8PUAvt7zNdV9qrM5bjMv3fQS/7wr5xEMXRt1ZePgjYxbP46fjvzEjcE3MvGuiYTXCL+6z0fp1e8334SwMNiyBcaPhxtvNIfhODvndFnPZ/qocqFJE/NHSk4DvwY08GtQqscos+7lAH379qVZs2a888479rS7776bbt265TuR2vjx4/nxxx9ZsWKFPe3tt9/mzz//ZOHChVdcDqvVyrZt2wgPD688/9ik0lD9lopKdbtwpy+eps20Npy+eJrk9GQ61+/M/wb+DxenMu/kJkWg+n31DMPgiWVP8OvRXzEMg4EtB/Jmlzfzz5y7RT0f6elmy+KFC2YPORcXM/iuVcsM5vLsp5B9FepyrcalcNluzbKycv9KMrMy8XT1zNsLoBSofktlU6b/eQcNGsRrr71G8+bNiYiIYOHChcTGxtIvu5/xxIkTiY+PZ9y4cQD069ePefPmERUVxYMPPsjWrVv56quvmDhxYll+DBERkeuOfxV/1j+x3v6owRsDb1TALZWKxWJh5v0zS2Rfbm7XqFdTGbSFOTs5c0/oPdf8uCKVSZm2dAPMmzePGTNmcPLkSUJDQ3n99ddp27YtACNGjOD48ePMmTPHnj86OpqoqCj27dtHcHAwgwcPpn//UhqbJiIiIiIiInIVyjzoFhEREREREamo8p9RTERERERERESumoJuERERERERkVKioFtERERERESklCjoFhERERERESklCrpFRERERERESomCbhEREREREZFSoqBbREREREREpJQo6BYREREREREpJQq6RUREREREREpJpQ+6582bR9euXWnRogW9e/dm8+bNZV0kkWKbOnUqffr0ISIigvbt2/Pss89y8OBBhzyGYTB58mQ6depEy5YtGThwIPv27SujEotcmalTpxIWFsZ7771nT1PdlvIsPj6eV155hZtuuolWrVpx//3388cff9i3q35LeZWZmck///lPunbtSsuWLenWrRsff/wxWVlZ9jyq31JZVOqge8WKFURFRTF06FCWLFlCZGQkgwcP5sSJE2VdNJFiiY6OZsCAASxatIiZM2ditVp58sknSUlJseeZPn06M2fO5K233uLLL78kMDCQQYMGkZycXIYlFym6HTt2sHDhQsLCwhzSVbelvEpKSqJ///64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A66urtSqVYuWLVsWqZwiIlLxKegWEZFK4d1332Xv3r18/vnnheY7cOAA/fr1c0gLDw936Aaen7CwMIf1oKAgTp06VeTy7dmzhzZt2tgD7sLs37+ftLQ0nnjiCYf0jIwMbrzxRsD8HBEREQ6tx5GRkaSkpBAXF0etWrWKVK4DBw5w++23O6SFh4c7BN27du1i586dTJkyxZ5mtVpJS0vj4sWLVKlSxeH91apVo3fv3jz55JN07NiR9u3b06NHD4KDg+15ateubQ+4AYKDg4v1+7xSu3btIiYmhtatWzukp6Wl2bv6JycnEx0dzZgxYwC46667mD17NrfffjudO3emS5cu3Hbbbbi46DJLREQUdIuISCUwZswY1qxZw9y5c6lRo0apHOPSAMtisdhnOHdyMqdQyT3j+aXdxvPr6lwQ236mTp1K9erVHbbZuj/nN7u6La04k6QVZZb2rKwsnn/+ee64444829zd3fN9T1RUFAMHDmTt2rV89913fPjhh8ycOZPw8HAg7+/z0rLk9xkKG0NeVFlZWTRr1owJEybk2ebv7w/AL7/8QkhICLVr1wagZs2arFy5kvXr17NhwwZGjx7NjBkzmDNnTpFuooiISMWmoFtERCoswzAYM2YM//vf/4o0LhvMbs7btm2jZ8+e9rTt27dfVTlswVpCQoI9LfekamC2lC9evJiMjIzLBmohISG4ublx4sQJ2rVrl2+exo0bs2rVKgzDsAeoW7ZswcvLyx6ou7q6kpWVVeixGjdunOfzX7retGlTDh06RP369Qvd16WaNm1K06ZNefrpp3nooYf49ttv7UH35fj7+3Py5En7enJycp7Jzq5Es2bN+O677wgICHBoac9t9erVdO3a1SHNw8ODbt260a1bNx5++GF69OjB3r17adas2VWXSUREyjfNXi4iIhXW6NGjWbZsGRMnTsTLy4uEhAQSEhJITU0t8D2PPvooX331FV9++SWHDh3io48+Yt++fVdVDg8PD8LDw5k2bRr79+9n06ZNfPjhhw55BgwYQHJyMi+//DI7d+7k8OHDLFmyhIMHD+bZn7e3N0888QRRUVEsXryYmJgYdu/ezbx581i8eDEADz/8MHFxcYwZM4YDBw7www8/MHnyZAYNGmRvea9duzbbt2/n2LFjnD59Ot8A3NYaPX36dA4dOsTcuXMdupYDDBs2jKVL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xAiOHz/OnDlz7Pmjo6OJiopi3759BAcHM3jwYPr3719WxRcREREREREpUJkH3SIiIiIiIiIV1fU/q5aIiIiIiIhIOaWgW0RERERERKSUKOgWERERERERKSUKukVERERERERKiYJuERERERERkVKioFtERERERESklCjoFhERERERESklCrpFRERERERESomCbhEREREREZFSUumD7nnz5tG1a1datGhB79692bx5c1kXSaTYpk6dSp8+fYiIiKB9+/Y8++yzHDx40CGPYRhMnjyZTp060bJlSwYOHMi+ffvKqMQiV2bq1KmEhYXx3nvv2dNUt6U8i4+P55VXXuGmm26iVatW3H///fzxxx/27arfUl5lZmbyz3/+k65du9KyZUu6devGxx9/TFZWlj2P6rdUFpU66F6xYgVRUVEMHTqUJUuWEBkZyeDBgzlx4kRZF02kWKKjoxkwYACLFi1i5syZWK1WnnzySVJSUux5pk+fzsyZM3nrrbf48ssvCQwMZNCgQSQnJ5dhyUWKbseOHSxcuJCwsDCHdNVtKa+SkpLo378/rq6uTJ8+neXLlzNixAh8fX3teVS/pbyaPn06CxYs4K233mLFihW8+uqrzJgxgzlz5jjkUf2WSsGoxB544AHjrbfecki76667jAkTJpRRiURKxqlTp4zQ0FAjOjraMAzDyMrKMjp27GhMnTrVnictLc2IjIw05s+fX1bFFCmy5ORk44477jDWr19vPPLII8bYsWMNw1DdlvJt/PjxRv/+/Qvcrvot5dmQIUOM119/3SHtueeeM1555RXDMFS/pXKptC3d6enp7Nq1i06dOjmkd+zYka1bt5ZRqURKxvnz5wGoWrUqAMeOHSMhIcGhvru5udG2bVvVdykX3n33Xbp06UKHDh0c0lW3pTxbs2YNzZs354UXXqB9+/b07NmTRYsW2berfkt5FhkZyW+//cahQ4cA+PPPP/n999/p0qULoPotlYtLWRegrJw5cwar1UpAQIBDemBgIAkJCWVUKpGrZxgGUVFRREZGEhoaCmCv0/nVdw2nkOvd8uXL2b17N19++WWebarbUp4dPXqU+fPnM2jQIJ555hl27NjB2LFjcXNzo2fPnqrfUq4NHjyY8+fP06NHD5ydnbFarQwfPpy//e1vgL6/pXKptEG3jcVicVg3DCNPmkh58u6777J3714+//zzPNvyq+8i17PY2Fjee+89/vvf/+Lu7l5gPtVtKY8Mw6B58+a8/PLLADRt2pT9+/czf/58evbsac+n+i3l0YoVK1i2bBkTJ06kcePG7Nmzh6ioKIKDg+nVq5c9n+q3VAaVNuj28/PD2dmZxMREh/RTp04RGBhYRqUSuTpjxoxhzZo1zJ07lxo1atjTg4KCAEhMTCQ4ONiervou17tdu3Zx6tQpevfubU+zWq1s2rSJefPmsXLlSkB1W8qnoKAgQkJCHNIaNWrEqlWr7NtB9VvKp3HjxjFkyBDuueceAMLCwjhx4gRTp06lV69eqt9SqVTaMd1ubm40a9aM9evXO6T/+uuvRERElFGpRK6MYRi8++67fP/998yePZu6des6bK9Tpw5BQUEO9T09PZ1Nmzapvst17eabb+abb75hyZIl9p/mzZtz7733smTJEurWrau6LeVW69at7eNdbQ4fPkzt2rUBfXdL+ZaampqnFdvZ2dnekq36LZVJpW3pBhg0aBCvvfYazZs3JyIigoULFxIbG0u/fv3KumgixTJ69Gi+/fZbPvnkE7y8vOzjpHx8fPDw8MBisfDoo48ydepUGjRoQP369Zk6dSoeHh72sVUi1yNvb2/73AQ2np6eVKtWzZ6uui3l1WOPPUb//v2ZMmUKPXr0YMeOHSxatIh3330XQN/dUq7ddtttTJkyhVq1atm7l8+cOZM+ffoAqt9SuViMSj5wYt68ecyYMYOTJ08SGhrK66+/Ttu2bcu6WCLFculzi22ioqLs3XINw+Djjz9m4cKFJCUl0apVK9566608AY3I9W7gwIHccMMNjBo1ClDdlvLtxx9/ZNKkSRw+fJg6deowaNAgHnzwQft21W8pr5KTk/nXv/7FDz/8wKlTpwgODuaee+5h2LBhuLm5AarfUnlU+qBbREREREREpLRU2jHdIiIiIiIiIqVNQbeIiIiIiIhIKVHQLSIiIiIiIlJKFHSLiIiIiIiIlBIF3SIiIiIiIiKlREG3iIiIiIiISClR0C0iIiIiIiJSShR0i4iIiIiIiJQSBd0iIiIiIiIipURBt4iIiIiIiEgpUdAtIiIiIiIiUkoUdIuIiIiIiIiUEgXdIiIiIiIiIqVEQbeIiIiIiIhIKVHQLSIiIiIiIlJKFHSLiIiIiIiIlBIF3SIiIiIiIiKlREG3iIiIiIiISClR0C0iInIZkydP5v7777evjxgxgmefffaaluFaHXPjxo2EhYVx7ty5AvN8/fXXtGnTptTKcOnv+0olJCQwaNAgwsPD7eXNLy0sLIwffvjhqo8nIiKSH5eyLoCIiEhpmTx5Mh9//LFDWmBgIOvXr7+q/Y4aNQrDMK5qH9eDgQMHcsMNNzBq1Ch7WkREBOvWrcPHx6cMS1YyZs2aRUJCAkuWLLF/nvzSrtTkyZM5ePAg//znP0uiuCIiUkEp6BYRkQqtSZMmzJw5077u7Ox81fusCAFpQdzc3AgKCirrYpSIo0eP0qxZMxo0aFBo2pVas2YNTz755FXvR0REKjZ1LxcRkQrN2dmZoKAg+4+/v/9l3zNt2jQ6dOhAREQEI0eOJC0tzWH7pV29Bw4cyNixYxk3bhzt2rWjY8eOTJ482b792LFjhIWFsWfPHnvauXPnCAsLY+PGjfa0ffv2MWTIEFq3bk1ERAQPP/wwMTEx+ZbRMAymT59Ot27daNmyJffddx8rV650yBMdHc0DDzxA8+bN6dSpExMmTCAzM9P+GaKjo/nss88ICwsjLCyMY8eO5du9/Ouvv+bWW2+lVatWDBs2jLNnz+Ypz5o1a+jduzctWrSgW7dufPzxx/Zj5Wfjxo088MAD9m7e/fr14/jx4w55lixZQteuXYmMjGT48OEkJyfbt3Xt2pVZs2Y55L///vvtv/euXbuyatUqlixZQlhYGCNGjMg3LT/x8fG89NJLtG3blptuuomhQ4dy7NgxhzyxsbHs27ePW265BTBbvW+99Vb773rs2LEFfnYREalc1NItIiIV2pEjR+jUqRNubm60atWKl19+mbp16xaYf8WKFXz00Ue8/fbbREZGsnTpUubMmVPoewAWL17MoEGDWLRoEdu2bWPEiBG0bt2ajh07Fqmc8fHxPPLII7Rr147Zs2fj7e3Nli1bCgxcP/zwQ77//nveeecdGjRowKZNm3j11Vfx9/enXbt2xMfHM2TIEHr16sUHH3zAoUOHeOONN3B3d+f5559n1KhRHD58mCZNmvDCCy8A4O/vnyfw3b59OyNHjuTll1+me/furF271uGGAsDatWt59dVXeeONN2jTpg0xMTG8+eabADz33HN5yp6ZmcmwYcPo27cvkyZNIiMjgx07dmCxWOx5YmJiWL16NVOmTOHcuXO89NJLTJ8+neHDhxfp9/nll1/y2muv4e3tzahRo/Dw8CAjIyNP2qUuXrzIo48+SmRkJHPnzsXFxYVPPvmEp556imXLluHm5gaYNxnatGmDr68vK1euZNasWUyaNIkmTZqQmJjIn3/+WaRyiohIxaegW0REKqyWLVvywQcf0KBBA06dOsWnn35Kv379+Pbbb/Hz88v3PZ999hl9+vShb9++AAwfPpwNGzbkae2+VFhYmD3AbNCgAXPnzmXDhg1FDrrnzZuHt7c3kyZNwtXVFYCGDRvmmzclJYWZM2cye/ZsIiIiAKhbty6///47CxcupF27dnz++efUqFGDt956C4vFQkhICPHx8UyYMIFhw4bh4+ODq6srHh4ehXYn/+yzz+jUqRNDhgyxl2nr1q2sXbvWnmfKlCn2AN9WlhdffJHx48fnG3QnJydz/vx5brvtNurVqwdASEiIQx7DMIiKisLb2xuA++67jw0bNhQ56Pb398fNzS3P58svLbfly5djsVh477337DcBoqKiaNu2LdHR0XTq1AmA1atX061bN8Bs9Q4MDKRDhw64urpSq1YtWrZsWaRyiohIxaegW0REKqwuXbo4rIeHh9O9e3eWLFnCoEGD8n3PgQMH6NevX5735e4Gnp+wsDCH9aCgIE6dOlXksu7Zs4c2bdrYA+7C7N+/n7S0NJ544gmH9IyMDG688UbA/BwREREOrceRkZGkpKQQFxdHrVq1ilSuAwcOcPvttzukhYeHOwTdu3btYufOnUyZMsWeZrVaSUtL4+LFi1SpUsXh/dWqVaN37948+eSTdOzYkfbt29OjRw+Cg4PteWrXrm0PuAGCg4OL9fu8Urt27SImJobWrVs7pKelpdm7+icnJxMdHc2YMWMAuOuuu5g9eza33347nTt3pkuXLtx22224uOgyS0REFHSLiEgl4unpSWhoKIcPHy7xfV8aYFksFvsM505O5hQquWc8v7TbeH5dnQti28/UqVOpXr26wzZb9+f8Zle3peUOxIt6rMJkZWXx/PPPc8cdd+TZ5u7unu97oqKiGDhwIGvXruW7777jww8/ZObMmYSHhwN5f5+XliW/z1DYGPKiysrKolmzZkyYMCHPNtt8AL/88gshISHUrl0bgJo1a7Jy5UrWr1/Phg0bGD16NDNmzGDOnDlFuokiIiIVW7GD7tjYWCwWCzVq1ABgx44dfPPNNzRu3JiHHnqoxAsoIiJSUtLT0zlw4ACRkZEF5gkJCWHbtm307NnTnrZ9+/arOq4tWEtISLCn5Z5UDcyW8sWLF5ORkXHZQC0kJAQ3NzdOnDhBu3bt8s3TuHFjVq1ahWEY9gB1y5YteHl52QN1V1dXsrKyCj1W48aN83z+S9ebNm3KoUOHqF+/fqH7ulTTpk1p2rQpTz/9NA899BDffvutPei+HH9/f06ePGlfT05OzjPZ2ZVo1qwZ3333HQEBAQ4t7bmtXr2arl27OqR5eHjQrVs3unXrxsMPP0yPHj3Yu3cvzZo1u+oyiYhI+Vbs2cv/7//+j99++w0wLx4GDRrEzp07mTRpUp5noYqIiJSlDz74gOjoaI4ePcr27dt54YUXSE5Oto89zs+jjz7KV199xZdffsmhQ4f46KOP2Ldv31WVw8PDg/DwcKZNm8b+/fvZtGkTH374oUOeAQMGkJyczMsvv8zOnTs5fPgwS5Ys4eDBg3n25+3tzRNPPEFUVBSLFy8mJiaG3bt3M2/ePBYvXgzAww8/TFxcHGPGjOHAgQP88MMPTJ48mUGDBtlb3mvXrs327ds5duwYp0+fzjcAt7VGT58+nUOHDjF37lyHruUAw4YNY+nSpUyePJl9+/Zx4MABVqxYUeDzq48ePcrEiRPZunUrx48fZ926dRw+fJhGjRoV+Xd68803s2zZMjZv3szevXv5+9//bv9cV+Pee+/Fz8+PoUOHsnnzZo4ePUp0dDRjx44lLi6OzMxMfvnlF/t4bjBnd//iiy/Yu3cvR48eZenSpXh4eBS5C7+IiFRsxW7p3rdvn31ykO+++44mTZqwYMEC1q1bx9tvv53vhCkiIiJlIS4ujpdffpmzZ8/i5+dHeHg4ixYtsncLzs/dd99NTEwMEyZMIC0tjTvvvJP+/fuzbt26qyrLP/7xD0aOHEmfPn1o2LAhr776qsOYbD8/P2bPns348eMZOHAgTk5O3HjjjQW2yr/00ksEBAQwdepUjh07ho+PD02bNuWZZ54BoHr16kybNo1x48axaNEiqlWrxgMPPMDQoUPt+3jiiScYMWIE99xzD6mpqaxevTrPccLDwxk7diyTJ0/m448/pn379gwdOpRPPvnEnqdz585MmTKFf//73/znP//BxcWFRo0a2Seju1SVKlU4ePAgixcv5uzZswQHBzNgwIA8Y+kL8/TTT3P06FGefvppfHx8ePHFF0ukpbtKlSrMnTuXCRMm8Nxzz3HhwgWqV69O+/bt8fb2ZtOmTXh6etK8eXP7e3x9fZk2bRrvv/8+WVlZhIaGMmXKlAIn6xMRkcrFYhRlsFYuERERfPPNN9SpU4dnnnmG1q1bM2TIEE6cOMFdd93Fjh07SqusIiIiImVq7NixZGZm8s4775R1UUREpJwodj+sxo0bs2DBAjZv3syvv/7KLbfcAsDJkyepVq1aSZdPRERE5LrRpEkT+vfvX9bFEBGRcqTYLd0bN27kueeeIzk5mZ49exIVFQXApEmTOHjwoMZ1i4iIiIiIiGQrdtAN5rM3k5OTqVq1qj3t2LFjVKlShYCAgGLta968ecyYMYOEhASaNGnCyJEjadOmTb55N27cyKOPPponfcWKFYSEhBTvQ4iIiIiIiIiUsit6Trezs7NDwA1Qp06dYu9nxYoVREVF8fbbb9O6dWsWLFjA4MGDWb58eaEzfq5cudLhMR62R7GIiIiIiIiIXE+KHXQnJibywQcfsGHDBk6fPs2lDeWXPne0MDNnzqRPnz722U1HjRrFunXrmD9/Pv/3f/9X4PsCAgLw9fUtbtFFRERERERErqliB90jRowgNjaWZ599luDg4Cs+cHp6Ort27WLIkCEO6R07dmTr1q2Fvrdnz56kp6cTEhLC0KFDufnmm6+4HCIiIiIiIiKlpdhB9++//87nn3/OjTfeeFUHPnPmDFarNc8Y8MDAQBISEvJ9T1BQEGPGjKFZs2akp6ezdOlSHn/8cebMmUPbtm2vqjwiIiIiIiIiJa3YQXfNmjXzdCm/GhaLxWHdMIw8aTaNGjWiUaNG9vWIiAji4uKYMWNGsYLuHTt2kJGRcWUFFhEREREREQEiIyMvm6fYQffIkSOZOHEio0ePvqLJ02z8/PxwdnYmMTHRIf3UqVMEBgYWeT+tWrVi2bJlxTp28+bNHW4cWK1Wdu7cSYsWLXB2di7WvkSud6rfUlGpbktFpvotFZnqt1Q2xQ66hw8fzsWLF+nevTseHh64uro6bI+Oji7Sftzc3GjWrBnr16+ne/fu9vRff/2Vbt26Fbk8e/bsISgoqMj5AZycnPJNd3Z21okvFZbqt1RUqttSkal+S0Wm+i2VxRW1dJeUQYMG8dprr9G8eXMiIiJYuHAhsbGx9OvXD4CJEycSHx/PuHHjAJg1axZ16tShcePGZGRksGzZMlatWsXkyZNLrEwiIiIiIiIiJaXYQXevXr1K7OB33303Z86c4ZNPPuHkyZOEhoYybdo0ateuDUBCQgKxsbH2/BkZGXzwwQfEx8fj4eFB48aNmTZtGl26dCmxMomIiIiIiIiUlGIH3WCOw/jhhx84cOAAFouFxo0b07Vr1yvqHjJgwAAGDBiQ77b333/fYX3w4MEMHjz4SoosIiIiIiIics0VO+g+cuQIQ4YMIT4+noYNG2IYBlOnTqVGjRpMmzaNevXqlUY5RURERERERMqd/GcUK8TYsWOpW7cuP/30E4sXL2bJkiX8+OOP1KlTh7Fjx5ZGGUVERERERETKpWIH3Zs2beLVV1+lWrVq9jQ/Pz9eeeUVNm3aVJJlExERERERESnXih10u7m5ceHChTzpFy5cyPP4MBEREREREZHKrNhB96233spbb73F9u3bMQwDwzDYtm0b77zzDl27di2NMoqIiIiIiIiUS8WeSO2NN97g73//Ow899BAuLubbrVYrXbt2ZdSoUSVeQBEREREREZHyqthBt6+vL59++imHDx/m4MGDGIZB48aNqV+/fmmUT0RERERERKTcuqLndAM0aNCABg0alGBRRERERERERCqWIgXdUVFRvPjii3h6ehIVFVVo3tdff71ECiYiInK1dsbv5EzqGdyd3bmpzk1lXRwRERGphIoUdO/evZvMzEz7soiISHnwzPJn+PXor/h5+HH676fLujgiIiJSCRUp6J4zZ06+yyIiItezkxdOAnAm9Qzp1nTcnN3KuEQiIiJS2RT7kWGvv/46ycnJedJTUlLUtVxERK4r8cnx9uWECwllWBIRERGprIoddC9ZsoS0tLQ86ampqSxdurRECiUiInK1LmZc5Hz6eft6/IX4QnKLiIiIlI4iz16enJyMYRgYhsGFCxdwd3e3b7Narfzyyy/4+/uXSiFFRESK69Ig29bVXERERORaKnLQ3aZNGywWCxaLhTvvvDPPdovFwvPPP1+ihRMREblSlwbZubuai4iIiFwrRQ66P/vsMwzD4LHHHmPy5MlUrVrVvs3V1ZVatWpRvXr1UimkiIhIcV0aZF+r7uU7dsChQ9C2LdSqdU0OKSIiItexIgfd7dq1A2D16tXUqlULi8VSaoUSERG5Wte6e7lhwIgRMG6cue7qChMmwAsv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iYiIiIiIiJRYBQ66N2/ezEMPPcTQoUOpX79+ERZJREREREREpHQo8H26Fy1axLlz5xg0aBCDBw/m008/JSkpqSjLdlMsWrSI7t27ExoaysCBA/n555+Lu0gi12327NkMGjSIsLAw2rdvz5NPPsmRI0dc8hiGwYwZM+jUqRMtWrTgoYce4tChQ8VUYpEbM3v2bIKDg3nttdecaarbUpLFxsby3HPP0a5dO1q2bMm9997Lb7/95tyu+i0lVXZ2Nu+88w7du3enRYsW9OjRg/fffx+73e7Mo/otZUWBg+6wsDBeffVVNm3axP/93/+xZs0a7rjjDux2O5s3byY9Pb0oy1kkIiMjiYiI4IknnmDVqlWEh4czevRoTp8+XdxFE7ku27dvZ9iwYSxfvpwFCxZgs9l45JFHOH/+vDPP3LlzWbBgAZMnT2bFihX4+voycuTIEvnelbJpz549LFu2jODgYJd01W0pqVJSUhg6dCgeHh7MnTuXNWvWMGHCBCpXruzMo/otJdXcuXNZunQpkydPJjIykueff5558+bxySefuORR/ZYywfgDoqKijDfeeMPo2LGjERoaajz22GN/ZHc33X333WdMnjzZJa1Pnz7GW2+9VUwlEikciYmJRpMmTYzt27cbhmEYdrvd6NixozF79mxnnoyMDCM8PNxYsmRJcRVTpMDS09ONXr16GZs3bzYefPBB49VXXzUMQ3VbSrY333zTGDp0aL7bVb+lJBszZowxceJEl7Snn37aeO655wzDUP2WsqXALd15adiwIePHj+f777/n7bffLqzrADdFZmYm+/bto1OnTi7pHTt2ZPfu3cVUKpHCkZaWBkCVKlUAOHnyJPHx8S713dPTk7Zt26q+S4kwdepUunTpQocOHVzSVbelJNu4cSMhISGMHTuW9u3b079/f5YvX+7crvotJVl4eDg//fQTR48eBeDAgQPs3LmTLl26AKrfUrZc1y3D8mO1Wrnzzju58847C2N3N0VycjI2m43q1au7pPv6+hIfH19MpRL54wzDICIigvDwcJo0aQLgrNN51XcNp5Bb3Zo1a/jf//7HihUrrtimui0lWXR0NEuWLGHkyJE8/vjj7Nmzh1dffRVPT0/69++v+i0l2ujRo0lLS6Nv375YrVZsNhvPPPMMf/7znwF9fkvZUihBd0lmsVhc1g3DuCJNpCSZOnUq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kGEY2A07xqXfQ24WN+yGHQsWLBYLbhY3zqSdYfvp7Xi4eVCnch0qelYkJSOF6JRorG5Wbg+4nez0ahw8aL7mfn45jTTOl9EOTZpce0yXxSjofUoKWWxsLHfccQdLly4lLCzMmf7BBx/wxRdfsHbt2iue07t3bwYOHMhjjz3mTNu5cycPPPAAmzZtws/Pr0DH3rx5M15ean0WERERERGRGxdegAmUiq2lu2rVqlitVhISElzSExMTr2jNdsirFTwpKQl3d3d8fHwKfOz27du73BPVZrOxd+9eQkNDsZaQ2Weys82rrtnZly4qeeRcfQXYcWoHD37+IDUq1CDhfALVyldj0aBF1KtS7+o7vl65W+3ycyNXu6XQlMT6LTfHhawLPPbVY0QejmRI8yF8uudTHgt/jH/2+CdWt1u/rqhuS2mm+i2lmeq3lDXFFnR7enrSvHlzNm/eTM+ePZ3pW7ZsoUePHnk+p1WrVnz77bcuaZs2bSIkJOS6xnO75TMlrdVqLTFvfKv16hP93F73dvY8uYeUi2bAW927Op4FnaToeuQ1a5DckkpS/Zabo6K1Ip8O+pRtp7Zhs9sY3Wa0y9j8kkJ1W0oz1W8pzVS/pawo1ul7R44cyfjx4wkJCSEsLIxly5YRExPDkCFDAJg+fTqxsbFMm2bef3XIkCEsWrSIiIgI7r//fnbv3s3KlSuZ7rh/irjw9vDG20MzoIhI/iwWC7fXub24iyEiIiJSahVr0N2vXz+Sk5OZOXMmcXFxNGnShDlz5hAQEABAfHw8MTExzvyBgYHMmTOHiIgIFi1ahL+/P5MmTdLtwkREREREROSWVGwTqYmIiIiIiIiUdoVzXwIRERERERERuYKCbhEREREREZEioqBbREREREREpIgo6BYREREREREpIgq6RURERERERIqIgm4RERERERGRIqKgW0RERERERKSIKOgWERERERERKSIKukVERERERESKSJkPuhctWkT37t0JDQ1l4MCB/Pzzz8VdJJHrNnv2bAYNGkRYWBjt27fnySef5MiRIy55DMNgxowZdOrUiRYtWvDQQw9x6NChYiqxyI2ZPXs2wcHBvPbaa8401W0pyWJjY3nuuedo164dLVu25N577+W3335zblf9lpIqOzubd955h+7du9OiRQt69OjB+++/j91ud+ZR/ZayokwH3ZGRkURERPDE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5+fnfFSrVs25zTAMPv74Yx5//HF69epFkyZNeOONN7h48SJfffVVvvu02WxERETQpk0b2rVrx7Rp0zAMwyXP5V29u3fvzqxZs5g4cSJhYWF07dqVZcuWObdv27aN4OBgUlNTnWn79+8nODiYkydPOtN27tzJgw8+SMuWLWnbti2PPPIIKSkpeZYzMzOTadOm0blzZ1q1asXgwYPZtm2bS55169Zx1113ERISQvfu3Zk/f77LOZw6dYqIiAiCg4MJDg4G8u5ePmfOHDp06EBYWBgvvPACGRkZV5Rn5cqV9O3bl9DQUPr06cOiRYvyfY0B1q5dy913302LFi1o164dDz/8MOfPn3fJM2/ePDp16kS7du2YMmUKWVlZzm3BwcF88803LvnbtGnDZ5995ty+b98+/v3vfxMcHMyMGTPyTMvL4cOHGT16NGFhYXTo0IHnn3+epKQklzy7du3Czc2Nli1bkpmZydSpU+nUqROhoaF0796d2bNnX/X8RUSk9FLQLSIipcbx48fp1KkT3bt355lnniE6Otq57eTJk8THx9OpUydnmqenJ23btmX37t357nP+/PmsXLmS1157jcWLF5OSksL69euvWZYFCxYQEhLCqlWreOCBB3j55ZeJiooq8Lns37+fhx9+mEaNGrFs2TIWL15Mt27dsNlseeafOHEiu3bt4p133mH16tX06dOHRx99lGPHjgHw22+/MW7cOPr168eXX37J008/zb/+9S9nUDpjxgxq1qzJ2LFj2bRpE5s2bcrzOJGRkbz33ns888wzrFy5Ej8/PxYvXuySZ/ny5bzzzjs888wzREZG8uyzz/Lee+/x+eef57nPuLg4/va3vzFo0CAiIyP5+OOP6dmzp8vFjW3btnHixAkWLlzI66+/zueff57v/vKyadMmGjduzKhRo9i0aZPz7+VpeZXtwQcfpFmzZqxYsYIPP/yQxMRExo0b55Jvw4YNdOvWDTc3Nz755BM2btzIu+++y9q1a5k2bZpL67qIiJQt6l4uIiKlQosWLXjjjTeoX78+iYmJfPDBBwwZMoSvvvqKqlWrEh8fD0D16tVdnufr68vp06fz3e/ChQsZM2YMvXv3BmDKlCn5BqS53XHHHQwbNgyA0aNH89FHH7F9+3aCgoIKdD4ffvghISEhvPzyy860/MaenzhxgjVr1vD9999To0YNAB55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upTRo0ezZs0aateune/z1q5d6zLpjePWKyIiIiIiIiK3kmJt6V6wYAGDBg1i8ODBBAUFMWnSJGrWrMmSJUuu+rzq1avj5+fnfDjuLyoiIiIiIiJyKym2oDszM5N9+/bRqVMnl/SOHTuye/fuqz63f//+dOrUiREjRvDTTz8VZTFFREREREREblixdS9PTk7GZrO53NcSwNfXl/j4+Dyf4+fnxyuvvELz5s3JzMzkiy++4OGHH+aTTz6hbdu2N6PYIiIiIiIiIgVWrGO6ASwWi8u6YRhXpDk0bNiQhg0bOtfDwsI4c+YM8+bNu66ge8+ePWRlZd1YgUVEREREREQwbx15LcUWdFetWhWr1UpCQoJLemJiIr6+vgXeT8uWLVm9evV1HTskJITcd0qz2Wzs3buX0NBQjQ+XUkf1W0or1W0pzVS/pTRT/ZayptiCbk9PT5o3b87mzZvp2bOnM33Lli306NGjwPvZv38/fn5+13VsN7e8h7JbrVa98aXUUv2W0kp1W0oz1W8pzVS/pawo1u7lI0eOZPz48YSEhBAWFsayZcuIiYlhyJAhAEyfPp3Y2FimTZsGwEcffUSdOnVo1KgRWVlZrF69mnXr1jFjxoziPA0RERERERGRPBVr0N2vXz+Sk5OZOXMmcXFxNGnShDlz5hAQEABAfHw8MTExzvxZWVm88cYbxMbG4uXlRaNGjZgzZw5dunQprlMQERERERERyVexT6Q2bNgwhg0blue2119/3WV99OjRjB49+mYUS0REREREROQPK7b7dIuIiIiIiIiUdgq6RURERERERIqIgm4RERERERGRIqKgW0RERERERKSIKOgWERERERERKSIKukVERERERESKiIJuERERERERkSKioFtERERERESkiCjoFhERERERESkiCrpFREREREREioiCbhEREREREZEioqBbREREREREpIgo6BYREREREREpIgq6RURERERERIqIgm4RERERERGRIuJe3AUQEREpKs+sfYZdZ3ZRrXw1Pv+/z4u7OCIiIlIGKegWEZFSa13UOvYn7MdqsZJtz8bdTV97IiIicnOpe7mIiJRaJ1NPAmAzbMSmxxZzaURERKQsUtAtIiKlUmpGKmmZac51RwBe3P4X/z9+i/vtlimPiIiIFC0F3SIiUipdHtTezCDXZss7/WL2RZrPbE7oB6E89tVj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3fLpm2a1WkvUG99qNYPtvFT1rkpEz4ibWyC5pZW0+i03h7fVm84NOhd3Mf4Q1W0pzVS/pTRT/ZayolibM0aOHMmKFStYsWIFUVFR/POf/yQmJoYhQ4YAMH36dMaPH+/MP2TIEE6fPk1ERARRUVGsWLGClStXMmrUqOI6BREREREREZF8Fet9uvv160dycjIzZ84kLi6OJk2aMGfOHAIu3Q8lPj6emJgYZ/7AwEDmzJlDREQEixYtwt/fn0mTJuke3SIiIiIiInJLKraJ1ERERERERERKu5IxW46IiIiIiIhICaSgW0RERERERKSIKOgWERERERERKSIKukVERERERESKiIJuERERERERkSKioFtERERERESkiCjoFhERERERESkiCrpFREREREREioiCbhEREREREZEiUuaD7kWLFtG9e3dCQ0MZOHAgP//8c3EXSeS6zZ49m0GDBhEWFkb79u158sknOXLkiEsewzCYMWMGnTp1okWLFjz00EMcOnSomEoscmNmz55NcHAwr732mjNNdVtKstjYWJ577jnatWtHy5Ytuffee/ntt9+c21W/paTKzs7mnXfeoXv37rRo0YIePXrw/vvvY7fbnXlUv6WsKNNBd2RkJBERETzxxBOsWrWK8PBwRo8ezenTp4u7aCLXZfv27QwbNozly5ezYMECbDYbjzzyCOfPn3fmmTt3LgsWLGDy5MmsWLECX19fRo4cSXp6ejGWXKTg9uzZw7JlywgODnZJV92WkiolJYWhQ4fi4eHB3LlzWbNmDRMmTKBy5crOPKrfUlLNnTuXpUuXMnnyZCIjI3n++eeZN28en3zyiUse1W8pE4wy7L777jMmT57sktanTx/jrbfeKqYSiRSOxMREo0mTJsb27dsNwzAMu91udOzY0Zg9e7YzT0ZGhhEeHm4sWbKkuIopUmDp6elGr169jM2bNxsPPvig8eqrrxqGobotJdubb75pDB06NN/tqt9Sko0ZM8aYOHGiS9rTTz9tPPfcc4ZhqH5L2VJmW7ozMzPZt28fnTp1cknv2LEju3fvLqZSiRSOtLQ0AKpUqQLAyZMniY+Pd6nvnp6etG3bVvVdSoSpU6fSpUsXOnTo4JKuui0l2caNGwkJCWHs2LG0b9+e/v37s3z5cud21W8pycLDw/npp584evQoAAcOHGDnzp106dIFUP2WssW9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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"X_attr1 = deep_lift_shap(model, X, target=267, device='cpu', n_shuffles=1, random_state=0)\n",
"X_attr2 = deep_lift_shap(model, X, target=267, device='cpu', n_shuffles=2, random_state=0)\n",
"X_attr5 = deep_lift_shap(model, X, target=267, device='cpu', n_shuffles=5, random_state=0)\n",
"X_attr20 = deep_lift_shap(model, X, target=267, device='cpu', n_shuffles=20, random_state=0)\n",
"X_attr50 = deep_lift_shap(model, X, target=267, device='cpu', n_shuffles=50, random_state=0)\n",
"\n",
"plt.figure(figsize=(10, 6))\n",
"for i, X_attr in enumerate([X_attr1, X_attr2, X_attr5, X_attr20, X_attr50]):\n",
" ax = plt.subplot(5, 1, i+1)\n",
" plot_logo(X_attr[0, :, 950:1050], ax=ax)\n",
"\n",
" plt.title(\"{} dinucleotide shuffle/s\".format([1, 2, 5, 20, 50][i]), fontsize=10)\n",
" plt.ylim(-0.05, 0.5)\n",
" \n",
" if i == 2:\n",
" plt.ylabel(\"Attributions\")\n",
" if i == 4:\n",
" plt.xlabel(\"Genomic Coordinate\")\n",
" \n",
"\n",
"plt.tight_layout()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "4e5bfee8-a27a-4888-bd8c-8dbd4ff3b494",
"metadata": {},
"source": [
"As the number of references increase we can see that the two motif instances start to mirror each other more, and that the effect of additional shuffles seems to diminish as more are done. So, it is important to make sure that you are using a large enough number of sequences that the attributions have stabilized.\n",
"\n",
"Something worth noting is that when only one reference sequence is used, some positions -- even multiple within the second motif instance -- appear to have a zero value. This is because, due to DeepLIFT/SHAP's difference-from-reference nature, whenever the reference sequence has the same character as the original sequence the attribution is definitionally zero. When using multiple shuffles this effect is averaged out, but it is worth keeping this property in mind.\n",
"\n",
"But, dinucleotide shuffles are not the only reference-generation algorithm that can be used. The `references` parameter can be any function (default `ersatz.dinucleotide_shuffle`) that takes in a batch of sequences, a number of shuffles, and an integer seed for controlling random state, and returns a tensor with shape `(n_examples, n_references, len(alphabet), length)`. As a simple example, we can pass in a function that just returns all zeroes."
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "21385f1a-a3ea-43af-ac03-b68407f5307b",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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6/V2xxk/fjwrVqygc+fONGjQgCeeeII//vjDZr8bN27w3nvv0a5dO8LDw3nwwQfp3bs327Zty/T3MXLkSP73v/8BMGzYMMLCwmzquXHjRp5++mkaNGhAo0aNGDBggN1QsClTphAWFsaRI0d47bXXeOCBB3j44YczPea8efNITk62C36sNW/enNq1a9uVP/roowD88ssvlrKEhATWr19Pz549Hb6Ws8PGHA279fPzo0aNGly5csWm3MPDw65Hxdvb2/KTlbVr15KUlESvXr1syj09PfH09MTHx8emPCAgINvXzIx1G7UWGRnJyJEjLY+XLVtGWFgYO3bsYOzYsTRv3pzmzZvz6quvEhMT4/TxevbsSbt27Vi3bh2XLl26pzoLIfKG9DgJIdyqXbt26HQ69uzZYynbsWMHL7zwAg0aNOCDDz4gICCAtWvXMmzYMFJSUixDzGJjY+nVqxdarZZXXnmFypUrs3//fqZPn86lS5eIioqyOdbChQspX748o0ePxmQyMWfOHAYNGsT3339Po0aNXPJ+TCaT3TAmDw/XfdVevXqVrVu30qlTJ0qVKkW3bt2YPn06u3fvtvR09OrVi/j4eL7//numTp1K6dKlAbXHZurUqbz22msEBARYhr55eXnZHOPzzz+nYcOGjBs3Dq1WS1BQENevX3dYn7S0NAYPHszTTz/N4MGDLZ//5cuXmTFjRo7eW1b1diQ1NZV+/fpx4cIFhg4dSlhYGHv27GHWrFkcO3aMWbNm2ez/559/cujQIV577TV8fX2ZM2cOr776KuvWraNSpUoAvP322xw9epRhw4ZRtWpVbt++zdGjR7l161am9X755ZeJiIiwGXppDmZWr17N8OHDad26NZMnT0av1zNnzhz69u3L/Pnzadq0qc1rDR06lC5dutC7d2+SkpIyPea2bdsoXbp0pvPwsuLv788jjzzC0qVLLcNHf/nlF7RaLZ07d+a7777L8WtmJSEhgaNHj/Lggw/alPfr149Jkybx888/06lTJ1JTU5k7dy4JCQl2AXJG0dHR+Pv783//93825b179+aXX35hwoQJvPjiixQrVoxNmzaxYcMG3nzzTZe+r8y8++67tG/fnsmTJ3PlyhU+/fRT3n77bRYsWOD0a0RGRvLXX3+xZ88eKlSokIe1FULkhAROQgi38vX1pWTJkly7ds1SNm7cOGrV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PNT6dQ8fPmw39NZ8nLJly+bw3UCFChXs2u727duzTN6RG0uXLmXz5s08+uijlrlOQoiCQXqchBD54sSJExiNRgwGAzdu3GDPnj0sW7YMnU7H1KlTbdZpGTduHIMGDWLgwIF0796dMmXKEB8fz6lTpzhy5IglccFrr73Gtm3b6N27N3379qVatWro9XouXrzI5s2bGTdunM2Jkk6nY8CAAQwYMACTycTs2bO5c+cOQ4cOtavvjh07HA6FateuXR58OtlbvXo1qamp9O3b127hUlB7X1avXk10dDSjR4+2DH387rvv6N69Ox4eHlSrVg1/f39CQ0NZs2YNa9eupWLFinh7e1vmYeSUp6cn8+bNIykpiYiICEtWvbZt21qGfmk0Gp544gmWLl1K5cqVqV27NgcPHrRJh22WVb0z6tatGwsXLuSdd97h0qVLhIaGsnfvXmbOnEm7du1yvKhyQkIC/fr147HHHqN69er4+flx6NAhtmzZkmVq8MxotVrefvtthg8fzosvvsjTTz+NXq9n7ty53L59m7feeivHr2lWuXJlJk+ezFtvvcUTTzxB7969qVevHl5eXsTFxbF161aAbJM9DB8+3KnjnTx5kpMnTwJqD1pycjLr1q0D1KyH5uQY3377LV9//TVt2rShffv2doGROXFG+fLl6dSpEz/99BNeXl60a9cOvV7PihUr2LdvH6+//rpdz2dMTAxbtmyhc+fODtenAjWgnDBhAi+99JIlecT27duZN28eLVu2dJiePTtdu3blq6++4quvvqJZs2acPHmSH374IddDe1NSUiyfT0pKChcuXGDjxo388ccfNGvWzGZ9KyFEwSCBkxAiX4waNQpQT7SLFy9OjRo1GDRoEL169bJb3PLBBx/k559/ZsaMGXz00Ufcvn2bwMBAatSoYcmeBurV5ejoaKZNm8bcuXOJiYnBz8+PChUq0KZNG7thUH369CE1NZUJEyYQFxdHrVq1mDlzpsMMXp999pnD9+GolyQ/REdHExQUlGmGt7CwMBo2bMiqVasYPnw4zZs358UXX2T58uX8/PPPmEwmFixYQPPmzRk6dCixsbG8++67JCYmUqFCBYfzSZzh6enJjBkzmDBhAtOnT8fHx4devXoxYsQIm/3M693MmTOHpKQkmjdvzowZM+wm0mdV74y8vb1ZsGABX3zxBXPmzOHmzZuU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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"zeros = lambda X, n, random_state: torch.zeros(X.shape[0], n, *X.shape[1:])\n",
"X_attr = deep_lift_shap(model, X, target=267, references=zeros, device='cpu', n_shuffles=1, random_state=0)\n",
"\n",
"plt.figure(figsize=(10, 2))\n",
"ax = plt.subplot(111)\n",
"plot_logo(X_attr[0, :, 950:1050], ax=ax)\n",
"\n",
"plt.xlabel(\"Genomic Coordinate\")\n",
"plt.ylabel(\"Attributions\")\n",
"plt.title(\"DeepLIFT Attributions for GM12878 JunD\")\n",
"plt.ylim(-0.1, 0.6)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "b22faeb7-c16b-464c-90dc-2760becb7f9e",
"metadata": {},
"source": [
"The all-zeroes reference and its friend, the uniform reference (either 0.25 or 0.5 everywhere), have been proposed as an alternative to dinucleotide shuffling. These may be reasonable baselines in some cases. I do not think we actually know what the best reference is, in part because there is not really a clear way to evaluate references.\n",
"\n",
"Finally, if you have preconstructed references and want to just pass in a tensor instead of a function you can do that."
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "546347c4-b72e-467a-b099-b8f1c9dc0e4a",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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6/V2xxk/fjwrVqygc+fONGjQgCeeeII//vjDZr8bN27w3nvv0a5dO8LDw3nwwQfp3bs327Zty/T3MXLkSP73v/8BMGzYMMLCwmzquXHjRp5++mkaNGhAo0aNGDBggN1QsClTphAWFsaRI0d47bXXeOCBB3j44YczPea8efNITk62C36sNW/enNq1a9uVP/roowD88ssvlrKEhATWr19Pz549Hb6Ws8PGHA279fPzo0aNGly5csWm3MPDw65Hxdvb2/KTlbVr15KUlESvXr1syj09PfH09MTHx8emPCAgINvXzIx1G7UWGRnJyJEjLY+XLVtGWFgYO3bsYOzYsTRv3pzmzZvz6quvEhMT4/TxevbsSbt27Vi3bh2XLl26pzoLIfKG9DgJIdyqXbt26HQ69uzZYynbsWMHL7zwAg0aNOCDDz4gICCAtWvXMmzYMFJSUixDzGJjY+nVqxdarZZXXnmFypUrs3//fqZPn86lS5eIioqyOdbChQspX748o0ePxmQyMWfOHAYNGsT3339Po0aNXPJ+TCaT3TAmDw/XfdVevXqVrVu30qlTJ0qVKkW3bt2YPn06u3fvtvR09OrVi/j4eL7//numTp1K6dKlAbXHZurUqbz22msEBARYhr55eXnZHOPzzz+nYcOGjBs3Dq1WS1BQENevX3dYn7S0NAYPHszTTz/N4MGDLZ//5cuXmTFjRo7eW1b1diQ1NZV+/fpx4cIFhg4dSlhYGHv27GHWrFkcO3aMWbNm2ez/559/cujQIV577TV8fX2ZM2cOr776KuvWraNSpUoAvP322xw9epRhw4ZRtWpVbt++zdGjR7l161am9X755ZeJiIiwGXppDmZWr17N8OHDad26NZMnT0av1zNnzhz69u3L/Pnzadq0qc1rDR06lC5dutC7d2+SkpIyPea2bdsoXbp0pvPwsuLv788jjzzC0qVLLcNHf/nlF7RaLZ07d+a7777L8WtmJSEhgaNHj/Lggw/alPfr149Jkybx888/06lTJ1JTU5k7dy4JCQl2AXJG0dHR+Pv783//93825b179+aXX35hwoQJvPjiixQrVoxNmzaxYcMG3nzzTZe+r8y8++67tG/fnsmTJ3PlyhU+/fRT3n77bRYsWOD0a0RGRvLXX3+xZ88eKlSokIe1FULkhAROQgi38vX1pWTJkly7ds1SNm7cOGrV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PNT6dQ8fPmw39NZ8nLJly+bw3UCFChXs2u727duzTN6RG0uXLmXz5s08+uijlrlOQoiCQXqchBD54sSJExiNRgwGAzdu3GDPnj0sW7YMnU7H1KlTbdZpGTduHIMGDWLgwIF0796dMmXKEB8fz6lTpzhy5IglccFrr73Gtm3b6N27N3379qVatWro9XouXrzI5s2bGTdunM2Jkk6nY8CAAQwYMACTycTs2bO5c+cOQ4cOtavvjh07HA6FateuXR58OtlbvXo1qamp9O3b127hUlB7X1avXk10dDSjR4+2DH387rvv6N69Ox4eHlSrVg1/f39CQ0NZs2YNa9eupWLFinh7e1vmYeSUp6cn8+bNIykpiYiICEtWvbZt21qGfmk0Gp544gmWLl1K5cqVqV27NgcPHrRJh22WVb0z6tatGwsXLuSdd97h0qVLhIaGsnfvXmbOnEm7du1yvKhyQkIC/fr147HHHqN69er4+flx6NAhtmzZkmVq8MxotVrefvtthg8fzosvvsjTTz+NXq9n7ty53L59m7feeivHr2lWuXJlJk+ezFtvvcUTTzxB7969qVevHl5eXsTFxbF161aAbJM9DB8+3KnjnTx5kpMnTwJqD1pycjLr1q0D1KyH5uQY3377LV9//TVt2rShffv2doGROXFG+fLl6dSpEz/99BNeXl60a9cOvV7PihUr2LdvH6+//rpdz2dMTAxbtmyhc+fODtenAjWgnDBhAi+99JIlecT27duZN28eLVu2dJiePTtdu3blq6++4quvvqJZs2acPHmSH374IddDe1NSUiyfT0pKChcuXGDjxo388ccfNGvWzGZ9KyFEwSCBkxAiX4waNQpQT7SLFy9OjRo1GDRoEL169bJb3PLBBx/k559/ZsaMGXz00Ufcvn2bwMBAatSoYcmeBurV5ejoaKZNm8bcuXOJiYnBz8+PChUq0KZNG7thUH369CE1NZUJEyYQFxdHrVq1mDlzpsMMXp999pnD9+GolyQ/REdHExQUlGmGt7CwMBo2bMiqVasYPnw4zZs358UXX2T58uX8/PPPmEwmFixYQPPmzRk6dCixsbG8++67JCYmUqFCBYfzSZzh6enJjBkzmDBhAtOnT8fHx4devXoxYsQIm/3M693MmTOHpKQkmjdvzowZM+wm0mdV74y8vb1ZsGABX3zxBXPmzOHmzZuU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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"zeros = torch.zeros(X.shape[0], 1, *X.shape[1:])\n",
"X_attr = deep_lift_shap(model, X, target=267, references=zeros, device='cpu', n_shuffles=1, random_state=0)\n",
"\n",
"plt.figure(figsize=(10, 2))\n",
"ax = plt.subplot(111)\n",
"plot_logo(X_attr[0, :, 950:1050], ax=ax)\n",
"\n",
"plt.xlabel(\"Genomic Coordinate\")\n",
"plt.ylabel(\"Attributions\")\n",
"plt.title(\"DeepLIFT Attributions for GM12878 JunD\")\n",
"plt.ylim(-0.1, 0.6)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "779483a2-3f61-4485-915d-ecb2a7dacd61",
"metadata": {},
"source": [
"Being able to use custom references gives you a large amount of flexibility when it comes to do subtle analyses. For example, imagine that you know a large portion of the sequence is not relevant for your analysis. You can hold that portion of the sequence constant and make the shuffles you do more meaningful in the area that you do care about (remember that the number of permutations increases exponentially with the number of positions you are shuffling). Here, we can focus on the left AP-1 motif substitution."
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "67acc249-e67f-42a2-9e7f-6bf9f1172c00",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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PnwIW1tblCpVyuS6bWx0p3bJ5XL+QywsUrI2U31Nvx/sa8ZduCB2g9q1jXSD17yvvCz2NSoo7GtUUNjXyJqsFjjZ2dmhbt26iIuLQ4cOHaTyAwcOoH379nrf06BBA+zbt0+r7O+//4a3t7fJ85uokNKXMcxZZp0RpWQlS5cCffuKC0skJwONGond4fJlcRNbPz9rt5CIiIiKGquuqhccHIzIyEhERkbi6tWr+N///of4+Hj07t0bADBv3jyMGTNGOr937964e/cuQkJCcPXqVURGRiIqKgqffPKJtW6BLEUQ8v6iIiUgALh7V1yhMTMTiI0VF8dQqYA33rB264iIiKgosuocpy5duiA5ORlLlixBQkICPD09sWzZMrhn7XaamJiI+Ph46fzKlStj2bJlCAkJwfr16+Hq6oqJEyeiU6dO1roFIsonJUsCH35o7VYQERERiay+OETfvn3Rt29fvcdmzpypU9asWTNER0fnd7OIiIiIiIgkVh2qR0RERERE9Cpg4ERERERERGQEAyciIiIiIiIjGDgREREREREZwcCJiIiIiIjICAZORERERERERjBwIiIiIiIiMoKBExERERERkREMnIiIiIiIiIxg4ERERERERGSErbUbQERkNpnM8GtBKNi2EBERUZHAjBMREREREZERDJyIiIiIiIiMYOBERERERERkhEwQOCGAiIiIiIgoL8w4ERERERERGcHAiYiIiIiIyAgGTkREREREREYwcCIiIiIiIjKCgRMREREREZERDJyIiIiIiIiMYOBERERERERkBAMnIiIiIiIiIxg4ERERERERGcHAiYiIiIiIyIgiHzitX78e/v7+8PHxQffu3XHs2DFrN4leYeHh4ejRowcaNmyIFi1aYOjQobh27ZrWOYIgYNGiRWjdujXq1auHoKAgXLlyxUotptdFeHg4vLy8MGPGDKmMfY0s5f79+xg1ahR8fX1Rv359vP/++zh37px0nH2NLCUzMxM//PAD/P39Ua9ePbRv3x6hoaFQq9XSOexvZC1FOnCKjY1FSEgIhgwZgpiYGDRu3BgDBw7E3bt3rd00ekUdOXIEffv2xc8//4yIiAioVCoMGDAAqamp0jnLly9HREQEvv32W0RGRsLFxQXBwcF49uyZFVtOr7IzZ85g06ZN8PLy0ipnXyNLePz4Mfr06QOFQoHly5djx44d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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from tangermeme.ersatz import dinucleotide_shuffle\n",
"\n",
"ref = dinucleotide_shuffle(X, n=20, start=960, end=985, random_state=0)\n",
"X_attr = deep_lift_shap(model, X, target=267, device='cpu', references=ref, random_state=0)\n",
"\n",
"plt.figure(figsize=(10, 2))\n",
"ax = plt.subplot(111)\n",
"plot_logo(X_attr[0, :, 950:1050], ax=ax)\n",
"\n",
"plt.xlabel(\"Genomic Coordinate\")\n",
"plt.ylabel(\"Attributions\")\n",
"plt.title(\"DeepLIFT Attributions for GM12878 JunD\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "3c884151-7b47-48a2-81c8-3e6851e897c3",
"metadata": {},
"source": [
"Remember that DeepLIFT/SHAP use references and that you are explaining the difference from reference. If the references are uniformly identical to the example being explained because, for example, you only shuffled a portion of the sequence to construct the references, the attributions must definitionally be zero where you did not shuffle. This means you should not use the attribution values (which will be zero) in the non-shuffled portions of the sequence and that the attributions in the shuffled portion of the sequence refer to the additional increase in model prediction from just the shuffled portion."
]
},
{
"cell_type": "markdown",
"id": "45a03d12-4167-40be-9e86-80acfe722090",
"metadata": {},
"source": [
"#### Convergence Deltas\n",
"\n",
"A key property of the DeepLIFT/SHAP algorithm is that the sum of attributions is equal to the difference in predictions between the original sequence and the reference sequence. However, there can be challenges with implementing DeepLIFT/SHAP correctly or ensuring that every layer in a neural network is being handled correctly. For example, max pooling layers require special care due to the maximum operation. If you mistakenly have dropout turned on the algorithm will not work.\n",
"\n",
"Accordingly, one can check the \"convergence deltas\" to see whether the algorithm is working correctly. Importantly (and somewhat confusingly), DeepLIFT/SHAP is not an iterative algorithm and so \"convergence\" does not mean the same thing here as it does during training. What these measure is the difference between (the sum of the attributions) and the (difference in predictions between the original sequence and reference sequence). Parentheses added to make the sentence more comprehendable given two uses of the word \"difference.\" These two quantities should be equal and so when they are not something has gone wrong.\n",
"\n",
"You can have the convergence deltas printed for each example-reference pair (one print statement per batch) using the `print_convergence_deltas` parameter."
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "d985d03d-91e3-443a-b955-1e8d4889f9ba",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"tensor([2.3842e-07, 4.7684e-07, 2.3842e-07, 2.3842e-07, 4.7684e-07, 4.7684e-07,\n",
" 4.7684e-07, 2.3842e-07, 4.7684e-07, 4.7684e-07, 1.1921e-06, 4.7684e-07,\n",
" 1.1921e-06, 4.7684e-07, 9.5367e-07, 4.7684e-07, 2.3842e-07, 2.3842e-07,\n",
" 7.1526e-07, 1.1921e-06], grad_fn=)\n"
]
}
],
"source": [
"X_attr = deep_lift_shap(model, X, target=267, device='cpu', random_state=0, print_convergence_deltas=True)"
]
},
{
"cell_type": "markdown",
"id": "ebf6dd3d-36e2-43df-8cdb-614381db9098",
"metadata": {},
"source": [
"These values seem reasonable. Usually, you would expect to see values in the range of around machine precision. However, there are two caveats to this statement. The first is that machine precision on a GPU seems to be lower than on a CPU. I do not know exactly why this is, but across several algorithms the difference of numbers that should be equal is around 1e-6 to 1e-8 on a CPU and around 1e-4 to 1e-5 on a GPU. A second caveat is that some layers, such as max pooling/unpooling operations in CUDNN, do not have deterministic implementations even when explicitly setting the use of deterministic algorithms in PyTorch. I would recommend reading https://pytorch.org/docs/stable/notes/randomness.html \n",
"\n",
"In general, *the convergence deltas should be small w.r.t the predictions*. If you are getting a convergence delta in the range of ~1e-4 and predictions are above 0.1 that means the delta is three orders of magnitude smaller than the predictions and likely not too significant. If your convergence deltas are 1e-5 but the predictions are also in that range, that is likely a bigger problem.\n",
"\n",
"Anyway, let's take a look at what happens when we run the same thing on a GPU."
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "e6964641-da8a-4ceb-8630-fe9d5337be82",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"tensor([2.4080e-05, 1.0657e-04, 1.9288e-04, 4.7278e-04, 1.8740e-04, 1.5259e-04,\n",
" 3.2091e-04, 2.3675e-04, 5.2857e-04, 4.6015e-05, 1.5044e-04, 1.0705e-04,\n",
" 5.5075e-05, 3.9053e-04, 4.7612e-04, 1.5640e-04, 7.3910e-05, 7.5817e-05,\n",
" 3.0828e-04, 2.6321e-04], device='cuda:0', grad_fn=)\n"
]
}
],
"source": [
"X_attr = deep_lift_shap(model, X, target=267, random_state=0, print_convergence_deltas=True)"
]
},
{
"cell_type": "markdown",
"id": "9c500bc6-32df-4d8a-9cef-2ee8b5b86c60",
"metadata": {},
"source": [
"Looks like we are getting convergence deltas in the range that I mentioned you would see on a GPU if everything was fine. In practice, if you are concerned that there may be a bug with your model -- either because of an undiagnosed bug in the algorithm somewhere or a layer in the model has not yet been registered -- you should try running the model on a small number of examples on the CPU to see whether the deltas get much smaller. \n",
"\n",
"Running Beluga on the GPU does demonstrate that this implementation of DeepLIFT/SHAP will raise a non-terminating warning when the convergence deltas get too high. These is useful for automatically knowing that everything is fine. "
]
},
{
"cell_type": "markdown",
"id": "6aa3385e-7ddf-47cd-a5c0-5888f17e9d2e",
"metadata": {},
"source": [
"#### Additional Non-Linear Operations\n",
"\n",
"A critical part of DeepLIFT/SHAP working (and having low convergence deltas) is knowing what to do when it encounters each type of layer in the model. Specifically, for linear layers nothing needs to be done, and for non-linear layers the \"rescale\" rule needs to be applied. The way the rescale rule is implemented changes between activation functions and max-pooling layers (because the maximum operation and the pooling operation yield very different implementation strategies from an element-wise non-linearity) and potentially other forms of layers that exist.\n",
"\n",
"In `tangermeme` there is an internal dictionary mapping operations to how the rescale rule is implemented. If the operation is not in the dictionary the implementation assumes that it is a linear layer and nothing needs to be done. If you want to add additional operations or override how currently-implemented layers are handled you can pass in a dictionary of `additional_nonlinear_ops`. Each key should be the class type and the value should be the function that should be applied. To demonstrate how to do this, let's try overriding the ReLU non-linearity operation with just doing nothing instead of rescaling the gradient."
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "59552b28-300d-4d3b-b677-4be57ed34f5f",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"tensor([10.4793, 11.5042, 3.3573, 8.9456, 2.0517, 10.3768, 4.9426, 6.8905,\n",
" 5.2843, 12.0783, 2.2528, 4.5493, 9.3421, 2.6807, 1.8102, 6.6792,\n",
" 6.8412, 3.7978, 7.0050, 8.7039], device='cuda:0',\n",
" grad_fn=)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/users/jmschr/github/tangermeme/tangermeme/deep_lift_shap.py:436: RuntimeWarning: Convergence deltas too high: tensor([10.4793, 11.5042, 3.3573, 8.9456, 2.0517, 10.3768, 4.9426, 6.8905,\n",
" 5.2843, 12.0783, 2.2528, 4.5493, 9.3421, 2.6807, 1.8102, 6.6792,\n",
" 6.8412, 3.7978, 7.0050, 8.7039], device='cuda:0',\n",
" grad_fn=)\n",
" warnings.warn(\"Convergence deltas too high: \" +\n"
]
}
],
"source": [
"_nonlinear = lambda x, grad_input, grad_output: grad_input\n",
"additional_nonlinear_ops = {torch.nn.ReLU: _nonlinear}\n",
"\n",
"X_attr = deep_lift_shap(model, X, target=267, additional_nonlinear_ops=additional_nonlinear_ops, random_state=0, \n",
" print_convergence_deltas=True)"
]
},
{
"cell_type": "markdown",
"id": "17fe6ed7-1b71-4cc5-824f-01cfaacaaa2d",
"metadata": {},
"source": [
"As you might expect, replacing the real rescaling operation with doing nothing causes massive convergence deltas. Extending this idea, if you are getting large convergence deltas it is possible that there are non-linear operations in your model that are not in the dictionary. Not all activation functions or pooling layers are currently supported. Most activation functions will be covered by the built-in `_nonlinear` function (not the one above, the one in `tangermeme.deep_lift_shap`) so if you are using a custom activation you should first try using that."
]
},
{
"cell_type": "markdown",
"id": "ebe40190-ad21-4bc1-9926-049e2926e073",
"metadata": {},
"source": [
"#### Comparison with Other Tools\n",
"\n",
"As a sanity check we can confirm that this implementation of DeepLIFT/SHAP matches other implementations. See the vignette \"Attribution Trickiness and DeepLiftShap Implementations\" for a thorough discussion of comparisons across implementations."
]
}
],
"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.9.12"
}
},
"nbformat": 4,
"nbformat_minor": 5
}