danielkovtun commited on
Commit
c48847e
·
1 Parent(s): 7d9b175

docs: update nb w/evaluate endpoint example and point to deployed endpoint

Browse files
Files changed (1) hide show
  1. inference-api-dev-template.ipynb +150 -12
inference-api-dev-template.ipynb CHANGED
@@ -45,9 +45,25 @@
45
  "!pip install gradio_client"
46
  ]
47
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
48
  {
49
  "cell_type": "code",
50
- "execution_count": 3,
51
  "id": "2c0171fa-ee2a-40b7-8578-aa8516b4ece9",
52
  "metadata": {},
53
  "outputs": [
@@ -55,8 +71,8 @@
55
  "name": "stdout",
56
  "output_type": "stream",
57
  "text": [
58
- "Loaded as API: http://localhost:7860/ ✔\n",
59
- "/private/var/folders/tt/x223wxwj6dzg3vjjgc_6y5bm0000gn/T/gradio/71ffa01e98046880d05412a8224722e201d6655a60acdf24242cffb67c4495ac/8i5w_R--8i5w_L.pdb 1.9153118133544922\n"
60
  ]
61
  }
62
  ],
@@ -64,13 +80,16 @@
64
  "from gradio_client import Client, handle_file\n",
65
  "from pathlib import Path\n",
66
  "\n",
67
- "client = Client(\"http://localhost:7860/\")\n",
 
 
 
68
  "result = client.predict(\n",
69
- "\t\treceptor_pdb=handle_file('./8i5w_R.pdb'),\n",
70
- "\t\tligand_pdb=handle_file('./8i5w_L.pdb'),\n",
71
- "\t\treceptor_fasta=None,\n",
72
- "\t\tligand_fasta=None,\n",
73
- "\t\tapi_name=\"/predict\"\n",
74
  ")\n",
75
  "output_pdb, runtime = Path(result[0]), result[1]\n",
76
  "print(output_pdb, runtime)\n"
@@ -78,17 +97,17 @@
78
  },
79
  {
80
  "cell_type": "code",
81
- "execution_count": 4,
82
  "id": "c530fde1-7f57-4991-a53e-b3855657f9fc",
83
  "metadata": {},
84
  "outputs": [
85
  {
86
  "data": {
87
  "text/plain": [
88
- "(PosixPath('pinder-inference-outputs/8i5w_R--8i5w_L.pdb'), True)"
89
  ]
90
  },
91
- "execution_count": 4,
92
  "metadata": {},
93
  "output_type": "execute_result"
94
  }
@@ -103,6 +122,125 @@
103
  "output_pdb, output_pdb.is_file() \n",
104
  "\n"
105
  ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
106
  }
107
  ],
108
  "metadata": {
 
45
  "!pip install gradio_client"
46
  ]
47
  },
48
+ {
49
+ "cell_type": "markdown",
50
+ "id": "549b9b2c-3074-446b-962e-90c8efd2bd59",
51
+ "metadata": {},
52
+ "source": [
53
+ "# PINDER inference and evaluation template API examples"
54
+ ]
55
+ },
56
+ {
57
+ "cell_type": "markdown",
58
+ "id": "b979671e-97d6-4c52-bc6e-279a09d722c8",
59
+ "metadata": {},
60
+ "source": [
61
+ "## Run inference via predict endpoint"
62
+ ]
63
+ },
64
  {
65
  "cell_type": "code",
66
+ "execution_count": 10,
67
  "id": "2c0171fa-ee2a-40b7-8578-aa8516b4ece9",
68
  "metadata": {},
69
  "outputs": [
 
71
  "name": "stdout",
72
  "output_type": "stream",
73
  "text": [
74
+ "Loaded as API: https://danielkovtun-pinder-inference-template.hf.space/ ✔\n",
75
+ "/private/var/folders/tt/x223wxwj6dzg3vjjgc_6y5bm0000gn/T/gradio/0cda59c2805986a9e5956ed00cb552b3c86f05915da91e6e14a0a31b962e664b/3g9w_R--3g9w_L.pdb 1.2273471355438232\n"
76
  ]
77
  }
78
  ],
 
80
  "from gradio_client import Client, handle_file\n",
81
  "from pathlib import Path\n",
82
  "\n",
83
+ "uri = \"https://danielkovtun-pinder-inference-template.hf.space/\"\n",
84
+ "# If running docker container locally\n",
85
+ "dev_uri = \"http://localhost:7860/\"\n",
86
+ "client = Client(uri)\n",
87
  "result = client.predict(\n",
88
+ " receptor_pdb=handle_file(\"./3g9w_R.pdb\"),\n",
89
+ " ligand_pdb=handle_file(\"./3g9w_L.pdb\"),\n",
90
+ " receptor_fasta=None, # optional in this implementation\n",
91
+ " ligand_fasta=None,\n",
92
+ " api_name=\"/predict\"\n",
93
  ")\n",
94
  "output_pdb, runtime = Path(result[0]), result[1]\n",
95
  "print(output_pdb, runtime)\n"
 
97
  },
