GAMESS版フラグメントMO法計算のためのGUIの開発

末永 正彦


Return

1 はじめに

近年,創薬研究の現場におけるタンパク質のab initio計算が盛んになってきた.より精度の高い計算を望む要求の高まりとそれに応える新たな計算手法が確立されたからであるが,その中でも,産業技術研究所の北浦 (現・京都大学大学院薬学研究科) により提唱されたFMO法 (フラグメント分子軌道法) [1]のインパクトはとりわけ大きい.この手法は,巨大なタンパク質の計算を通常のab initio MO法と同程度の精度で行なうことのできる計算法であるだけでなく,創薬において特に重要な「タンパク質と基質 (薬) との相互作用」を,フラグメント間の相互作用エネルギーとして得ることのできる計算法でもある.
FMO法の実装としては,産業技術総合研究所のFedorovらによるGAMESS版[2],豊橋技術科学大学の関野らによるNWChem版[3],「革新的シミュレーションソフトウェアの研究開発(RSS21)」プロジェクト及びJST CREST「フラグメント分子軌道法による生体分子計算システムの開発」プロジェクトの中野らによるABINIT-MP[4]があるが,今回行なったGUIの開発研究は,GAMESS版を対象とした.これは,3つの中でGAMESSが世界的に最も広く使われているプログラムであることが主な理由である.
GAMESS版のFMO計算を行なうための入力ファイル作成ツールとしては,FMOutil[5]がある.このプログラムは,通常のタンパク質に対しては水素原子の補完やフラグメントの自動作成を行ない,FMO入力ファイルを作成する.しかしながら,非タンパク質成分のフラグメント化には対応していないため,手作業によるフラグメント化が必要となり,これは,分子が大きくなればなるほど困難なものとなる.それでもこのFMOutilは,FMO法計算に慣れているユーザーに対しては,入力ファイルを作成するのに十分な機能を有している.しかしながら,FMO法計算に慣れていないユーザーにとっては,手作業が入る場合には敷居がかなり高くなり,なかなか使えないことになる.不慣れなユーザーが手軽にFMO法計算を始めることができるように,またFMO法計算を熟知しているユーザーに対しては,より使い易い環境を提供することを目標としてGUIの開発を始めた.実装は,これまで著者が開発を続けてきたFacio[6]の持つ分子モデリングや可視化機能を利用するのがよいと考え,Facioに組み込んで行なった.

2 FMO入力ファイル作成用ソフトウェアの概要

この章では,まず目的とするGUIの基礎となるFacioのグラフィックス機能についての概要を述べる.次にFMO入力ファイルを作成するための手順と必要な機能について考察し設計指針を述べた後,開発したGUIの各機能について実例を交えながら説明するとともに,背景にあるアイデアについて述べたい.

2. 1 Facio : 計算化学のためのGUI

Facioは,計算化学を行うために必要な分子モデリングと入力ファイルの自動作成および種々の計算結果の可視化を行なうためのフリーウェアである.分子モデリングは,OpenGLにより描画されたモデルに対してマウスによる対話的な操作で行なうことができるだけでなく,TINKERと連携することにより,ポリペプチドや核酸のモデリングも非常に容易に行なうことができる.入出力のGUIとしては,GAMESSおよびGaussianに対応している.Figure 1は,Facioが分子軌道とエネルギー準位の模式図を表示している様子であるが,この他にも電子密度,静電ポテンシャル,分子表面の表示を始めとして,基準振動のアニメーション表示とRamanおよび赤外スペクトルのシミュレーション,IRC計算の可視化など計算化学に必要な機能がほぼ完備されている.また分子の表示に関しては,10万原子程度の巨大なタンパク質でも高速に描画できる.
本論文で述べるFMO計算のためのGUIは, Facioのグラフィックス機能を基礎にして開発された.


Figure 1. Desktop view of Facio, showing MOs in multi display mode and MO energy levels.

2. 2 FMO入力ファイル作成に必要な機能

FMO入力ファイルのデータのうち,フラグメントに関連するものは,$FMOのNFRAG (フラグメントの総数) , ICHARG (各フラグメントの電荷) , FRGNAM (各フラグメントの名前) , INDAT (各フラグメントに属する原子) および$FMOBND (分割される結合とBDA(Bond Detached Atom)) であるが,これらを作成するのに必要最小限な情報は,
(1)  フラグメントの分割点
である.より詳しくみると分割点の情報には次の2つの情報が含まれている.
  1. フラグメントを作るために分割すべき結合
  2. その結合に関与する2つの原子のどちらをBDA(Bond Detached Atom)に設定するか
分割点が設定されると,フラグメントの総数は勿論のこと,各フラグメントに属する原子が決まり,さらに電荷が推定される.タンパク質や核酸の場合は,含まれるアミノ酸残基や核酸塩基の種類も推定が可能である.
フラグメントに関する情報に加え,実際の計算には以下のものが必要である.
(2)  FMO計算オプションの設定
計算オプションは,基底関数や計算の種類などのことである.既にFacioに実装されているGAMESSの計算オプションを設定するためのGUIと共通する部分もあるが,PIEDAやn-体展開などFMO特有の計算オプションが数多くあるため,これらに対応しなければならない.
この他,実際にフラグメントの作成作業を行なうと,分割点の確認や変更,フラグメントの構造の確認や修正が必要なことがある.このための補助的な機能として,タンパク質のような巨大な分子の局所構造を見たり,局所構造に対して設定や変更を加えたりすることをサポートする機能,即ち
(3)  局所構造を取り扱うための機能
が必要である.
以上の3つが,開発すべきソフトウェアの要件であり,その機能を実装するようにGUIを作成することになる.

2. 3 PDBファイルの取り扱いについて

タンパク質等の構造を記述するPDBファイルの各レコードをどのように処理しているかは,ソフトウェアを設計する上で重要である.ここでは,Facio独特の処理をする3つのレコードについて述べる.

2. 3. 1 ATOMレコードとHETATMレコード

PDBデータに関するFacioの大きな特徴は,タンパク質や核酸などの生体高分子のPDBファイルを「全てHETATM/CONECTレコードとして」取り扱っている点である.生体高分子のPDBファイルは,通常ATOMレコードで記述されており,水やその他の非タンパク質成分は,HETATM/CONECTレコードで記述される.ATOMレコードには,アミノ酸残基の種類やアミノ酸残基のどの位置の原子であるかの記述があるため,この情報を使うことで不足している水素原子を付けたりすることができたり,AMBERなどの分子力学計算を行う場合の原子タイプの設定が容易になるという利点がある.しかしながら,ATOMレコードとHETATM/CONECTレコードが混在することによるデータの複雑さは,フラグメントの作成などを自動化したり,構造に修飾を加えたりする際の障害となる.従ってFacioではATOMレコードが含まれるPDBファイルは,全てHETATM/CONECTレコードに変換して構造データを単純化している.
ATOMレコードが無いため,アミノ酸残基の種類を独自に判定しなければならないなど,不利な点は確かにある.しかしながら,生体高分子と一般の分子を同等に取り扱えるという利点の方が大きい.例えば,複合タンパク質の非タンパク質部分をフラグメント化しようとする場合や,元々ATOMレコードで記述されていない分子に対しても同じようなデータの取り扱いが可能である.即ち,HETATM/CONECTレコードに統一することにより,FMO法の対象となる化合物の範囲を大きく広げることができる.

