{"cells":[{"metadata":{},"cell_type":"markdown","source":"# Install rdkit environment"},{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"!conda install -y -c rdkit rdkit","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"import pandas as pd\nfrom tqdm.auto import tqdm\ntqdm.pandas()\n\nimport cv2\nimport matplotlib.pyplot as plt\nimport numpy as np\n\n\nfrom rdkit.Chem import Draw,MolFromInchi","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# read_csv\nuse @yasufuminakama 's script (https://www.kaggle.com/yasufuminakama/molecular-translation-naive-baseline). Thanks!"},{"metadata":{"trusted":true},"cell_type":"code","source":"train = pd.read_csv('../input/bms-molecular-translation/train_labels.csv')\n\ndef get_train_file_path(image_id):\n    return \"../input/bms-molecular-translation/train/{}/{}/{}/{}.png\".format(\n        image_id[0], image_id[1], image_id[2], image_id \n    )\n\ntrain['file_path'] = train['image_id'].progress_apply(get_train_file_path)\n\nprint(f'train.shape: {train.shape}')\ndisplay(train.head())","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# Convert from InChI to Image"},{"metadata":{"trusted":true},"cell_type":"code","source":"for i in range(10):\n    mol_data = train.iloc[i,:]\n    print(\"image_id: \"+mol_data[\"image_id\"])\n    \n    # \n    mol = MolFromInchi(mol_data[\"InChI\"])\n    display(Draw.MolToImage(mol))\n    \n    image = cv2.imread(mol_data[\"file_path\"])\n    plt.imshow(image)\n    plt.show()","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat":4,"nbformat_minor":4}