├── Code └── Models_Summary_Code.ipynb ├── Data ├── Monomer_509_dataset2.pickle ├── Supplement_Dataset1_MD_100.xlsx ├── Supplement_Final_AllModels_Comparison.csv ├── X_dataset_2_Monomer.pickle ├── X_dataset_2_RepeatUnit.pickle └── X_dataset_2_SmilesExpand.pickle ├── Model ├── Descriptor_CNN.model ├── Descriptor_DNN.model ├── Descriptor_Lasso.model ├── Descriptor_RF.model ├── Descriptor_SVM.model ├── Monomer_Descriptor_CNN.model ├── Monomer_Descriptor_DNN.model ├── Monomer_Descriptor_Lasso.model ├── Monomer_Descriptor_RF.model ├── Monomer_Descriptor_SVM.model ├── Monomer_Embedding_CNN.model ├── Monomer_Embedding_DNN.model ├── Monomer_Embedding_Lasso.model ├── Monomer_Embedding_RF.model ├── Monomer_Embedding_SVM.model ├── Monomer_Morgan_Frequency_CNN.model ├── Monomer_Morgan_Frequency_DNN.model ├── Monomer_Morgan_Frequency_Lasso.model ├── Monomer_Morgan_Frequency_RF.model ├── Monomer_Morgan_Frequency_SVM.model ├── Monomer_Morgan_OnOff_CNN.model ├── Monomer_Morgan_OnOff_DNN.model ├── Monomer_Morgan_OnOff_Lasso.model ├── Monomer_Morgan_OnOff_RF.model ├── Monomer_Morgan_OnOff_SVM.model ├── Morgan_Embedding_CNN.model ├── Morgan_Embedding_DNN.model ├── Morgan_Embedding_Lasso.model ├── Morgan_Embedding_RF.model ├── Morgan_Embedding_SVM.model ├── Morgan_Frequency_CNN.model ├── Morgan_Frequency_DNN.model ├── Morgan_Frequency_Lasso.model ├── Morgan_Frequency_RF.model ├── Morgan_Frequency_SVM.model ├── Morgan_OnOff_CNN.model ├── Morgan_OnOff_DNN.model ├── Morgan_OnOff_Lasso.model ├── Morgan_OnOff_RF.model ├── Morgan_OnOff_SVM.model ├── SmilesExpand_Descriptor_CNN.model ├── SmilesExpand_Descriptor_DNN.model ├── SmilesExpand_Descriptor_Lasso.model ├── SmilesExpand_Descriptor_RF.model ├── SmilesExpand_Descriptor_SVM.model ├── SmilesExpand_Embedding_CNN.model ├── SmilesExpand_Embedding_DNN.model ├── SmilesExpand_Embedding_Lasso.model ├── SmilesExpand_Embedding_RF.model ├── SmilesExpand_Embedding_SVM.model ├── SmilesExpand_Morgan_Frequency_CNN.model ├── SmilesExpand_Morgan_Frequency_DNN.model ├── SmilesExpand_Morgan_Frequency_Lasso.model ├── SmilesExpand_Morgan_Frequency_RF.model ├── SmilesExpand_Morgan_Frequency_SVM.model ├── SmilesExpand_Morgan_OnOff_CNN.model ├── SmilesExpand_Morgan_OnOff_DNN.model ├── SmilesExpand_Morgan_OnOff_Lasso.model ├── SmilesExpand_Morgan_OnOff_RF.model └── SmilesExpand_Morgan_OnOff_SVM.model ├── Picture1.png ├── README.md └── requirements.txt /Code/Models_Summary_Code.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "#https://stackoverflow.com/questions/43990046/tensorflow-blas-gemm-launch-failed\n", 10 | "import tensorflow as tf\n", 11 | "physical_devices = tf.config.list_physical_devices('GPU') \n", 12 | "tf.config.experimental.set_memory_growth(physical_devices[0], True)" 13 | ] 14 | }, 15 | { 16 | "cell_type": "code", 17 | "execution_count": 2, 18 | "metadata": {}, 19 | "outputs": [], 20 | "source": [ 21 | "import numpy as np\n", 22 | "import matplotlib.pyplot as plt\n", 23 | "import pandas as pd\n", 24 | "\n", 25 | "from rdkit import Chem\n", 26 | "from rdkit.Chem import AllChem\n", 27 | "from rdkit.Chem import Descriptors\n", 28 | "from rdkit.Chem import rdMolDescriptors\n", 29 | "from rdkit.Chem.Draw import IPythonConsole\n", 30 | "from rdkit.Chem import Draw\n", 31 | "\n", 32 | "from sklearn.metrics import r2_score, mean_squared_error, mean_absolute_error\n", 33 | "from sklearn.model_selection import train_test_split\n", 34 | "\n", 35 | "from sklearn.ensemble import RandomForestRegressor\n", 36 | "from sklearn.neural_network import MLPRegressor\n", 37 | "from sklearn.svm import SVR\n", 38 | "from sklearn.linear_model import Lasso, LassoCV\n", 39 | "from sklearn.model_selection import train_test_split, cross_val_predict, cross_validate\n", 40 | "from sklearn.preprocessing import StandardScaler\n", 41 | "from sklearn.utils import shuffle\n", 42 | "from math import sqrt\n", 43 | "\n", 44 | "from kerastuner.tuners import RandomSearch\n", 45 | "from kerastuner.engine.hyperparameters import HyperParameters\n", 46 | "from tensorflow.keras.models import Sequential, save_model, load_model\n", 47 | "from tensorflow.keras.layers import Dense, Activation, Dropout\n", 48 | "from tensorflow.keras.optimizers import Adam\n", 49 | "from tensorflow import keras\n", 50 | "from tensorflow.keras.layers import Conv2D, MaxPooling2D, Conv1D, MaxPooling1D, Dense, Flatten, Activation\n", 51 | "import time\n", 52 | "from sklearn.metrics import r2_score\n", 53 | "import kerastuner as kt\n", 54 | "\n", 55 | "from collections import Counter \n", 56 | "import pickle\n", 57 | "import pandas as pd\n", 58 | "import collections\n", 59 | "import seaborn as sns\n", 60 | "\n", 61 | "import re\n", 62 | "\n", 63 | "from sklearn.model_selection import cross_validate\n", 64 | "from sklearn.metrics import r2_score, mean_squared_error, mean_absolute_error, mean_absolute_percentage_error" 65 | ] 66 | }, 67 | { 68 | "cell_type": "code", 69 | "execution_count": 5, 70 | "metadata": {}, 71 | "outputs": [], 72 | "source": [ 73 | "df = pd.read_csv(\"../Data/Supplement_Final_AllModels_Comparison.csv\")" 74 | ] 75 | }, 76 | { 77 | "cell_type": "code", 78 | "execution_count": 8, 79 | "metadata": {}, 80 | "outputs": [], 81 | "source": [ 82 | "X_dataset_2_RepeatUnit = pickle.load(open(\"../Data/X_dataset_2_RepeatUnit.pickle\",\"rb\"))\n", 83 | "X_dataset_2_Monomer = pickle.load(open(\"../Data/X_dataset_2_Monomer.pickle\",\"rb\"))\n", 84 | "X_dataset_2_SmilesExpand = pickle.load(open(\"../Data/X_dataset_2_SmilesExpand.pickle\",\"rb\"))" 85 | ] 86 | }, 87 | { 88 | "cell_type": "markdown", 89 | "metadata": {}, 90 | "source": [ 91 | "### Load RepeatUnit_1 based Morgan_Frequency_GPR model " 92 | ] 93 | }, 94 | { 95 | "cell_type": "code", 96 | "execution_count": 78, 97 | "metadata": {}, 98 | "outputs": [], 99 | "source": [ 100 | "model = pickle.load(open(\"../Model/Morgan_Frequency_RF.model\",\"rb\"))" 101 | ] 102 | }, 103 | { 104 | "cell_type": "code", 105 | "execution_count": 79, 106 | "metadata": {}, 107 | "outputs": [], 108 | "source": [ 109 | "Morgan_Frequency_RF = model.predict((X_dataset_2_RepeatUnit))" 110 | ] 111 | }, 112 | { 113 | "cell_type": "code", 114 | "execution_count": 80, 115 | "metadata": {}, 116 | "outputs": [ 117 | { 118 | "data": { 119 | "text/plain": [ 120 | "Text(80, 500, 'Dataset_2')" 121 | ] 122 | }, 123 | "execution_count": 80, 124 | "metadata": {}, 125 | "output_type": "execute_result" 126 | }, 127 | { 128 | "data": { 129 | "image/png": "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\n", 130 | "text/plain": [ 131 | "
" 132 | ] 133 | }, 134 | "metadata": { 135 | "needs_background": "light" 136 | }, 137 | "output_type": "display_data" 138 | } 139 | ], 140 | "source": [ 141 | "plt.figure(figsize=(3.5,3.5))\n", 142 | "\n", 143 | "ax=plt.subplot(1, 1, 1)\n", 144 | "#plt.plot(y, y_pred_train, 'b.') \n", 145 | "plt.plot(df['MD'], Morgan_Frequency_RF, 'y.') \n", 146 | "plt.xlabel(\"MD simulation ($^o$C)\",fontname=\"Times New Roman\", fontsize=12)\n", 147 | "#plt.ylabel(\"Predicted value of Tg (C)\",fontname=\"Times New Roman\", fontsize=15)\n", 148 | "x0, x1 = min(df['MD']), max(df['MD'])\n", 149 | "length = 750\n", 150 | "x_start, x_end = -200, 550\n", 151 | "plt.xlim([-200, 550])\n", 152 | "plt.ylim([-200, 550])\n", 153 | "ax.set_xticks([-200,-100,0,100,200,300,400,500])\n", 154 | "#ax.set_yticks([-200,-100,0,100,200,300,400,500])\n", 155 | "plt.xticks(fontname=\"Times New Roman\", fontsize=12)\n", 156 | "plt.yticks(fontname=\"Times New Roman\", fontsize=12)\n", 157 | "plt.gca().set_aspect(\"equal\", adjustable=\"box\")\n", 158 | "# the unit line\n", 159 | "plt.plot(np.arange(x_start, x_end, 0.01*length),\n", 160 | "np.arange(x_start, x_end, 0.01*length), 'r-')\n", 161 | "plt.text(300, -118, \"$R^2={:.2f}$\".format(round(r2_score(df['MD'], Morgan_Frequency_RF),2)),{'color':\"darkgoldenrod\"})\n", 162 | "plt.text(80, 500, \"Dataset_2\")" 163 | ] 164 | }, 165 | { 166 | "cell_type": "markdown", 167 | "metadata": {}, 168 | "source": [ 169 | "### Load Monomer_0 based Monomer_Morgan_Frequency_DNN model " 170 | ] 171 | }, 172 | { 173 | "cell_type": "code", 174 | "execution_count": 20, 175 | "metadata": {}, 176 | "outputs": [], 177 | "source": [ 178 | "model = load_model('../Model/Monomer_Morgan_Frequency_DNN.model')" 179 | ] 180 | }, 181 | { 182 | "cell_type": "code", 183 | "execution_count": 68, 184 | "metadata": {}, 185 | "outputs": [], 186 | "source": [ 187 | "Monomer_Morgan_Frequency_DNN = model.predict((X_dataset_2_Monomer))" 188 | ] 189 | }, 190 | { 191 | "cell_type": "code", 192 | "execution_count": 69, 193 | "metadata": {}, 194 | "outputs": [], 195 | "source": [ 196 | "Monomer_509_dataset2 = pickle.load(open(\"../Data/Monomer_509_dataset2.pickle\",\"rb\"))" 197 | ] 198 | }, 199 | { 200 | "cell_type": "code", 201 | "execution_count": 70, 202 | "metadata": {}, 203 | "outputs": [], 204 | "source": [ 205 | "df_monomer = Monomer_509_dataset2.join(df.set_index('SMILES_Monomer_0'), on='Monomer_Smiles')" 206 | ] 207 | }, 208 | { 209 | "cell_type": "code", 210 | "execution_count": 71, 211 | "metadata": {}, 212 | "outputs": [], 213 | "source": [ 214 | "df_monomer[\"New_Monomer_Morgan_Frequency_DNN\"] = Monomer_Morgan_Frequency_DNN" 215 | ] 216 | }, 217 | { 218 | "cell_type": "code", 219 | "execution_count": 72, 220 | "metadata": {}, 221 | "outputs": [ 222 | { 223 | "data": { 224 | "text/plain": [ 225 | "Text(80, 500, 'Dataset_2')" 226 | ] 227 | }, 228 | "execution_count": 72, 229 | "metadata": {}, 230 | "output_type": "execute_result" 231 | }, 232 | { 233 | "data": { 234 | "image/png": "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\n", 235 | "text/plain": [ 236 | "
" 237 | ] 238 | }, 239 | "metadata": { 240 | "needs_background": "light" 241 | }, 242 | "output_type": "display_data" 243 | } 244 | ], 245 | "source": [ 246 | "plt.figure(figsize=(3.5,3.5))\n", 247 | "\n", 248 | "ax=plt.subplot(1, 1, 1)\n", 249 | "#plt.plot(y, y_pred_train, 'b.') \n", 250 | "plt.plot(df_monomer.dropna()['MD'], df_monomer.dropna()['New_Monomer_Morgan_Frequency_DNN'], 'y.') \n", 251 | "plt.xlabel(\"MD simulation ($^o$C)\",fontname=\"Times New Roman\", fontsize=12)\n", 252 | "x0, x1 = min(df['MD']), max(df['MD'])\n", 253 | "length = 750\n", 254 | "x_start, x_end = -200, 550\n", 255 | "plt.xlim([-200, 550])\n", 256 | "plt.ylim([-200, 550])\n", 257 | "ax.set_xticks([-200,-100,0,100,200,300,400,500])\n", 258 | "plt.xticks(fontname=\"Times New Roman\", fontsize=12)\n", 259 | "plt.yticks(fontname=\"Times New Roman\", fontsize=12)\n", 260 | "plt.gca().set_aspect(\"equal\", adjustable=\"box\")\n", 261 | "# the unit line\n", 262 | "plt.plot(np.arange(x_start, x_end, 0.01*length),\n", 263 | "np.arange(x_start, x_end, 0.01*length), 'r-')\n", 264 | "plt.text(300, -118, \"$R^2={:.2f}$\".format(round(r2_score(df_monomer.dropna()['MD'], df_monomer.dropna()['New_Monomer_Morgan_Frequency_DNN']),2)),{'color':\"darkgoldenrod\"})\n", 265 | "plt.text(80, 500, \"Dataset_2\")" 266 | ] 267 | }, 268 | { 269 | "cell_type": "markdown", 270 | "metadata": {}, 271 | "source": [ 272 | "### Load Polymerized_16 based SmilesExpand_Morgan_Frequency_SVM model " 273 | ] 274 | }, 275 | { 276 | "cell_type": "code", 277 | "execution_count": 73, 278 | "metadata": {}, 279 | "outputs": [], 280 | "source": [ 281 | "model = pickle.load(open(\"../Model/SmilesExpand_Morgan_Frequency_SVM.model\",\"rb\"))" 282 | ] 283 | }, 284 | { 285 | "cell_type": "code", 286 | "execution_count": 75, 287 | "metadata": {}, 288 | "outputs": [], 289 | "source": [ 290 | "SmilesExpand_Morgan_Frequency_SVM = model.predict((X_dataset_2_SmilesExpand))" 291 | ] 292 | }, 293 | { 294 | "cell_type": "code", 295 | "execution_count": 76, 296 | "metadata": {}, 297 | "outputs": [ 298 | { 299 | "data": { 300 | "text/plain": [ 301 | "Text(80, 500, 'Dataset_2')" 302 | ] 303 | }, 304 | "execution_count": 76, 305 | "metadata": {}, 306 | "output_type": "execute_result" 307 | }, 308 | { 309 | "data": { 310 | "image/png": "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\n", 311 | "text/plain": [ 312 | "
" 313 | ] 314 | }, 315 | "metadata": { 316 | "needs_background": "light" 317 | }, 318 | "output_type": "display_data" 319 | } 320 | ], 321 | "source": [ 322 | "plt.figure(figsize=(3.5,3.5))\n", 323 | "\n", 324 | "ax=plt.subplot(1, 1, 1)\n", 325 | "#plt.plot(y, y_pred_train, 'b.') \n", 326 | "plt.plot(df['MD'], SmilesExpand_Morgan_Frequency_SVM, 'y.') \n", 327 | "plt.xlabel(\"MD simulation ($^o$C)\",fontname=\"Times New Roman\", fontsize=12)\n", 328 | "#plt.ylabel(\"Predicted value of Tg (C)\",fontname=\"Times New Roman\", fontsize=15)\n", 329 | "x0, x1 = min(df['MD']), max(df['MD'])\n", 330 | "length = 750\n", 331 | "x_start, x_end = -200, 550\n", 332 | "plt.xlim([-200, 550])\n", 333 | "plt.ylim([-200, 550])\n", 334 | "ax.set_xticks([-200,-100,0,100,200,300,400,500])\n", 335 | "#ax.set_yticks([-200,-100,0,100,200,300,400,500])\n", 336 | "plt.xticks(fontname=\"Times New Roman\", fontsize=12)\n", 337 | "plt.yticks(fontname=\"Times New Roman\", fontsize=12)\n", 338 | "plt.gca().set_aspect(\"equal\", adjustable=\"box\")\n", 339 | "# the unit line\n", 340 | "plt.plot(np.arange(x_start, x_end, 0.01*length),\n", 341 | "np.arange(x_start, x_end, 0.01*length), 'r-')\n", 342 | "plt.text(300, -118, \"$R^2={:.2f}$\".format(round(r2_score(df['MD'], SmilesExpand_Morgan_Frequency_SVM),2)),{'color':\"darkgoldenrod\"})\n", 343 | "plt.text(80, 500, \"Dataset_2\")" 344 | ] 345 | }, 346 | { 347 | "cell_type": "markdown", 348 | "metadata": {}, 349 | "source": [ 350 | "### All other models are in the Model folder" 351 | ] 352 | }, 353 | { 354 | "cell_type": "code", 355 | "execution_count": 77, 356 | "metadata": {}, 357 | "outputs": [], 358 | "source": [ 359 | "### Same procedures as above" 360 | ] 361 | }, 362 | { 363 | "cell_type": "code", 364 | "execution_count": null, 365 | "metadata": {}, 366 | "outputs": [], 367 | "source": [] 368 | } 369 | ], 370 | "metadata": { 371 | "kernelspec": { 372 | "display_name": "Python 3", 373 | "language": "python", 374 | "name": "python3" 375 | }, 376 | "language_info": { 377 | "codemirror_mode": { 378 | "name": "ipython", 379 | "version": 3 380 | }, 381 | "file_extension": ".py", 382 | "mimetype": "text/x-python", 383 | "name": "python", 384 | "nbconvert_exporter": "python", 385 | "pygments_lexer": "ipython3", 386 | "version": "3.7.4" 387 | } 388 | }, 389 | "nbformat": 4, 390 | "nbformat_minor": 2 391 | } 392 | -------------------------------------------------------------------------------- /Data/Monomer_509_dataset2.pickle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Data/Monomer_509_dataset2.pickle -------------------------------------------------------------------------------- /Data/Supplement_Dataset1_MD_100.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Data/Supplement_Dataset1_MD_100.xlsx -------------------------------------------------------------------------------- /Data/X_dataset_2_Monomer.pickle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Data/X_dataset_2_Monomer.pickle -------------------------------------------------------------------------------- /Data/X_dataset_2_RepeatUnit.pickle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Data/X_dataset_2_RepeatUnit.pickle -------------------------------------------------------------------------------- /Data/X_dataset_2_SmilesExpand.pickle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Data/X_dataset_2_SmilesExpand.pickle -------------------------------------------------------------------------------- /Model/Descriptor_CNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Descriptor_CNN.model -------------------------------------------------------------------------------- /Model/Descriptor_DNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Descriptor_DNN.model -------------------------------------------------------------------------------- /Model/Descriptor_Lasso.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Descriptor_Lasso.model -------------------------------------------------------------------------------- /Model/Descriptor_RF.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Descriptor_RF.model -------------------------------------------------------------------------------- /Model/Descriptor_SVM.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Descriptor_SVM.model -------------------------------------------------------------------------------- /Model/Monomer_Descriptor_CNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Monomer_Descriptor_CNN.model -------------------------------------------------------------------------------- /Model/Monomer_Descriptor_DNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Monomer_Descriptor_DNN.model -------------------------------------------------------------------------------- /Model/Monomer_Descriptor_Lasso.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Monomer_Descriptor_Lasso.model -------------------------------------------------------------------------------- /Model/Monomer_Descriptor_RF.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Monomer_Descriptor_RF.model -------------------------------------------------------------------------------- /Model/Monomer_Descriptor_SVM.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Monomer_Descriptor_SVM.model -------------------------------------------------------------------------------- /Model/Monomer_Embedding_CNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Monomer_Embedding_CNN.model -------------------------------------------------------------------------------- /Model/Monomer_Embedding_DNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Monomer_Embedding_DNN.model -------------------------------------------------------------------------------- /Model/Monomer_Embedding_Lasso.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Monomer_Embedding_Lasso.model -------------------------------------------------------------------------------- /Model/Monomer_Embedding_RF.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Monomer_Embedding_RF.model -------------------------------------------------------------------------------- /Model/Monomer_Embedding_SVM.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Monomer_Embedding_SVM.model -------------------------------------------------------------------------------- /Model/Monomer_Morgan_Frequency_CNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Monomer_Morgan_Frequency_CNN.model -------------------------------------------------------------------------------- /Model/Monomer_Morgan_Frequency_DNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Monomer_Morgan_Frequency_DNN.model -------------------------------------------------------------------------------- /Model/Monomer_Morgan_Frequency_Lasso.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Monomer_Morgan_Frequency_Lasso.model -------------------------------------------------------------------------------- /Model/Monomer_Morgan_Frequency_RF.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Monomer_Morgan_Frequency_RF.model -------------------------------------------------------------------------------- /Model/Monomer_Morgan_Frequency_SVM.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Monomer_Morgan_Frequency_SVM.model -------------------------------------------------------------------------------- /Model/Monomer_Morgan_OnOff_CNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Monomer_Morgan_OnOff_CNN.model -------------------------------------------------------------------------------- /Model/Monomer_Morgan_OnOff_DNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Monomer_Morgan_OnOff_DNN.model -------------------------------------------------------------------------------- /Model/Monomer_Morgan_OnOff_Lasso.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Monomer_Morgan_OnOff_Lasso.model -------------------------------------------------------------------------------- /Model/Monomer_Morgan_OnOff_RF.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Monomer_Morgan_OnOff_RF.model -------------------------------------------------------------------------------- /Model/Monomer_Morgan_OnOff_SVM.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Monomer_Morgan_OnOff_SVM.model -------------------------------------------------------------------------------- /Model/Morgan_Embedding_CNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Morgan_Embedding_CNN.model -------------------------------------------------------------------------------- /Model/Morgan_Embedding_DNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Morgan_Embedding_DNN.model -------------------------------------------------------------------------------- /Model/Morgan_Embedding_Lasso.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Morgan_Embedding_Lasso.model -------------------------------------------------------------------------------- /Model/Morgan_Embedding_RF.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Morgan_Embedding_RF.model -------------------------------------------------------------------------------- /Model/Morgan_Embedding_SVM.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Morgan_Embedding_SVM.model -------------------------------------------------------------------------------- /Model/Morgan_Frequency_CNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Morgan_Frequency_CNN.model -------------------------------------------------------------------------------- /Model/Morgan_Frequency_DNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Morgan_Frequency_DNN.model -------------------------------------------------------------------------------- /Model/Morgan_Frequency_Lasso.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Morgan_Frequency_Lasso.model -------------------------------------------------------------------------------- /Model/Morgan_Frequency_RF.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Morgan_Frequency_RF.model -------------------------------------------------------------------------------- /Model/Morgan_Frequency_SVM.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Morgan_Frequency_SVM.model -------------------------------------------------------------------------------- /Model/Morgan_OnOff_CNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Morgan_OnOff_CNN.model -------------------------------------------------------------------------------- /Model/Morgan_OnOff_DNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Morgan_OnOff_DNN.model -------------------------------------------------------------------------------- /Model/Morgan_OnOff_Lasso.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Morgan_OnOff_Lasso.model -------------------------------------------------------------------------------- /Model/Morgan_OnOff_RF.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Morgan_OnOff_RF.model -------------------------------------------------------------------------------- /Model/Morgan_OnOff_SVM.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/Morgan_OnOff_SVM.model -------------------------------------------------------------------------------- /Model/SmilesExpand_Descriptor_CNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/SmilesExpand_Descriptor_CNN.model -------------------------------------------------------------------------------- /Model/SmilesExpand_Descriptor_DNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/SmilesExpand_Descriptor_DNN.model -------------------------------------------------------------------------------- /Model/SmilesExpand_Descriptor_Lasso.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/SmilesExpand_Descriptor_Lasso.model -------------------------------------------------------------------------------- /Model/SmilesExpand_Descriptor_RF.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/SmilesExpand_Descriptor_RF.model -------------------------------------------------------------------------------- /Model/SmilesExpand_Descriptor_SVM.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/SmilesExpand_Descriptor_SVM.model -------------------------------------------------------------------------------- /Model/SmilesExpand_Embedding_CNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/SmilesExpand_Embedding_CNN.model -------------------------------------------------------------------------------- /Model/SmilesExpand_Embedding_DNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/SmilesExpand_Embedding_DNN.model -------------------------------------------------------------------------------- /Model/SmilesExpand_Embedding_Lasso.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/SmilesExpand_Embedding_Lasso.model -------------------------------------------------------------------------------- /Model/SmilesExpand_Embedding_RF.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/SmilesExpand_Embedding_RF.model -------------------------------------------------------------------------------- /Model/SmilesExpand_Embedding_SVM.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/SmilesExpand_Embedding_SVM.model -------------------------------------------------------------------------------- /Model/SmilesExpand_Morgan_Frequency_CNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/SmilesExpand_Morgan_Frequency_CNN.model -------------------------------------------------------------------------------- /Model/SmilesExpand_Morgan_Frequency_DNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/SmilesExpand_Morgan_Frequency_DNN.model -------------------------------------------------------------------------------- /Model/SmilesExpand_Morgan_Frequency_Lasso.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/SmilesExpand_Morgan_Frequency_Lasso.model -------------------------------------------------------------------------------- /Model/SmilesExpand_Morgan_Frequency_RF.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/SmilesExpand_Morgan_Frequency_RF.model -------------------------------------------------------------------------------- /Model/SmilesExpand_Morgan_Frequency_SVM.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/SmilesExpand_Morgan_Frequency_SVM.model -------------------------------------------------------------------------------- /Model/SmilesExpand_Morgan_OnOff_CNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/SmilesExpand_Morgan_OnOff_CNN.model -------------------------------------------------------------------------------- /Model/SmilesExpand_Morgan_OnOff_DNN.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/SmilesExpand_Morgan_OnOff_DNN.model -------------------------------------------------------------------------------- /Model/SmilesExpand_Morgan_OnOff_Lasso.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/SmilesExpand_Morgan_OnOff_Lasso.model -------------------------------------------------------------------------------- /Model/SmilesExpand_Morgan_OnOff_RF.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/SmilesExpand_Morgan_OnOff_RF.model -------------------------------------------------------------------------------- /Model/SmilesExpand_Morgan_OnOff_SVM.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Model/SmilesExpand_Morgan_OnOff_SVM.model -------------------------------------------------------------------------------- /Picture1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/figotj/Tg_Benchmarking/861b9408cabc44ecadc6ab104f87c5d47f0fd9c4/Picture1.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Tg_Benchmarking 2 | Code and data for the paper [Benchmarking Machine Learning Models for Polymer Informatics: An Example of Glass Transition Temperature](https://pubs.acs.org/doi/abs/10.1021/acs.jcim.1c01031). 3 | 4 | 5 | 6 | # Code 7 | Code to compare the true Tg and predicted Tg from differnet machine learning models. 8 | 9 | # Data 10 | - All the polymer data can be found in the PolyInfo database https://polymer.nims.go.jp/en/ (National Institute for Materials Science (NIMS) holds the copyright of this database system). 11 | - MD simulated 566 polymers in Dataset_2 of the paper are listed in csv file. 12 | - MD simulated 100 polymers in Dataset_1 of the paper are listed in excel file. 13 | 14 | # Model 15 | Keras and scikit-learn models are saved into pickle files. 16 | 17 | # Packages 18 | Required packages and versions are listed in the requirements.txt. 19 | 20 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | # This file may be used to create an environment using: 2 | # $ conda create --name --file 3 | # platform: win-64 4 | _ipyw_jlab_nb_ext_conf=0.1.0=py37_0 5 | absl-py=0.10.0=pypi_0 6 | alabaster=0.7.12=py37_0 7 | anaconda=2019.10=py37_0 8 | anaconda-client=1.7.2=py37_0 9 | anaconda-navigator=1.9.7=py37_0 10 | anaconda-project=0.8.3=py_0 11 | asn1crypto=1.0.1=py37_0 12 | astroid=2.3.1=py37_0 13 | astropy=3.2.1=py37he774522_0 14 | astunparse=1.6.3=pypi_0 15 | atomicwrites=1.3.0=py37_1 16 | attrs=19.2.0=py_0 17 | babel=2.7.0=py_0 18 | backcall=0.1.0=py37_0 19 | backports=1.0=py_2 20 | backports.functools_lru_cache=1.5=py_2 21 | backports.os=0.1.1=py37_0 22 | backports.shutil_get_terminal_size=1.0.0=py37_2 23 | backports.tempfile=1.0=py_1 24 | backports.weakref=1.0.post1=py_1 25 | beautifulsoup4=4.8.0=py37_0 26 | bitarray=1.0.1=py37he774522_0 27 | bkcharts=0.2=py37_0 28 | blas=1.0=mkl 29 | bleach=3.1.0=py37_0 30 | blosc=1.16.3=h7bd577a_0 31 | bokeh=1.3.4=py37_0 32 | boost=1.72.0=py37h96a391d_0 33 | boost-cpp=1.72.0=h0caebb8_0 34 | boto=2.49.0=py37_0 35 | bottleneck=1.2.1=py37h452e1ab_1 36 | bzip2=1.0.8=he774522_0 37 | ca-certificates=2019.8.28=0 38 | cachetools=4.1.1=pypi_0 39 | cairo=1.16.0=h63a05c6_1001 40 | cairocffi=1.2.0=pypi_0 41 | cairosvg=2.5.0=pypi_0 42 | certifi=2019.9.11=py37_0 43 | cffi=1.12.3=py37h7a1dbc1_0 44 | chardet=3.0.4=py37_1003 45 | click=7.0=py37_0 46 | cloudpickle=1.2.2=py_0 47 | clyent=1.2.2=py37_1 48 | colorama=0.4.1=py37_0 49 | comtypes=1.1.7=py37_0 50 | conda=4.8.4=py37hc8dfbb8_2 51 | conda-build=3.18.9=py37_3 52 | conda-env=2.6.0=1 53 | conda-package-handling=1.6.0=py37h62dcd97_0 54 | conda-verify=3.4.2=py_1 55 | console_shortcut=0.1.1=3 56 | contextlib2=0.6.0=py_0 57 | cryptography=2.7=py37h7a1dbc1_0 58 | cssselect2=0.4.1=pypi_0 59 | curl=7.65.3=h2a8f88b_0 60 | cycler=0.10.0=py37_0 61 | cython=0.29.13=py37ha925a31_0 62 | cytoolz=0.10.0=py37he774522_0 63 | dask=2.5.2=py_0 64 | dask-core=2.5.2=py_0 65 | dataclasses=0.6=pypi_0 66 | decorator=4.4.0=py37_1 67 | defusedxml=0.6.0=py_0 68 | dill=0.3.3=pypi_0 69 | distributed=2.5.2=py_0 70 | docutils=0.15.2=py37_0 71 | entrypoints=0.3=py37_0 72 | et_xmlfile=1.0.1=py37_0 73 | fastcache=1.1.0=py37he774522_0 74 | filelock=3.0.12=py_0 75 | flask=1.1.1=py_0 76 | freetype=2.9.1=ha9979f8_1 77 | fsspec=0.5.2=py_0 78 | future=0.17.1=py37_0 79 | gast=0.3.3=pypi_0 80 | get_terminal_size=1.0.0=h38e98db_0 81 | gevent=1.4.0=py37he774522_0 82 | glob2=0.7=py_0 83 | google-auth=1.20.1=pypi_0 84 | google-auth-oauthlib=0.4.1=pypi_0 85 | google-pasta=0.2.0=pypi_0 86 | greenlet=0.4.15=py37hfa6e2cd_0 87 | grpcio=1.31.0=pypi_0 88 | h5py=2.10.0=pypi_0 89 | hdf5=1.10.4=h7ebc959_0 90 | heapdict=1.0.1=py_0 91 | html5lib=1.0.1=py37_0 92 | icc_rt=2019.0.0=h0cc432a_1 93 | icu=58.2=ha66f8fd_1 94 | idna=2.8=py37_0 95 | imageio=2.6.0=py37_0 96 | imagesize=1.1.0=py37_0 97 | importlib_metadata=0.23=py37_0 98 | intel-openmp=2019.4=245 99 | ipykernel=5.1.2=py37h39e3cac_0 100 | ipython=7.8.0=py37h39e3cac_0 101 | ipython_genutils=0.2.0=py37_0 102 | ipywidgets=7.5.1=py_0 103 | isort=4.3.21=py37_0 104 | itsdangerous=1.1.0=py37_0 105 | jdcal=1.4.1=py_0 106 | jedi=0.15.1=py37_0 107 | jinja2=2.10.3=py_0 108 | joblib=0.13.2=py37_0 109 | jpeg=9b=hb83a4c4_2 110 | json5=0.8.5=py_0 111 | jsonschema=3.0.2=py37_0 112 | jupyter=1.0.0=py37_7 113 | jupyter_client=5.3.3=py37_1 114 | jupyter_console=6.0.0=py37_0 115 | jupyter_core=4.5.0=py_0 116 | jupyterlab=1.1.4=pyhf63ae98_0 117 | jupyterlab_server=1.0.6=py_0 118 | keras=2.4.3=pypi_0 119 | keras-preprocessing=1.1.2=pypi_0 120 | keras-tqdm=2.0.1=pypi_0 121 | keras-tuner=1.0.1=pypi_0 122 | keyring=18.0.0=py37_0 123 | kiwisolver=1.1.0=py37ha925a31_0 124 | krb5=1.16.1=hc04afaa_7 125 | lazy-object-proxy=1.4.2=py37he774522_0 126 | libarchive=3.3.3=h0643e63_5 127 | libcurl=7.65.3=h2a8f88b_0 128 | libiconv=1.15=h1df5818_7 129 | liblief=0.9.0=ha925a31_2 130 | libpng=1.6.37=h2a8f88b_0 131 | libsodium=1.0.16=h9d3ae62_0 132 | libssh2=1.8.2=h7a1dbc1_0 133 | libtiff=4.0.10=hb898794_2 134 | libxml2=2.9.9=h464c3ec_0 135 | libxslt=1.1.33=h579f668_0 136 | llvmlite=0.29.0=py37ha925a31_0 137 | locket=0.2.0=py37_1 138 | lxml=4.4.1=py37h1350720_0 139 | lz4-c=1.8.1.2=h2fa13f4_0 140 | lzo=2.10=h6df0209_2 141 | m2w64-gcc-libgfortran=5.3.0=6 142 | m2w64-gcc-libs=5.3.0=7 143 | m2w64-gcc-libs-core=5.3.0=7 144 | m2w64-gmp=6.1.0=2 145 | m2w64-libwinpthread-git=5.0.0.4634.697f757=2 146 | markdown=3.2.2=pypi_0 147 | markdown2=2.3.10=pypi_0 148 | markupsafe=1.1.1=py37he774522_0 149 | matplotlib=3.1.1=py37hc8f65d3_0 150 | mccabe=0.6.1=py37_1 151 | menuinst=1.4.16=py37he774522_0 152 | mistune=0.8.4=py37he774522_0 153 | mkl=2019.4=245 154 | mkl-service=2.3.0=py37hb782905_0 155 | mkl_fft=1.0.14=py37h14836fe_0 156 | mkl_random=1.1.0=py37h675688f_0 157 | mock=3.0.5=py37_0 158 | more-itertools=7.2.0=py37_0 159 | mpmath=1.1.0=py37_0 160 | msgpack-python=0.6.1=py37h74a9793_1 161 | msys2-conda-epoch=20160418=1 162 | multipledispatch=0.6.0=py37_0 163 | navigator-updater=0.2.1=py37_0 164 | nbconvert=5.6.0=py37_1 165 | nbformat=4.4.0=py37_0 166 | networkx=2.3=py_0 167 | nltk=3.4.5=py37_0 168 | nose=1.3.7=py37_2 169 | notebook=6.0.1=py37_0 170 | numba=0.45.1=py37hf9181ef_0 171 | numexpr=2.7.0=py37hdce8814_0 172 | numpy=1.20.1=pypi_0 173 | numpydoc=0.9.1=py_0 174 | oauthlib=3.1.0=pypi_0 175 | olefile=0.46=py37_0 176 | openpyxl=3.0.0=py_0 177 | openssl=1.1.1d=he774522_2 178 | opt-einsum=3.3.0=pypi_0 179 | packaging=19.2=py_0 180 | pandas=0.25.1=py37ha925a31_0 181 | pandoc=2.2.3.2=0 182 | pandocfilters=1.4.2=py37_1 183 | parso=0.5.1=py_0 184 | partd=1.0.0=py_0 185 | path.py=12.0.1=py_0 186 | pathlib2=2.3.5=py37_0 187 | patsy=0.5.1=py37_0 188 | pep8=1.7.1=py37_0 189 | pickleshare=0.7.5=py37_0 190 | pillow=6.2.0=py37hdc69c19_0 191 | pip=19.2.3=py37_0 192 | pixman=0.38.0=hfa6e2cd_1003 193 | pkginfo=1.5.0.1=py37_0 194 | plotly=4.11.0=pypi_0 195 | pluggy=0.13.0=py37_0 196 | ply=3.11=py37_0 197 | powershell_shortcut=0.0.1=2 198 | prometheus_client=0.7.1=py_0 199 | prompt_toolkit=2.0.10=py_0 200 | protobuf=3.13.0=pypi_0 201 | psutil=5.6.3=py37he774522_0 202 | pubchempy=1.0.4=pypi_0 203 | py=1.8.0=py37_0 204 | py-lief=0.9.0=py37ha925a31_2 205 | pyasn1=0.4.8=pypi_0 206 | pyasn1-modules=0.2.8=pypi_0 207 | pycairo=1.19.1=py37hd14c632_3 208 | pycodestyle=2.5.0=py37_0 209 | pycosat=0.6.3=py37hfa6e2cd_0 210 | pycparser=2.19=py37_0 211 | pycrypto=2.6.1=py37hfa6e2cd_9 212 | pycurl=7.43.0.3=py37h7a1dbc1_0 213 | pyflakes=2.1.1=py37_0 214 | pygments=2.4.2=py_0 215 | pylint=2.4.2=py37_0 216 | pyodbc=4.0.27=py37ha925a31_0 217 | pyopenssl=19.0.0=py37_0 218 | pyparsing=2.4.2=py_0 219 | pyqt=5.9.2=py37h6538335_2 220 | pyreadline=2.1=py37_1 221 | pyrsistent=0.15.4=py37he774522_0 222 | pysocks=1.7.1=py37_0 223 | pytables=3.5.2=py37h1da0976_1 224 | pytest=5.2.1=py37_0 225 | pytest-arraydiff=0.3=py37h39e3cac_0 226 | pytest-astropy=0.5.0=py37_0 227 | pytest-doctestplus=0.4.0=py_0 228 | pytest-openfiles=0.4.0=py_0 229 | pytest-remotedata=0.3.2=py37_0 230 | python=3.7.4=h5263a28_0 231 | python-dateutil=2.8.0=py37_0 232 | python-libarchive-c=2.8=py37_13 233 | python_abi=3.7=1_cp37m 234 | pytz=2019.3=py_0 235 | pywavelets=1.0.3=py37h8c2d366_1 236 | pywin32=223=py37hfa6e2cd_1 237 | pywinpty=0.5.5=py37_1000 238 | pyyaml=5.1.2=py37he774522_0 239 | pyzmq=18.1.0=py37ha925a31_0 240 | qt=5.9.7=vc14h73c81de_0 241 | qtawesome=0.6.0=py_0 242 | qtconsole=4.5.5=py_0 243 | qtpy=1.9.0=py_0 244 | rdkit=2020.03.5=py37h6c59b59_0 245 | requests=2.22.0=py37_0 246 | requests-oauthlib=1.3.0=pypi_0 247 | retrying=1.3.3=pypi_0 248 | rope=0.14.0=py_0 249 | rsa=4.6=pypi_0 250 | ruamel_yaml=0.15.46=py37hfa6e2cd_0 251 | scikit-image=0.15.0=py37ha925a31_0 252 | scikit-learn=0.21.3=py37h6288b17_0 253 | scipy=1.4.1=pypi_0 254 | seaborn=0.11.0=pypi_0 255 | selenium=3.141.0=pypi_0 256 | send2trash=1.5.0=py37_0 257 | setuptools=41.4.0=py37_0 258 | simplegeneric=0.8.1=py37_2 259 | singledispatch=3.4.0.3=py37_0 260 | sip=4.19.8=py37h6538335_0 261 | six=1.12.0=py37_0 262 | snappy=1.1.7=h777316e_3 263 | snowballstemmer=2.0.0=py_0 264 | sortedcollections=1.1.2=py37_0 265 | sortedcontainers=2.1.0=py37_0 266 | soupsieve=1.9.3=py37_0 267 | sphinx=2.2.0=py_0 268 | sphinxcontrib=1.0=py37_1 269 | sphinxcontrib-applehelp=1.0.1=py_0 270 | sphinxcontrib-devhelp=1.0.1=py_0 271 | sphinxcontrib-htmlhelp=1.0.2=py_0 272 | sphinxcontrib-jsmath=1.0.1=py_0 273 | sphinxcontrib-qthelp=1.0.2=py_0 274 | sphinxcontrib-serializinghtml=1.1.3=py_0 275 | sphinxcontrib-websupport=1.1.2=py_0 276 | spyder=3.3.6=py37_0 277 | spyder-kernels=0.5.2=py37_0 278 | sqlalchemy=1.3.9=py37he774522_0 279 | sqlite=3.30.0=he774522_0 280 | statsmodels=0.10.1=py37h8c2d366_0 281 | sympy=1.4=py37_0 282 | tabulate=0.8.7=pypi_0 283 | tbb=2019.4=h74a9793_0 284 | tblib=1.4.0=py_0 285 | tensorboard=2.3.0=pypi_0 286 | tensorboard-plugin-wit=1.7.0=pypi_0 287 | tensorflow=2.3.0=pypi_0 288 | tensorflow-estimator=2.3.0=pypi_0 289 | tensorflow-gpu-estimator=2.3.0=pypi_0 290 | termcolor=1.1.0=pypi_0 291 | terminado=0.8.2=py37_0 292 | terminaltables=3.1.0=pypi_0 293 | testpath=0.4.2=py37_0 294 | tinycss2=1.1.0=pypi_0 295 | tk=8.6.8=hfa6e2cd_0 296 | toolz=0.10.0=py_0 297 | torch=1.7.0+cu101=pypi_0 298 | torchaudio=0.7.0=pypi_0 299 | torchvision=0.8.1+cu101=pypi_0 300 | tornado=6.0.3=py37he774522_0 301 | tqdm=4.36.1=py_0 302 | traitlets=4.3.3=py37_0 303 | typing-extensions=3.7.4.3=pypi_0 304 | unicodecsv=0.14.1=py37_0 305 | urllib3=1.24.2=py37_0 306 | vc=14.1=h0510ff6_4 307 | vs2015_runtime=14.16.27012=hf0eaf9b_0 308 | wcwidth=0.1.7=py37_0 309 | webencodings=0.5.1=py37_1 310 | werkzeug=0.16.0=py_0 311 | wheel=0.33.6=py37_0 312 | widgetsnbextension=3.5.1=py37_0 313 | win_inet_pton=1.1.0=py37_0 314 | win_unicode_console=0.5=py37_0 315 | wincertstore=0.2=py37_0 316 | winpty=0.4.3=4 317 | wrapt=1.11.2=py37he774522_0 318 | xlrd=1.2.0=py37_0 319 | xlsxwriter=1.2.1=py_0 320 | xlwings=0.15.10=py37_0 321 | xlwt=1.3.0=py37_0 322 | xz=5.2.4=h2fa13f4_4 323 | yaml=0.1.7=hc54c509_2 324 | zeromq=4.3.1=h33f27b4_3 325 | zict=1.0.0=py_0 326 | zipp=0.6.0=py_0 327 | zlib=1.2.11=h62dcd97_3 328 | zstd=1.3.7=h508b16e_0 329 | --------------------------------------------------------------------------------