2. 3. 2 TERレコード

PDBのフォーマットでは,TERレコードにも原子と同じように通し番号がつけられているためHETATMレコードがある場合や複数のペプチド鎖でできているタンパク質の場合,TERレコードを無視すると通し番号に欠番ができてデータとして扱い難い.そこでFacioでは,TERレコードを削除するのではなく原点に置いたダミー原子として取り扱っている.
例えば,1aph.pdbをFacioで読み込むと,次のようなメッセージが出てくるはずである.
Number of TER Record: 2
TER record exists as dummy atom #181
TER record exists as dummy atom #436
これはTERレコードが2個存在し,それぞれ181番,436番のダミー原子として取り扱われていることを表している.ダミー原子は,分子モデルの中ですぐに認識できるように,半径1Åの赤紫色の玉で表現されている.但し,ダミー原子は,孤立原子であるので分子モデルがBall and Stickであるときにのみ表示される.
計算を行う際,このダミー原子は,存在していてはいけないので削除しなければならない.そのためには,別名でHETATM/CONECTレコードのPDBファイルとして一度保存する.しかしながら,保存しただけでは原子の番号付けが不連続のままなので,保存したファイルを改めて読み込むと次のメッセージがでるはずである.
Largest Serial Number : 462
Real Atom Number : 460
Atom Number is not serial.
Making Atom Number serial and ordered...
これは,「TERレコードのダミー原子を削除したため,PDBファイルで原子に指定してある通し番号と実際の原子の数に相違があるが,通し番号の付け替えが自動的に行われ,原子番号は欠番のない連続的なものになっている」という意味である.しかし,もとのPDBファイルは欠番のある状態のままなので,一度PDBファイルを上書き保存する.これにより,欠番のない連続したデータとして保存される.

2. 4 GUIを使った一連の操作

Figure 2が,今回開発したGUIである.FMO入力ファイルの作成は,このGUIを使った次の4ステップで行なう.
  1. 初期分割点の設定(Figure 2のボタンA)
  2. 分割点の設定     (ボタンB,C,D)
  3. フラグメントの作成      (ボタンE)
  4. FMO入力ファイルの作成    (ボタンF)
尚,分割点の設定には,自動設定 (B) と手動設定 (C) とフラグメント定義ファイルによる設定 (D) の3種類があり,組み合わせて使うことができる.


Figure 2. Control panel for FMO fragmentation.

GUIでは,一つのステップが終了した後に,次のステップのボタンが有効になる.これは,ユーザーが自然に正しい操作に誘導され,誤った操作をしないようにするための設計である.構造データの不備などに起因するトラブルがなければ,4つのボタンA,B,E,Fを順次クリックするだけで,FMO入力ファイルが自動的に作成されるはずである.
以下の節で,各ステップで何が行われているかを説明するとともに,それを実現するために考え出したアイデアや方法について述べる.

2. 5 分割点の設定とフラグメント作成

2. 5. 1 初期分割点

タンパク質は,複数のドメインで形成されていたり,結晶水が存在したり,非タンパク成分が包摂されていたりする.このように孤立分子がいくつか集まっている場合のデータの処理を容易にする目的でFacioでは,共有結合でつながっていない部分を「既に分割された仮想的な結合」と考えている.これが,仮想的な「初期分割点」であり,実際の分割点を指定する前に設定しなければならない.この初期分割点について, Figure 3のような二本のペプチド鎖と二分子の水からなるタンパク質を例に使って説明しよう.図中の破線は,仮想的な結合で,実際には存在しない.このような結合に対して,それぞれ原子1と2,3と4,4と5に初期分割点を設定する.水分子では,酸素原子が初期分割点になることがわかる.また,ペプチド鎖が1本だけの場合には初期分割点は無い.


Figure 3. Illustration of initial fractioning point.

初期分割点は,孤立分子の両端に相当する点であるが,より正確には孤立分子中の原子の番号が,下記のような制限のもとで最小と最大のものに相当する.但し,他の孤立分子との間に仮想的な結合が考えられる原子にのみ初期分割点を設定する.
(1) 非水素原子であること
(2) sp3であること
Figure 3では,原子1,2,3がペプチド鎖の端に位置しているが,原子の番号付けがペプチド鎖の並ぶ順番に沿っていないPDBデータの場合は,そのペプチド鎖の中で原子の番号が最小と最大のものが初期分割点を設定する上での「両端」となる.初期分割点に設定された原子は,Facioの画面では水色の箱で囲まれて表示される.尚,この仮想的な分割点は,原子の番号付けが同じである限り自動的に決定される性質のものであるため手作業による変更はできない.

2. 5. 2 分割点の自動設定

分割点とは分割しようとする結合の二つの原子のことであるが,FMO法の用語でより正確に言うと,フラグメント分割位置の原子 (Bond Detached Atom, BDA) となる原子とBDAと対になる原子の区別がある.Facioの分子モデル上で,BDAは,赤色の箱で囲まれて表示され,BDAに結合する分割点は,黄色の箱で囲まれる.
分割点の自動設定は,ポリペプチドとポリヌクレオチドおよび糖鎖に対して行なわれる.設定には,1フラグメントを1残基にするか2残基にするかのオプション,ジスルフィド結合や核酸の塩基部分を分割するか否かのオプション,フラグメント名にアミノ酸残基の1文字表記を使うか否かのオプションおよびポリペプチドのN端側の最初のα炭素にBDAを設定するか否かのオプションがある.最後のオプションDetach at N-Terminalは,N端の最初のα炭素を分割点にするためのものである.1フラグメントあたり2残基のフラグメントで分割した場合,最初の分割点が一つN端側にずれることにより,全体では分割点を一残基N端側にシフトする効果がある.
ポリペプチドの自動分割では,N-端からC-端に向かって行われる.まずsp2のアミド炭素を見つけ,次にこの炭素に結合しているsp3の炭素 (α炭素) を特定し,BDAに設定する.アミド炭素は,BDAと対になる分割点として設定する.このような操作を分子全体についておこない,分割点を決めていく.
α炭素の検出は,1フラグメントを1残基にするか2残基にするかのオプションに関係なく,全てについて行なわれる.また,分割点にはならないが,アミド窒素も同時に見つけていく.これは,α炭素とアミド窒素の位置が,後で行なうアミノ酸残基の特定のために必要となるからである.
ポリヌクレオチドについては,まずリン酸エステルのリン原子を見つける.次に,リン原子に結合している4つの酸素と結合している2つの炭素を特定し,この炭素のうち水素が2つ結合している方をBDAとなる分割点に選ぶ.また,選んだ炭素に結合している酸素を対となる分割点とする.
糖鎖については,酸素が2個結合したsp3炭素をまず見つける.2つの酸素のうち,片方が環状構造の中にあり,もう片方が環状構造の中にない場合,炭素をBDAとし,後者の酸素をBDAの対となる原子に設定する.シクロデキストリンのような環状構造では,2つの酸素の両方が環状構造に含まれることになるが,この場合には,酸素−炭素間距離を比較し,結合距離の長い方の酸素をBDAの対となる原子に設定する.

