PC GAMESSのための新しい計算化学統合環境Facioの開発

末永 正彦


Return

1 はじめに

近年、商用の計算化学統合環境の価格が高くなってきたため、教育用としてまとまった数を導入しようとする場合や個人で計算化学の勉強を始めてみようとする場合、財政的な理由で困難なことがある。この問題を解決するためには、フリーな計算化学の環境の整備が必要である。しかしながら、一口に計算化学と言っても、分子動力学、分子力学、分子軌道法など色々な計算法が存在する。また分子軌道法に限っても数多くの計算ソフトが存在し、その入出力形式も各ソフトに特化したものが多いことやOSの違いの問題もあるため、フリーな計算化学の環境を整備するためには、いくつかの異なるアプローチが考えられる。その一つは、上述の計算化学の状況を鑑み、できるだけ多くの計算化学ソフトの入出力形式および色々なOSに対応することである。このアプローチをとっている代表的なものがMolda[1]である。また、いくつかの広く用いられている化学ソフトに絞って対応するアプローチも考え得る。その様なソフトの一つがDMostar[2]であり、MOPAC[3]、GAMESS[4]、Gaussianに対応している。以上のソフトは、独自のモデリング機能を有し、また計算結果の可視化に関しては独自に実装したり、Molekel[5]等の可視化ソフトと連携することで計算化学のフリーな統合環境を提供している。
本論文で述べるFacioは、上述のソフトとはやや異なり、Windows上で稼動するフリーの分子軌道計算プログラムPC GAMESSに特化したプリポスト機能を中心にした環境を作るというアプローチを取った。ある特定の計算ソフトについて見た場合でも、その出力形式は計算の種類によりさまざまであり、それらに対応するためには一つの計算ソフトに特化した方が良いと考えたからである。また、モデリングや可視化機能については、より柔軟で発展性のある環境にするため、他のソフトに依存することなく自前で実装した。

2 システムの概要

2. 1 開発環境と実行環境

開発は、Windows 98SE あるいはXP上でDelphi (Ver.6)[6]を用いて行い、動作はWindows 98SE, Me, NT, 2000, XP上でチェックした。Delphiを選んだ理由は、フリーであること、実行速度がC言語と比べて遜色ないことそしてGUIが作り易いことである。描画ライブラリとしては、Windowsのシステム標準ライブラリであるOpenGLを採用している。 Facioと連携する外部プログラムは、PC GAMESS、MSMS[7]、Tinker[8]であり、これらは別途ダウンロードする必要がある。

2. 2 ソフトウェア概要

Figure 1に示すように、Facioは、分子モデルや分子軌道のローブ等を表示するメインパネルと文字情報を表示するメッセージパネルから構成されている。分子のモデリングは表示される分子モデルに対してマウスを介して対話的に行われ、入力データの作成はGUIを通して必要なパラメータを変更するだけで適切なものが作成されるようになっている。また、構造最適化の計算結果は表示されているモデルに直ちに反映させることができる。メッセージパネルには、数値データや計算の進行具合などFacioからのものだけでなくGAMESSからのエラーメッセージも表示される。


Figure 1. Main panel and message panel of Facio.

2. 3 分子のモデリング

