あるケミストの独り言(winchemwinの日記)

ケミスト(化学者)の視点で、面白そうな情報(シミュレーション関係など)を発信

分子軌道情報(HOMO/LUMO)自動算出アプリ(CustumTkinter) その1

 データサイエンスの活用が進むにつれて、機械学習用のデータの入手、作成の重要性が増してきているように思います。最近では学習用データとして、実験データだけでなく計算機シミュレーションの活用が進められてきています。計算データは実測データよりも比較的容易に得られますが、それでも学習用に多量のデータを準備するとなるとかなりの手間がかかってきます。このような背景から既存のSMILESデータ群のデータに対して、量子化学計算を行い、構造最適化、物性算出を行うアプリを作成してみました。

分子軌道情報算出アプリの画面

 HOMO/LUMO軌道のエネルギーは各種材料設計の際にもよく参考にされるデータかと思いますので、一つめは軌道情報の自動計算アプリを作成してみました。アプリ化に関しては、Tkinterを少しスタイリッシュにできるCustumTkinterを使ってみました。
 まずは必要なライブラリーのインストールです。

import customtkinter as ctk
import tkinter as tk
from tkinter import ttk
from tkinter import StringVar, messagebox
from turtle import onclick
from tkinter import filedialog
import numpy as np
import pandas as pd
from numpy import matlib
from tkinter.ttk import Entry
import psi4
from  rdkit import rdBase, Chem
from rdkit.Chem import AllChem 


アプリ化用としてcustomtkinterに加えて適宜使い分ける可能性もあるため、tkiinterもインストールしています。あとはデータ処理に必要なnumpy, pandas, 化学構造処理に必要なrdkitもインストールしています。量子化学計算はPythonコードで利用可能なこれまでのブログでも紹介してきましたpsi4を利用しています。

今回は以上になります。次回以降処理関数の設定などについて紹介してゆきたいと思います。