2. 5. 3 各フラグメントに属する原子の探索アルゴリズム

初期分割点の設定後,前節までの操作で設定された分割点をもとにして実際にフラグメントを作成していくわけであるが,タンパク質には,単純な一本鎖だけでなく,S-S結合でつながったりなどして非常に複雑なトポロジーを持つものが存在するため,フラグメントに分割するアルゴリズムは,どのようなトポロジーにも対応できるものでなければならない.分割アルゴリズムは,以下に示す3ステップからなる.説明にあるA原子,B原子,C原子とは,それぞれBDA (Bond Detached Atom) ,BDAと対になる分割点,そして初期分割点のことである.また,ドメインとは共有結合によりつながった全ての原子の集まりである.各ドメインに属する原子は,初期分割点を探索する際に既に求められている.
【ステップ1】
各ドメインに属するリストの中から,A原子,B原子,C原子を選び出し,DomFPListという新たなリストを作成する.ドメインがn個ある場合には,DomFPList[0], DomFPList[1], …, DomFPList[n-1]というように,n個のリストができる.
【ステップ2】
DomFPListにある分割点の順番に以下の操作を行なう.
分割点を出発点として順次結合をたどりながらフラグメントに属する原子を見つけていく.最初に進む方向は,対となる分割点とは逆の方向である.走査の過程で初期分割点もしくは分割点に遭遇した場合には,それより先に進まない.別に進む方向があれば,そちらを探す.進む方向が無くなった時点で探索を終了する.このようにして得られた原子が,一つのフラグメントに含まれる全原子である.また,途中で遭遇した分割点や初期分割点には,マークをつけておく.これは,後の走査で開始点にしないようにするための目印である.
【ステップ3】
一つのDomFPListにある分割点の全てにマークが付けられたら,次のDomFPListに進み,ステップ2の操作を行なう.次に進むべきDomFPListが無ければ,終了する.
Figure 4は,二箇所に分割点をもつ単純な一本鎖のペプチドにおいて,各フラグメントに属する原子がどのように探索されているかを模式的に示したものである.二重線は分割点で,それぞれに分割点の種類と番号が付されている.因みに,この場合のDomFPList[0]には,(A1,B1, A2, B2)が格納されている.矢印は,探索の方向であるが,その向きは常に「対となる分割点とは逆」の方向である.即ち,A1-B1という分割点がありA1を起点とすると,探索はB1とは逆の方向に進んで行なうことになる.矢印の番号は探索の順番であり,この番号がフラグメント番号になる.


Figure 4. Search process of fragment atom : Example 1.

Figure 5は3つのペプチド鎖からなるタンパク質の1番目の鎖に2個,2番目の鎖に1個分割点を設定したときの探索の様子である.黒丸は,初期分割点である.因みに,この場合にはDomFPList[0], DomFPlist[1], DomFPList[2]があり,それぞれには(A1,B1,A2,B2,C1),(C2,A3,B3,C3),(C4)が格納されている.


Figure 5. Search process of fragment atom : Example 2.

Figure 6は,主鎖が二つのS-S結合で架橋された構造であるが,このようなトポロジーのものでも確実に分割できることがわかる.


Figure 6. Search process of fragment atom : Example 3.

因みに,分子のトポロジーに関して次の関係がある.
フラグメント数=分割する結合の数+1−環の数
この式によると,各フラグメントに属する原子を保存するために動的に確保する配列は,環の有無に関わらず,最大で (分割する結合の数+1) 個あれば十分であることがわかる.

2. 6 フラグメントの属性の決定

フラグメントの属性とは,フラグメントの名前と電荷と多階層FMOの階層のことである.このうち,FMO計算に必須のものは電荷と階層の情報であるが,フラグメントの構成要素 (アミノ酸残基など) が類推できるような名前を付けておくと,後の解析に便利である.名前と電荷の決定は,各フラグメントに属する原子が決定された直後に自動的に行なわれる.階層の設定は,Local Structure Definer (Figure 8)で手動により行なう.

2. 6. 1 アミノ酸残基の特定

2.3.1節で述べたように,FacioではPDBファイルのATOMレコードのアミノ酸残基のデータを利用しないので,独自に特定する必要がある.特定するためのアルゴリズムは,次の通りである.
α炭素を出発点として側鎖の方向に進み,結合をたどりながら非水素原子 (C, N, O およびS) の種類と個数を記録し,種類を判定する.
Table 1からわかるようにIleとLeu以外は,側鎖に含まれる非水素原子の種類とその数から,一義的にアミノ酸残基が特定できる.例えばC:N:O:S=4:3:0:0 であればArgであり,C:N:O:S=2:0:2:0であれば,Aspである.しかし,IleとLeuはともにC:N:O:S=4:0:0:0であるので,これだけでは判断が付かない.この場合は,分岐の様子を見て判断する.また,Proの判定は少し特殊であり,原子の種類とその数だけでなく,アミド窒素の位置情報も利用する.

Table 1. Relationship between amino acid and the number of non-hydrogen atoms in the side chain.
Amino acidCNOS
Ala1000
Arg4300
Asn2110
Asp2020
Cys1001
Gln3110
Glu3020
Gly0000
His4200
Ile4000
Leu4000
Lys4100
Met3001
Phe7000
Pro3100
Ser1010
Thr2010
Trp9100
Tyr7010
Val3000

尚,α炭素とアミド窒素の位置は,分割点の自動設定の際に記録しておいたものを使用する.

2. 6. 2 各フラグメントの名前の作成

