構造生物 Vol.2 No1
1996年4月発行

「BL6B用データ処理プログラム“PROCESS”紹介」の概要


吾郷日出夫

日本たばこ産業(株)・医薬総合研究所

昨年の12月4日に筑波大学でTARA坂部プロジェクトの"PFで良いデータをとるた めには"というミーティングが行われその中で、東常行先生から"BL6B用強度デー タ処理プログラムの紹介"という題目で、“PROCESS”と呼ばれる新しいプログラムの概 要の説明と既存の“WEIS”との違いなどについてご講演があり、またそれに対する活発なディスカッションが交わされ講演時間が足りなくなるほどの充実したものとなりました。プログラム“PROCESS”はイメージングプレートに記録された回折イメージを処理し、他 のプログラムを使うことなく結晶方位の決定から、フィルム間でスケーリングされた回折強度を出力するプログラムです。ここでは、当日東先生がお話になったことについてまとめてみました。

プログラム“PROCESS”の概略

“PROCESS”の処理と“WEIS”の処理の流れを講演資料から抜き出すと表1、すなわち、 1)指数付け、2)反射の発生、スポット位置、3)精密化、4)積分反射強度、5)マ ージ、6)スケーリング、7)グラフィックス、8)その他、となります。講演の要旨で はこれらについて“PROCESS”を“WEIS”と次のように比較しています。

  1. WEISはユーザが指数付けをすることを前提としていますが、PROCESSでは振動写真 に限り、実格子指数付けが出来ます。
  2. 反射発生のアルゴリズムが変わっている以外は、だいたい同じです。
  3. WEISは斑点位置のみに付いての精密化ですが、PROCESSではそれに加えてポストリ ファイメント的な考慮をしました。
  4. MOSFLMのプロファイルフィッティングをやめて、Rossmamの方式と置き換えまし た。従って、WEISと同じです。
  5. WEISのCOMBINEと同じ方法で行います。入出力の書式は少し違います。
  6. スケーリングに、固有値フィルターを用いました。また、ポストリファイメントが使えます。
  7. 簡単なグラフィックス機能があります。

講演ではこれらのうち1)3)8)について重点的にお話になり、また後で頂いたOHPに は時間の都合で省略された2)と4)も含まれていましたので、これらについて以下でま とめてみたいと思います。括弧内にプログラムでのコマンド名を示しました。

1) 指数付け(STILL)

“PROCESS”の指数付けはプログラム“STILL”で振動写真を使って行います。指数付けの機能は、いわゆる従来の“WEIS”には無かった機能です。'“PROCESS”を使って処理をする場合、指数付けが振動写真から出来るため、ブラインド領域の問題を避けるために結晶軸をスピンドル軸から傾けて測定することが容易であること、また測定前に指数付けを行っておけば、結晶の外形から軸方向が良く判らない場合でも十分充足率の高いデータを集めるための最小の回転角度範囲のスタート位置をあらかじめ知ることが出来ます。これらの機能は処理の手間と測定したい結晶の数に負けて測定範囲をけちって充足率の低いデータを何度か集めたことがある我々にはうれしい機能です。

“STILL”の実空間指数付けは次のような考え方によっています。

T) 各回折点のフィルム座標(X,Y,φ)から逆格子座標(x,y,z)を決めます。このときφは振動範囲のどこで回折したかは正確には判らないので、振動範囲の中間値で代用します。

U) 3つの回折点の逆格子座標で決められる逆格子面をとり、原点からその面におろした 垂線ベクトル(η)と同じ向きで大きさが逆数の実空間ベクトル(d)を求めます。この実 空間ベクトルが決定すべき実軸の候補です。すなわちある逆格子面が決まれば、垂線ベクトルの方向は必然的にその逆格子面に含まれない逆格子軸に対応する実軸の方向と一致しており、垂線ベクトルの大きさはその実軸方向の面間隔を表しているということです。(図1)

V) 正しい実軸の選択は、"正しい逆格子面は測定できた回折点のその多くを含むはずだ"という考えで行われています。(図2)測定した回折点の逆格子座標での位置を表すベクトル(d*i)を使って、実空間ベクトル(d)について

W) Sの大きな3本のdをa,b,cとします。これで記録された回折点に指数が付いたので、 UBマトリックスは、

を解けば求められます。

このように振動写真から指数付けが出来れば格子定数未知でも大丈夫のように思えます が、JTのRAXIS-IIc版の“STILL”で3枚の静止写真を使ってP63の結晶の指数付けをすると、デフォルトのパラメータではa*とb*の間に軸をとってComで指数が付くことがあり、 指数付けに使う反射の数を変えてみて正しいものを選んだ経験があるので、やはり格子定数などは実験室系できっちり決めておく必要があると思います。

2) 反射の発生(OSCILL)

