{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "cd74c221-ed4e-4b23-b668-e7b2fd86b6f0", "metadata": {}, "outputs": [], "source": [ "import os\n", "os.environ['CUDA_VISIBLE_DEVICES'] = '0'" ] }, { "cell_type": "markdown", "id": "03cab6e0-9d32-4b65-b09a-1d7ee8ca3cbd", "metadata": {}, "source": [ "### Tutorial B3: Spacing\n", "\n", "> predict + ersatz (multisubstitute) + predict\n", "\n", "Although marginalization experiments can be invaluable in identifying the influence that one motif (or larger construct) has by itself, sometimes one wishes to investigate the influence that multiple motifs have and how this changes as spacings between them change. Specifically, one might want to see how model predictions change as two motifs are moved closer or further apart from each other. Given enough compute, one might even want to comprehensively look at how all pairs or sets of motifs influence predictions as they are spaced differently!\n", "\n", "`tangermeme` implements this functionality in the `space` function, which is conceptually similar to the `marginalize` function except that it takes in a set of motifs and the respective spacing between them. Conceptually, the difference between `marginalize` and `space` is the difference between the `substitute` and the `multisubstitute` functions, where `marginalize` just substitutes in a given motif but `space` has to handle the bookkeeping of where precisely to substitute motifs given a set of motifs of different lengths and their spacings. \n", "\n", "#### Space\n", "\n", "The basic functionality implemented in spacing experiments is the insertion of multiple motifs at a given spacing paired with predictions before and after the insertion. Accordingly, the signature is very similar to that of `marginalize` except that a list of motifs are passed in alongside either one or more values corresponding to the spacing. Predictions are made before and after the motifs are inserted and returned.\n", "\n", "Let's show an example using the Beluga/DeepSEA model." ] }, { "cell_type": "code", "execution_count": 2, "id": "ff90a81a-c9ba-46b0-92af-0038a8314ad7", "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": "4f9c9f47-dbff-46c0-9158-64a796dc3f47", "metadata": {}, "source": [ "Then, we can generate some random sequence. Just like when running marginalizations, the choice of background sequence is important and simply using uniform random sequence (like we do here) will likely be suboptimal. However, it is a simple background to implement, so we'll use it here." ] }, { "cell_type": "code", "execution_count": 3, "id": "5652728d-b3d7-4c39-9f17-5d09a2d70c71", "metadata": {}, "outputs": [], "source": [ "from tangermeme.utils import random_one_hot\n", "\n", "X = random_one_hot((100, 4, 2000)).type(torch.float32) # Generate 100 random sequences to marginalize over" ] }, { "cell_type": "markdown", "id": "9afa2c5e-99d7-4355-b1ac-af87166e2851", "metadata": {}, "source": [ "Now, we just need a motif to add in. We can start off with adding in two AP-1 motifs. We also need to pass in the spacing between these motifs. Because this function allows you to pass in any number of motifs and investigate any number of spacings, `spacing` must be an array-like of non-negative integers of shape `(n_spacings, n_motifs-1)` where entry `i,j` refers to the spacing in the `i`-th spacing to try out between motifs of rank `j` and `j+1`. `spacing` does not have to explicitly be a `torch.tensor` object, but has to be able to be cast into one with the described dimensions. Here, we want to just try out one spacing and there are only two motifs, so we'll just pass in a tensor with a single value." ] }, { "cell_type": "code", "execution_count": 4, "id": "6028c114-2c86-459d-b776-fe0adef769aa", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(torch.Size([100, 1, 2002]), torch.Size([100, 1, 2002]))" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from tangermeme.space import space\n", "\n", "y_before, y_after = space(model, X, [\"GTGACTCATC\", \"GTGACTCATC\"], spacing=[[10]], device='cpu')\n", "y_before.shape, y_after.shape" ] }, { "cell_type": "markdown", "id": "89a0a6da-565d-41d7-b76c-72a9cd7fa85d", "metadata": {}, "source": [ "This will add two motifs in with a spacing of 10 between them. By default, the range from the start of the first motif to the end of the last motif (including the spacing between the motifs) will be substituted into the center of the sequence. Characters that reside in the spacing between the motifs are left as-is. If `start` is provided, the first character of the first motif is inserted at that position and the rest of the sequence proceeds from there.\n", "\n", "First, we can check that adding in the AP-1 motifs increased the predicted value for a task involving an AP-1 factor." ] }, { "cell_type": "code", "execution_count": 5, "id": "d2212f1a-162c-4604-bf43-650edfa9e593", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(tensor(-3.6887), tensor(-0.5963))" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y_before.mean(axis=0)[0, 267], y_after.mean(axis=0)[0, 267]" ] }, { "cell_type": "markdown", "id": "c462945e-1597-4797-9610-1094a1250472", "metadata": {}, "source": [ "Looks like the logit increased quite a bit, as we might expect.\n", "\n", "Next, we can look at how changing the spacing between these motifs changes the predicted value to see if there is some sort of synergeistic effect between the two motifs. Since we want to run many spacing experiments (one per potential spacing), we will pass in a tensor of spacings of shape `(50, 1)` -- 50 because we want to run 50 experiments, and 1 because there is only a pair of motifs." ] }, { "cell_type": "code", "execution_count": 6, "id": "aa57dbfc-9d3f-4bf1-8bd8-dfbce516b57f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(torch.Size([100, 50, 2002]), torch.Size([100, 50, 2002]))" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y_before, y_after = space(model, X, [\"GTGACTCATC\", \"GTGACTCATC\"], spacing=torch.arange(50)[:, None], device='cpu')\n", "y_before.shape, y_after.shape" ] }, { "cell_type": "code", "execution_count": 7, "id": "9eed70f1-49ae-4002-9a79-14939b2caa85", "metadata": {}, "outputs": [ { "data": { "image/png": "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ssn76aefAADTp0+vczwqKgqTJk0CAI67DuTk5GD+/PnIysqCvb09goKCsG7dOlWzP4654XDsdePOnTv497//jYKCAjg7OyM8PBw///yz6u9QXY27SGBFGhEREVGzWNNEREREpAYmTURERERqYNJEREREpAYmTURERERqYNJEREREpAYmTURERERqYNJEREREpAYmTURERERqYNJERFo3YsQIfP/994YOg7To3s80Ozsbzz33HMLDw9GrVy/DBUakR0yaiFqR3NxcLFq0CMOGDUP37t0xcOBAzJo1CzExMXqNY/v27ZgyZYrO32fEiBEICgpCUFAQunbtikGDBuGdd95BYWGhxvcx1SRv+vTpCAoKwtq1a+u99sILLyAoKAirVq1S+347d+5sMAm69zP9/vvvkZ2djejoaOzfv79lwROZGO49R9SKvPbaa5BKpfjwww/Rrl075Obm4sSJExonEffLxcVFb+/1+uuv44knnoBcLkdKSgoWLVqEZcuWYfny5XqLwdC8vb2xY8cOvPjii6pjmZmZOHnyJNzd3bXyHvd+punp6QgJCYG/v79W7k9kCjjTRNRKFBUV4dy5c3jrrbfQr18/+Pr6IiwsDC+99BKGDRumOi8oKAibN2/G888/j7CwMIwYMQK///57nXstX74cY8aMQY8ePTBy5Eh89tlnqK6urnPO4cOHMWnSJISGhqJv376YM2eO6rV7Z26CgoKwbds2vPrqq+jRowdGjx6Nw4cP17vf6NGjERYWhunTp2PXrl0ICgpCUVFRkz+3ra0t3N3d4enpiX79+mHChAmIj4+vc8758+cxbdo0hIWFYejQoVi2bBnKysoAKGZqbt26haioKNWslSAI6NevX50ZlAkTJqB///6q72NiYhASEoLS0lIAQHFxMd599130798fPXv2xIwZM5CYmFgnjj/++EM1ZiNHjsTq1ashlUo1GqeGDBs2DAUFBTh37pzq2K5duzBw4EC4urrWObewsBDz589H79690aNHDzz//PNITU0FAJw6dQr//e9/UVxcrBoL5SxV7c90xIgR2L9/P6KjoxEUFIT//Oc/AIBVq1apZjkHDRqEZcuWNRs7kSlh0kTUStjY2MDGxgaHDh1CVVVVk+d+/vnnGDNmDH755Rc88sgjmDt3LpKTk1Wv29raIioqCnv27MGCBQuwbdu2OknQX3/9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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from matplotlib import pyplot as plt\n", "import seaborn; seaborn.set_style('whitegrid')\n", "\n", "plt.figure(figsize=(6, 4))\n", "plt.plot(y_after.mean(dim=0)[:, 267])\n", "\n", "plt.xlabel(\"Spacing Between Motifs\", fontsize=10)\n", "plt.ylabel(\"Predicted Logit\")\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "475d881b-47fc-4b5b-a13a-8f7b100976f6", "metadata": {}, "source": [ "It looks like there may be some sort of synergy between the two motifs. As the motifs get further apart, the predicted logit from the model goes down. But, there also seems to be some sort of cyclic aspect to it where every few basepairs the predicted probability increases before then continuing to decrease. This is potentially due to the shape of the DNA playing a role in binding -- where every half turn (around 6-7 bp) there is a complementary effect.\n", "\n", "If we have more than two motifs we can just pass in a longer list that includes the spacings between both adjacent pairs of motifs." ] }, { "cell_type": "code", "execution_count": 8, "id": "4d158fc6-d149-4047-b228-355a3888dedd", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(tensor(-3.6887), tensor(0.7865))" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y_before, y_after = space(model, X, [\"GTGACTCATC\", \"GTGACTCATC\", \"GTGACTCATC\"], spacing=[[10, 10]], device='cpu')\n", "y_before.mean(axis=0)[0, 267], y_after.mean(axis=0)[0, 267]" ] }, { "cell_type": "markdown", "id": "063f0aa0-6442-47f8-bb9e-72c3b5f48ded", "metadata": {}, "source": [ "Looks like having a third motif does increase binding by a little bit.\n", "\n", "This formulation for `spacing` means that we can easily change the spacing between different motifs." ] }, { "cell_type": "code", "execution_count": 9, "id": "44ad6325-c12b-4860-b078-58dba653e9e4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(tensor(-3.6887), tensor(1.0361))" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y_before, y_after = space(model, X, [\"GTGACTCATC\", \"GTGACTCATC\", \"GTGACTCATC\"], spacing=[[4, 10]], device='cpu')\n", "y_before.mean(axis=0)[0, 267], y_after.mean(axis=0)[0, 267]" ] }, { "cell_type": "markdown", "id": "f910acf7-8756-434a-bd95-80ed7855ce82", "metadata": {}, "source": [ "Naturally, the motifs do not have to be the same. If you want to investigate the role that different motifs have across spacings, this function is perfect." ] }, { "cell_type": "code", "execution_count": 10, "id": "81f477c4-cf3b-430f-b14a-d88f1d5d3136", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(tensor(-3.6887), tensor(-2.2331))" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y_before, y_after = space(model, X, [\"GTGACTCATC\", \"ACATTG\", \"ATAGA\"], spacing=[[4, 10]], device='cpu')\n", "y_before.mean(axis=0)[0, 267], y_after.mean(axis=0)[0, 267]" ] }, { "cell_type": "markdown", "id": "edc084ec-3d75-4291-a5b2-4d2d9608df9f", "metadata": {}, "source": [ "We can see that only adding in one AP-1 motif, and two gibberish motifs, causes the predictions to only increase modestly. This modest increase makes sense because the previous instances had multiple copies of that motif. We can confirm that there isn't some weird effect being learned by checking the predictions as we change the spacing between the AP-1 motif and the other pseudomotifs there." ] }, { "cell_type": "code", "execution_count": 11, "id": "45554115-33fd-4303-a724-04f114f938e0", "metadata": {}, "outputs": [], "source": [ "spacing = torch.zeros(50, 2)\n", "spacing[:, 0] = torch.arange(50)\n", "spacing[:, 1] = 10\n", "\n", "y_before, y_after = space(model, X, [\"CTCAGTGATG\", \"ACATTG\", \"ATAGA\"], spacing=spacing, device='cpu')" ] }, { "cell_type": "code", "execution_count": 12, "id": "7a1f1964-0b03-43d8-b737-03b493bf325c", "metadata": {}, "outputs": [ { "data": { "image/png": "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N6sIvj2enp44evRouz2pIiMjMXnyZCxfvhxnzpxBamoqli5disDAQP45EhoaCoVCgRMnTqC8vBz19fVGPfaPP/6IH374Aenp6cjJycHu3bshk8kQEhJiqR+PEJujjBMh3ZhcLsfgwYP52iSNRoOgoCDMnj0bixcvbnbsk08+if3792PFihXw9/fHO++8w2copkyZggceeAArV66ESqXCpEmT8Nhjj2Hjxo38/UeOHIn3338fH374IT7++GO4ublh+PDhZo89PDwc77//PtasWYOtW7ciISEBixcvxuuvvw6JRNLhfdevX4/169cD0PcaiouLw5YtW+Dt7Q1AX/vz5Zdf4r333sP999/PP960adP4czz11FN49dVXMWXKFKhUKqSlpfE/p1arbRYkDR8+HL/99luz2xiGwccff4z33nsPL730EioqKuDn54dhw4bBz88PADB+/Hh89NFH+OCDD/Dpp59CJBKhT58+JteKdcbDw6PD769atQpvvfUWFi9eDLVajWHDhuHjjz/mp9OGDBmCuXPn4plnnkFlZSWeeOIJPPnkk0Y97scff4zVq1dDp9MhKioKH330Ef97IMQZMayxRQOEkG4rOjoaH3zwAaZMmWLvoXRo06ZN2LZtW6spPEIIsRXKOBFCHNbXX3+NuLg4eHt74+zZs/jf//6HefPm2XtYhJAejAInQojDun79OjZt2oSqqiqEhITgwQcfxKOPPmrvYRFCejCaqiOEEEIIMRKtqiOEEEIIMRIFToQQQgghRqLAiRBCCCHESBQ4EUIIIYQYiQInQgghhBAjUeBECCGEEGIkCpwIIYQQQoxEgRMhhBBCiJEocCKEEEIIMdL/Axe34R1atOwAAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(6, 4))\n", "plt.plot(y_after.mean(dim=0)[:, 267])\n", "\n", "plt.xlabel(\"Spacing Between Motifs\", fontsize=10)\n", "plt.ylabel(\"Predicted Logit\")\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "05f7b1dd-7dcc-41f8-832a-06fdfa8e778b", "metadata": {}, "source": [ "We can see that, although there is some wiggling in the prediction as the distance between the first two motifs increases, the magnitude does not significantly change overall and the trendline is basically flat. This confirms that there is not always a synergistic effect between motifs.\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.11.7" } }, "nbformat": 4, "nbformat_minor": 5 }