{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"**Transcription Factors are proteins that bind to DNA. When they bind, they influence the probability of nearby genes being transcribed into RNA. Every TF has a specific DNA sequence called its binding site motif that it binds to. Binding site motif tends to be short, usually 10 bases or less, wherever a TF's motif appears in the genome, the TF will bind to it.**","metadata":{"id":"jVJvbLk7xwxc"}},{"cell_type":"markdown","source":"![OIP.jpg](data:image/jpeg;base64,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)","metadata":{"id":"9IvgSTNexlik"}},{"cell_type":"markdown","source":"**We will use experimental data on a particular transcription factor called JUND. an experiment was done to identify every pace in the human genome where it binds. The data from chromosome 22 is used, which is one of the smallest human chromosomes, but still over 50 million bases long, giving us reasonable amount of data to work with. The full chromosome has been split up into short segments, each 101 bases long, and each segment has been labeled to indicate whether it does or does not include a site where JUND binds. We will train a model to predict those labels on the sequence of each segment.**","metadata":{"id":"_hu0ERKTz3AE"}},{"cell_type":"code","source":"!pip install deepchem","metadata":{"id":"VmttZw0X8hFl","execution":{"iopub.status.busy":"2023-06-13T05:08:02.051585Z","iopub.execute_input":"2023-06-13T05:08:02.052072Z","iopub.status.idle":"2023-06-13T05:08:28.835701Z","shell.execute_reply.started":"2023-06-13T05:08:02.05203Z","shell.execute_reply":"2023-06-13T05:08:28.83452Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import deepchem as dc","metadata":{"id":"rvUa7fPo7TKH","outputId":"4f6eaacd-3eb7-4f34-d9fa-c42af8bce715","execution":{"iopub.status.busy":"2023-06-13T05:08:28.839613Z","iopub.execute_input":"2023-06-13T05:08:28.839961Z","iopub.status.idle":"2023-06-13T05:08:55.203975Z","shell.execute_reply.started":"2023-06-13T05:08:28.839911Z","shell.execute_reply":"2023-06-13T05:08:55.203042Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import tensorflow as tf\nimport tensorflow.keras.layers as layers","metadata":{"id":"RQ2o1acj934G","execution":{"iopub.status.busy":"2023-06-13T05:08:55.205233Z","iopub.execute_input":"2023-06-13T05:08:55.205987Z","iopub.status.idle":"2023-06-13T05:08:55.21004Z","shell.execute_reply.started":"2023-06-13T05:08:55.205921Z","shell.execute_reply":"2023-06-13T05:08:55.209204Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#Creating the model and defining the inputs\nfeatures = tf.keras.Input(shape=(101, 4))","metadata":{"id":"AmPG9p_txBGn","execution":{"iopub.status.busy":"2023-06-13T05:08:55.212754Z","iopub.execute_input":"2023-06-13T05:08:55.213294Z","iopub.status.idle":"2023-06-13T05:08:56.063568Z","shell.execute_reply.started":"2023-06-13T05:08:55.21326Z","shell.execute_reply":"2023-06-13T05:08:56.062665Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**The sequences are represented with one-hot encoding. For each base, we have four numbers, of which one is set to 1 and the other sets are 0. Since, we are dealing with 1D data, ie.e, DNA sequencing, instead of 2D data, so we are using 1D convolutions.**","metadata":{"id":"hHw_0qIeYOFN"}},{"cell_type":"code","source":"prev = features\nfor i in range(3):\n    prev = layers.Conv1D(filters=15, kernel_size=10, activation=tf.nn.relu, padding='same')(prev)\n    prev = layers.Dropout(rate=0.5)(prev)","metadata":{"id":"8sU3rj72ff8j","execution":{"iopub.status.busy":"2023-06-13T05:32:44.28914Z","iopub.execute_input":"2023-06-13T05:32:44.289527Z","iopub.status.idle":"2023-06-13T05:32:44.344232Z","shell.execute_reply.started":"2023-06-13T05:32:44.289498Z","shell.execute_reply":"2023-06-13T05:32:44.343366Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"logits = layers.Dense(units=1)(layers.Flatten()(prev))\noutput = layers.Activation(tf.math.sigmoid)(logits)\nkeras_model = tf.keras.Model(inputs=features, outputs=[output, logits])","metadata":{"id":"keMUD8Hlff5k","execution":{"iopub.status.busy":"2023-06-13T05:32:50.489566Z","iopub.execute_input":"2023-06-13T05:32:50.489915Z","iopub.status.idle":"2023-06-13T05:32:50.516336Z","shell.execute_reply.started":"2023-06-13T05:32:50.489887Z","shell.execute_reply":"2023-06-13T05:32:50.515301Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model = dc.models.KerasModel(\n    keras_model,\n    loss=dc.models.losses.SigmoidCrossEntropy(),\n    output_types=['prediction', 'loss'],\n    batch_size=1000,\n    model_dir='tf')","metadata":{"id":"LuaKlnV3ffz7","execution":{"iopub.status.busy":"2023-06-13T05:32:53.403706Z","iopub.execute_input":"2023-06-13T05:32:53.404126Z","iopub.status.idle":"2023-06-13T05:32:53.409348Z","shell.execute_reply.started":"2023-06-13T05:32:53.404092Z","shell.execute_reply":"2023-06-13T05:32:53.408403Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"!git clone https://github.com/deepchem/DeepLearningLifeSciences.git","metadata":{"id":"AcqYSM_53Sdc","outputId":"0a087740-0e6f-4805-9f47-1c9bd9edc2fd","execution":{"iopub.status.busy":"2023-06-13T05:09:07.15152Z","iopub.execute_input":"2023-06-13T05:09:07.152225Z","iopub.status.idle":"2023-06-13T05:09:10.152914Z","shell.execute_reply.started":"2023-06-13T05:09:07.152191Z","shell.execute_reply":"2023-06-13T05:09:10.151435Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"!ls DeepLearningLifeSciences","metadata":{"execution":{"iopub.status.busy":"2023-06-13T05:13:12.504547Z","iopub.execute_input":"2023-06-13T05:13:12.504964Z","iopub.status.idle":"2023-06-13T05:13:13.610758Z","shell.execute_reply.started":"2023-06-13T05:13:12.504909Z","shell.execute_reply":"2023-06-13T05:13:13.609596Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Load the data\ntrain = dc.data.DiskDataset('DeepLearningLifeSciences/Chapter06/train_dataset')\nvalid = dc.data.DiskDataset('DeepLearningLifeSciences/Chapter06/valid_dataset')","metadata":{"id":"qF7qFjlygWvz","execution":{"iopub.status.busy":"2023-06-13T05:13:32.190242Z","iopub.execute_input":"2023-06-13T05:13:32.190685Z","iopub.status.idle":"2023-06-13T05:13:32.21608Z","shell.execute_reply.started":"2023-06-13T05:13:32.190652Z","shell.execute_reply":"2023-06-13T05:13:32.215055Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(train)","metadata":{"id":"Zwf6ySkn8i97","outputId":"9bd01734-e3d4-4c1a-834d-28c7f2433ba8","execution":{"iopub.status.busy":"2023-06-13T05:13:36.954741Z","iopub.execute_input":"2023-06-13T05:13:36.955127Z","iopub.status.idle":"2023-06-13T05:13:37.578769Z","shell.execute_reply.started":"2023-06-13T05:13:36.955094Z","shell.execute_reply":"2023-06-13T05:13:37.577652Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(valid)","metadata":{"id":"PalJIj6f8oVq","outputId":"d689d169-fef2-4f83-c2ce-474b6b1c93b2","execution":{"iopub.status.busy":"2023-06-13T05:13:42.0211Z","iopub.execute_input":"2023-06-13T05:13:42.021595Z","iopub.status.idle":"2023-06-13T05:13:42.128164Z","shell.execute_reply.started":"2023-06-13T05:13:42.021551Z","shell.execute_reply":"2023-06-13T05:13:42.126239Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Train the model, tracking its performance on the training and validation datasets.\n\nmetric = dc.metrics.Metric(dc.metrics.roc_auc_score)\nfor i in range(20):\n    model.fit(train, nb_epoch=10)\n    print(model.evaluate(train, [metric]))\n    print(model.evaluate(valid, [metric]))","metadata":{"id":"8jo1wufUgax8","outputId":"f505c8cb-af0a-4fb5-ae67-0f88f7a0537e","execution":{"iopub.status.busy":"2023-06-13T05:33:00.991603Z","iopub.execute_input":"2023-06-13T05:33:00.992068Z","iopub.status.idle":"2023-06-13T05:43:33.047127Z","shell.execute_reply.started":"2023-06-13T05:33:00.992029Z","shell.execute_reply":"2023-06-13T05:43:33.046146Z"},"trusted":true},"execution_count":null,"outputs":[]}]}