イメージングプレート上に記録された回折イメージから回折強度を読みとる場合、I) とりあえずイメージングプレート上のすべてをピークサーチして強度を読むやり方と、II)あらかじめ指数から回折点の位置を計算してそこへ読みにいく方法があります。I)の場 合大きなイメージングプレートを読む場合総ピクセル数が多いこと、強度の弱い反射が落ちる可能性があることから“PROCESS”ではII)の方法を採っており、“OSCILL”と呼ばれるプログラムで計算します。反射の発生は既知情報としてUBマトリックス、波長λ、カメラ長D、振動範囲(φ1,φ2)が必要で計算手順は次のようになっています。

a)指定した分解能内の指数(h,k,1)を発生し、逆格子座標d*に変換します。
b)振動範囲(φ1,φ2)で回転させたd1*、d2*を計算し、d1*からd2*へ移動する途中で、Ewald球を切れば、すなわち

3) 精密化(OSCILL:newrefine)

回折強度データとして完全反射だけを取り扱う場合、計算されたスポット位置(Xc,Yc) と実測位置(Xo,Yo)の一致度が良ければ回折強度データとして問題は無いのですが、部 分反射も取り扱う場合は結晶のオリエンテーションがいい加減では部分反射度が正しく見積もれないなどの問題があります。WEIS"は計算されたスポット位置(Xc,Yc)と実測位 置(Xo,Yo)の一致度に重きをおいた精密化を行っています(式3)。一方,“PROCESS”で は位置の一致度の他に、ポストリファイメント的な考え方で部分反射を考慮し、精密化の過程でパラメータが発散してしまわないための強度面からの束縛条件としています(式4)。式3と式4は“WEIS”と“PROCESS”での最小化する残差を表しています。

Ifull部分反射として記録された反射の完全反射の場合の強度ですが、等価な反射が同じ イメージングプレート上に完全反射として記録されていない場合知ることが出来ません。そこで“PROCESS”では完全反射をsinθ/λで分けその平均<Ifu11>で代用しています。図6は既知の結晶方位行列から回折する角度がφcと計算され、あるモザイク幅を持った反射のロッキングカーブを示しています。振動範囲がφ1からφ2の場合、記録されるのは斜線の部分であり、この反射は部分反射として記録されます。この斜線部分の全体に対する割合がPcalで、O<Pcal<1の値をとります。

“WEIS”と“PROCESS”では、座標系の間の取り扱いも異なっています。“WEIS”ではいわゆる“Q行列”によってスキャナ座標系から見たフィルム座標系の原点、傾き、伸縮を記述していました(式5.1、式5.2)。“PROCESS”では座標系の原点と傾きを指定して います(式6.1、式6.2)。このため“PROCESS”では伸縮に関する記述が無くなっ ています。

ここで言う傾きは、“PROCESS”の座標系は本来スピンドル軸に平行ですが、実際スキャナで読んだときにスキャナの軸とずれる場合があり、そのずれに対応する角度です(図7)。

“WEIS”と“PROCESS”で調節できるパラメーターは、"WEISllでは、格子定数、結晶方位、Q行列、カップリング、入射X線の傾きμで、“PROCESS”では格子定数、結晶方位、座標系の原点と傾きω、入射X線の傾きμ、モザイク幅などです。ただしモザイク幅は、Ifullを<Ifu11>で代用しているので、その値について保障するものではないそうです。

4) 積分反射強度(OSCILL:newmeasure)

“PROCESS”の元である“MOSFILM”では強い反射を単純に足しあわせて標準プロファイ ルを作成するT Greenhoughの方法が用いられていますが、この点が改められて積分反射強度の計算には“WEIS”と同じRossmamの方式が用いてあります。Rossmamのプロファイル フィッティングはMethods in ENZYMOLOGY Vo1 114,pp237に詳しい解説がありますので参 照して下さい。

“PROCESS”の積分ボックスは箱の大きさ(NXS,NXY)、バックグラウンドの指定にX,Y方向(NRX,NRY)、角の面取りの大きさ(NCR)の5つのパラメータで指定されています(図 8)。

このボックスの中の読みとり強度からプロファイルフィッティングによって積分強度を計算するわけですが、Rossmannのプロファイルフィッティング、すなわち“PROCESS”で最小にする量は

です。ここでP(p,q)はピーク中心からの座標(p,q)での標準プロファイルでこれを求めるための領域分けはRossmamのやり方と同じです。Jhは座標(p,q)でのバックグラウンドを差し引いた測定強度にP(p,q)を一致させるためのスケールです。iは読みとり時の強度で、a,b,cはバックグラウンドを記述するための定数です。

となります。積分反射強度の標準偏差は、講演時に解説がなかったので東先生のOHPの引 き写しですが、積分ボックスの中のピークの位置の数をm、バックグラウンドの位置の数 をnとしたときに“WEIS”では

8) その他

