{ "cells": [ { "cell_type": "markdown", "id": "cc959ea9-e808-4e20-9363-fc5b972c082d", "metadata": {}, "source": [ "# Necessity test" ] }, { "cell_type": "code", "execution_count": 7, "id": "0e520279-ba5f-4872-a38d-27487ed26c56", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The autoreload extension is already loaded. To reload it, use:\n", " %reload_ext autoreload\n" ] } ], "source": [ "%load_ext autoreload\n", "%autoreload 2\n", "from creme import creme\n", "from creme import utils\n", "from creme import custom_model\n", "import pandas as pd\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "id": "f3083d60-240d-4c05-afc2-02bded899c81", "metadata": {}, "source": [ "Load Enformer and example sequences" ] }, { "cell_type": "code", "execution_count": 8, "id": "5e3979fd-a872-41fa-afc4-109ee830b141", "metadata": {}, "outputs": [], "source": [ "data_dir = '../../../data/'\n", "track_index = [5111]\n", "model = custom_model.Enformer(track_index=track_index)" ] }, { "cell_type": "code", "execution_count": 75, "id": "5b84bb66-1c29-448f-b78f-3ec690e39d22", "metadata": {}, "outputs": [], "source": [ "fasta_path = f'{data_dir}/GRCh38.primary_assembly.genome.fa'\n", "seq_parser = utils.SequenceParser(fasta_path)\n", "\n", "gene = 'GATA2_chr3_128487916_-'\n", "\n", "gene_name, chrom, start, strand = gene.split('_')\n", "wt_seq = seq_parser.extract_seq_centered(chrom, int(start), '-', model.seq_length)\n" ] }, { "cell_type": "code", "execution_count": 76, "id": "61c69d44-b67f-4f71-b10b-5dc6c7b867f0", "metadata": {}, "outputs": [], "source": [ "# TSS bin indeces\n", "bins = [447, 448]" ] }, { "cell_type": "code", "execution_count": 77, "id": "502ab1fc-bcb5-444d-ab7b-8351db4f7463", "metadata": {}, "outputs": [], "source": [ "wt = model.predict(wt_seq)[0,:,0]\n" ] }, { "cell_type": "code", "execution_count": 80, "id": "34adb807-c057-4993-aa1a-dc2bf161d288", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 80, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "utils.plot_track([wt], color='green', zoom=[0, 896], marks=bins)\n" ] }, { "cell_type": "markdown", "id": "727193db-efab-48b9-9fe8-7fd4ed36b89a", "metadata": {}, "source": [ "**Necessity test**\n", "\n", "\n", "In this example we will test the necessity of (5Kb) tiles in the context of an enhancing context sequence of GATA2 gene. \n", "\n", "To run the test we need:\n", "- a loaded model\n", "- onehot encoded sequence (WT) of the sequence\n", "- a list of tile coordinates to test\n", "- num_shuffle - number of shuffled\n", "- optionally, we can set mean=False to not average the shuffle results\n", "- optionally, we can set return_seqs to True to return the shuffled sequeneces for future use\n", "\n" ] }, { "cell_type": "code", "execution_count": 110, "id": "fa851a1f-f266-4142-821b-333d08aa684b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Enhancing tile at position 100804 - 105804\n", "TSS tile at center position 95804 - 100804\n" ] } ], "source": [ "\n", "perturb_window = 5000\n", "N_shuffles = 10\n", "tss_tile, cre_tiles = utils.set_tile_range(model.seq_length, perturb_window)\n", "cre_tiles = cre_tiles[19:20]\n", "print(f'Enhancing tile at position {cre_tiles[0][0]} - {cre_tiles[0][1]}')\n", "print(f'TSS tile at center position {tss_tile[0]} - {tss_tile[1]}')" ] }, { "cell_type": "markdown", "id": "b0193ee8-b6d3-4e89-ad06-7448ae91ef62", "metadata": {}, "source": [ "Necessity of an enhancing tile of GATA2 gene TSS" ] }, { "cell_type": "code", "execution_count": 103, "id": "52086ff5-48a3-45b2-99ad-818cd054e529", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|█████████████████████████████████████████████████████████████████████████████| 1/1 [00:02<00:00, 2.73s/it]\n" ] } ], "source": [ "_, pred_mut = creme.necessity_test(model, wt_seq, cre_tiles, N_shuffles, mean=False)" ] }, { "cell_type": "code", "execution_count": 104, "id": "0a03fe86-99c1-4f06-badc-4eebdfa9864a", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABlMAAADFCAYAAADAOAQdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABrfElEQVR4nO3deXxcdb3/8deZJZNMkkmatE3apk03ukIXuoYdQRaRRYv7D9DLFUVAwXtxuSIoqCjglSvifhXRiyirCIIUkLJ0oS0UutGW0j1N0mZPZsnMnPP748yZzCRpmrTZ8372MY9z5mzznWTy7ZnzOd/Px7Asy0JEREREREREREREREQ65OrvBoiIiIiIiIiIiIiIiAxkCqaIiIiIiIiIiIiIiIh0QsEUERERERERERERERGRTiiYIiIiIiIiIiIiIiIi0gkFU0RERERERERERERERDqhYIqIiIiIiIiIiIiIiEgnFEwRERERERERERERERHpxKAMpliWRUNDA5Zl9XdTRERERERERERERERkiBuUwZTGxkby8vJobGzs76aIiIiIiIiIiIiIiMgQNyiDKSIiIiIiIiIiIiIiIn1FwRQREREREREREREREZFOKJgiIiIiIiIiIiIiIiLSCQVTREREREREREREREREOqFgioiIiIiIiIiIiIiISCcUTBEREREREREREREREemEgikiIiIiIsNcc3MzhmFgGAbNzc19tq+IiIiIiMhgoWCKiIiIiIiIiIiIiIhIJxRMERERERERERERERER6YSCKSIiIiIiIiIiIiIiIp1QMEVERERERERERERERKQTCqaIiIiIiIiIiIiIiIh0QsEUEREREZFhbmfNzv5ugoiIiIiIyIDm6e8GiIiIiIhI/9pWu42TP3kyPo8Pt8fdrX29Xi+33XZbcl5ERERERGQoUjBFRERERGSYa4w3svDTCwHYWb+T2aNnd3nfjIwMvvOd7/RSy0RERERERAYGpfkSERERERnmqoPVyflV+1f1Y0tEREREREQGJo1MEREREREZ5g43H6Zmbw0AbxlvETopRJY3q0v7mqbJ1q1bAZg5cyYul+7XEhERERGRoUffdEREREREhjHTMjnccJhHr3+UR69/lFAoxPqD67u8fygU4sQTT+TEE08kFAr1YktFRERERET6j4IpIiIiIiLDWG2oFsuy0pat2qdU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iAw4CqaIiIiIiAwzpmVSF64DujcyxePysGjcIgBW7VchehERERERGT4UTBERERERGWbqwnWYlonb5SbPl9etfZeWLAXgrYNvEY6Fe6N5IiIiIiIiA46CKSIiIiIiw4yT4mtE5ggMw+jWvpPyJ1GUU0RLvIU3D77ZG80TEREREREZcBRMEREREREZZpzi892pl+IwDIOyErsQ/ap9SvUlIiIiIiLDg6e/GyAiIiIiIn3LCaY49VI8Hg9XXXVVcv5olpQs4W/b/sb26u3Ut9R3a18REREREZHBSN92RERERESGmeqQnearMMsemeLz+XjggQe6vH9BVgHTC6fz7uF3eevQW93aV0REREREZDBSmi8RERERkWGm7ciUY1E23k71tXr/aizL6pF2iYiIiIiIDFQKpoiIiIiIDDNta6ZYlkVzczPNzc1dDozML56Pz+OjsqmSTfs3dWtfERERERGRwUbBFBERERGRYcSyLKqDdpovZ2RKMBgkJyeHnJwcgsFgl47j8/iYXzyfWCTGnAlzurWviIiIiIjIYKNgioiIiIjIMNIcbaYl3gLAiMwRx3UsJ9WXiIiIiIjIUKdgioiIiIjIMOKk+Ar4Anjd3uM61vTC6eRn5vdAq0RERERERAY2BVNERERERIaRtim+jodhGCwet/i4jyMiIiIiIjLQKZgiIiIiIjKMtC0+f7xSgylNLU09ckwREREREZGBRsEUEREREZFhpDpkj0wpzOqZYEpRTlFyfm/d3h45poiIiIiIyECjYIqIiIiIyDDijEzpiTRfbR1oPNDjxxQRERERERkIPP3dABERERER6TsdBVPcbjeXX355cr473G43p11wGgcaDlDeVN5zDRURERERERlAFEwRERERERlGnAL0qTVTMjMzeeSRR47peJmZmfzqwV/xP6v/h4pIRY+0UUREREREZKBRmi/pMsuy+rsJIiIiInIcWuItySLxPZnma3xgPABVzVVEYpEeO66IiIiIiMhAoWCKdMm9q+/lWy99i2A02N9NEREREZFj5KT4yvRkkuXJ6rHj5vpyyc/Mx7Is9jfs77HjioiIiIiIDBQKpshR1YZq2XpoK9XBataXr+/v5oiIiIjIMXJSfBVkFWAYRnJ5c3MzhmFgGAbNzc3dOqaz713n3UU0HGVfw74ebbOIiIiIiMhA0K1gyp133smiRYvIzc1l9OjRXHbZZWzbti1tm3A4zHXXXUdhYSE5OTksW7aMysrKtG327t3LRRddhN/vZ/To0dx8883EYrHjfzfSK3bW7kzOrzmwph9bIiIiIiLHo6Pi8z1tb/3eXju2iIiIiIhIf+lWMGXFihVcd911rF69muXLlxONRjnvvPPS7l676aab+Pvf/84jjzzCihUrKC8v56Mf/WhyfTwe56KLLqKlpYWVK1fyhz/8gQceeIBbb721596V9Kj3at5Lzu+o3pG8o1FEREREBhcnmJJafL6n7avXyBQRERERERl6uhVMee655/jsZz/L7NmzmTt3Lg888AB79+5l/Xo79VN9fT3/+7//y3//93/zgQ98gAULFvD73/+elStXsnr1agCef/55tmzZwp/+9CfmzZvHhRdeyB133MH9999PS0tLz79DOW5OMMXr9gKwtnxtfzZHRERk2IiZMV7e/TL14fr+booMEdUh+6aYwqzeC6aUN5YTN+O9dnwREREREZH+cFw1U+rr7S/2BQV2moD169cTjUY599xzk9vMmDGDCRMmsGrVKgBWrVrFSSedRFFRUXKb888/n4aGBjZv3tzh60QiERoaGtIe0jdC0VCyiOiHTvgQAGv2r8GyrP5sloiIyLDw8u6X+fPGP/P41sf7uykyRPR2mq9MTyYxM8bBpoO9cnwREREREZH+cszBFNM0ufHGGzn11FM58cQTAaioqCAjI4P8/Py0bYuKiqioqEhukxpIcdY76zpy5513kpeXl3yMHz/+WJst3fR+7ftYlsVI/0jOmngWHpeH8sZyDjQe6O+miYiIDHk7a+y6Zan1y0SOR28HU0oCJYBSfYmIiIiIyNBzzMGU6667jk2bNvHwww/3ZHs69M1vfpP6+vrkY98+fTnrK06Kr6kFU/F7/cwpmgPYo1NERESkd+2p3wPAoeZDBKPBfm6NDHamZVIbqgV6r2ZKMpjSoPN1EREREREZWjzHstP111/P008/zSuvvEJJSUlyeXFxMS0tLdTV1aWNTqmsrKS4uDi5zRtvvJF2vMrKyuS6jvh8Pnw+37E0VY5TajAFYPG4xbx58E3eOPAGH5n5EVzGcWWKExERkSNobmmmOlidfL63fi8zRs7oxxbJYFcfrse0TNwuN3m+vLR1brebD33oQ8n57kjdd3z+eKjQyBQRERERERl6unUl3LIsrr/+ep54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yspYunQpAOeddx6zZs3iiiuu4K677qKiooJbbrmF6667Dp/P1+fvSUSGt6P1a04gJRgM8qc//YmGhgYaGhoAGDVqFG63W/2aiAwoXTlf6+jOngkTJjBp0iRA52siMrB0pV+7+eabue2225g7dy7z5s3jD3/4A++++y6PPvooYI9SueCCC/j85z/PL3/5S6LRKNdffz2f/OQnGTt2bJ+/JxEZ3o7Wr0WjUaZOncoXvvAF7rnnHgoLC3nyySdZvnw5Tz/9NKB+TUQGlv/8z//k4osvprS0lPLycm677Tbcbjef+tSnyMvL69OYwYAJpnTFT37yE1wuF8uWLSMSiXD++efz85//PLne7Xbz9NNPc+2111JWVkZ2djZXXXUVt99+ez+2WkSkY2+++SZr1qwBSBb6c+zatYuJEyeqXxORIUf9mogMNjfeeCPhcJibbrqJmpoa5s6dy/Lly5kyZUpym//7v//j+uuv55xzzkl+Z/3pT3/aj60WEemY1+vlH//4B9/4xje4+OKLaWpqYurUqfzhD3/gQx/6UHI79WsiMlDs37+fT33qU1RXVzNq1ChOO+00Vq9ezahRo4C+jRkYlmVZPfbOREREREREREREREREhpgBUzNFRERERERERERERERkIFIwRUREREREREREREREpBMKpoiIiIiIiIiIiIiIiHRCwRQREREREREREREREZFOKJgiIiIiIiIiIiIiIiLSCQVTREREREREREREREREOqFgioiIiIiIiIiIiIiISCcUTBEREREREREREREREemEgikiIiIiIiIiIiIiIiKdUDBFRERERERERERERESkEwqmiIiIiIiIiIiIiIiIdOL/Aw++r50S81GDAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "\n", "for p in pred_mut.mean(axis=1)[:,:,0]:\n", " ax=utils.plot_track([p], color='red')\n", " \n", " utils.plot_track([wt], ax=ax, zoom=[400, 500], marks=[447,448], color='green')\n" ] }, { "cell_type": "code", "execution_count": null, "id": "b6f13879-7303-48b4-b4a6-55f02d5a2169", "metadata": {}, "outputs": [], "source": [] } ], "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.9.16" } }, "nbformat": 4, "nbformat_minor": 5 }