[[MOSFLMを使ってみよう]]
* コマンドラインからMOSFLM [#z5841428]
MOSFLMを起動するとコマンドラインから使用できることに気づきます。
************ Version 6.2.6 for Image plate and CCD data 4th May 2006 ***********
A.G.W. Leslie, MRC Laboratory Of Molecular Biology, HILLS ROAD, CAMBRIDGE CB2 2QH, UK
E-mail andrew@mrc-lmb.cam.ac.uk
New auto-indexing using DPS due to Ingo Steller Robert Bolotovsky and Michael Rossmann
(1998) J. Appl. Cryst. 30, 1036-1040
Original auto-indexing using REFIX due to Wolfgang Kabsch (Kabsch,W. (1993),
J.Appl.Cryst. 24,795-800.)
X-windows interface using xdl_view due to John Campbell (Daresbury Laboratory, UK.)
(Campbell,J.W. (1995) J. Appl. Cryst. 28, 236-242.
MOSFLM =>
LINUXなどのシステムと同様、MOSFLMは起動するとコマンドプロンプトを要求してきます。
これにたいしてどんなコマンドを入力すればどんなことをやってくれるかを見てみましょう。
** 最初の準備は・・・ [#r4d6676f]
基本的なパラメータ設定については以下のを利用したとします。
init.mac中のコマンド
! This input created from an interactive session
DIRE ../
TEMPLATE deg01_0####.img
!IMAGE 1 phi 0.0 to 0.1
DETECTOR ADSC
DETECTOR OMEGA 90
WAVELENGTH 0.9197
DIVERGENCE 0.040 0.003
BEAM SWUNG_OUT 105.33 105.45
GAIN 1.00
ADCOFFSET 10
NULLPIX 50
DISTANCE 140.024
DISTORTION YSCALE 1.0007 TILT 31 TWIST 4
MOSAIC 0.30
OVERLOAD CUTOFF 60000
とりあえず必要なパラメータは上記で網羅されています。後は処理するだけ、という。
これらの基本的なパラメータについては各自準備してください。
** Autoindex [#sda79fe9]
*** パラメータ読み込み [#vda87ae5]
私(ひらた)の知っている限りで書きますので他にもバリエーションがあることをお忘れなく。
MOSFLM => @init.mac
として init.mac 中のパラメータをMOSFLMにおぼえさせます。@を使うことにより作ったファイルをMOSFLMに読ませることができるということです。~
ちなみに上記のコマンドはいちいち手で打っても問題ありません。面倒なので共通部分はなるべくとっといて使いまわそうということで上記ファイル「init.mac」を準備したということです。
*** Autoindexをする [#ee60c940]
MOSFLM => autoindex dps image 1
とすると1枚目のイメージを使ってAutoindexをしてくれます。
MOSFLM => autoindex dps image 1 91
とすると1、91枚目のイメージを使ってAutoindexしてくれます。
以下同様に
MOSFLM => autoindex dps image 1 91 181
なども使えます。
MOSFLM => symm p43212
とあらかじめ入力しておくと空間群はP43212である条件のもと結晶格子定数を確定してくれます。
** Cell refinement [#h8cddab8]
結晶格子定数の精密化を行います。
MOSFLM => postref segment 5
MOSFLM => process 1 5
MOSFLM => run
MOSFLM => process 301 305
MOSFLM => run
MOSFLM => process 601 605
MOSFLM => run
MOSFLM => process 901 905
MOSFLM => run
MOSFLM => process 1201 1205
MOSFLM => run
以上で計算が開始されます。終わったらログをよく確認して正しい格子定数が見積もられているかどうかをチェックしよう。~
segment で指定するのはデータセットの角度領域のこと。上記の例では0.1deg. 振動で1800枚とったイメージのうち、
"0.1-0.5, 30.0-30.5, 60.0-60.5, 90.0-90.5, 120.0-120.5 deg."
を使って格子定数のリファインメントをやりますよ、という宣言。
*** LOG file の内容(端末に表示、あるいは MOSFLM.LPにあるはず) [#k27f3593]
Cell refinement is complete
Starting cell 78.638 78.638 37.021 90.000 90.000 90.000
Refined cell 78.736 78.736 36.996 90.000 90.000 90.000
Error 0.001 0.001 0.001 0.000 0.000 0.000
Rms positional error (mm) as a function of cycle for each image.
Image 1 2 3 4 5 301 302 303 304 305
Cycle 1 0.043 0.060 0.056 0.048 0.067 0.051 0.059 0.065 0.062 0.058
Cycle 2 0.066 0.058 0.050 0.065 0.048 0.051 0.067 0.052 0.073 0.050
Cycle 3 0.054 0.075 0.051 0.056 0.061 0.047 0.065 0.054 0.070 0.046
Image 601 602 603 604 605 901 902 903 904 905
Cycle 1 0.067 0.060 0.065 0.077 0.068 0.048 0.058 0.049 0.056 0.038
Cycle 2 0.064 0.053 0.079 0.061 0.059 0.050 0.050 0.054 0.070 0.054
Cycle 3 0.052 0.061 0.068 0.076 0.056 0.056 0.055 0.051 0.063 0.052
Image1201 1202 1203 1204 1205
Cycle 1 0.041 0.053 0.050 0.048 0.048
Cycle 2 0.042 0.046 0.053 0.048 0.048
Cycle 3 0.040 0.057 0.047 0.049 0.045
YSCALE as a function of cycle for each image:
Image 1 2 3 4 5 301 302 303 304 305
Cycle 1 1.001 1.001 1.001 1.001 1.001 1.002 1.001 1.001 1.002 1.002
Cycle 2 1.000 1.000 1.000 1.001 1.000 1.001 1.000 1.000 1.000 1.000
Cycle 3 1.000 1.000 1.000 1.001 1.000 1.000 1.000 1.000 1.000 1.000
Image 601 602 603 604 605 901 902 903 904 905
Cycle 1 1.001 1.002 1.002 1.001 1.002 1.001 1.001 1.001 1.001 1.001
Cycle 2 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000
Cycle 3 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000
Image1201 1202 1203 1204 1205
Cycle 1 1.000 1.001 1.000 1.001 1.001
Cycle 2 1.000 1.001 1.000 1.000 1.001
Cycle 3 1.000 1.000 1.000 1.000 1.001
Detector distance as a function of cycle for each image:
Image 1 2 3 4 5 301 302 303 304 305
Cycle 1 140.0 140.1 140.0 140.0 140.0 140.0 140.1 140.1 140.1 140.1
Cycle 2 140.2 140.1 140.2 140.1 140.2 140.2 140.2 140.2 140.2 140.2
Cycle 3 140.2 140.2 140.2 140.1 140.2 140.2 140.2 140.2 140.2 140.2
Image 601 602 603 604 605 901 902 903 904 905
Cycle 1 140.1 140.0 140.0 140.0 140.1 140.1 140.0 140.0 140.1 140.1
Cycle 2 140.2 140.2 140.2 140.2 140.2 140.2 140.2 140.2 140.2 140.2
Cycle 3 140.2 140.2 140.2 140.2 140.2 140.2 140.2 140.2 140.2 140.2
Image1201 1202 1203 1204 1205
Cycle 1 140.0 140.0 140.0 140.0 140.0
Cycle 2 140.2 140.2 140.2 140.2 140.2
Cycle 3 140.2 140.2 140.2 140.2 140.2
Refined mosaic spread (excluding safety factor): 0.12
Missets for first image ( 1) 0.00 0.02 0.04
Missets for last image (1205) 0.05 0.02 0.05
注意すべきなのは、格子定数が最初のイメージと最後ので相当違っているとか(数Å)、カメラ長が数ミリ違ってきているとか、とかいうおかしな現象。~
ただし、このプロセスがうまく終了していたらまずはデータ処理くらいはできます、という目安になります。~
数値的にうまく処理できているかを判断したい場合は ''RMS positional error''の表です。よい結晶データの場合、この値が0.01-0.05くらいでしょうか。上記の例だと少し高いですが、0.10を超えなければ私はよしとしています。~
おかしな現象というのは大体、上記の確認で見付けることができると思います。~
この場合、ビームラインやカメラ長など、パラメータの設定(init.mac)がおかしい、か、処理のプロトコルを再考する必要がある。~
''missets'' というパラメータは最初にAutoindexで決まっていた結晶のX線に対する向きがどの程度の角度ずれているか、ということを示すパラメータ。~
最初にAutoindexできめた結晶の方位(向き)はざっくり見積りである。このざっくり見積をさらに正確に決めた後に、初期のパラメータからずれたよ、ということを示すのがMISSETSである。~
上記の例では最初と最後の角度セグメントの1枚目(ややこしい?)で結晶の方位が若干違っていたよ、ということを示しています。これらの情報はイメージ上にある回折点の位置を見てMOSFLMが見積もってくれるものです。
** MOSAICITY の見積り [#hea1ff7d]
実はMOSAICITY(mosaic spread)の見積りは上記の格子定数精密化をやるとほぼ正確に行えます。以下に記す方法は「若干精度を欠くMOSAICITYの見積りである」ことを認識しておいてください。
MOSFLM => mosaic estimate 901
このコマンドで901枚目のイメージを使ってmosaicityを見積もります。
ちなみにこの見積り計算は1枚のイメージしか使いません。ということでmosaicityの見積りとしては相当甘いものになります。最初に積分を行うときのざっとした見積値として''どうしても(上記)格子定数精密化ができない場合''やむなく使う、という位置づけとして考えましょう。
** 積分 [#l769c3e3]
MOSFLM => process 1 to 180
MOSFLM => go
以上でこれまで決めてきた結晶のパラメタ(格子定数、mosaicity, orientation matrix)を使って反射イメージの積分を行うことができます。
* どうしたらええのん? [#w8e750f0]
** プロファイルフィッティングでこける [#w16ea8d5]
MOSFLM積分作業を開始してしばらくすると「プロファイルフィッティングがプアーです」といって勝手にMOSFLMが停止することがあります。そんなときには、以下をお試しください。この問題以外での用途にも使えるコマンドもあります。
*** 氷のリングがあるのかも [#r4ac1623]
氷のリングでバックグラウンドがうまく決まっていないかも知れないので、
resolution exclude 3.66 3.72
などとして、リングがある分解能領域(2 theta)のみ、計算に使わない。
*** 部分反射をリファインメントに入れてみる [#l8432bc9]
フィッティングするパラメータの数とリファインメントに使う反射の数が、つりあっていないかも知れない。
refinement include partials 0.3
0.3以上の部分度(partiality)を持つ反射をリファインメントに使う。
*** プロファイルがだめ、と判断するためのパラメータをいじる [#x9c885ff]
MOSFLM処理では、どんなパラメータも「良い結晶」基準で、デフォルトパラメータがある。プロファイルフィッティングについてもそうで、以下のようにパラメータに規制がかかっています。
+ 標準プロファイルを決めるための反射が''10個以上''あるか?
+ バックグラウンド平面のRMSが大きすぎないか?(''10以下'')
これらを意図的に、ゆるくしてあげることで、リファインメントに使用する反射を増やすことが出来ます(ただし、得られるデータが良くなるわけではありません)。
PROFILE RMSBG 20 NREF 5
この指定によって、バックグラウンド平面のRMSは'20以下'だと許容、反射数も'5個'あれば良い、という設定が可能です。
*** プロファイルを作るピーク [#b1135a25]
標準プロファイルを計算している時に、「変な形(プロファイル)の反射ピーク」を使うと、この問題が起きるケースもあります。特に、CCDモジュールの間にある隙間が反射に掛かってしまう場合などが挙げられます。他になんか変な影とかがイメージ上にないですか?
NULLPIX 20
カウントが20以下のピクセルが入るとその反射はプロファイル計算に使わない、というコマンド。~
バックグラウンドの値をイメージビューアなどでよく確認してめちゃんこ慎重に閾値を選ばないと、それこそ変な処理になっちゃいますので注意。
*** しかし、大体の場合・・・ [#qba329aa]
上記のようなマニアックな設定は、ほとんどいじらなくても問題なくいけます(くにを経験上)。もし、プロファイルフィッティングにこけたのであれば、最初に以下の設定をしてみてください。
RASTER 20 20 10 5 5 (数値は任意)
RASTER 23 17 8 3 2 (数値は任意)
デフォルトでは、もっともよいボックスパラメータ(以下のボックスの縦横、ピーク領域などのパラメータ)をプログラムが自動的に決めます。
<------------------ NXS = 23 --------------->
^ - - - - - - - - - - - - - - - - - - - - - - - ^
! - - - - - - - - - - - - - - - - - - - - - - - NRY =2
! - - - - - - - - - - - - ^
! - - - - - - - - - -
! - - - - - - - -
! - - - - - -
! - - - - - -
! - - - - - -
NYS =17 - - - - - -
! - - - - - - ^
! - - - - - - !
! - - - - - - !
! - - - - - - - - !
! - - - - - - - - - - NC =8
! - - - - - - - - - - - - !
! - - - - - - - - - - - - - - - - - - - - - - - !
^ - - - - - - - - - - - - - - - - - - - - - - - ^
<NRX> = 3
上図は、各パラメータの値を示しています。NXS/NYSはボックスの大きさ、NRX/NRYはバックグラウンド見積領域、NCは中心ですかね。~
上図では - となっている部分がバックグラウンドです。
コマンドで指定する順ですが、
RASTER NXS NYS NC NRX NRY
回折イメージを見てプロファイルがのびのびの場合に、MOSFLM自動生成ボックスを使うと、プロファイルを決めるのに失敗しやすいのだろうと思います。~
ということで、上記コマンドでは、初期ボックスの大きさ、などを指定しています。うまく行かない場合は、最初にこのボックスサイズを調整してみるのが良いと思います。~
ただし、この作業は「積分ボックスが大きすぎると、隣の反射まで処理してしまう」ことがあるので、イメージを見ながらやった方がよいでしょう。
*ポストリファインメントについて [#q4969f25]
** X線の発散角とモザイク角 [#z2055ea9]
POSTREF BEAM 1
+ x = 0 switches off refinement
+ x = 1 only mosaic spread refined
+ x = 2 mosaic spread not refined, horizontal and vertical beam divergences refined
** 注意事項 [#sc9d5dca]
MOSFLMによるデータ処理を行う場合 ''SPOTODファイル''という一時ファイルが作成されます。このファイルは一時ファイルだけあってアクセススピードがかなり速いらしい。NFSでHDDをマウントしており、データ処理をそのHDD上で行う場合にNFSのアクセススピードによってたまにMOSFLMがコアダンプはいて止まる、というケースもあります。~
このような場合、一時ファイルはローカルのHDDを使用する必要がある。私(ひらた)の場合は、IPMOSFLM起動時にコマンドラインにて、
$ ipmosflm spotod /localdisk/test.spotod
という指定をしてあげることにしています。