先に述べたようにフラグメントの名前は,タンパク質の場合,アミノ酸の1文字表記とアミノ酸残基の通し番号を基に作成されている.注意しなければならない点は,GAMESS版のFMOで許容されるフラグメント名は8文字までであり,9文字以上になるとFMO計算がエラーで止まってしまうということである.1フラグメント2残基で分割している場合,2つの残基と残基の番号を組み合わせて表記しようとすると,8文字を越えてしまうことが多い.例えば,Arg35Pheでは8文字全てが収まるが,His245Valという名称になると9文字になる.二つ目のアミノ酸残基名を名前に含めないという選択もあったが,できるだけアミノ酸残基の情報を含めた名前が良いと考えたので,Facioでは1文字表記をデフォルトとして採用している.これだと相当大きなタンパク質でも,8文字を越えることはまずない.勿論3文字表記もオプションで可能であるが,名前には1番目のアミノ酸残基名だけが含まれる.
水分子は,HOHに何番目の水であるかを示す数字を付けて,例えば HOH25 のような名前になる.Facioが認識できない残基を含むフラグメントは,Fragのあとに通し番号をつけた Frag3 のような名前となる.

2. 6. 3 各フラグメントの電荷の推定

電荷の推定は,電荷のある官能基を見つけることから始まる.例えば,sp3の窒素が見つかり,その窒素に4個の炭素原子が結合していれば,アンモニウムであると判断し,電荷を+1とする.また,炭素が1個,酸素が2個結合したsp2の炭素が見つかり,二つの酸素に水素が全く付いていなければカルボキシレートであると判断し,電荷を−1とする.このように判断した電荷を各フラグメント内で合計して,そのフラグメントの電荷とする.この他に電荷の判断対象となるのは,ヒスチジニウム,グアニジウム,リン酸イオン,硫酸イオンである.
最後にフラグメントの多重度を一重項であると仮定し,推定した電荷と電子の数に矛盾がないかどうか検証する.水素が欠落しているPDBファイルに水素原子を自動的に付ける作業で,水素の数が不足していたり多過ぎたりすることがある.このような場合,電荷と電子数の間の矛盾が表示されるので,水素の付け間違いに気づくことができる.この場合には,過不足となっている水素を特定した後,削除もしくは付加の作業を手動で行なわなければならない.この操作の詳細については,3.2節で述べる.希にではあるが,2個過不足があることが起こる.この場合,矛盾が生じないので,この時点では気づかないことがあるが,3.3節で述べるフラグメントの構造最適化において,計算が収束し難いことにより知ることができる.

2. 7 フラグメント定義ファイル

マニュアルで分割点を設定した場合や,自動的に設定されたフラグメントの電荷に誤りがあり,これを修正した場合,または自動設定されたフラグメントの名前を変更した場合などのように手作業で設定した情報をテキストファイルとして保存できるように,List 1に示すようなフラグメント定義ファイルというものを新たに定めた.このファイルの読み込みにより,手動で設定した分割点やフラグメントの電荷や名前が再現できるため,手動による再定義が不要となり,作業が効率化される.
定義ファイルには,[Bond Fractioning Point], [Fragment Charge], [Fragment Name], [Fragment Layer]の4つのフィールドがあり,それぞれ分割点,フラグメントの電荷,フラグメントの名前および階層を定義している.Facioでは,現在のところ階層2まで対応している.各フィールドの最後には,空行が一つ挿入され,定義ファイルの最後は,[End of Definition]で終了する.分割点は,Fortranフォーマット2I10で一行に一対の原子が記述されている.左側の番号がBDAとなる方の原子である.電荷とレイヤーは,Fortranフォーマット10I5で値が列記されている.フラグメントの名前は,タンパク質の場合,アミノ酸の1文字表記とアミノ酸残基の通し番号を基にFortranフォーマット5(2X, A8)で表示されている.定義ファイルは,テキストファイルなのでエディタによる一括編集が可能である.


List 1. Example of FMO fragment definition file.

フラグメント定義ファイルの読み込みは,初期分割点の設定が終わった後であればいつでも構わない.ファイルが読み込まれると,各フラグメントの電荷や名前が決定されるので,直ちにFMO入力ファイルの作成が可能である.但し,読み込み後に自動あるいは手動で分割点を新たに設定した場合には,読み込まれた電荷と名前は消去される.これは,新たに導入した分割点によりフラグメントの定義が全く異なったものになるためである.

2. 8 FMO計算オプションの設定

FMO入力ファイルの作成には,各フラグメントに属する原子の番号および各フラグメントの電荷と名前の他に,FMO計算のオプションの設定が必要である.FacioにはGAMESSの計算オプションを設定するGUIがあるが,既に非常に複雑なGUIになっていることから,FMO計算のオプション用には別のGUIを新たに設計することにした.
Figure 7のパネルがそのGUIである.FMOフラグメント設定パネル(Figure 2)の下方にある Show FMO Input Optionsにチェックマークを入れると右側に出現する.


Figure 7. Control panel for FMO input options.

パラメータには互いに依存する組み合わせがあるが,できるだけそのような依存関係が自動的に設定されるようにGUIは設計してある.例えば,RUNTYP=ENERGY計算の場合にのみPIEDA (Pair Interaction Energy Decomposition Analysis)が可能であるので,パネル上のPIEDAチェックボックスは,ENERGY以外の場合にはチェックマークを自動的に外し使用できない状態にしてある.こうすることにより,相反するパラメータが間違って設定されることがなくなる.
計算オプションを設定すると,FMO入力ファイルは自動的に作成されるが,GUIを介さずに設定されるパラメータもある.例えば$FMOレコードのMAXCAOがそれである.MAXCAOは,BDAに適用される混成軌道に関連したパラメータである.混成軌道は,基底関数の種類だけでなくBDAの原子の種類にも関連しており, 例えばBDAがsp3の硫黄の場合, MAXCAOの値はデフォルトの5ではなく9でなければならない.通常は,炭素がBDAになることが多く,MAXCAOのデフォルト値を使うので設定しないが,BDAに硫黄が設定されている場合,それを自動的に判断してMAXCAOの設定を適切に行なっている.

3 フラグメントを取り扱うための補助的機能

3. 1 局所構造を見るための機能

3. 1. 1 局所構造の定義用パネル

タンパク質のような複雑で込み入った巨大な構造を取り扱うには,局所構造のみを表示したり,その構造に対して変更を加える機能が必須である.この機能を実装したのが,Local Structure Viewerである.このViewerは,4枚の独立した表示画面 (Figure 13) から構成されており,FacioのFMOメニューのLocal Structure Viewer (1,2,3 or 4) を選択することにより起動する.どの画面にどの部分の局所構造を表示させるのかを制御するのがFigure 8に示すLocal Structure Definer/ Optimizerであり,Local Structure Viewer起動時に自動的に現れる.


Figure 8. Local Structure Definer / Optimizer.