98
  {
99
  "cell_type": "code",
100
+ "execution_count": 11,
101
  "id": "c530fde1-7f57-4991-a53e-b3855657f9fc",
102
  "metadata": {},
103
  "outputs": [
104
  {
105
  "data": {
106
  "text/plain": [
107
+ "(PosixPath('pinder-inference-outputs/3g9w_R--3g9w_L.pdb'), True)"
108
  ]
109
  },
110
+ "execution_count": 11,
111
  "metadata": {},
112
  "output_type": "execute_result"
113
  }
 
122
  "output_pdb, output_pdb.is_file() \n",
123
  "\n"
124
  ]
125
+ },
126
+ {
127
+ "cell_type": "markdown",
128
+ "id": "b3c1c03e-74c1-4010-b385-e4366d43cd6f",
129
+ "metadata": {},
130
+ "source": [
131
+ "## Fetch evaluation metrics via evaluate endpoint"
132
+ ]
133
+ },
134
+ {
135
+ "cell_type": "code",
136
+ "execution_count": 13,
137
+ "id": "e5e26250-f20d-484d-84e2-320cdfef830a",
138
+ "metadata": {},
139
+ "outputs": [
140
+ {
141
+ "name": "stdout",
142
+ "output_type": "stream",
143
+ "text": [
144
+ "Loaded as API: http://localhost:7860/ ✔\n"
145
+ ]
146
+ },
147
+ {
148
+ "data": {
149
+ "text/plain": [
150
+ "{'headers': ['system', 'L_rms', 'I_rms', 'F_nat', 'DOCKQ', 'CAPRI_class'],\n",
151
+ " 'data': [['3g9w__A1_Q71LX4--3g9w__D1_P05556',\n",
152
+ " 34.781349182128906,\n",
153
+ " 15.405366897583008,\n",
154
+ " 0.0,\n",
155
+ " 0.021916405918697517,\n",
156
+ " 'Incorrect']],\n",
157
+ " 'metadata': None}"
158
+ ]
159
+ },
160
+ "execution_count": 13,
161
+ "metadata": {},
162
+ "output_type": "execute_result"
163
+ }
164
+ ],
165
+ "source": [
166
+ "client = Client(uri)\n",
167
+ "result = client.predict(\n",
168
+ " system_id=\"3g9w__A1_Q71LX4--3g9w__D1_P05556\",\n",
169
+ " prediction_pdb=handle_file(\"3g9w_R--3g9w_L.pdb\"),\n",
170
+ " api_name=\"/evaluate\"\n",
171
+ ")\n",
172
+ "metrics, pred_native, runtime = result\n",
173
+ "metrics"
174
+ ]
175
+ },
176
+ {
177
+ "cell_type": "code",
178
+ "execution_count": 14,
179
+ "id": "eef0d108-5d76-4bef-bd0c-4952d433ccaf",
180
+ "metadata": {},
181
+ "outputs": [
182
+ {
183
+ "data": {
184
+ "text/html": [
185
+ "<div>\n",
186
+ "<style scoped>\n",
187
+ " .dataframe tbody tr th:only-of-type {\n",
188
+ " vertical-align: middle;\n",
189
+ " }\n",
190
+ "\n",
191
+ " .dataframe tbody tr th {\n",
192
+ " vertical-align: top;\n",
193
+ " }\n",
194
+ "\n",
195
+ " .dataframe thead th {\n",
196
+ " text-align: right;\n",
197
+ " }\n",
198
+ "</style>\n",
199
+ "<table border=\"1\" class=\"dataframe\">\n",
200
+ " <thead>\n",
201
+ " <tr style=\"text-align: right;\">\n",
202
+ " <th></th>\n",
203
+ " <th>system</th>\n",
204
+ " <th>L_rms</th>\n",
205
+ " <th>I_rms</th>\n",
206
+ " <th>F_nat</th>\n",
207
+ " <th>DOCKQ</th>\n",
208
+ " <th>CAPRI_class</th>\n",
209
+ " </tr>\n",
210
+ " </thead>\n",
211
+ " <tbody>\n",
212
+ " <tr>\n",
213
+ " <th>0</th>\n",
214
+ " <td>3g9w__A1_Q71LX4--3g9w__D1_P05556</td>\n",
215
+ " <td>34.781349</td>\n",
216
+ " <td>15.405367</td>\n",
217
+ " <td>0.0</td>\n",
218
+ " <td>0.021916</td>\n",
219
+ " <td>Incorrect</td>\n",
220
+ " </tr>\n",
221
+ " </tbody>\n",
222
+ "</table>\n",
223
+ "</div>"
224
+ ],
225
+ "text/plain": [
226
+ " system L_rms I_rms F_nat DOCKQ \\\n",
227
+ "0 3g9w__A1_Q71LX4--3g9w__D1_P05556 34.781349 15.405367 0.0 0.021916 \n",
228
+ "\n",
229
+ " CAPRI_class \n",
230
+ "0 Incorrect "
231
+ ]
232
+ },
233
+ "execution_count": 14,
234
+ "metadata": {},
235
+ "output_type": "execute_result"
236
+ }
237
+ ],
238
+ "source": [
239
+ "import pandas as pd\n",
240
+ "\n",
241
+ "metric_df = pd.DataFrame(metrics[\"data\"], columns=metrics[\"headers\"])\n",
242
+ "metric_df"
243
+ ]
244
  }
245
  ],
246
  "metadata": {