1609 lines (1609 with data), 66.9 kB
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [],
"authorship_tag": "ABX9TyPPWpwAA5RUPSwgUR6rPjmI",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/github/francescopatane96/Computer_aided_drug_discovery_kit/blob/main/11_API_webservices.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "rO6rUhDuoWz5",
"outputId": "a4a19aec-1106-4544-e772-36b53bd146f7"
},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<Response [200]>"
]
},
"metadata": {},
"execution_count": 1
}
],
"source": [
"import requests\n",
"\n",
"url = \"https://raw.githubusercontent.com/openkinome/kinodata/master/data/KinHubKinaseList.csv\"\n",
"response = requests.get(url)\n",
"response.raise_for_status()\n",
"response\n",
"\n",
"# NBVAL_CHECK_OUTPUT"
]
},
{
"cell_type": "code",
"source": [
"print(*response.text.splitlines()[:10], sep=\"\\n\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "ELadI3rmpRNf",
"outputId": "48dac14c-7fd7-4469-a1a9-e4b48363cbe0"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"xName,Manning Name,HGNC Name,Kinase Name,Group,Family,SubFamily,UniprotID\n",
"ABL1,ABL,ABL1,Tyrosine-protein kinase ABL1,TK,Abl,,P00519\n",
"ACK,ACK,TNK2,Activated CDC42 kinase 1,TK,Ack,,Q07912\n",
"ACTR2,ACTR2,ACVR2A,Activin receptor type-2A,TKL,STKR,STKR2,P27037\n",
"ACTR2B,ACTR2B,ACVR2B,Activin receptor type-2B,TKL,STKR,STKR2,Q13705\n",
"ADCK4,ADCK4,ADCK4,Uncharacterized aarF domain-containing protein kinase 4,Atypical,ABC1,ABC1-A,Q96D53\n",
"Trb1,Trb1,TRIB1,Tribbles homolog 1,CAMK,Trbl,,Q96RU8\n",
"BRSK2,BRSK2,BRSK2,Serine/threonine-protein kinase BRSK2,CAMK,CAMKL,BRSK,Q8IWQ3\n",
"Wnk2,Wnk2,WNK2,Serine/threonine-protein kinase WNK2,Other,WNK,,Q9Y3S1\n",
"AKT1,AKT1,AKT1,RAC-alpha serine/threonine-protein kinase,AGC,Akt,,P31749\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"with open(\"kinhub.csv\", \"wb\") as f:\n",
" f.write(response.content)"
],
"metadata": {
"id": "3GYDtLn8pU6F"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# We need the encoding=\"utf-8-sig\" to ensure correct encoding\n",
"# under all platforms\n",
"with open(\"kinhub.csv\", encoding=\"utf-8-sig\") as f:\n",
" # Zip will stop iterating with the shortest iterator\n",
" # passing `range(5)` allow us to just get five lines ;)\n",
" for _, line in zip(range(5), f):\n",
" print(line.rstrip())\n",
"\n",
"# NBVAL_CHECK_OUTPUT"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "7inrHRNJpdNQ",
"outputId": "fc400e0a-8da0-4447-a5c6-f03eddc34162"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"xName,Manning Name,HGNC Name,Kinase Name,Group,Family,SubFamily,UniprotID\n",
"ABL1,ABL,ABL1,Tyrosine-protein kinase ABL1,TK,Abl,,P00519\n",
"ACK,ACK,TNK2,Activated CDC42 kinase 1,TK,Ack,,Q07912\n",
"ACTR2,ACTR2,ACVR2A,Activin receptor type-2A,TKL,STKR,STKR2,P27037\n",
"ACTR2B,ACTR2B,ACVR2B,Activin receptor type-2B,TKL,STKR,STKR2,Q13705\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"import pandas as pd\n",
"\n",
"df = pd.read_csv(\n",
" \"https://raw.githubusercontent.com/openkinome/kinodata/master/data/KinHubKinaseList.csv\"\n",
")\n",
"df.head()\n",
"# NBVAL_CHECK_OUTPUT"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 372
},
"id": "mS_bFm7api5u",
"outputId": "40276cd5-d9ac-4455-fa2d-848b09e7cdcd"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" xName Manning Name HGNC Name \\\n",
"0 ABL1 ABL ABL1 \n",
"1 ACK ACK TNK2 \n",
"2 ACTR2 ACTR2 ACVR2A \n",
"3 ACTR2B ACTR2B ACVR2B \n",
"4 ADCK4 ADCK4 ADCK4 \n",
"\n",
" Kinase Name Group Family \\\n",
"0 Tyrosine-protein kinase ABL1 TK Abl \n",
"1 Activated CDC42 kinase 1 TK Ack \n",
"2 Activin receptor type-2A TKL STKR \n",
"3 Activin receptor type-2B TKL STKR \n",
"4 Uncharacterized aarF domain-containing protein... Atypical ABC1 \n",
"\n",
" SubFamily UniprotID \n",
"0 NaN P00519 \n",
"1 NaN Q07912 \n",
"2 STKR2 P27037 \n",
"3 STKR2 Q13705 \n",
"4 ABC1-A Q96D53 "
],
"text/html": [
"\n",
"\n",
" <div id=\"df-f13f5716-3f7e-4272-8df2-52116b396e55\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>xName</th>\n",
" <th>Manning Name</th>\n",
" <th>HGNC Name</th>\n",
" <th>Kinase Name</th>\n",
" <th>Group</th>\n",
" <th>Family</th>\n",
" <th>SubFamily</th>\n",
" <th>UniprotID</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>ABL1</td>\n",
" <td>ABL</td>\n",
" <td>ABL1</td>\n",
" <td>Tyrosine-protein kinase ABL1</td>\n",
" <td>TK</td>\n",
" <td>Abl</td>\n",
" <td>NaN</td>\n",
" <td>P00519</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>ACK</td>\n",
" <td>ACK</td>\n",
" <td>TNK2</td>\n",
" <td>Activated CDC42 kinase 1</td>\n",
" <td>TK</td>\n",
" <td>Ack</td>\n",
" <td>NaN</td>\n",
" <td>Q07912</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>ACTR2</td>\n",
" <td>ACTR2</td>\n",
" <td>ACVR2A</td>\n",
" <td>Activin receptor type-2A</td>\n",
" <td>TKL</td>\n",
" <td>STKR</td>\n",
" <td>STKR2</td>\n",
" <td>P27037</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>ACTR2B</td>\n",
" <td>ACTR2B</td>\n",
" <td>ACVR2B</td>\n",
" <td>Activin receptor type-2B</td>\n",
" <td>TKL</td>\n",
" <td>STKR</td>\n",
" <td>STKR2</td>\n",
" <td>Q13705</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>ADCK4</td>\n",
" <td>ADCK4</td>\n",
" <td>ADCK4</td>\n",
" <td>Uncharacterized aarF domain-containing protein...</td>\n",
" <td>Atypical</td>\n",
" <td>ABC1</td>\n",
" <td>ABC1-A</td>\n",
" <td>Q96D53</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-f13f5716-3f7e-4272-8df2-52116b396e55')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
"\n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
"\n",
"\n",
"\n",
" <div id=\"df-c46416a5-76f1-4fa0-8b5a-2e1204ec56ff\">\n",
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-c46416a5-76f1-4fa0-8b5a-2e1204ec56ff')\"\n",
" title=\"Suggest charts.\"\n",
" style=\"display:none;\">\n",
"\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <g>\n",
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
" </g>\n",
"</svg>\n",
" </button>\n",
" </div>\n",
"\n",
"<style>\n",
" .colab-df-quickchart {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-quickchart:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-quickchart {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-quickchart:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
"</style>\n",
"\n",
" <script>\n",
" async function quickchart(key) {\n",
" const containerElement = document.querySelector('#' + key);\n",
" const charts = await google.colab.kernel.invokeFunction(\n",
" 'suggestCharts', [key], {});\n",
" }\n",
" </script>\n",
"\n",
" <script>\n",
"\n",
"function displayQuickchartButton(domScope) {\n",
" let quickchartButtonEl =\n",
" domScope.querySelector('#df-c46416a5-76f1-4fa0-8b5a-2e1204ec56ff button.colab-df-quickchart');\n",
" quickchartButtonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"}\n",
"\n",
" displayQuickchartButton(document);\n",
" </script>\n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-f13f5716-3f7e-4272-8df2-52116b396e55 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-f13f5716-3f7e-4272-8df2-52116b396e55');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n"
]
},
"metadata": {},
"execution_count": 7
}
]
},
{
"cell_type": "code",
"source": [
"import shutil\n",
"from IPython.display import Video\n",
"\n",
"response = requests.get(\n",
" \"https://archive.org/download/SlowMotionFlame/slomoflame_512kb.mp4\", stream=True\n",
")\n",
"response.raise_for_status()\n",
"\n",
"with open(\"video.mp4\", \"wb\") as tmp:\n",
" for chunk in response.iter_content(chunk_size=8192):\n",
" tmp.write(chunk)\n",
"\n"
],
"metadata": {
"id": "dBrcsxaxpqxg"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"r = requests.get(\"https://www.uniprot.org/uniprot/P0DTC2\")\n",
"r.raise_for_status()\n",
"print(r.text[:5000])"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "kWo04-tTqDSa",
"outputId": "522ac52b-fdf3-4541-a494-bec3243887ac"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"<!doctype html><html lang=\"en\"><head><meta charset=\"utf-8\"/><title>UniProt</title><meta name=\"viewport\" content=\"width=device-width,initial-scale=1\"/><meta name=\"theme-color\" content=\"#00639a\"/><link rel=\"preconnect\" href=\"https://rest.uniprot.org/\"/><link rel=\"preconnect\" href=\"https://fonts.googleapis.com\"/><link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin/><link href=\"https://fonts.googleapis.com/css?family=Lato:400,700|Source+Sans+Pro:600,700&display=optional\" rel=\"stylesheet\"/><link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"/apple-touch-icon.png\"/><link rel=\"shortcut icon\" type=\"image/png\" sizes=\"144x144\" href=\"/mstile-144x144.png\"/><link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/favicon-32x32.png\"/><link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/favicon-16x16.png\"/><link rel=\"manifest\" href=\"/manifest.json\"/><script async src=\"https://www.googletagmanager.com/gtag/js?id=G-V6TXEC4BDF\"></script><script>window.dataLayer = window.dataLayer || [];\n",
" function gtag() {\n",
" dataLayer.push(arguments);\n",
" }\n",
" gtag('js', new Date());\n",
"\n",
" // GA4\n",
" gtag('config', 'G-V6TXEC4BDF', {\n",
" anonymize_ip: true,\n",
" allow_google_signals: false,\n",
" allow_ad_personalization_signals: false,\n",
" restricted_data_processing: true,\n",
" custom_map: {\n",
" dimension1: 'result_view',\n",
" metric1: 'result_view_set',\n",
" },\n",
" send_page_view: false,\n",
" });\n",
" // UA\n",
" gtag('config', 'UA-6228219-1', {\n",
" anonymize_ip: true,\n",
" allow_google_signals: false,\n",
" allow_ad_personalization_signals: false,\n",
" restricted_data_processing: true,\n",
" custom_map: {\n",
" dimension1: 'result_view',\n",
" metric1: 'result_view_set',\n",
" },\n",
" send_page_view: false,\n",
" });</script><script>(function (h, o, t, j, a, r) {\n",
" h.hj =\n",
" h.hj ||\n",
" function () {\n",
" (h.hj.q = h.hj.q || []).push(arguments);\n",
" };\n",
" h._hjSettings = { hjid: 2638207, hjsv: 6 };\n",
" a = o.getElementsByTagName('head')[0];\n",
" r = o.createElement('script');\n",
" r.async = 1;\n",
" r.src = t + h._hjSettings.hjid + j + h._hjSettings.hjsv;\n",
" a.appendChild(r);\n",
" })(window, document, 'https://static.hotjar.com/c/hotjar-', '.js?sv=');</script><style>#root > .fallback {\n",
" height: 90vh;\n",
" display: flex;\n",
" align-items: center;\n",
" justify-content: center;\n",
" opacity: 0;\n",
" animation: fallback-appear 1s 1 10s both;\n",
" }\n",
"\n",
" #root > .fallback > div {\n",
" max-width: 60ch;\n",
" }\n",
"\n",
" #root > .fallback li {\n",
" margin-bottom: 1em;\n",
" }\n",
"\n",
" @keyframes fallback-appear {\n",
" from {\n",
" opacity: 0;\n",
" }\n",
" to {\n",
" opacity: 1;\n",
" }\n",
" }</style><link rel=\"stylesheet\" href=\"/styles.9d35f2.css\"/><link rel=\"stylesheet\" href=\"/styles.8a7ea9.css\"/></head><body><div id=\"root\"><div class=\"fallback\" data-nosnippet><div><h1>UniProt website fallback message</h1>If you are not seeing anything on this page, it might be for multiple reasons:<ul><li><strong>You might have JavaScript disabled</strong>: make sure to enable JavaScript on your browser, or use a browser that supports JavaScript.</li><li><strong>You might have an outdated browser</strong>: make sure that your browser is up to date as older versions might not work with the website.</li><li><strong>There might have been a network issue</strong>: ensure that your connectivity is stable and try to reload the page to see if it solves the issue. <button onclick=\"location.reload();\">Reload this page</button></li></ul></div></div></div><script nomodule>// workaround for Safari 10.1 supporting module but ignoring nomodule\n",
" // From https://gist.github.com/samthor/64b114e4a4f539915a95b91ffd340acc\n",
" (function () {\n",
" var d = document;\n",
" var c = d.createElement('script');\n",
" if (!('noModule' in c) && 'onbeforeload' in c) {\n",
" var s = false;\n",
" d.addEventListener(\n",
" 'beforeload',\n",
" function (e) {\n",
" if (e.target === c) {\n",
" s = true;\n",
" } else if (!e.target.hasAttribute('nomodule') || !s) {\n",
" return;\n",
" }\n",
" e.preventDefault();\n",
" },\n",
" true\n",
" );\n",
"\n",
" c.type = 'module';\n",
" c.src = '.';\n",
" d.head.appendChild(c);\n",
" c.remove();\n",
" }\n",
" })();</script><script type=\"module\" src=\"/modern.app.87b505.js\"></script><script type=\"module\" src=\"/modern.app.9062d6.js\"></script><script type=\"module\" src=\"/modern.app.922f2d.js\"></script><script type=\"module\" src=\"/modern.app.105057.js\"></script><script type=\"module\" src=\"/modern.app.8d4986.js\"></script><script nomodule defer=\"defer\" src=\"/legacy.app.118e10.js\"></script><script nomodule defer=\"defer\" src=\"/legacy.app.9062d6.js\"></script><script nomodule defer=\"defer\" src=\"/legacy.app.922f2d.js\"></script><script nomodule defer=\"defer\" src=\"/legacy\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"r = requests.get(\"https://www.uniprot.org/uniprot/P0DTC2.txt\")\n",
"r.raise_for_status()\n",
"print(r.text[:1000])"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "zgCPbLqvqL4P",
"outputId": "3759a30f-7d7e-44c7-a9d2-f3111491f108"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"ID SPIKE_SARS2 Reviewed; 1273 AA.\n",
"AC P0DTC2;\n",
"DT 22-APR-2020, integrated into UniProtKB/Swiss-Prot.\n",
"DT 22-APR-2020, sequence version 1.\n",
"DT 28-JUN-2023, entry version 17.\n",
"DE RecName: Full=Spike glycoprotein {ECO:0000255|HAMAP-Rule:MF_04099};\n",
"DE Short=S glycoprotein {ECO:0000255|HAMAP-Rule:MF_04099};\n",
"DE AltName: Full=E2 {ECO:0000255|HAMAP-Rule:MF_04099};\n",
"DE AltName: Full=Peplomer protein {ECO:0000255|HAMAP-Rule:MF_04099};\n",
"DE Contains:\n",
"DE RecName: Full=Spike protein S1 {ECO:0000255|HAMAP-Rule:MF_04099};\n",
"DE Contains:\n",
"DE RecName: Full=Spike protein S2 {ECO:0000255|HAMAP-Rule:MF_04099};\n",
"DE Contains:\n",
"DE RecName: Full=Spike protein S2' {ECO:0000255|HAMAP-Rule:MF_04099};\n",
"DE Flags: Precursor;\n",
"GN Name=S {ECO:0000255|HAMAP-Rule:MF_04099}; ORFNames=2;\n",
"OS Severe acute respiratory syndrome coronavirus 2 (2019-nCoV) (SARS-CoV-2).\n",
"OC Viruses; Riboviria; Orthornavirae; Pisuviricota; Pisoniviricetes;\n",
"OC Nidovirales; Cornidovirineae;\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"sequence_block = False\n",
"lines = []\n",
"for line in r.text.splitlines():\n",
" if line.startswith(\"SQ\"):\n",
" sequence_block = True\n",
" elif line.startswith(\"//\"):\n",
" sequence_block = False\n",
"\n",
" if sequence_block:\n",
" line = line.strip() # delete spaces and newlines at the beginning and end of the line\n",
" line = line.replace(\" \", \"\") # delete spaces in the middle of the line\n",
" lines.append(line)\n",
"sequence = \"\".join(lines[1:]) # the first line is the metadata header\n",
"print(f\"This is your sequence: {sequence}\")\n",
"\n",
"# NBVAL_CHECK_OUTPUT"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "F0JtARSyqUS6",
"outputId": "85d7e245-b9a6-4839-ff91-9e9410d745ab"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"This is your sequence: MFVFLVLLPLVSSQCVNLTTRTQLPPAYTNSFTRGVYYPDKVFRSSVLHSTQDLFLPFFSNVTWFHAIHVSGTNGTKRFDNPVLPFNDGVYFASTEKSNIIRGWIFGTTLDSKTQSLLIVNNATNVVIKVCEFQFCNDPFLGVYYHKNNKSWMESEFRVYSSANNCTFEYVSQPFLMDLEGKQGNFKNLREFVFKNIDGYFKIYSKHTPINLVRDLPQGFSALEPLVDLPIGINITRFQTLLALHRSYLTPGDSSSGWTAGAAAYYVGYLQPRTFLLKYNENGTITDAVDCALDPLSETKCTLKSFTVEKGIYQTSNFRVQPTESIVRFPNITNLCPFGEVFNATRFASVYAWNRKRISNCVADYSVLYNSASFSTFKCYGVSPTKLNDLCFTNVYADSFVIRGDEVRQIAPGQTGKIADYNYKLPDDFTGCVIAWNSNNLDSKVGGNYNYLYRLFRKSNLKPFERDISTEIYQAGSTPCNGVEGFNCYFPLQSYGFQPTNGVGYQPYRVVVLSFELLHAPATVCGPKKSTNLVKNKCVNFNFNGLTGTGVLTESNKKFLPFQQFGRDIADTTDAVRDPQTLEILDITPCSFGGVSVITPGTNTSNQVAVLYQDVNCTEVPVAIHADQLTPTWRVYSTGSNVFQTRAGCLIGAEHVNNSYECDIPIGAGICASYQTQTNSPRRARSVASQSIIAYTMSLGAENSVAYSNNSIAIPTNFTISVTTEILPVSMTKTSVDCTMYICGDSTECSNLLLQYGSFCTQLNRALTGIAVEQDKNTQEVFAQVKQIYKTPPIKDFGGFNFSQILPDPSKPSKRSFIEDLLFNKVTLADAGFIKQYGDCLGDIAARDLICAQKFNGLTVLPPLLTDEMIAQYTSALLAGTITSGWTFGAGAALQIPFAMQMAYRFNGIGVTQNVLYENQKLIANQFNSAIGKIQDSLSSTASALGKLQDVVNQNAQALNTLVKQLSSNFGAISSVLNDILSRLDKVEAEVQIDRLITGRLQSLQTYVTQQLIRAAEIRASANLAATKMSECVLGQSKRVDFCGKGYHLMSFPQSAPHGVVFLHVTYVPAQEKNFTTAPAICHDGKAHFPREGVFVSNGTHWFVTQRNFYEPQIITTDNTFVSGNCDVVIGIVNNTVYDPLQPELDSFKEELDKYFKNHTSPDVDLGDISGINASVVNIQKEIDRLNEVAKNLNESLIDLQELGKYEQYIKWPWYIWLGFIAGLIAIVMVTIMLCCMTSCCSCLKGCCSCGSCCKFDEDDSEPVLKGVKLHYT\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"r = requests.get(\"https://www.uniprot.org/uniprot/P0DTC2.fasta\")\n",
"r.raise_for_status()\n",
"print(r.text)\n",
"\n",
"# NBVAL_CHECK_OUTPUT"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "6OksP6Mbqbdn",
"outputId": "8b28775d-6cc7-49b3-977e-18aeda891838"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
">sp|P0DTC2|SPIKE_SARS2 Spike glycoprotein OS=Severe acute respiratory syndrome coronavirus 2 OX=2697049 GN=S PE=1 SV=1\n",
"MFVFLVLLPLVSSQCVNLTTRTQLPPAYTNSFTRGVYYPDKVFRSSVLHSTQDLFLPFFS\n",
"NVTWFHAIHVSGTNGTKRFDNPVLPFNDGVYFASTEKSNIIRGWIFGTTLDSKTQSLLIV\n",
"NNATNVVIKVCEFQFCNDPFLGVYYHKNNKSWMESEFRVYSSANNCTFEYVSQPFLMDLE\n",
"GKQGNFKNLREFVFKNIDGYFKIYSKHTPINLVRDLPQGFSALEPLVDLPIGINITRFQT\n",
"LLALHRSYLTPGDSSSGWTAGAAAYYVGYLQPRTFLLKYNENGTITDAVDCALDPLSETK\n",
"CTLKSFTVEKGIYQTSNFRVQPTESIVRFPNITNLCPFGEVFNATRFASVYAWNRKRISN\n",
"CVADYSVLYNSASFSTFKCYGVSPTKLNDLCFTNVYADSFVIRGDEVRQIAPGQTGKIAD\n",
"YNYKLPDDFTGCVIAWNSNNLDSKVGGNYNYLYRLFRKSNLKPFERDISTEIYQAGSTPC\n",
"NGVEGFNCYFPLQSYGFQPTNGVGYQPYRVVVLSFELLHAPATVCGPKKSTNLVKNKCVN\n",
"FNFNGLTGTGVLTESNKKFLPFQQFGRDIADTTDAVRDPQTLEILDITPCSFGGVSVITP\n",
"GTNTSNQVAVLYQDVNCTEVPVAIHADQLTPTWRVYSTGSNVFQTRAGCLIGAEHVNNSY\n",
"ECDIPIGAGICASYQTQTNSPRRARSVASQSIIAYTMSLGAENSVAYSNNSIAIPTNFTI\n",
"SVTTEILPVSMTKTSVDCTMYICGDSTECSNLLLQYGSFCTQLNRALTGIAVEQDKNTQE\n",
"VFAQVKQIYKTPPIKDFGGFNFSQILPDPSKPSKRSFIEDLLFNKVTLADAGFIKQYGDC\n",
"LGDIAARDLICAQKFNGLTVLPPLLTDEMIAQYTSALLAGTITSGWTFGAGAALQIPFAM\n",
"QMAYRFNGIGVTQNVLYENQKLIANQFNSAIGKIQDSLSSTASALGKLQDVVNQNAQALN\n",
"TLVKQLSSNFGAISSVLNDILSRLDKVEAEVQIDRLITGRLQSLQTYVTQQLIRAAEIRA\n",
"SANLAATKMSECVLGQSKRVDFCGKGYHLMSFPQSAPHGVVFLHVTYVPAQEKNFTTAPA\n",
"ICHDGKAHFPREGVFVSNGTHWFVTQRNFYEPQIITTDNTFVSGNCDVVIGIVNNTVYDP\n",
"LQPELDSFKEELDKYFKNHTSPDVDLGDISGINASVVNIQKEIDRLNEVAKNLNESLIDL\n",
"QELGKYEQYIKWPWYIWLGFIAGLIAIVMVTIMLCCMTSCCSCLKGCCSCGSCCKFDEDD\n",
"SEPVLKGVKLHYT\n",
"\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"pip install Bio"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "-EVbWpuQqjB3",
"outputId": "1f482117-1117-49d1-e203-007b40bbd8b0"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Successfully installed Bio-1.5.9 biopython-1.81 biothings-client-0.3.0 gprofiler-official-1.0.0 mygene-3.2.2\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"from Bio import SeqIO\n",
"from tempfile import NamedTemporaryFile\n",
"import os\n",
"\n",
"# Write response into a temporary text file\n",
"with NamedTemporaryFile(suffix=\".fasta\", mode=\"w\", delete=False) as tmp:\n",
" tmp.write(r.text)\n",
"\n",
"# Create the BioPython object for sequence data:\n",
"sequence = SeqIO.read(tmp.name, format=\"fasta\")\n",
"\n",
"# Delete temporary file now that we have read it\n",
"os.remove(tmp.name)\n",
"\n",
"print(sequence.description)\n",
"print(sequence.seq)\n",
"\n",
"# NBVAL_CHECK_OUTPUT"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "ZREEvJGOqg5h",
"outputId": "9ffc4dfe-1d6c-44c3-ce12-8a1116884013"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"sp|P0DTC2|SPIKE_SARS2 Spike glycoprotein OS=Severe acute respiratory syndrome coronavirus 2 OX=2697049 GN=S PE=1 SV=1\n",
"MFVFLVLLPLVSSQCVNLTTRTQLPPAYTNSFTRGVYYPDKVFRSSVLHSTQDLFLPFFSNVTWFHAIHVSGTNGTKRFDNPVLPFNDGVYFASTEKSNIIRGWIFGTTLDSKTQSLLIVNNATNVVIKVCEFQFCNDPFLGVYYHKNNKSWMESEFRVYSSANNCTFEYVSQPFLMDLEGKQGNFKNLREFVFKNIDGYFKIYSKHTPINLVRDLPQGFSALEPLVDLPIGINITRFQTLLALHRSYLTPGDSSSGWTAGAAAYYVGYLQPRTFLLKYNENGTITDAVDCALDPLSETKCTLKSFTVEKGIYQTSNFRVQPTESIVRFPNITNLCPFGEVFNATRFASVYAWNRKRISNCVADYSVLYNSASFSTFKCYGVSPTKLNDLCFTNVYADSFVIRGDEVRQIAPGQTGKIADYNYKLPDDFTGCVIAWNSNNLDSKVGGNYNYLYRLFRKSNLKPFERDISTEIYQAGSTPCNGVEGFNCYFPLQSYGFQPTNGVGYQPYRVVVLSFELLHAPATVCGPKKSTNLVKNKCVNFNFNGLTGTGVLTESNKKFLPFQQFGRDIADTTDAVRDPQTLEILDITPCSFGGVSVITPGTNTSNQVAVLYQDVNCTEVPVAIHADQLTPTWRVYSTGSNVFQTRAGCLIGAEHVNNSYECDIPIGAGICASYQTQTNSPRRARSVASQSIIAYTMSLGAENSVAYSNNSIAIPTNFTISVTTEILPVSMTKTSVDCTMYICGDSTECSNLLLQYGSFCTQLNRALTGIAVEQDKNTQEVFAQVKQIYKTPPIKDFGGFNFSQILPDPSKPSKRSFIEDLLFNKVTLADAGFIKQYGDCLGDIAARDLICAQKFNGLTVLPPLLTDEMIAQYTSALLAGTITSGWTFGAGAALQIPFAMQMAYRFNGIGVTQNVLYENQKLIANQFNSAIGKIQDSLSSTASALGKLQDVVNQNAQALNTLVKQLSSNFGAISSVLNDILSRLDKVEAEVQIDRLITGRLQSLQTYVTQQLIRAAEIRASANLAATKMSECVLGQSKRVDFCGKGYHLMSFPQSAPHGVVFLHVTYVPAQEKNFTTAPAICHDGKAHFPREGVFVSNGTHWFVTQRNFYEPQIITTDNTFVSGNCDVVIGIVNNTVYDPLQPELDSFKEELDKYFKNHTSPDVDLGDISGINASVVNIQKEIDRLNEVAKNLNESLIDLQELGKYEQYIKWPWYIWLGFIAGLIAIVMVTIMLCCMTSCCSCLKGCCSCGSCCKFDEDDSEPVLKGVKLHYT\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"def sequence_for_uniprot_id(uniprot_id):\n",
" \"\"\"\n",
" Returns the FASTA sequence of a given Uniprot ID using\n",
" the UniProt URL-based API\n",
"\n",
" Parameters\n",
" ----------\n",
" uniprot_id : str\n",
"\n",
" Returns\n",
" -------\n",
" Bio.SeqIO.SeqRecord\n",
" \"\"\"\n",
" # ⬇ this is key part!\n",
" r = requests.get(f\"https://www.uniprot.org/uniprot/{uniprot_id}.fasta\")\n",
" r.raise_for_status()\n",
"\n",
" with NamedTemporaryFile(suffix=\".fasta\", mode=\"w\", delete=False) as tmp:\n",
" tmp.write(r.text)\n",
"\n",
" sequence = SeqIO.read(tmp.name, format=\"fasta\")\n",
" os.remove(tmp.name)\n",
"\n",
" return sequence"
],
"metadata": {
"id": "UOR2Kj6Cq3A1"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"sequence = sequence_for_uniprot_id(\"P12931\")\n",
"print(sequence)\n",
"\n",
"# NBVAL_CHECK_OUTPUT"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "CmhdapJjq5Ee",
"outputId": "4b25909f-074c-457f-f3b7-497eeed8409c"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"ID: sp|P12931|SRC_HUMAN\n",
"Name: sp|P12931|SRC_HUMAN\n",
"Description: sp|P12931|SRC_HUMAN Proto-oncogene tyrosine-protein kinase Src OS=Homo sapiens OX=9606 GN=SRC PE=1 SV=3\n",
"Number of features: 0\n",
"Seq('MGSNKSKPKDASQRRRSLEPAENVHGAGGGAFPASQTPSKPASADGHRGPSAAF...ENL')\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"import requests\n",
"\n",
"response = requests.get(\"https://klifs.net/api/kinase_groups\")\n",
"response.raise_for_status()\n",
"result = response.json()\n",
"result\n",
"\n",
"# NBVAL_CHECK_OUTPUT"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "rmgzJNX6rNm4",
"outputId": "63f36f42-d99e-4b43-c895-4e7321dc9a90"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"['AGC', 'CAMK', 'CK1', 'CMGC', 'Other', 'STE', 'TK', 'TKL']"
]
},
"metadata": {},
"execution_count": 19
}
]
},
{
"cell_type": "code",
"source": [
"response = requests.get(\"https://klifs.net/api/kinase_families?kinase_group=TK\")\n",
"response.raise_for_status()\n",
"result = response.json()\n",
"result"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "dkR7R27RrSSh",
"outputId": "574a4ed8-91fe-41c7-89ee-7fe25340092d"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"['ALK',\n",
" 'Abl',\n",
" 'Ack',\n",
" 'Alk',\n",
" 'Axl',\n",
" 'CCK4',\n",
" 'Csk',\n",
" 'DDR',\n",
" 'EGFR',\n",
" 'Eph',\n",
" 'FAK',\n",
" 'FGFR',\n",
" 'Fer',\n",
" 'InsR',\n",
" 'JakA',\n",
" 'JakB',\n",
" 'Lmr',\n",
" 'Met',\n",
" 'Musk',\n",
" 'PDGFR',\n",
" 'Ret',\n",
" 'Ror',\n",
" 'Ryk',\n",
" 'Sev',\n",
" 'Src',\n",
" 'Syk',\n",
" 'TK-Unique',\n",
" 'Tec',\n",
" 'Tie',\n",
" 'Trk',\n",
" 'VEGFR']"
]
},
"metadata": {},
"execution_count": 20
}
]
},
{
"cell_type": "code",
"source": [
"response = requests.get(\"https://klifs.net/api/kinase_families\", params={\"kinase_group\": \"TK\"})\n",
"# You can see how requests formatted the URL for you\n",
"print(\"Queried\", response.url)\n",
"response.raise_for_status()\n",
"result = response.json()\n",
"result"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "Fq0RR-jlrXxK",
"outputId": "0123b196-df37-4ee3-ef78-5c738eb0f1f9"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Queried https://klifs.net/api/kinase_families?kinase_group=TK\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"['ALK',\n",
" 'Abl',\n",
" 'Ack',\n",
" 'Alk',\n",
" 'Axl',\n",
" 'CCK4',\n",
" 'Csk',\n",
" 'DDR',\n",
" 'EGFR',\n",
" 'Eph',\n",
" 'FAK',\n",
" 'FGFR',\n",
" 'Fer',\n",
" 'InsR',\n",
" 'JakA',\n",
" 'JakB',\n",
" 'Lmr',\n",
" 'Met',\n",
" 'Musk',\n",
" 'PDGFR',\n",
" 'Ret',\n",
" 'Ror',\n",
" 'Ryk',\n",
" 'Sev',\n",
" 'Src',\n",
" 'Syk',\n",
" 'TK-Unique',\n",
" 'Tec',\n",
" 'Tie',\n",
" 'Trk',\n",
" 'VEGFR']"
]
},
"metadata": {},
"execution_count": 21
}
]
},
{
"cell_type": "code",
"source": [
"response = requests.get(\"https://klifs.net/api/kinase_information\", params={\"kinase_ID\": 22})\n",
"response.raise_for_status()\n",
"result = response.json()\n",
"result\n",
"\n",
"# NBVAL_CHECK_OUTPUT"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "10PhziIYreCK",
"outputId": "4a4391f0-24c5-44f1-a38a-2a56695763de"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[{'kinase_ID': 22,\n",
" 'name': 'MASTL',\n",
" 'HGNC': 'MASTL',\n",
" 'family': 'MAST',\n",
" 'group': 'AGC',\n",
" 'kinase_class': 'MASTL',\n",
" 'species': 'Human',\n",
" 'full_name': 'microtubule associated serine/threonine kinase like',\n",
" 'uniprot': 'Q96GX5',\n",
" 'iuphar': 0,\n",
" 'pocket': 'KPISRGAFGKVYLYAVKVVQVQAERDALALSKPFIVHLYYSYLVMEYLIGGDVKSLLHIYLHRHGIIHRDLKPDNMLILTDFGLS'}]"
]
},
"metadata": {},
"execution_count": 22
}
]
},
{
"cell_type": "code",
"source": [
"result[0][\"uniprot\"]"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
},
"id": "r1lb8JH8rikx",
"outputId": "ecd084da-438f-4a43-e8c0-9394e34df4ec"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"'Q96GX5'"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
}
},
"metadata": {},
"execution_count": 23
}
]
},
{
"cell_type": "code",
"source": [
"mastl = sequence_for_uniprot_id(result[0][\"uniprot\"])\n",
"print(mastl.seq)\n",
"\n",
"# NBVAL_CHECK_OUTPUT"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "is8LSJKErmJR",
"outputId": "18b85093-8293-4238-afcb-d9593ae26371"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"MDPTAGSKKEPGGGAATEEGVNRIAVPKPPSIEEFSIVKPISRGAFGKVYLGQKGGKLYAVKVVKKADMINKNMTHQVQAERDALALSKSPFIVHLYYSLQSANNVYLVMEYLIGGDVKSLLHIYGYFDEEMAVKYISEVALALDYLHRHGIIHRDLKPDNMLISNEGHIKLTDFGLSKVTLNRDINMMDILTTPSMAKPRQDYSRTPGQVLSLISSLGFNTPIAEKNQDPANILSACLSETSQLSQGLVCPMSVDQKDTTPYSSKLLKSCLETVASNPGMPVKCLTSNLLQSRKRLATSSASSQSHTFISSVESECHSSPKWEKDCQESDEALGPTMMSWNAVEKLCAKSANAIETKGFNKKDLELALSPIHNSSALPTTGRSCVNLAKKCFSGEVSWEAVELDVNNINMDTDTSQLGFHQSNQWAVDSGGISEEHLGKRSLKRNFELVDSSPCKKIIQNKKTCVEYKHNEMTNCYTNQNTGLTVEVQDLKLSVHKSQQNDCANKENIVNSFTDKQQTPEKLPIPMIAKNLMCELDEDCEKNSKRDYLSSSFLCSDDDRASKNISMNSDSSFPGISIMESPLESQPLDSDRSIKESSFEESNIEDPLIVTPDCQEKTSPKGVENPAVQESNQKMLGPPLEVLKTLASKRNAVAFRSFNSHINASNNSEPSRMNMTSLDAMDISCAYSGSYPMAITPTQKRRSCMPHQQTPNQIKSGTPYRTPKSVRRGVAPVDDGRILGTPDYLAPELLLGRAHGPAVDWWALGVCLFEFLTGIPPFNDETPQQVFQNILKRDIPWPEGEEKLSDNAQSAVEILLTIDDTKRAGMKELKRHPLFSDVDWENLQHQTMPFIPQPDDETDTSYFEARNTAQHLTVSGFSL\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"pip install bravado"
],
"metadata": {
"id": "4GJXJrkTr2nN"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"from bravado.client import SwaggerClient\n",
"\n",
"KLIFS_SWAGGER = \"https://klifs.net/swagger/swagger.json\"\n",
"client = SwaggerClient.from_url(KLIFS_SWAGGER, config={\"validate_responses\": False})\n",
"client"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "G5CHeoPOr05g",
"outputId": "1c4b07b4-b66d-427f-a07a-fe7c246dc880"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"SwaggerClient(https://klifs.net/api)"
]
},
"metadata": {},
"execution_count": 28
}
]
},
{
"cell_type": "code",
"source": [
"results = client.Information.get_kinase_information(kinase_ID=[22]).result()\n",
"result = results[0]\n",
"result"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "g0vi1l2UsPQ9",
"outputId": "3ea311be-5229-467e-b95f-5c0a5d49fe60"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"KinaseInformation(HGNC='MASTL', family='MAST', full_name='microtubule associated serine/threonine kinase like', group='AGC', iuphar=0, kinase_ID=22, kinase_class='MASTL', name='MASTL', pocket='KPISRGAFGKVYLYAVKVVQVQAERDALALSKPFIVHLYYSYLVMEYLIGGDVKSLLHIYLHRHGIIHRDLKPDNMLILTDFGLS', species='Human', uniprot='Q96GX5')"
]
},
"metadata": {},
"execution_count": 29
}
]
},
{
"cell_type": "code",
"source": [
"import requests\n",
"from bs4 import BeautifulSoup\n",
"import numpy as np\n",
"import pandas as pd\n",
"\n",
"r = requests.get(\"https://en.wikipedia.org/wiki/Proteinogenic_amino_acid\")\n",
"r.raise_for_status()\n",
"\n",
"# To guess the correct steps here, you will have to inspect the HTML code by hand\n",
"# Tip: use right-click + inspect content in any webpage to land in the HTML definition ;)\n",
"html = BeautifulSoup(r.text)\n",
"header = html.find(\"span\", id=\"General_chemical_properties\")\n",
"table = header.find_all_next()[4]\n",
"table_body = table.find(\"tbody\")\n",
"\n",
"data = []\n",
"for row in table_body.find_all(\"tr\"):\n",
" cells = row.find_all(\"td\")\n",
" if cells:\n",
" data.append([])\n",
" for cell in cells:\n",
" cell_content = cell.text.strip()\n",
" try: # convert to float if possible\n",
" cell_content = float(cell_content)\n",
" except ValueError:\n",
" pass\n",
" data[-1].append(cell_content)\n",
"\n",
"# Empty fields are denoted with \"?\" which casts respective columns to object types\n",
"# (here mix of strings and floats) but we want float64, therefore replace \"?\" with NaN values\n",
"pd.DataFrame.from_records(data).replace(\"?\", np.nan)\n",
"\n",
"# NBVAL_CHECK_OUTPUT"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 739
},
"id": "sMBWQFsVseTO",
"outputId": "ac8dbd45-e46c-422f-9488-dc999b542384"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" 0 1 2 3 4 5\n",
"0 A Ala 89.09404 6.01 2.35 9.87\n",
"1 C Cys 121.15404 5.05 1.92 10.70\n",
"2 D Asp 133.10384 2.85 1.99 9.90\n",
"3 E Glu 147.13074 3.15 2.10 9.47\n",
"4 F Phe 165.19184 5.49 2.20 9.31\n",
"5 G Gly 75.06714 6.06 2.35 9.78\n",
"6 H His 155.15634 7.60 1.80 9.33\n",
"7 I Ile 131.17464 6.05 2.32 9.76\n",
"8 K Lys 146.18934 9.60 2.16 9.06\n",
"9 L Leu 131.17464 6.01 2.33 9.74\n",
"10 M Met 149.20784 5.74 2.13 9.28\n",
"11 N Asn 132.11904 5.41 2.14 8.72\n",
"12 O Pyl 255.31000 NaN NaN NaN\n",
"13 P Pro 115.13194 6.30 1.95 10.64\n",
"14 Q Gln 146.14594 5.65 2.17 9.13\n",
"15 R Arg 174.20274 10.76 1.82 8.99\n",
"16 S Ser 105.09344 5.68 2.19 9.21\n",
"17 T Thr 119.12034 5.60 2.09 9.10\n",
"18 U Sec 168.05300 5.47 1.91 10.00\n",
"19 V Val 117.14784 6.00 2.39 9.74\n",
"20 W Trp 204.22844 5.89 2.46 9.41\n",
"21 Y Tyr 181.19124 5.64 2.20 9.21"
],
"text/html": [
"\n",
"\n",
" <div id=\"df-3bab8612-ba38-4756-bc66-0bcbb68393d9\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>0</th>\n",
" <th>1</th>\n",
" <th>2</th>\n",
" <th>3</th>\n",
" <th>4</th>\n",
" <th>5</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>A</td>\n",
" <td>Ala</td>\n",
" <td>89.09404</td>\n",
" <td>6.01</td>\n",
" <td>2.35</td>\n",
" <td>9.87</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>C</td>\n",
" <td>Cys</td>\n",
" <td>121.15404</td>\n",
" <td>5.05</td>\n",
" <td>1.92</td>\n",
" <td>10.70</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>D</td>\n",
" <td>Asp</td>\n",
" <td>133.10384</td>\n",
" <td>2.85</td>\n",
" <td>1.99</td>\n",
" <td>9.90</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>E</td>\n",
" <td>Glu</td>\n",
" <td>147.13074</td>\n",
" <td>3.15</td>\n",
" <td>2.10</td>\n",
" <td>9.47</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>F</td>\n",
" <td>Phe</td>\n",
" <td>165.19184</td>\n",
" <td>5.49</td>\n",
" <td>2.20</td>\n",
" <td>9.31</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>G</td>\n",
" <td>Gly</td>\n",
" <td>75.06714</td>\n",
" <td>6.06</td>\n",
" <td>2.35</td>\n",
" <td>9.78</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>H</td>\n",
" <td>His</td>\n",
" <td>155.15634</td>\n",
" <td>7.60</td>\n",
" <td>1.80</td>\n",
" <td>9.33</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>I</td>\n",
" <td>Ile</td>\n",
" <td>131.17464</td>\n",
" <td>6.05</td>\n",
" <td>2.32</td>\n",
" <td>9.76</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>K</td>\n",
" <td>Lys</td>\n",
" <td>146.18934</td>\n",
" <td>9.60</td>\n",
" <td>2.16</td>\n",
" <td>9.06</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>L</td>\n",
" <td>Leu</td>\n",
" <td>131.17464</td>\n",
" <td>6.01</td>\n",
" <td>2.33</td>\n",
" <td>9.74</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>M</td>\n",
" <td>Met</td>\n",
" <td>149.20784</td>\n",
" <td>5.74</td>\n",
" <td>2.13</td>\n",
" <td>9.28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>N</td>\n",
" <td>Asn</td>\n",
" <td>132.11904</td>\n",
" <td>5.41</td>\n",
" <td>2.14</td>\n",
" <td>8.72</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>O</td>\n",
" <td>Pyl</td>\n",
" <td>255.31000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>P</td>\n",
" <td>Pro</td>\n",
" <td>115.13194</td>\n",
" <td>6.30</td>\n",
" <td>1.95</td>\n",
" <td>10.64</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>Q</td>\n",
" <td>Gln</td>\n",
" <td>146.14594</td>\n",
" <td>5.65</td>\n",
" <td>2.17</td>\n",
" <td>9.13</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>R</td>\n",
" <td>Arg</td>\n",
" <td>174.20274</td>\n",
" <td>10.76</td>\n",
" <td>1.82</td>\n",
" <td>8.99</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>S</td>\n",
" <td>Ser</td>\n",
" <td>105.09344</td>\n",
" <td>5.68</td>\n",
" <td>2.19</td>\n",
" <td>9.21</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>T</td>\n",
" <td>Thr</td>\n",
" <td>119.12034</td>\n",
" <td>5.60</td>\n",
" <td>2.09</td>\n",
" <td>9.10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>U</td>\n",
" <td>Sec</td>\n",
" <td>168.05300</td>\n",
" <td>5.47</td>\n",
" <td>1.91</td>\n",
" <td>10.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>V</td>\n",
" <td>Val</td>\n",
" <td>117.14784</td>\n",
" <td>6.00</td>\n",
" <td>2.39</td>\n",
" <td>9.74</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>W</td>\n",
" <td>Trp</td>\n",
" <td>204.22844</td>\n",
" <td>5.89</td>\n",
" <td>2.46</td>\n",
" <td>9.41</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>Y</td>\n",
" <td>Tyr</td>\n",
" <td>181.19124</td>\n",
" <td>5.64</td>\n",
" <td>2.20</td>\n",
" <td>9.21</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-3bab8612-ba38-4756-bc66-0bcbb68393d9')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
"\n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
"\n",
"\n",
"\n",
" <div id=\"df-2a66ff0b-fee1-423c-b6fe-dd31990b763b\">\n",
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-2a66ff0b-fee1-423c-b6fe-dd31990b763b')\"\n",
" title=\"Suggest charts.\"\n",
" style=\"display:none;\">\n",
"\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <g>\n",
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
" </g>\n",
"</svg>\n",
" </button>\n",
" </div>\n",
"\n",
"<style>\n",
" .colab-df-quickchart {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-quickchart:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-quickchart {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-quickchart:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
"</style>\n",
"\n",
" <script>\n",
" async function quickchart(key) {\n",
" const containerElement = document.querySelector('#' + key);\n",
" const charts = await google.colab.kernel.invokeFunction(\n",
" 'suggestCharts', [key], {});\n",
" }\n",
" </script>\n",
"\n",
" <script>\n",
"\n",
"function displayQuickchartButton(domScope) {\n",
" let quickchartButtonEl =\n",
" domScope.querySelector('#df-2a66ff0b-fee1-423c-b6fe-dd31990b763b button.colab-df-quickchart');\n",
" quickchartButtonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"}\n",
"\n",
" displayQuickchartButton(document);\n",
" </script>\n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-3bab8612-ba38-4756-bc66-0bcbb68393d9 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-3bab8612-ba38-4756-bc66-0bcbb68393d9');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n"
]
},
"metadata": {},
"execution_count": 30
}
]
}
]
}