Figure 8の最下部の区画は,フラグメント構造最適化用のパネル (3.3節参照) であり,Definerと一体化している.ここでは上部のLocal Structure Definerの機能の説明を行なう.
局所構造の定義には2種類ある.一つは,原子の番号によるもので,もう一つは,フラグメントの番号によるものである.ともに,何番から何番というように局所構造の範囲を指定することができる.パネルの中央に並ぶSync.と表示されたチェックボックスは,範囲を決めるコンボボックス (選択肢がプルダウンで表示される部分) の動き方を決めるものであり,チェックされている場合には,From Atom #とTo Atom # あるいはFrom Frag. # とTo Frag. #の値が,Fromを変化させてもToを変化させても同じになる,即ち,動きが同調する.即ちSync.チェックボックスは,From Frag. # とTo Frag. # を所定の番号の近傍まで同時に変化させるためのものである.所定の番号の近傍になった時点でチェックマークをはずし,それぞれのコンボボックスを独立に変化させて範囲を確定する. Sync.チェックボックスは4個あり,それぞれ各Viewerに対応している.また,Show Numeric Labelsチェックボックスは表示した局所構造に原子番号を表示させるか否かを決めるものである.
局所構造を見るための機能は,分子の描画の際に局所構造に定義された原子のみを描画するという手法で実装している.但し,描画範囲に分割点の結合が存在する場合には,その結合を赤紫色で表示する処理が加わる.

3. 1. 2 原子番号による局所構造

本節と次の3.1.3節で例として使っているペプチド (AlaCysAspGluPheGlyHisIle) は,FacioとTINKERによりモデリングしたものである.
原子番号による局所構造とは,表示すべき原子の番号の範囲で定義した局所構造のことである.この表示の場合,水素原子と非水素原子の番号が非常に離れていると水素原子が表示されず構造が見にくいという問題がでてくる.これを解決するために開発した機能が,Show Attached Hydrogenである.これは,表示範囲の非水素原子に結合している水素であれば,表示範囲になくても表示を行なう機能である.Figure 9に示すように,チェックボックスにチェックマークを入れて使用する. Figure 10は,局所構造として24から36番の原子を指定しているが,その範囲外の水素原子も表示されている.


Figure 9. Checkbox to show attached hydrogen in local structure.


Figure 10. Example of local structure defined by atom number. From atom #24 to atom #36 are displayed.

分子全体における局所構造の位置は,Figure 11に示すようにFacioのメイン画面の分子モデルに色で表示される. この場合の色は,どのViewerに表示されている局所構造であるかによって異なっている.この例ではViewer 1が起動しているので,局所構造に相当する部分は原子も結合も全て赤色で表示されている.


Figure 11. The red color shows the position of the local structure of Figure 10 in the whole molecule.

尚,3.2節で述べる局所構造の変更と修正は,ここで述べた「原子の番号により定義された局所構造」を表示しているモードにおいてのみ可能である.

3. 1. 3 フラグメント番号による局所構造

これは,表示すべきフラグメントの番号の範囲で定義した局所構造のことである.従って,予めフラグメントの分割を行なっていなければ定義することはできない.また水素原子は,当然のことながらフラグメントの中に含まれているので,前節のShow Attached Hydrogenは使う必要がない.
フラグメントの番号により定義された局所構造を表示する機能は,大きなペプチドのFMOフラグメントの構造を確認する場合に非常に有効である.
Figure 13は,4つのLocal Structure Viewer画面にそれぞれ別のFMOフラグメントを表示させた様子である.このとき,メイン画面 (Figure 12) では,各フラグメントがそれぞれ表示されているViewerに対応する固有の色で表示される.色とViewerの対応は,以下の通りである.


Figure 12. Four FMO fragments represented in different colors.


Figure 13. Local Structure Viewers 1, 2, 3, and 4, showing different fragment in each viewer.

赤色:Viewer 1   緑色:Viewer 2
黄色:Viewer 3  赤紫色:Viewer 4
Figure 13における赤紫色の結合は,FMOフラグメント化の際に分割された結合であることを示す.
メイン画面での視点と各Viewerでの視点が常に同じになるように,どの画面の分子を回転させても,全ての画面で分子の回転が同調して行なわれる.このように視点が同じなので,指定したフラグメントの分子全体における位置が認識しやすくなる.

3. 2 手作業による局所構造の修正

ここでは,局所構造Viewerを使った応用例として,局所構造の修正について述べる.
水素原子に過不足がある構造に対してFMOのフラグメントを作成すると電子数と電荷に矛盾が生じるため,計算時にエラーがでる.このような場合には構造の修正が必要であるが,タンパク質の構造が大きくなるに従い,通常の操作では作業が著しく難しくなっていく.このような状況に対処するために開発したのが局所構造における分子構造の修正機能である.
現在のところ,この機能は「原子の番号により局所構造を定義している場合にのみ有効」である.これは,既にフラグメントが確定している状態で,新たに原子を追加したり削除したりすると,各フラグメントに属する原子の番号の付け直しが行なわれ,データに不整合が生じるからである.
構造の変更と修正では,FacioのEditメニューにある次の12の操作が可能である.
(1) 原子の移動 (2) 原子の削除 (3) 原子の変更
(4) 水素の付加 (5) 結合の生成 (6) 結合の削除
(7) 結合に沿ったグループの移動
(8) 結合角の変更に伴うグループの移動
(9) 結合の周りでのグループの回転
(10) 結合長の変更 (11) 結合角の変更
(12) 二面角の変更
この他,FacioのUtilitiesメニューにある結合距離,結合角,二面角を計測する操作も可能である.
ここでは原子の削除を例にして,機能の説明をする.Local Structure Definerを開いた状態で,FacioのEditメニューから,Delete Atomを選択すると,Local Structure Definerの中央部にあるExecuteボタンの上に選択した操作名がFigure 14のように表示される.次に削除しようとする原子の番号をAtom 1のボックスに打ち込み,Executeボタンをクリックすると,指定した原子が削除される.構造の変化は,Local Structure Viewerに直ちに反映されるので,すぐに確認できる.


Figure 14. Local structure definer specifying atom to be deleted.

原子の削除は,一つの原子だけを指定するので,Atom1のボックスだけが書き込み可になり,他のボックスには入力できない.因みに,結合長を変更する操作では,二つの原子を指定するのでAtom 1とAtom 2のボックスのみが書き込み可となる.
原子の番号を指定するのに,分子モデルの原子の玉をクリックする仕様ではなく,数字を打ち込む仕様にしたのは,次のような理由からである.分子が小さい場合には,クリックで原子の認識が問題なくできるが,分子が巨大になると,クリックした原子の番号が正しく認識されないことがあるのがわかった.理由は,はっきりしないが分子が巨大になるとOpenGLの描画に時間がかかる為,クリックした原子の認識にずれが生じるのが原因ではないかと推測している.このような理由から,確実に原子の指定ができる打ち込み方式を採用した.
局所構造の修正の例として,自動補完した水素原子 (4.1節) に間違いがあった場合に行なう構造の修正について説明する.削除を例にしてあるが,他の操作についても同様である.尚,例として使う1aph.pdbは,重複原子やTERレコードや異常に接近した水が既に削除されているものとする.
Figure 2のボタンEをクリックすると各フラグメントの原子が探索されList 2のようなメッセージが現れる.これは,多重度を1としたとき,電子数と電荷に矛盾があるということを知らせている.


