Pythonで原子・分子を3D可視化!ASE ase.visualize の使い方と設定方法 | スクラムとは 仕事が進まなく技術力もないリーダーのごっこ遊び

材料科学や計算化学の分野では、原子や分子の構造を可視化することが重要です。PythonASE (Atomic Simulation Environment) ライブラリには、ase.visualize モジュールがあり、簡単に3Dや2Dで分子を描画できます。

この記事では、macOS環境で ase.visualize を使って原子・分子を可視化する方法を解説します

Pythonで原子・分子を3D可視化!ASE ase.visualize の使い方と設定方法

1. ASE のインストール

まず、ASE ライブラリをインストールします。macOSにはPythonが標準搭載されていますが、pip を使って ASE を導入しましょう。

Homebrew と Python 環境の準備

もし pip がインストールされていない場合は、以下のコマンドでHomebrewとPythonをセットアップします。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install python3

ASE のインストール

次に、以下のコマンドで ASE をインストールします。

python3 -m pip install ase pyqt6 matplotlib

💡 pyqt6ase.gui を使うために必要です。
💡 matplotlib は 2D プロットを行う際に使用します。


2. ase.visualize.view() を使って3D可視化

ase.visualize.view() を使うと、分子の3D構造をインタラクティブに表示できます。

水分子(H₂O)の3D表示

以下のPythonスクリプトを作成し、実行すると ASE GUI ウィンドウが開いて、水分子が表示されます。

from ase import Atoms
from ase.visualize import view

# H2O 分子を作成
h2o = Atoms('H2O', positions=[(0, 0, 0), (0.76, 0, 0), (0.38, 0.65, 0)])

# 可視化
view(h2o)

Pythonで原子・分子を3D可視化!ASE ase.visualize の使い方と設定方法

3Dビューアの操作方法

  • マウス左クリック: 分子を回転
  • マウス右クリック: ズームイン・アウト
  • マウスホイール: 拡大・縮小

3. ase.visualize.plot() を使った2D可視化

次に、Matplotlibを使って2Dプロットを作成してみましょう。

二酸化炭素(CO₂)分子を2D描画

ase.visualize.plot() を使うと、分子構造をMatplotlib上にプロットできます。

import matplotlib.pyplot as plt
from ase.build import molecule
from ase.visualize import plot

# CO2 分子の作成
co2 = molecule('CO2')

# 2Dプロット
fig, ax = plt.subplots()
plot.plot_atoms(co2, ax=ax)
plt.show()

🎨 Matplotlibのウィンドウが開き、CO₂の分子構造が2Dで表示されます!

 

4. 外部ツール (VMD, Avogadro) での可視化

ASEを使えば、XYZ 形式で保存して、他の可視化ソフトウェア(VMD, Avogadro)でも開けます。

from ase.io import write

# CO2 分子を作成
co2 = molecule('CO2')

# XYZ形式で保存
write('co2.xyz', co2)

XYZ形式で保存

5. 結晶構造の3D表示

ase.build.bulk() を使うと、結晶構造の作成も簡単です。

from ase.build import bulk
from ase.visualize import view

# アルミニウムの面心立方(FCC)結晶
al_bulk = bulk('Al', 'fcc', a=4.05)

# 3D表示
view(al_bulk)

 

6. まとめ

ase.visualize を使うことで、macOS環境で原子や分子を直感的に可視化できます。

方法 使い方 メリット
view() ase.gui で3D表示 直感的な操作が可能
plot() Matplotlibで2D描画 画像として保存しやすい
write() & VMD .xyz 形式で保存してVMDで開く 高度な可視化が可能

さいごに

ASEase.visualize を使うと、Pythonだけで分子や結晶を手軽に可視化できます。
macOS環境でも問題なく動作し、ase.gui を使えば3Dで直感的に分子を操作可能です。