Facioは分子構造ファイルのフォーマットとしてPDB(Protein Data Bank)形式を採用している。これは、核酸やタンパク質などの生体高分子のみならず通常の有機分子、遷移金属錯体などにも適用できる分子構造形式であり、他の多くのソフトウェアでもサポートされている互換性の良い形式であるためである。プログラム内部では常にPDBのHETATM/CONECTレコードを保持・更新している。モデリングは、水素原子を何らかの置換基で置き換える操作が基本になっている。このモデリング形式は、プラスチックでできた分子モデルの部品を一つ一つ組み立てていくやり方をシミュレーションしたものである。従ってモデリングを行う際はまず、PDB形式にある分子データを何か一つ読み込むことから始まる。最初に読み込む分子としては、何でもよいが、できるだけ目的分子の構造の一部となっているものを読み込むほうがよい。この目的のため、Facioの配布アーカイブには種々の分子のPDBファイルが同梱されている。また、ユーザーが作成したモデルもPDB形式で保存できるので、これらの分子も勿論モデリングの出発点にすることができる。
モデリングは、GAMESSによる構造最適化と連携して行われる。Facioの子プロセスとしてGAMESSを起動させると、計算終了後ただちにGAMESSのOutputファイルから最適化された構造の座標が自動的に読み込まれ、現在表示されている分子モデルに反映される。このためFacio を終了することなくモデリングと構造最適化を交互に繰り返すことができる。
原子の消去・変更、結合の生成・削除などモデリングに必要な普通の機能についての説明は割愛し、ここでは複雑な分子のモデルを構築するためにFacio独自に実装された機能について説明する。
その一つが「既に読み込まれている分子にさらに別の分子の座標を読み込む」機能である。この機能自体は、他のモデリングソフトでも実装されているが、「2番目に読み込んだ分子の相対的な配置を非常に細かく調整できる」ことが大きな特徴である。これを実現するためFacioでは、Figure 2に示すようなglobal座標とlocal座標の2つを定義している。ここでglobal座標(XYZ)は、1番目の分子の座標であり、local座標(xyz)は2番目の分子の座標で、2番目の分子の読み込み直後は、2つの座標系は一致している。2番目の分子の平行移動はglobal座標に沿って行われ、回転はlocal座標に対して行われる。これにより、2番目の分子の相対的な配向の微調整が可能となる。この機能は、例えばDiels-Alder反応の初期構造の作成のように二つの成分の相対位置を微調整したり、遷移金属錯体の配位子を金属のまわりに配置しながらモデリングを行うなどの場合に威力を発揮する。


Figure 2. 1st molecule on global coordinate (XYZ) and 2nd molecule on local coordinate (xyz) after some translation along global coordinate.

2番目の分子の相対位置は、Figure 3に示すようなパネルで調整する。平行移動量と回転量を決めるスライダーの他に、分子の視点をX, -X, Y, -Y, Z, -Zに換えるラジオボタンがあるため、視点を絶えず変えながらの相対位置調整が容易である。この調整機能は、2番目の分子がない場合でも使うことができる。その場合は、例えば特定の原子をある座標軸に置いたり、ある軸に対して回転させたりするなど、読み込んである分子の座標の変換が自由にできる。


Figure 3. Adjust position and tilting angle panel.

前述の「2番目の分子を読み込む」機能に加えて、「4つの原子を一直線上に並べる」機能を使うと、2つの分子の間に結合を作らせることが容易になる。これは、1番目の分子の任意の2つの原子と2番目の分子の任意の2つの原子を直線上に並べる機能である。具体的には、Figure 4に示すような移動である。


Figure 4. Example of "Align Four Atoms" operation.

並んだ4個の原子のうち、内側の2つの水素を除去し、外側の2つの炭素の間に結合を作らせ、更に結合長の調整とともに結合の両端にあるグループを結合に沿って移動させると、結果として2つの分子が結合できることになる。このことは、「Facioでは全てのPDB形式の構造を置換基として利用することができる」ということを意味する。これにより、非常に大きくて複雑な分子のモデルを作る際、小さなブロックに分け、それぞれを構造最適化した後、繋げていくというモデリング手法をとることができる。

2. 4 入力ファイルの作成支援

GAMESSの入力オプションの設定は、Figure 5に示しているGUIを介して行う。各制御コマンドグループ($CONTRLや$BASISなど)は、背景の色をかえまとめて配置されており、各グループの入力パラメータは使用頻度の高いと思われるものが選んである。相互依存のあるパラメータの組は、できるだけ適切なものが選択されるようにしてある。


Figure 5. GUI for setting GAMESS input options.

計算の種類としては、構造最適化、一点エネルギー計算、遷移状態の最適化、Hessian計算、ラマン強度の計算、IRC計算の起動をサポートしている。 PC GAMESS (Ver. 4.3)以降の機能であるB3LYP などのDFT計算や分子軌道のグリッドデータである$CUBEデータの生成もサポートしている。$CUBEに関して、PC GAMESSのオリジナルな仕様では分子軌道の番号を入力ファイルに入れることになっているが、これでは使い勝手が悪いためHOMOとLUMOからの相対的な軌道の準位を指定するだけで良いようにGUIを作成した。この他、IFREEZにもFacio独自の改良を加えた。 GAMESSの仕様では構造最適化の際固定する変数の番号を指定することになっているが使い勝手が悪いため、これを固定する原子の番号に改めた。従って、指定した原子のX, Y, Z座標は全て固定されることになる。
FacioではGAMESSの起動に関して2つのモードを用意している。1つは、GAMESSをFacioの子プロセスとして起動するモードで、もう一つはGAMESSを独立なプロセスとして起動するモードである。前者では、計算終了をモニターしているため、最適化された構造を表示されているモデルに直ちに反映させることができるという利点がある反面、計算中Facioを終了させることができない欠点がある。これを補うのが第二のモードであり、時間のかかる計算の場合に使用する。