List 2. Error message showing discrepancy between electrons and charge in fragment.

List 2を詳しくみてみると,フラグメント#4は,179個の電子があるが,これは電荷が0で多重度が1であることと矛盾しているという表示である.このほか,同様の矛盾がフラグメント#6, #19, #20, #77にみられる.これらは,水素の付け間違いによるものであるが,ここでは#4を調べてみる.
FMOメニューのLocal Structure Viewer 1を選択すると,Viewer 1とともにDefiner (Figure 8) が現れる.ラジオボタンで「by FMO Fragment」を選択しフラグメント番号による局所構造の表示モードに変更した後,From Frag.#もしくはTo Frag.#を4に設定する.Sync.にチェックマークが入っているので,Figure 15のようにFrom Frag.# とTo Frag.# が同調して変化するはずである.


Figure 15. Defining local structure by fragment #4.

このときLocal Structure Viewer 1にはFigure 16のようにフラグメント#4が表示されているが,この構造を調べてみると,アミドのカルボニル酸素 (41番) に余分な水素原子 (500番, Figure 16の円の中の水素) が付いているのがわかる.


Figure 16. Fragment #4. The hydrogen to be deleted is shown in a red circle.

この余分な水素原子 (500番) を削除するためには,局所構造の定義をまずフラグメントの番号から原子の番号に切り替えた後,カルボニル酸素 (41番) の前後の原子 (例えば38番から45番) を表示させる.操作としては,Sync.にチェックマークを入れ,From Atom #もしくはTo Atom # を41に設定した後,Sync.のチェックマークをはずし,From Atom # を38に,To Atom # を45に設定する (Figure 17) .このときViewer 1は,Figure 18のようになる.このとき,Show Attached Hydrogen にチェックマークを入れておくと,カルボニル酸素についている水素原子が表示されている.もし,チェックマークを入れないと500番の水素原子は,設定範囲 (38から45) の外であるので表示されない.


Figure 17. Defining local structure by atom number.


Figure 18. Atoms #38 to #45 with attached hydrogens.

EditメニューでDelete Atomを選択し,Figure 19のAtom 1にキーボードから500を入力し,Executeボタンをクリックすると500番の水素原子が削除される (Figure 20) .この際,原子の番号が連続になるように,番号の付け直しが行なわれる.


Figure 19. Setting atom #500 as an atom to be deleted.


Figure 20. After deleting atom #500 in Figure 18.

フラグメント#4の修正が終わったので,改めてFigure 2のボタンEをクリックしてフラグメント化をやり直すと,そのときのエラーメッセージは,List 3のようになる.List 2と比べるとフラグメント#4に関するエラーメッセージがなくなっており,構造が正しく修正されたことがわかる.


List 3. Error message showing discrepancy between electrons and charge in fragment. Compare this with List 2.

同様の修正をフラグメント#6, #19, #20, #77についても行うと,List 3のエラーメッセージは,全てなくなる.

3. 3 フラグメントの構造最適化機能

PDBファイルの中には,歪んだ構造が含まれていたり,補完した水素の位置が必ずしも最適とはなっていないなどして,そのままではFMO計算には適さないことがある.従って,予め構造をある程度最適化する必要がある.この目的のためには,分子力学計算や分子動力学計算を行うのが一般的であるが,Facioでは分子軌道法を使ったフラグメントの連続構造最適化を新規に開発した.
分子軌道法による構造最適化の利点は,分子力学のように力場パラメータが無くて計算できないということが無く,「ほとんど全ての分子に適用できる」ということである.また,Ab initio法だけでなく半経験的分子軌道法 (PM3) を使用することもできるので,迅速な最適化が可能である.


Figure 21. Control panel for FMO fragment optimization.

Figure 21は,FMOフラグメントの構造最適化のためのコントロールパネルである.実際のパネルは,3.1.1節で述べたようにLocal Structure Definer/Optimizer (Figure 8) の下半分である.
分子軌道計算に必要なパラメータで変更可能なものは,OPTTOLと基底関数と多重度である.半経験的分子軌道法は,PM3法が,Ab initio法は,STO-3G, 3-21G, 6-31Gが選択可能である.電荷は,フラグメントを作る際に推定した値を使っている.この値はLocal Structure Definerに表示されており (Figure 22) ,このパネルでの変更も可能である.また,フラグメントの名前も同様に変更可能である.ここで設定し直されたフラグメントの電荷と名前は,FMO入力ファイルを作成する際に参照される.


Figure 22. Estimated fragment charge and fragment name displayed in Local Structure Definer.

FMOフラグメントの構造最適化は,ペプチド鎖間の予期せぬ衝突が起こらないように,「常に分割点の座標を固定して」行なっている.座標の固定はGAMESSの$STATPTグループのIFREEZを使って制御する.水素原子は,常に最適化の対象となるが,それ以外の原子の最適化は,オプションで可能である.
分割点の座標を固定して構造最適化を行なっているため,場合によっては歪みを持った構造になる可能性があるが,この問題は,2.5.2節で述べた「分割点のシフト」により部分的に解決されると考える.
分子軌道計算を行うためにはフラグメントの切断部には,何らかのキャップ原子を付けなければならないが,Figure 23に示すように水素原子または適当な置換基のどちらかの選択が可能である.置換基を選択した場合,アミド炭素にはメチル基が,α炭素には,CONH2が付けられる.これは,フラグメントの切断部をできるだけペプチド鎖に近い構造にするための置換基である.また,ジスルフィド結合を分割してフラグメントにした場合には,水素をキャップ原子として使えるほか,CH3Sをキャップグループにすることができる.


Figure 23. How to treat dangling bonds in FMO fragment for fragment optimization. : Dangling bonds are capped with (A) appropriate functional groups (CH3 for amide carbon and CONH2 for alpha carbon) or (B) hydrogen atoms.

構造最適化は,次のいづれかで行なわれる.
(1) 一つのフラグメントに対して
(2) 指定した範囲のフラグメントに対して
(3) フラグメント全体に対して連続して
それぞれのフラグメントで構造最適化が終了すると,計算結果の中からキャップ原子またはキャップグループの座標が削除され,残ったフラグメント部分の座標が直ちに当該フラグメントの構造に反映される.
構造最適化が収束しない場合は,水素原子の過不足など構造上の問題が原因であることが多いので,フラグメントの構造の妥当性を再考する上での手がかりとなる.

