分子軌道法を行うためのLinuxの導入 (あくまで参考です; 学生の頃は歯を折るほどプログラミングをギシギシやっていましたが、今はのんびりPCをやっています)
- 1つの目標は Linuxで分子軌道法を動かす - (最終的には脱MS-Windows)
今や分子軌道法が手元にあるPCで計算できる! 40年前大学の時、大型コンピュータで精度の悪い分子軌道法
Extended Huckel method で計算していたのと比べてだいぶ進歩したのに驚いています。 付属研究所でやろうとしていた
CNDO/MINDO での錯体分子の分子軌道計算ができるようになっている! → 計算するために
LINUX を使ってみようということから始めました。 Ghemical
でPCのディスプレーに分子を描いて回転させて眺める・・・そんなことから思いつくことがあります。 また、LINUX
はほとんど英語の世界なので、この世界に入って何とか知ってやろうと思ってやっていたら英語力もupするかもしれません。老輩の場合、老化防止になるかもしれません。
もしかして、このページを開けた人に化学企業で化学化合物の開発をやっている人がいた場合、化審法で生分解試験を予測するのにMOPAC計算を使えないか という流れがあります(2000年代は話が盛り上がったようです)。MOPAC
の使い方を知って損はありません。化合物合成をトレースするには時間とテクニックが必要、合成方法について文書を読んでも間違いを指摘できるか微妙なことがあります。それらの点をカバーできるのがMOPAC等の分子軌道法による計算と考えられているようです。もちろんドラッグデザインの一方法としても使えます。
土器の焼成をMOPACで計算する詳細な方法については別頁に書きました。いろんな人が体験できるよう、MS−Windowsでできるよう、グラフィックツールはWINMOSTARを用い、MOPAC7をWINMOSTARから自動的に動かす方法を紹介しました。
1.システムの構築
1-1. Linux専用のPCを動かす
本体5万円程度の安価なデスクトップPCを使う。理由は下記。
MS-WindowsのvirusがPCに被害を及ぼすことを警戒する、その逆も真
MS-Windowsのコマンドプロンプトで動かすというような安易な方向にに行かない(どうしてもMS-Windowsでやりたい人には合っているが)
システムが問題なく動くようになった後はLINUXとMS-Windowsのデュアルブートにしてもいいが
MS-Windowsのコマンドプロンプトで動かすと簡単なようで一方
path に問題あり(Winmostarを使い始めたら問題なく動きました。Winmostarの
install は細かいところまでやってくれたようです。)
→ 専用PCとしてドスパラ製Regulus(CPU:AMD)を購入、ディスプレーは家庭用TV(単身赴任用)を使用(画像の質はやや悪く、PCを使う時はTVを見れないという欠点はありますが)
(20年前は自作PCとして安価を売り言葉に販売していましたが最近は信頼性が充分になっているようです。1日に5時間以上 ひどい時は20時間近く 2年以上使っていますがハード的なトラブルなし。)
→ 当初、ビデオカードを入れないで使っていましたが(CPUに内蔵されているグラフィックdeviceでやっていた)、LinuxであるUbuntuは動きませんでした(Debianは動きました)。問題があったようです。安価な(3000円台の汎用)ビデオカードを入れたらUBUNTUも動くなるようになりました。
1-2.. ディストリビューションの選択
OSであるLinuxを簡単に動かすためのソフトをディストリビューションと言っている
このことはOSであるMS-DOSでPCを動かしているソフトであるMS-Windowsと同じ
LINUXには数十のディストリビューションがある
小輩はディストリビューションとして「DEBIAN」を選んだ、その理由は
パケージ(簡単にインストールできるソフト)が豊富、設定に環境の規定が緩やか
Puppyのような軽いデストリビューションだとフリーズ等が多く信頼性が低く、Ubuntuのような重いディストリビュ-ションだと設定に規定が多い(UEFI/レガシの問題)
ディストリビューションにUBUNTUがあります。UBUNTUをインストールして使ってみましたが、分子軌道法(MOPAC)の入出力を行うためのグラフィックツールがうまく動かない、パッケージに分子軌道法関連のソフトが少ない という問題があり、インストール後1週間でアンインストールしました。何回かUbuntu
⇔ Debian の install / uninstall
をやっていますがUbuntuでは思っているようには動きませんでした。分子軌道法を使わなければUbuntuはいいのですが、小輩のように分子軌道法メインだとあっていません。Ubuntuで問題なく動くグラフィックツールを探せばいいのかもしれませんが。(Linuxの表計算/ワープロ/データベース/日本語変換
ソフトはMS-Windowsのソフトを使い慣れすぎている小輩にとって機能がかなり劣っています。蛇足ですが、MS-Windowsの日本語変換ソフトIMEは旧AIソフト社のA-WAORDのWXソフトを買収したものという噂を聞いたことがあります。いたれりつくせりのコンパクトなソフトでした。MS社は3K社の「松」やJust
Systems社の「一太郎」の技術ではなくAI社のWXを評価したと想像しています。)
2017/4時点で、Linux PCはDebianとUbuntuのデュアルブートにしていて、時々Ubuntuを動かしています。Ubuntuを使っていると、バックグラウンドで処理をしていることがあって動作が極端に遅くなることがあります。Debianではそのようなことがない。分子軌道法のような計算をやるにはDebianがあっていると思っています。Debianmp悪い所は周辺機器との接続が悪い点と遊びソフトが比較的少ない点。それらを重視したらUbuntuがいいかもしれません。小輩、スキャナ/プリンタはDebianで設定していません。DebianとUbuntuでデータを共有化できるので問題なしと思っています(スーパーユーザーの権限が必要ですが)。
Debianもversionによって使いたいソフトがパッケージにないといったことがあって、小輩がたまたま使ったversionが良かったということがありました。小輩が使っているのはversion7.8.0
パッケージとして「synaptic」をインストールして使えばUBUNTUでも異なるversionのDebianでもインストールできることがわかりましたが、UBUNTUではインストールしたソフトが動かないという結果でした。
1-3.. セキュリティ
インストール時に暗号化することを勧めます。選択で暗号化をインストールできるようになっています。
Debianが勧めるファイアウォールの設定も一応必要です。Linuxは簡単には侵入できないようになっていますが、小輩はソフトunfwを使っています。
リナクッスには多くのセキュリティ方法があります(マニアックなレベルまであります)。納得のいくレベルまでやってください。
小輩は分子軌道法に関係するソフトだけリナックスのPCにダウンロードするようにしています。 使い始めて2年たち分子軌道法で一段作就いたのでいくつかのソフトを試しています。
メールをリナックスPCで開けることもありますが、原則として読むたけ。送信するときは書式をテキストとして送っています。
1-4.. グラフィックツールにGhemicalを選択
MOPAC等の量子化学計算ソフトは計算だけで座標入力、計算結果にグラフィック表示ができない
GhemicalはMOPAC等の入力/出力ツールとして使える
半経験的分子軌道法だけでなく、ab initio、量子力学の入出力ができる
設定が容易
コマンドが直感的でマニュアルをそれほど読まなくても動かせる。
但し、バグがあって、それが長年修正されていないようで限界の可能性あり、限界に遭遇した場合、他のツールを探す
(多種のソフトに対応できるよう種々出力フォーマットが用意されているが、フォーマット選択に手間がかかっている
→ 小輩の場合MOPACのフォーマットだけが必要なので、機能を小さくすることを検討中:ソフトをいじれる楽しみがLinuxにあります;小輩、大学時代はFortranでプログラミングをすることが遊びでした。企業に就職後、種々ソフトのマクロ/VBS/SQL/Basicをやることが普通の人がゲームをやるのと同じ遊びでいましたが)
2017/4の時点ではGemicalに限界を感じていませんが、フリーウェアAbogadroをインストールして時々使っています。使い勝手はまあまあ。いい点があれば乗り換えるかもしれません。また、ビュアーに見栄えがいいのがありますが、計算結果の数値に関心があるので使おうとは思わない段階です。
1-5. 分子軌道法としてMOPAC7を選択
初級レベルでは一昔前の半経験的分子軌道法のAM1/PM3で充分
free wareのMOPAC7はAM1/MIND0/PM3ができる (MOPACではMINDOはMNDOと"I"がない形で使われています)
研究が進み、MOPAC7が不充分と考えられた場合、有償MOPACやab
initio、高速PCを用いればいい
1-6. 分子軌道法を何に役立てる?
(ここからが個人/学校/企業の創造力/判断)
土器づくりで分子軌道法を使うことを考えると、焼成温度と焼成時間の関係。粘土の代表的成分・長石の脱水反応を計算する? こんな風に分子軌道法を考えています。
小輩の興味は計算の結果ではなく、プログラミング。グラフィックソフトや分子軌道法ソフトを改良することなので、そちらに向かいと思います。普通の人は結果に興味があると思うので、面白い結果を出すこともやります。だれも関心を持たないことをやっても仕方がないので。
2. 個々ソフトのインスト-ル
2-1 Debianのinstall
MS-Windowsで動いているPCにDebian
install用CDをセットする゙
CDにinstall用Debianを焼き付ける
PCのbootをCD立上げにしてPCを立ち上げる (Debianの場合、リガシーで可能)
HDのうちDebian (LINUX)領域を設定する(全域をLinuxにすることを勧める;一般的Debian説明には別のソフトで領域確保を勧めている)
installが終了したら、Debianの諸機能が使えるようになっていることを確認
2-2 Ghemicalのinstall
DebianのパッケージにGhemicalがあることを確認
Ghemicalのパッケージをinstallする(関連ソフトが同時にinstallされる)
2-3 M0PAC7のinstall
DebianvのパッケージにMOPAC7があることを確認
Mopac7のパッケージをinstallする(関連ソフトが同時にinstallされる)
3. Gemicalの使い方
3.1. Ghemicalの日本語マニュアル
Ghemicalのユーザーマニュアルの日本語訳を示します (直訳的なので簡単マニュアルはここをクリック)
(あくまで参考です。WORD等に貼り付けて、画像を原本からコピーして、間違えなどを修正して使ってください。)
(原本はGhemicalの"パッケージ"に入っています。)
(小輩のPCの場合、ファイルのシステム/usr/share/ghemical/3.0.0/user-docs
htmlにinstallされていました。但し、ver.2.00のマニュアルでした)
4. MOPAC7の使い方
4-1 MOPAC7の入力方法
4-1-1. キーワードの入力:Z-matrix入力欄の上3行の第1行目
1) M0PAC7の機能のどれで計算するかを指定する。例えばキーワード「PM3」でPM3のハミルトニアンを使う。
2) 複数のキーワードは空白で区切る
3) 大文字/小文字はどちらでも機能は同じ
4) 1行で収まらない時は、最終文字を″十″とすることで次行がキーワード行になる
5) キーワードの使用方法はマニュアル/使用例を参考にして試行錯誤する
6) よく使用されるキーワード
PM3
ハミルトンとしてPM3と指定(MOPAC7ではAM1、MINDO/3、PM3がハミルトンとして使える)
PRECISE
SCF終息の閾値を小さくして計算する
SYMMETRY 原子間距離/結合角/二面角について対象に計算(項目6に独立項として記述)
FORCE
振動計算を行い遷移状態をチェックする。結果をxyz方向の振動数の値として出力
TS
ミニマムエネルギパスで概算し、概算値を初期値としてこのキーワードで遷移状態を求める
SADDLE
遷移状態を探索するための初期構造を探す。SADDLE計算に用いる2つのZ-matrixは同じ順序/同じ結合様式でなくてはならない。「SADDLE」と「xyz」を併用するのが一般的
VECTORS 最終固有ベクトルを表示する (ある固有エネルギにおける電子密度の分布の表示
; ハートレーマトリックス行列の解であるベクトル)
BONDS 最終結合度マトリックスを表示する (各原子間の電子密度を表すマトリックス)
4-1-2. コメントの入力:Z-matrix入力欄の上3行の第2、3行目
1) M0PAC7の機能に影響することはない
2) 計算内容を表す記述をする
4-1-3. 分子構造座標等の入力:
内部座標で入力 (カーテシアン座標(xyz)で入力することもできるが、その方がかえって難しい)
元素名/座標/フラッグ/結合関係を示す配列を
Z-matrix と呼んでいる。
下に示すのはMOPAC様式の Z-matrix。 例えば、GAMESSにはGAMESS様式の
Z-matrix がある。
. 1) Z-matrix例(例は判りやすいように揃えているが、入力データは空白で区切られている(Tabではだめ)だけで機能する)
2) 原子の番号と結合距離/結合角/二面角の入力
@ 反応の中心などの原子を1番にする
A 結合している骨格の一員になる原子を2番にし、原子間の距離をÅで入力する
B 原子の番号2と結合している原子の番号を3とし、2との距離、3-2-1の結合角を入力する
C 4番以降は当該原子-N1の距離、当該原子-N1-N2の結合角、当該原子-N1-N2-N3が作る二面角を入力する
3) 元素名
@ M0PAC7が各ハミルトニアンでパラメータを用意している元素の名称を入力する。
A 計算上、原子の座標に問題がある場合、ダミー原子(X)を入力する時がある。
4) FL : 最適化フラッグ、下記の数値のどれかを入力する.。
構造最適化の時は分子の対称性を考慮した上で”1”を多用するが、遷移状態で計算する時は構造を変えないモイエティは最適化フラッグを”0”にするなど、最適化フラッグをどうするか熟慮する。
@ =1 : 最適化する
A =O : 最適化しない
B =−1: ミニマムエネルギーパスの計算を行なう
5) N1、N2、N3 : 当該原子番号以前の番号を参照する
@ N1 : 結合距離の対象になった原子の番号
A N2 : 結合角の対象になった原子の番号
B N3 : 二面角の対象になった原子の番号
4-2. ミニマムエネルギーパス計算の距離変数値の入力等:Z-matrix入力欄の下に行を入力する
1) 遷移状態を探索する際に距離フラッグを-1にして複数の原子間距離を入力する
2) 〃 二面角フラッグを-1にして複数の角度を入力する
4-3 キーワード 「SYMMETRY」 の使い方
4-3-1. 説明
SYMMETRYデータはZ-matricsの後に置かれる。もしミニマムエネルギの反応座標やSADDLEの第2データのような
他のデータがある場合、SYMMETRYのデータはそれらの後に置く。
SYMMETRYのデータの並べ方は次のようである
指定原子、 SYMMETRY関係、 指定原子、 指定原子、 指定原子、 指定原子、 ・‥
SYMMETRY関係 SYMMETRY機能
上記関係のうち1、2、3、14が良く使われる
SYMMETRYを使う時はカーテシアン座標を使わない
関係18はポリマーで使うために作られたもの
4-3-2. SYMMETRYの例
エタンを例としてSYMMETRYをキーワードににした場合の入力方法を示す
SYMMETRY
Ethan、D3D
3 1 4 5 6 7 8
3 2 4 5 6 7 8
解説: @原子の番号3と同結合距離を原子の番号4,5,6,7,8、の原子に設定する
A原子の番号3と同結合角を原子の番号4,5,6,7,8、の原子に設定する
B原子の番号4,5,6,7,8の原子の結合距離/結合角/二面角は変えない
4-4 キーワード 「SADDLE」 の使い方
PM3/AM1/MNDOについてSADDLEで遷移状態を探した。
UHF GEO-OK SADDLE
ラジカル引抜反応
4-5 キーワード 「TS」 の使い方
1) | ミニマムエネルギ法で得た概算値を初期値としてより正確な遷移状態を与える座標/生成熱を求める |
2) | この反応について、pm3では遷移状態に候補となる構造は得られなかった。 MNDO についてTSの計算を行なった。 |
SYMMETRY UHF GEO-OK TS
ラジカル引抜反応
C | 0.00 | 0 | 0.0 | 0 | 0.0 | 0 | 0 | 0 | 0 |
H | 1.29 | 1 | 0.0 | 0 | 0,0 | 0 | 1 | 0 | 0 |
H | 1.10 | 1 | 106.0 | 1 | 0,0 | 0 | 1 | 2 | 0 |
H | 1.10 | 0 | 106.0 | 0 | 120.0 | 0 | 1 | 2 | 3 |
H | 1.10 | 0 | 106.0 | 0 | -120.0 | 0 | 1 | 2 | 3 |
H | 2.14 | 1 | 106.0 | 0 | 0,0 | 0 | 1 | 3 | 2 |
3 1 4 5
3 2 4 5 6
4-6 キーワード 「FORCE」 の使い方
TSで得られた遷移状態で振動を求める。虚の振動を示せば遷移状態
SYMMETRY UHF GEO-OK FORCE
ラジカル引抜反応
C | 0.00 | 0 | 0,0 | 0 | 0.0 | 0 | 0 | 0 | 0 |
H | 1.27 | 1 | 0.0 | 0 | 0.0 | 0 | 1 | 0 | 0 |
H | 1.10 | 1 | 105.8 | 1 | 0.0 | 0 | 1 | 2 | 0 |
H | 1.10 | 0 | 105.8 | 0 | 120.0 | 0 | 1 | 2 | 3 |
H | 1.10 | 0 | 105.8 | 0 | -120.0 | 0 | 1 | 2 | 3 |
H | 2.14 | 1 | 105.8 | 0 | 0.0 | 0 | 1 | 3 | 2 |
3 1 4 5 6
3 2 4 5 6
虚の振動モードが1つ(2402i cm-l)得られた → 遷移状態と判断できる
ROOT NO. 1 2 3 4 5
6 7 8 9 10
-2402 481 481 1167 1167
1413 1431 1431 1611 3326
ROOT NO. | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
3326 | 3358 | 0 | 0 | 0 | 197 | 80 | 80 |
5. GhemicalとMOPACのデータ交換
5-1. Ghemical→MOPAC
0) Debianデスクトップの左上にある「アプリケーション」でクリック、アプリケーションの分類のリストが表れる。
ポインタを「科学」に置くとインンストールされているソフトのリストが表れる。「gemical」をクリック。Ghemicalの画面が表れる。
1) 画面上で分子を組み立て(Ghemicalマニュアル参照)る。簡便な構造最適化を行なう(分子力学法)
2) 右クリックでリストが表れるので「File」にポインタすると右にリストが表れる。
そのリストから「Export」をクリック、ファイル書式から「MOPAC
internal」をクリック、化合物名を入力してOKをクリックする。
3) Ghemicalを閉じる(MOPAC様式Z-matrixがファイルに保存された)。
4) ディスクトップの左上にある「場所」をクリック、ディレクトリの内容を表すWindowが開く。
小輩の設定だとディレクトリ「ホーム」にファイルFOR005が保存されている。
MOPAC7入力ファイル“FOR005”に2)で得られたZ-matrixをコピー
5) Z-matrixの前にキーワード/コメントを入力、後にpoint値(変化値)を入力しで"FOR005”を保存
5-2. M0PAC7処理
0) デスクトップの左上にある「アプリケーション」をクリック。
ポインタを「アクセサリ」に置くとリストが表れて「端末」をクリック。コマンドプロンプトの画面が表れる。
1) 「/usr/lib/mopac7/mopac7 >FOR006」を入力することでMOPAC7が起動。
F0R005に入力された化合物についてキーワードで入力した計算を開始
(小輩がMOPAC7をinstallしたケースではMOPAC7起動コマンドはディレクトリ「/usr/lib/mopac7/」になり、ファイル
「F0R005」はディレクトリ「ホーム」にあった。 ディレクトリ「ホーム」はユーザーディレクトリのrootディレクトリ)。
2) MOPAC7では入出力ファイルのファイル名を次の様に既定している。
3) 問題がなければプログラム終了。エラーが出たら対処する。
4) F0R005が保存されていたディレクトリと同じディレクトリに計算結果としてファイルFOR006/FOR009/FOR010/FOR011/FOR012に出力される。
5) MOPAC7を終了する
6) FOR006のファイル名を計算内容に変更して関係ファイルが保存されているディレクトリに移動して保存する。
(MOPACでは入力ファイル/出力ファイルの名前をFOR005〜FOR012に決めて使っている)
(入力用/出力用アプリケーション(小さいプログラム)を作って作業を簡単にすることができるがここでは基本的な使い方を述べる)
5-3. MOPAC→ Ghemical
1) Ghemicalを起動する。
2) 項目2.6)で作成したファイルをインポートする(左クリック、ファイル→インポートクリック、「MOPAC
internal」を クリック)
3) イ匕合物の画像を眺める
9. 参考文献/URL
MOPAC7を使い始める時には 4)、101) が役に立ちました。 103)
はちょっとしたテクニックを知ることができました。
1) | 「計算化学入門」大沢映二等著 講談社サイエンティフィック |
2) | 「量子化学入門」米沢貞次郎等 化学同人 |
3) | 「分子軌道法MOPACガイドブック」 平野恒夫等 海文堂 |
4) | 「計算化学実験」堀憲次等 丸善 |
5) | 「Approximate Molecular Orbital Theory」Pople & Beveridge McGraw-Hill |
6) | 「The molecular Orbital Theory of Organic Chemistry」M.J.S. Dewar McGraw-Hill |
7) | 「Debian 徹底入門」武藤健志 翔泳社 |
8) | 「Linuxシステム[実践]入門」沓名亮典 技術評論社 |
9) |
101) | http://jn1inl.blog77.fc2.com/blog-entry-1074.html 「LinuxにMOPAC導入」 |
102) | http://www.mlb.co.jp/linux/science/ 「Linuxで科学をしよう」 |
103) | http://jn1inl.blog77.fc2.com/blog-entry-1086.html <紙>さんLog |
以 上
【参考】 ; ghemical と MOPAC7の使い方例です。 HOMO、LIMOを見るのが本来の分子軌道法ですが、参考まで。
土器焼成のMOPAC計算
やや大きい分子の計算例
共重合の計算で得られること/限界
ALの定着性 固有ベクトル計算結果を見て考える、 土器づくり/陶芸をする時に白い衣服はご注意を
結合の強さを調べる
トップページに戻る