2. 5 計算結果の可視化

PC GAMESSの計算結果は、OutputもしくはPunchファイルに格納されているが、分子が大きくなるとその数値データは膨大なものになるため目で読むことが困難になってくる。また、データの場所はわかっても数値だけではそれを理解するのが難しい。そのため計算結果の切り出しと可視化が不可欠となる。Facioで可視化できるものは、分子軌道、静電ポテンシャル、全電子密度、基準振動、一連のIRCデータ、赤外・ラマン強度と波数である。計算により出力形式が大きく異なるため、Facioでは可視化させたい計算結果ごとにファイルを開くメニューを独立させている。
分子軌道の表示に関しては、軌道の係数をもとに軌道のローブを計算して表示するものと、PC GAMESS 4.3以降の機能である$CUBEデータを可視化する2種類の方式を実装している。前者は、半経験的分子軌道法(MNDO、AM1、PM3)およびSTO-3G, MINIについて表示できるが、主として$CUBEデータが作成されない半経験的分子軌道法のMOを表示する場合に使う。Figure 6に$CUBEデータの可視化の例を示す。


Figure 6. Visualization of MO : HOMO of benzene.

Figure 7 に全電子密度の等値表面の例を示す。PC GAMESSにおいて全電子密度はab initio計算の場合にのみ出力されるが、ab initio計算が困難な巨大な分子でも全電子密度が表示できるように、半経験的分子軌道の係数をもとに計算する機能をFacio独自に実装している。


Figure 7. Isovalue surface of total electron density.

基準振動の可視化は、まずPunchファイルから各基準振動の変位のデータを読み込む。Figure 8に示すようなコントロールパネルから基準振動のモードを選び、アニメーション表示に必要な各フレームを計算する。紙面では実際の様子を示すことができないが、高速かつ滑らかな動きで基準振動が表現される。動きが速すぎる場合は、フレームの数を増やすことで調整する。また、アニメーションの各フレームを止めて表示することもできる。


Figure 8. Control panel of normal mode viewer.

Figure 9に赤外およびラマンスペクトルのシミュレーションの例を示す。(ラマンスペクトルは、RUNTYP=RAMANでラマン強度を計算をしたときに限る)スペクトルは、用いた基底関数ごとにスケーリングすることができる。また、基準振動モードの番号を指定すると対応する吸収波数の位置に縦線が表示される。(Figure 9では、1827cm-1に縦線が表示されている。)


Figure 9. Simulated IR and Raman spectra of acetic acid (6-31G*/B3LYP)

この他、IRC計算の可視化では、得られた一連の構造変化を連続的に表示させることができる。

2. 6 その他の機能

Facioでは、PC GAMESSを中心とした分子軌道の計算の他に、MSMSおよびTinkerに対するインターフェイスを提供している。MSMSは、溶媒排除表面を計算するソフトウェアであるが、Facioではその計算の起動と計算結果して得られる溶媒排除表面をFigure 10のような点描として表示することができる。


Figure 10. Solvent excluded surface of sucrose calculated by MSMS.

また、Tinkerに対するインターフェイスも一部ではあるが提供している。Tinkerは、分子力学・分子動力学のパッケージであるが、その中のポリペプチドのモデル作成モジュール(Protein.exe)と核酸のモデル作成モジュール(Nucleic.exe)に対するGUIインターフェイスを提供し、これらの生体高分子のモデリングを行う。さらにAMBER等の力場を用いてMinimize.exeもしくはOptimize.exeにより構造の構造最適化を行うことができる。Figure 11はポリペプチドのモデリングのためのGUIである。アミノ酸残基と二次構造を選ぶだけでポリペプチド鎖のモデリングができる。Phi, Psi, Omegaの角度は二次構造の種類によって標準的なものが自動的に設定されるが、必要であれば編集可能である。螺旋構造は、例えば310-螺旋やコラーゲン螺旋などのような特殊なものも用意されている。アミノ酸残基は、3文字および1文字表記が使用でき、D-キラリティの指定、N-端、C-端の置換基(アセチル基、ホルミル基、N-メチルアミド基、アミド基)の指定および環状ポリペプチドの生成をサポートしている。