3. 4 分割点の手動設定

ここでは,局所構造Viewerを使ったもう一つの応用例として,分割点の手動設定について述べる.
手動による分割点の設定は,原子の番号を指定することにより行なう.設定は,Figure 2のパネルの中央にあるテキストフィールド1と2に原子の番号を入力して行なう.分割点の定義とともに,定義の取り消し (Undefine) も可能である.
大きな複合タンパク質の非タンパク質分子に手動で設定を行なう場合,入力すべき原子の番号がすぐにはわからないことがある.このような場合にLocal Structure Viewerを使い局所構造を見ながら設定を行なう.Local Structure Viewerには指定したフラグメントだけを抜き出して表示する機能があるが,非タンパク質分子は一つのフラグメントになるので,これだけを抜き出して表示することができる.これにより近傍のペプチド鎖に遮られることなく,原子の番号を知ることが可能になる.
1fkb.pdb (Rapamycin-FKBP12複合体) [7]を例にとり,手動による分割点の設定法の実際について説明する.
Figure 24に示してあるのがRapamycin-FKBP12複合体の全体構造であるが,赤色で表示されている部分がマクロライドのRapamycinであり,構造式で描くと,Figure 25のようになる.このRapamycinとタンパク質の相互作用を細かくみるためには,Rapamycinに分割点を設定する必要がある.以下では,Figure 25において波線で印された結合が切れるようにフラグメントの分割点を設定してみる.


Figure 24. 1fkb.pdb (Rapamycin-FKBP12 complex)


Figure 25. Rapamycin and fractioning bonds.