ここまでに何度も出てきていますが、オリジナルのプログラムが“WEIS”では “OSCMGR”、“PROCESS”では“MOSFILM”になっています。また講演時の質問で出てきたことですが、“WEIS”は東先生等に著作権があるので比較的自由に配布できたが、 “PROCESS”はリガクのRAXIS用のプログラムとして開発された経緯上、著作権がリガク (理学電機?)にあり“WEIS”のようには自由に配布できないとのことでした。東先生に よればRAXISユーザーはバージョンアップということで何とかなるとのことでしたが、そ れ以外のユーザーが自分の研究室に導入する際は、“PROCESS”を単体で売ったことはま だ無いそうですが、やはり購入しなければならないだろうとのことでした。メーカー名は伏せますが、私どもの経験で以前定価が表示されている低分子解析用のソフトウェアを購入しよつとしたところ、定価はソフトがいらない場合の値引きの値段で、ソフトはハードと込みでなければ売らないと言われてかなりいやな思いをしたことがあるので、この点については何かきちんとしておく必要があるのではないでしょうか。またこの著作権の問題で、ソースコードは外部には出せないとのことでしたので、処理の途中から他のプログラムで処理の続きを行う場合、必要な情報を新たに取り出すためにユーザーがプログラムを書き換えることは出来ないそうです。ただしこの件については東先生は"一応全部出来る ソフトウェアなので、途中で他に移ることは想定していないが、必要があれば連絡して下さい"とおっしゃっているのであまり問題にはならないと思いますが。

東先生によれば、最大の違いは入力データーの作り方にあるそうです。“WEIS”ではフレームごとに入力データーを作りますが、“PROCESS”では共通のデータは、crysta1.datどいつファイルに書かれていて、これを参照しながら処理が進んでいきます。まだかなりの部分がメニューから入力できるようになっています。

実際の使用について

実際の処理で使われるプログラムとそのプログラムのメニューの中で選択するボタンは 表2のようです。また使用されるファイルは表3に挙げてあります。ファイル名のうちユ ーザーが決めなければならないのはフレームファイル名で、それ以後の処理で必要があればそのファイル名が引き継がれます。このフレームファイル名の付け方にはバッチで処理することを考えてある制約があり、aaaa999.XXXという形が要求されます。これらはファイルcrystal.dat中に記述されており、aaaaは英文字で始まる文字列で、999はフレーム番号を表す続き番号、xxxは拡張子です。crystal.datの例は表4にあります。カメラ情報ファイルcamema.datは表5に例を示します。この中でhorizontal spindle direction(3/9)は、X線の上流から見て回転軸の向きを表し、Sakabeカメラでは回転軸が9時の方向から来ていることを表しています。スキャナ情報ファイルscamera.datの例は表6にあります。上のカラムは理学大型スキャナの場合で下のカラムはBAS2000の場合の設定です。fastest scanning axisは読みとり機ごとで早く読む向きが異なることを表しており、表6の設定はともにイメージングプレートをカメラに対して縦置きにセットした場合ですから、横置きにした場合は理学大型スキャナではhorizontal, BAS2000ではverticalにそれぞれ変更することが必要です。フレーム情報ファイルframe.datの例は表7に示してあります。ここで注意しなければならないのはカップリングコンスクーントの単位が“WEIS”の時の逆数になっている点と、カップリングが正になっている点です。

ここまでに出てこなかった機能としてシュミレーションの機能があります。これについ ては頂いたOHPに資料が無かったのですが、RAXISのものと同じであれば“STILL”で結晶 々位を決めた後で“OSCILL”の中の“SIMULATION”で始めと終わりの回転角度、ステップ幅を入力すると各々のフレームでの完全反射の数、部分反射の数、オーバーラップした反射の数、さらにデーターの充足率を計算してくれます。またラウエ対称を決めるルーチンもあります。

指数付け以降の“OSCILL”の過程はフレーム1枚毎でも出来ますがバッチ処理もできま す。この場合従来の巨大ワイセンベルグカメラではフィデューシャル位置がずれたりしてバッチ処理が出来ない場合がありましたが、新しいカメラでは坂部先生によればカメラもリーダーも位置の再現性は1mm以内なので問題は起こらないだろうとのことでした。

終わりに

始めのほうで書いたように実生問指数付けが出来るようになったこと一つを見ても “WEIS”と比べて“PROCESS”がより洗練されており、ユーザーフレンドリーなソフトウェアに仕上がっていて、以前我々がそれこそ人間が目で見て軸立てをして、さらにおまじないのよつに"3023100110110010111"とキーボードを叩いて精密化をやっているのを、アメリカの共同研究先のDENZOを使ったことがある研究者がとんでもなくプリミティブだと 行っていたのが思い出されます。効率よく解析に役立つデータを集めるためには、ハードの改善ξソフトウェアの進歩の両方に支えられているのは言うまでもないことです。初めてPFでデータをとらせていただいてから、PFスタッフの方々のご努力によってハード面 では格段に使いやすくなっているのを実感しておりました。ここに来て東先生の “PROCESS”によってよりいっそう私どもビジターの研究者が使いやすいシステムが完成 するしとを期待しております。


ご意見、ご要望などは下記のアドレスにメールを下さい。
sasaki@tara.met.nagoya-u.ac.jp