Figure 11. GUI for polypeptide modeling.

α-へリックス構造のモデリングの例をFigure 12に示す。Tinkerによって作ったモデルではあるが、完全なFacioのモデルになっているため、置換基の導入、分子表面の計算、分子軌道の計算など、通常のFacioのモデルと同等に取り扱うことができる。


Figure 12. Alpha helix of poly(Ala).

核酸のモデリングも同様なGUIを用いて行うことができFigure 13に示すようなモデルが得られる。しかしながら、9月8日付け修正版以前のVer. 4.2 と4.1のNucleic.exeにはバグがあるため、B型二重らせん構造の相補塩基対の間にぶつかり合いがみられる。古いバージョン(3.9)では、正しく計算される。


Figure 13. B-type double helix of DNA.

この他、Facioの分子構造ファイルのフォーマットがPDBであることから、PDBファイルのViewerとしても利用できる。Facioでは、内部で使用する配列の大きさは原子の個数に応じて動的に確保されているので、表示できる原子の個数には、マシンのメモリーとプログラミング言語(Delphi)での整数の定義の上限以外、制限がない。実際、原子数約6万個のタンパク質の表示が可能である。生体高分子の場合の表示は、defaultでワイヤーフレームモデルになるが、他のモデルも勿論可能である。タンパク質では2次構造、4次構造の色分け表示(Figure 14)をすることができる。指定した色を持つドメインを一時的に不可視にする機能もあり、タンパク質全体からあるドメインを一時的に除去した構造の表示が可能である。


Figure 14. A wire model of chaperone (1GRU.pdb) colored by its quaternary structure.

この他Facioでは糖鎖のモデリングを支援している。通常の1-4グリコシド結合のみならず、1-6、1-3グリコシド結合を有する分岐した多糖類のモデリングを容易にするため、Figure 15に示すような16×2種類のグリコシル基を置換基として使えるようにしてある。


Figure 15. Selection panel for glycosyl substituents in polysaccharide modeling.

3 今後の課題

MCSCF計算のGUIを整備することおよびWindows上で稼動するもう一つのGAMESS(WinGAMESS)に対応させることが今後の課題である。また、これと平行して同種のソフトウェア(Molda、DMostar等)との連携を考慮したインターフェイスの開発を行い、フリーの計算化学の環境を更に充実したものにする必要がある。

4 プログラムの配布

Facioの配布用自己解凍型圧縮アーカイブが、著者のホームページより無償でダウンロードできる。
http://www1.bbiq.jp/zzzfelis/Facio.html

参考文献

[ 1] H. Yoshida and H. Matsuura, J. Chem. Software, 3, 147-156 (1997).
Molda web site:
http://www.molda.org/
[ 2] Winmostar (DMostar) web site: http://winmostar.com/
[ 3] J. J. P. Stewart, MOPAC Ver.6, QCPE Bull., 9, 10 (1989).
[ 4] M.W. Schmidt, K.K. Baldridge, J. A.Boatz, S.T. Elbert, M.S. Gordon, J.J. Jensen, S. Koseki, N. Matsunaga, K.A. Nguyen, S. Su, T.L. Windus, M. Dupuis, J.A. Montgomery, J.Comput.Chem., 14, 1347 (1993).
GAMESS web site:
http://www.msg.ameslab.gov/
Alex A. Granovsky, PC GAMESS web site: http://classic.chem.msu.su/gran/gamess/index.html
[ 5] Molekel web site: http://www.cscs.ch/molekel/
[ 6] Borland Delphi 6 personal web site: http://www.borland.co.jp/delphi/personal/
[ 7] M. F. Sanner, J.-C. Spehner and A. J. Olson, Biopolymers, 38, 305 (1996).
[ 8] J. W. Ponder and F. M. Richards, J. Comput. Chem., 8, 1016 (1987).


Return