前回Anacondaのインストール方法を説明したと思うので、今回その応用方法の一つである
プログラミングによって化学構造式を描く方法を解説します。
まず私はプログラミングは様々な教材を用いて勉強しているのですが、化学に関しては特にこれがおすすめです。
この本で紹介されているプログラミングにSmilesを用いて構造式を自動的に描画してくれるコードが載っています。
(Smilesとは構造式を一次元的に文字の羅列のみで表したものであり、例えばアラニンの場合はO=C(O)C(N)Cとなる)
そこでプログラミングしてアラニンを表示させてみましょう。
まずは構造式を扱う場合は、rdkitというライブラリをダウンロードしなければなりません。
(これをしないと後のコードを打ち込んだ場合に、エラーが起きます。eg. ModuleNotFoundError: No module named 'rdkit')
このエラーはrdkitという名前のモジュールがないことを示しています。
そこで、これらをダウンロードすれば解決するわけなのです。
ダウンロード方法はこちらのサイトで詳しく解説されています。1)
まとめると、
[1]ターミナルを開きます。
[2] conda install -y -c rdkit rdkit
と入力するだけになります。
失敗した場合についての対処法も、詳しく解説されているので参考までに。
====================================================
【補足】:rdkitはpython3.9の環境で動かない可能性があるので、condaでpython3.7などの仮想環境を作成してそこで動かした方が良いです2)。ちなみに筆者は3.7で動かしています。
conda create -c rdkit -n your-rdkit python=3.7 rdkit
上記のコードでは'your-rdkit'という名前のpython3.7で動く仮想環境を作り出しています。
そうすることでAnacondaを開いた時に
上記のように環境を選択できるようになるので、your-rdkitを選択し、spyderを起動すると
python3.7が使えるようになります。以上補足でした。
====================================================
さて、rdkitのライブラリをインストールできた場合はAnacondaを用いてプログラミングしていきます。
まずはAnacondaを起動させ、spyderなどのソフトを起動させます。
次に下記のようなコードを入力します。
よってSmilesが分かれば、構造式を自動で描くことが可能となりました。
(調べてみると意外とSmilesが載っていることが多いです)
ちなみに画像を保存する場合は、
img.save('ファイル名.jpeg')
と上記のコードの最後に付け加えることで、保存することが可能です。
(/Users/ユーザー名/documents(フォルダ名)/(ファイル名).jpeg などにすることで保存する場所を指定することができます。)
それでは今回はここまで。
【参考文献】
1) https://datachemeng.com/rdkit_install_import/
2) https://future-chem.com/rdkit-intro/
プログラミングによって化学構造式を描く方法を解説します。
まず私はプログラミングは様々な教材を用いて勉強しているのですが、化学に関しては特にこれがおすすめです。
この本で紹介されているプログラミングにSmilesを用いて構造式を自動的に描画してくれるコードが載っています。
(Smilesとは構造式を一次元的に文字の羅列のみで表したものであり、例えばアラニンの場合はO=C(O)C(N)Cとなる)
そこでプログラミングしてアラニンを表示させてみましょう。
まずは構造式を扱う場合は、rdkitというライブラリをダウンロードしなければなりません。
(これをしないと後のコードを打ち込んだ場合に、エラーが起きます。eg. ModuleNotFoundError: No module named 'rdkit')
このエラーはrdkitという名前のモジュールがないことを示しています。
そこで、これらをダウンロードすれば解決するわけなのです。
ダウンロード方法はこちらのサイトで詳しく解説されています。1)
まとめると、
[1]ターミナルを開きます。
[2] conda install -y -c rdkit rdkit
と入力するだけになります。
失敗した場合についての対処法も、詳しく解説されているので参考までに。
====================================================
【補足】:rdkitはpython3.9の環境で動かない可能性があるので、condaでpython3.7などの仮想環境を作成してそこで動かした方が良いです2)。ちなみに筆者は3.7で動かしています。
conda create -c rdkit -n your-rdkit python=3.7 rdkit
上記のコードでは'your-rdkit'という名前のpython3.7で動く仮想環境を作り出しています。
そうすることでAnacondaを開いた時に
上記のように環境を選択できるようになるので、your-rdkitを選択し、spyderを起動すると
python3.7が使えるようになります。以上補足でした。
====================================================
さて、rdkitのライブラリをインストールできた場合はAnacondaを用いてプログラミングしていきます。
まずはAnacondaを起動させ、spyderなどのソフトを起動させます。
次に下記のようなコードを入力します。
from rdkit import Chem
from rdkit.Chem import Draw
import matplotlib.pyplot as plt
import matplotlib.image as mpimg #下記のコードを実行させるのに必要
molecule = Chem.MolFromSmiles('O=C(O)C(N)C') #アラニンのSmilesの式を入力しています
Draw.MolToFile(molecule, 'molecule.png') #Smilesの式をMolファイルに変換しています
img = mpimg.imread('molecule.png') #Molファイルを画像ファイルに変換しています
plt.xlabel('structure') #x軸のラベルに'structure'を表示させています
よってSmilesが分かれば、構造式を自動で描くことが可能となりました。
(調べてみると意外とSmilesが載っていることが多いです)
ちなみに画像を保存する場合は、
img.save('ファイル名.jpeg')
と上記のコードの最後に付け加えることで、保存することが可能です。
(/Users/ユーザー名/documents(フォルダ名)/(ファイル名).jpeg などにすることで保存する場所を指定することができます。)
それでは今回はここまで。
【参考文献】
1) https://datachemeng.com/rdkit_install_import/
2) https://future-chem.com/rdkit-intro/
コメント