手動による分割点を設定する前に,まず自動によるフラグメント化を行なう.Rapamycinは,非ペプチド成分であるので,それ自身が一つのフラグメントとなるはずである.
Local Structure Viewerを起動して,フラグメント番号で定義された局所構造の表示モードにし,Rapamycinに相当するフラグメントを探す.この場合,55番目のフラグメントがRapamycinになる.
Figure 25の中で,円に囲まれた部分 (#1) に分割点を設定してみよう.設定前の様子は,Local Structure Viewerでみると,Figure 26の左の図のようになる.これを見ると分割点を設定すべき原子の番号は,1050番と1051番であることがわかる.但し,BDA (Bond Detached Atom)にはsp3炭素を指定するので,1051番がBDAとなる.


Figure 26. Manual definition of fractioning points to atom #1051 and #1050.

同様の操作をFigure 25での定義に従ってRapamycin全体について行い分割点を設定すると,Figure 27のようになる.楕円で囲まれた6つの赤紫色の結合が,フラグメント化の際に分割される結合である.


Figure 27. Manual definition of all the fractioning points illustrated in Figure 25.

このように手作業で設定した分割点は, 2.7節で述べたフラグメント定義ファイルに保存しておくと,再度設定するような場合に手間が省けて便利である.

4 不完全なPDBファイルを取り扱うための補助的機能

4. 1 水素原子補完機能

X線結晶構造解析により得られた構造では,水素原子が欠落していることが多く,分子軌道計算を行うためには水素原子を付ける必要がある.
Facioには独自の水素原子補完機能があり,UtilitiesメニューのComplete Missing Hydrogen Atomsにより自動的に付加が行なわれる.不足水素の数とその立体配置は,Tables 2, - - 5に示す条件で判断される.各表の三つの列は,それぞれ結合原子数,判定条件等,不足水素の数と立体配置である.

Table 2. Conditions to determine the number of missing hydrogens and their configuration for C.
Carbon
40, sp3
33つの結合長を計測し,長さの順にS, M, Lとする.
Hが2個
L > 1.391, sp3
L <=1.390, sp2
Hが1個
M > 1.39 coplanar0, sp2
not coplanar1, sp3
M <= 1.390, sp2
Hが0個
S > 1.38 coplanar0, sp2
not coplanar1, sp3
S <= 1.380, sp2
22つの結合長を計測し,長さの順にS, Lとする. 結合角をangleとする.
Hが少なくとも1個
170 < angle <= 1800, sp
angle <= 170 L > 1.402, sp3
L <= 1.401, sp2
Hが0個
170 < angle <= 1800, sp
angle <= 170 S > 1.42, sp3
S <= 1.41, sp2
1判定の対象となる原子aと結合する原子bに結合する原子をc (≠a)とする.角abcをangle, 結合長 (a-b) をlength
170 < angle <= 180 length < 1.21, sp
length >= 1.22, sp2
angle <= 170 length > 1.383, sp3
length <= 1.382, sp2

Table 3. Conditions to determine the number of missing hydrogens and their configuration for N.
Nitrogen
40, sp3
30, sp3
2C1-N-C2-O (amide) L1=C1-N, L2=N-C2
L1 > 1.37 and 1.29 < L2 < 1.401, sp2
2つの結合長を計測し,長さの順にS, Lとする. 結合角をangleとする.
少なくとも1つがH
L < 1.30, sp2
1.3 < L < 1.41, sp2
Hが0個
105.0 < angle < 109.5 L > 1.371, sp2
L <= 1.370, sp2
angle >= 109.5 S > 1.321, sp2
S <= 1.320, sp2
それ以外の角度unknown
1判定の対象となる原子aと結合する原子bに結合する原子をc (≠a)とする.角abcをangle, 結合長 (a-b) をlength
170 < angle <= 1800, sp
angle <= 170 1.3 < length <= 1.42, sp2
length <= 1.31, sp3

Table 4. Conditions to determine the number of missing hydrogens and their configuration for O.
Oxygen
20, sp3
1114 < angle <= 135 length > 1.311, sp3
length <= 1.310, sp2
95 < angle <= 114
Pが結合していない1, sp3
Pが結合している0, sp3
それ以外の角度unknown
0孤立した水分子とみなす2, sp3

Table 5. Conditions to determine the number of missing hydrogens and their configuration for S.
Sulfur
20, sp3
195 < angle <= 1171, sp3
angle <= 95unknown

これらの表の中で,例えば2, sp3とあるのは,2個水素をsp3の立体配置で補完するという意味であり,0, sp3のようになっている場合は,補完の必要がない場合である.また,unknownとなっている部分は判断できなかった場合で,水素の補完は行なわれない.
結合している原子の数,結合角,結合長を総合的に判断して水素を付加しているので,タンパク質や核酸以外の一般の分子についても補完が可能である.しかしながら,結晶構造解析の精度が低く結合長や結合角が正しくなかったり,もともと異常な構造をもつような場合には,付加すべき水素の数を間違って判断することもある.

4. 2 結合補完機能

PDBフォーマットの間違いのため結合が表示できない場合がある.このような場合には,結合長をもとに結合を作ってやる必要が生じる.
例えば,1a13.pdbをFacioで開くと結合のない孤立した水素原子が多数表示される.これは,PDBデータの書き方の誤りが原因である.14番のLeuのδ炭素に付いている3つの水素の部分は,
ATOM 231 HD11 LEU A 14 (以下省略)
ATOM 232 HD12 LEU A 14 (以下省略)
ATOM 233 HD13 LEU A 14 (以下省略)
となっているが,Atom nameフィールドは,通常1HD1, 2HD1, 3HD1と書くべきところを,HD11, HD12, HD13と書いてあるためδ炭素に付いている水素だと認識されず,結合データが生成されなかったのである.このような場合,UtilitiesメニューのComplete Missing Bondsを選択すると,原子間距離と原子の種類をもとにして結合が自動的に生成される.尚,この結合補完機能は,結合情報の無い出力ファイルから分子モデルを表示する際にも使用されている.
結合の有無を判定する基準は二つあり,水素原子が関与する場合にはパラメータHX_Max (default 1.5Å) 以下の原子間距離のもの,水素原子が関与しない場合にはパラメータBondCriterion (default 2.1Å) 以下のものを結合とみなしている.尚,これらのパラメータは,変更可能である.
水素原子が欠落した水分子の場合,酸素原子は孤立原子となっているため「結合が無い」という旨の警告メッセージがでる.このときには,結合でなく水素を補完する.しかしながら,フォーマットの間違いなどの理由で孤立原子になっている水ではない酸素も少なからずある.その場合は,結合の補完が先に必要である.

4. 3 近接原子の検出機能

異常に近接した原子は,分子軌道計算がうまくいかない原因となるため,事前に検出し構造を修正しなければならない.Facioでは,構造データのある全てのファイルの読み込み時およびPDBファイルへの保存時に原子間距離を計算し,警告を表示する.
異常接近の原因でよく見かけるものは,一部の原子が重複している場合である.例えば1aph.pdbをFacioで読み込むと,次のような警告が出るはずである.これは,原子間距離が異常に近い (0.5Å以下) ことを示すものである.
<<< Small interatomic distance encountered! >>>
Check atom #33 and #34
原因を調べるためPDBファイルの該当箇所を見ると,次のような記述がある.
ATOM 33 CB AGLN A 5  (以下省略)
ATOM 34 CB BGLN A 5  (以下省略)
33番と34番の原子は,17カラム目にAlternate Location Indicator (GLNの前のAとB) があることから,同じ5番目のアミノ酸残基GlnのCB (β炭素) の2つの候補位置であることがわかる.従って,原子間距離が近いというメッセージがでたのである.原子の位置に関して可能性がいくつかある場合には,このようなデータとなる.これらは,決して不完全なデータではなく正しいPDBのデータであるが,計算をするためには重複している原子を削除しなければならない.削除には,PDBデータそのもの (上の例では,ATOM 34の一行) の削除が必要となる.
また,原子が重複しているわけではなく,本当に異常接近した原子が存在することもある.これは,結晶構造解析によって求められた水分子の位置の精度が低く,もともとぶつかるような位置にある場合に起こる.あるいは,水素原子を補完した水分子の水素が,ペプチド鎖や近傍の別の水分子に異常に接近することもある.このような場合には,PDBファイルのデータを見ただけではわからないので,局所構造Viewerなどを使い異常接近していることを確認した上で,当該原子の削除が必要である.

5 まとめ

今回開発したGUIにより,FMO入力ファイルの作成が非常に容易になりFMO計算をより簡単に行なうことができるようになったのではないかと思われる.引き続き,以下の機能を開発する予定である.
(1) FMO計算の結果の可視化
(2) 水素補完機能の強化

6 プログラムについて

Facioは,下記のURLより無償でダウンロードできる.本論文執筆時のバージョンは11.3.1である.
http://www1.bbiq.jp/zzzfelis/Facio.html
Facioは,Windows XP上でDelphi(Ver.6) [8]により開発を行なっているので,本来Windowsのアプリケーションであるが,WINE[9]の環境とMesa[10] (OpenGL互換ライブラリー) を使うことによりLinux ( Fedora Core 4及びScientific Linux 4.2で確認 )上でも動かすことができる.また,Intel社のCPUを使ったMacintosh (所謂,Intel Mac) のWindowsの環境でも動くことが確認されている.
Mac mini 1.83GHz Intel Core 2 Duo OS X Ver.10.5VMWare Fusion (仮想マシン) CrossOver Mac 6.21 (Windows互換レイヤー)
VMWare Fusionの環境でFacioは完全に作動するが,CrossOverの環境ではメニューバーおよびメイン画面の左右下部にあるスライドボックスが表示されないという不具合がある. (単に表示されないだけで,プルダウンメニューは表示され,スライドボックスも機能するので,実用上は問題無い.) この不具合は, Linux上でWINEを使って動かしたときにも見られたものである.CrossOverは, WINEをもとに開発されているので同様の不具合が起こったものと思われる.

最後に,開発を行うにあたり有益なご助言を賜りました京都大学の北浦和夫教授ならびに産総研のDmitri G. Fedorov博士に感謝致します.

参考文献

[ 1] D.G. Fedorov, K. Kitaura, J. Chem. Phys., 120, 6832 (2004).
[ 2] 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, and J. A. Montgomery, J. Comput. Chem., 14, 1347 (1993).
Gordon Group/GAMESS Home:
http://www.msg.ameslab.gov/GAMESS/
[ 3] H. Sekino, Y. Sengoku, S. Sugiki, and N. Kurita, Chem. Phys. Lett., 378, 589-597 (2003).
[ 4] T. Nakano, T. Kaminuma, T. Sato, K. Fukuzawa, Y. Akiyama, M. Uebayasi, and K. Kitaura, Chem. Phys. Lett., 351, 475-480 (2002).
http://moldb.nihs.go.jp/abinitmp/
[ 5] FMOutil is coded by D. G. Fedorov, T. Ishida, and K. Kitaura, National Institute of Advanced Industrial Science and Technology (AIST), 1-1-1 Umezono, Tsukuba, Ibaraki 305-8568, Japan
http://staff.aist.go.jp/d.g.fedorov/
[ 6] M. Suenaga, J. Comput. Chem. Jpn., 4, 25-32 (2005).
[ 7] G. D.van Duyne, R. F. Standaert, S. L. Schreiber, and J. Clardy, J. Am. Chem. Soc., 113, 7433 (1991).
[ 8] Borland Delphi 6 personal web site: http://www.borland.co.jp/delphi/personal/
[ 9] WINE : an Open Source implementation of the Windows API on top of X, OpenGL and Unix.
http://www.winehq.org/
[10] The Mesa 3D Graphics Library: http://www.mesa3d.org/


Return