diff --git a/examples/simulated_TAL_GATA_deeplearning/TF_MoDISco_TAL_GATA.ipynb b/examples/simulated_TAL_GATA_deeplearning/TF_MoDISco_TAL_GATA.ipynb
index ab6257b..f7206eb 100644
--- a/examples/simulated_TAL_GATA_deeplearning/TF_MoDISco_TAL_GATA.ipynb
+++ b/examples/simulated_TAL_GATA_deeplearning/TF_MoDISco_TAL_GATA.ipynb
@@ -1,2344 +1,2401 @@
{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {
- "colab_type": "text",
- "id": "view-in-github"
- },
- "source": [
- ""
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "colab_type": "text",
- "id": "oPV0Wsfg9OBZ"
- },
- "source": [
- "# TF-MoDISco on the TAL GATA simulation\n",
- "\n",
- "### Note: we are still refining the multi-task version of TF-MoDISco. If you encounter difficulties running TF-MoDISco with multiple tasks, our recommendation is to run it on one task at a time.\n",
- "\n",
- "This notebook demonstrates running TF-MoDISco on importance scores obtained from the TAL-GATA simulation used in the DeepLIFT paper. See Generate Importance Scores.ipynb for a notebook demonstrating how to produce the scores. There are 3 tasks. Task 0 is positive when both TAL and GATA motifs are present in the sequence. Task 1 is positive when GATA motifs are present in the sequence. Task 2 is positive when TAL motifs are present in the sequence."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 1,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 492
- },
- "colab_type": "code",
- "id": "CLiK1j6A8YrA",
- "outputId": "ba486e3c-0579-49ce-8524-01e8622c0369"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Collecting modisco\n",
- "\u001b[?25l Downloading https://files.pythonhosted.org/packages/4c/c8/d2615551e0da499da54f98df191d997f1d66b62178a50a9193a18baa67dc/modisco-0.5.6.2.tar.gz (167kB)\n",
- "\u001b[K |████████████████████████████████| 174kB 2.8MB/s \n",
- "\u001b[?25hRequirement already satisfied: numpy>=1.9 in /usr/local/lib/python3.6/dist-packages (from modisco) (1.18.2)\n",
- "Requirement already satisfied: joblib>=0.11 in /usr/local/lib/python3.6/dist-packages (from modisco) (0.14.1)\n",
- "Requirement already satisfied: scikit-learn>=0.19 in /usr/local/lib/python3.6/dist-packages (from modisco) (0.22.2.post1)\n",
- "Requirement already satisfied: h5py>=2.5 in /usr/local/lib/python3.6/dist-packages (from modisco) (2.10.0)\n",
- "Collecting leidenalg>=0.7.0\n",
- "\u001b[?25l Downloading https://files.pythonhosted.org/packages/b6/cc/d76baf78a3924ba6093a3ce8d14e2289f1d718bd3bcbb8252bb131d12daa/leidenalg-0.7.0.tar.gz (92kB)\n",
- "\u001b[K |████████████████████████████████| 102kB 7.1MB/s \n",
- "\u001b[?25hRequirement already satisfied: tqdm>=4.38.0 in /usr/local/lib/python3.6/dist-packages (from modisco) (4.38.0)\n",
- "Requirement already satisfied: scipy>=0.17.0 in /usr/local/lib/python3.6/dist-packages (from scikit-learn>=0.19->modisco) (1.4.1)\n",
- "Requirement already satisfied: six in /usr/local/lib/python3.6/dist-packages (from h5py>=2.5->modisco) (1.12.0)\n",
- "Collecting python-igraph>=0.7.1.0\n",
- "\u001b[?25l Downloading https://files.pythonhosted.org/packages/f3/23/2959ac50ac7a3d8c28602a752075abd21025767fc32d4587fb35ae273d22/python_igraph-0.8.0-cp36-cp36m-manylinux2010_x86_64.whl (3.2MB)\n",
- "\u001b[K |████████████████████████████████| 3.2MB 8.9MB/s \n",
- "\u001b[?25hCollecting texttable>=1.6.2\n",
- " Downloading https://files.pythonhosted.org/packages/ec/b1/8a1c659ce288bf771d5b1c7cae318ada466f73bd0e16df8d86f27a2a3ee7/texttable-1.6.2-py2.py3-none-any.whl\n",
- "Building wheels for collected packages: modisco, leidenalg\n",
- " Building wheel for modisco (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
- " Created wheel for modisco: filename=modisco-0.5.6.2-cp36-none-any.whl size=179414 sha256=795a88033f051cb735c50fc5d834718901abdc6e730e35343afe7ebf2cf4109c\n",
- " Stored in directory: /root/.cache/pip/wheels/74/ff/80/1dc0829b21f3ec03783bc885203b157263e8a9871387212906\n",
- " Building wheel for leidenalg (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
- " Created wheel for leidenalg: filename=leidenalg-0.7.0-cp36-cp36m-linux_x86_64.whl size=1107061 sha256=5e56e810612c74171e308ed58cb5240f244a081928b25b9031c43c4cce218643\n",
- " Stored in directory: /root/.cache/pip/wheels/29/55/48/5a04693a10f50297bcda23819ca23ab3470a61dd911851c8bd\n",
- "Successfully built modisco leidenalg\n",
- "Installing collected packages: texttable, python-igraph, leidenalg, modisco\n",
- "Successfully installed leidenalg-0.7.0 modisco-0.5.6.2 python-igraph-0.8.0 texttable-1.6.2\n"
- ]
- }
- ],
- "source": [
- "!pip install modisco"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "metadata": {
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
"colab": {
- "base_uri": "https://localhost:8080/",
- "height": 33
- },
- "colab_type": "code",
- "id": "-9R8H-A0ps_X",
- "outputId": "c2c9e3d5-87dd-4361-882c-5afe32c2661c"
- },
- "outputs": [
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "UsageError: Line magic function `%tensorflow_version` not found.\n"
- ]
- }
- ],
- "source": [
- "#this is needed when running in google colab to specify that version 1.x of tensorflow must\n",
- "# be used; it just throws an error if run in a regular jupyter notebook.\n",
- "%tensorflow_version 1.x "
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 1,
- "metadata": {
- "colab": {},
- "colab_type": "code",
- "id": "en15RxNL8YFE"
- },
- "outputs": [],
- "source": [
- "from __future__ import print_function, division\n",
- "%matplotlib inline\n",
- "\n",
- "try:\n",
- " reload # Python 2.7\n",
- "except NameError:\n",
- " try:\n",
- " from importlib import reload # Python 3.4+\n",
- " except ImportError:\n",
- " from imp import reload # Python 3.0 - 3.3"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 2,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 118
- },
- "colab_type": "code",
- "id": "uVOSJpXV8aIG",
- "outputId": "719b7b49-a273-40d9-9710-3f0f93e59ae5"
- },
- "outputs": [
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "TF-MoDISco is using the TensorFlow backend.\n",
- "/Users/avantishrikumar/anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/dtypes.py:516: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
- " _np_qint8 = np.dtype([(\"qint8\", np.int8, 1)])\n",
- "/Users/avantishrikumar/anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/dtypes.py:517: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
- " _np_quint8 = np.dtype([(\"quint8\", np.uint8, 1)])\n",
- "/Users/avantishrikumar/anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/dtypes.py:518: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
- " _np_qint16 = np.dtype([(\"qint16\", np.int16, 1)])\n",
- "/Users/avantishrikumar/anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/dtypes.py:519: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
- " _np_quint16 = np.dtype([(\"quint16\", np.uint16, 1)])\n",
- "/Users/avantishrikumar/anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/dtypes.py:520: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
- " _np_qint32 = np.dtype([(\"qint32\", np.int32, 1)])\n",
- "/Users/avantishrikumar/anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/dtypes.py:525: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
- " np_resource = np.dtype([(\"resource\", np.ubyte, 1)])\n",
- "/Users/avantishrikumar/anaconda3/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:541: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
- " _np_qint8 = np.dtype([(\"qint8\", np.int8, 1)])\n",
- "/Users/avantishrikumar/anaconda3/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:542: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
- " _np_quint8 = np.dtype([(\"quint8\", np.uint8, 1)])\n",
- "/Users/avantishrikumar/anaconda3/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:543: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
- " _np_qint16 = np.dtype([(\"qint16\", np.int16, 1)])\n",
- "/Users/avantishrikumar/anaconda3/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:544: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
- " _np_quint16 = np.dtype([(\"quint16\", np.uint16, 1)])\n",
- "/Users/avantishrikumar/anaconda3/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:545: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
- " _np_qint32 = np.dtype([(\"qint32\", np.int32, 1)])\n",
- "/Users/avantishrikumar/anaconda3/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:550: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
- " np_resource = np.dtype([(\"resource\", np.ubyte, 1)])\n",
- "/Users/avantishrikumar/anaconda3/lib/python3.7/site-packages/sklearn/utils/deprecation.py:144: FutureWarning: The sklearn.neighbors.kde module is deprecated in version 0.22 and will be removed in version 0.24. The corresponding classes / functions should instead be imported from sklearn.neighbors. Anything that cannot be imported from sklearn.neighbors is now part of the private API.\n",
- " warnings.warn(message, FutureWarning)\n"
- ]
+ "name": "(On Google Colab) With Hit Scoring TF MoDISco TAL GATA.ipynb",
+ "provenance": [],
+ "include_colab_link": true
+ },
+ "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.7.6"
}
- ],
- "source": [
- "import numpy as np\n",
- "import modisco\n",
- "import sys\n",
- "import os"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "colab_type": "text",
- "id": "ROG0LVF_9ZZs"
- },
- "source": [
- "## Grab the input data"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 3,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 423
- },
- "colab_type": "code",
- "id": "bZ8jaBDZ8fmm",
- "outputId": "fd8f9d0a-0954-46bb-d7e6-c9fe2c197174"
- },
- "outputs": [],
- "source": [
- "#grab scores for tfmodisco\n",
- "#!/usr/bin/env bash\n",
- "![[ -f scores.h5 ]] || curl -o scores.h5 https://raw.githubusercontent.com/AvantiShri/model_storage/23d8f3ffc89af210f6f0bf7e65585eff259ba672/modisco/scores.h5\n",
- "![[ -f sequences.simdata.gz ]] || wget https://raw.githubusercontent.com/AvantiShri/model_storage/db919b12f750e5844402153233249bb3d24e9e9a/deeplift/genomics/sequences.simdata.gz\n",
- "![[ -f test.txt.gz ]] || wget https://raw.githubusercontent.com/AvantiShri/model_storage/9aadb769735c60eb90f7d3d896632ac749a1bdd2/deeplift/genomics/test.txt.gz"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "colab_type": "text",
- "id": "_ShCbHRM92_y"
- },
- "source": [
- "## Functions for one-hot encoding sequences¶"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 4,
- "metadata": {
- "colab": {},
- "colab_type": "code",
- "id": "KawKTu5P8-c6"
- },
- "outputs": [],
- "source": [
- "#Functions for one-hot encoding sequences\n",
- "import gzip\n",
- "\n",
- "def one_hot_encode_along_channel_axis(sequence):\n",
- " to_return = np.zeros((len(sequence),4), dtype=np.int8)\n",
- " seq_to_one_hot_fill_in_array(zeros_array=to_return,\n",
- " sequence=sequence, one_hot_axis=1)\n",
- " return to_return\n",
- "\n",
- "def seq_to_one_hot_fill_in_array(zeros_array, sequence, one_hot_axis):\n",
- " assert one_hot_axis==0 or one_hot_axis==1\n",
- " if (one_hot_axis==0):\n",
- " assert zeros_array.shape[1] == len(sequence)\n",
- " elif (one_hot_axis==1): \n",
- " assert zeros_array.shape[0] == len(sequence)\n",
- " #will mutate zeros_array\n",
- " for (i,char) in enumerate(sequence):\n",
- " if (char==\"A\" or char==\"a\"):\n",
- " char_idx = 0\n",
- " elif (char==\"C\" or char==\"c\"):\n",
- " char_idx = 1\n",
- " elif (char==\"G\" or char==\"g\"):\n",
- " char_idx = 2\n",
- " elif (char==\"T\" or char==\"t\"):\n",
- " char_idx = 3\n",
- " elif (char==\"N\" or char==\"n\"):\n",
- " continue #leave that pos as all 0's\n",
- " else:\n",
- " raise RuntimeError(\"Unsupported character: \"+str(char))\n",
- " if (one_hot_axis==0):\n",
- " zeros_array[char_idx,i] = 1\n",
- " elif (one_hot_axis==1):\n",
- " zeros_array[i,char_idx] = 1\n",
- "\n",
- "#read in the data in the testing set\n",
- "test_ids_fh = gzip.open(\"test.txt.gz\",\"rb\")\n",
- "ids_to_load = set([x.rstrip() for x in test_ids_fh])\n",
- "\n",
- "fasta_sequences = []\n",
- "for i,a_line in enumerate(gzip.open(\"sequences.simdata.gz\",\"rb\")):\n",
- " if (i==0):\n",
- " next\n",
- " a_line = a_line.rstrip()\n",
- " seq_id,seq_fasta,embeddings,task1,task2,task3 = a_line.split(b\"\\t\")\n",
- " if seq_id in ids_to_load:\n",
- " fasta_sequences.append(seq_fasta.decode(\"utf-8\"))"
- ]
},
- {
- "cell_type": "markdown",
- "metadata": {
- "colab_type": "text",
- "id": "m1xkAlvW97vL"
- },
- "source": [
- "## Prepare the data for input into TF-MoDISCo\n",
- "\n",
- "You need a numpy array of importance scores and hypothetical importance scores for every task."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "metadata": {
- "colab": {},
- "colab_type": "code",
- "id": "xahZGqrA9Jpq"
- },
- "outputs": [],
- "source": [
- "import h5py\n",
- "from collections import OrderedDict\n",
- "\n",
- "task_to_scores = OrderedDict()\n",
- "task_to_hyp_scores = OrderedDict()\n",
- "\n",
- "f = h5py.File(\"scores.h5\",\"r\")\n",
- "tasks = f[\"contrib_scores\"].keys()\n",
- "n = 100 #since this is just a test run, for speed I am limiting to 100 sequences\n",
- "for task in tasks:\n",
- " #Note that the sequences can be of variable lengths;\n",
- " #in this example they all have the same length (200bp) but that is\n",
- " #not necessary.\n",
- " task_to_scores[task] = [np.array(x) for x in f['contrib_scores'][task][:n]]\n",
- " task_to_hyp_scores[task] = [np.array(x) for x in f['hyp_contrib_scores'][task][:n]]\n",
- "\n",
- "onehot_data = [one_hot_encode_along_channel_axis(seq) for seq in fasta_sequences][:n]"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "colab_type": "text",
- "id": "hQEQgz1w-QhL"
- },
- "source": [
- "Double check by plotting"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 440
- },
- "colab_type": "code",
- "id": "Ky6nlCFs-NcP",
- "outputId": "218cb336-dfc5-4c03-9102-c0368c150946"
- },
- "outputs": [
- {
- "data": {
- "image/png": "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\n",
- "text/plain": [
- "