2011年4月25日月曜日

[PX] MTZ への階段

XDS で拾った回折強度を Scala でスケーリングしてみようかと思います。
そのためには、XDS_ASCII.HKL を マルチレコード MTZ に変換しなければなりません。

今回は、そこらへんをやってみました。



…その前に、ちょっと確認&修正。

前回前々回に処理して出力された XDS_ASCII.HKL の中をちょっと覗いてみましょう。

!FORMAT=XDS_ASCII    MERGE=FALSE    FRIEDEL'S_LAW=FALSE
!OUTPUT_FILE=XDS_ASCII.HKL        DATE=20-Apr-2011
!Generated by CORRECT   (VERSION  December 6, 2010)            
!PROFILE_FITTING= TRUE 
!NAME_TEMPLATE_OF_DATA_FRAMES=img/Thm15A010???.img SMV                          
!DATA_RANGE=       1     360
!ROTATION_AXIS=  0.001140  0.999999  0.000131
!OSCILLATION_RANGE=  1.000000
!STARTING_ANGLE=  -180.000
!STARTING_FRAME=       1
!INCLUDE_RESOLUTION_RANGE=    45.000     1.459
!SPACE_GROUP_NUMBER=   89
!UNIT_CELL_CONSTANTS=    57.845    57.845   150.127  90.000  90.000  90.000
 …
!FORMAT=XDS_ASCII    MERGE=FALSE    FRIEDEL'S_LAW=FALSE
!OUTPUT_FILE=XDS_ASCII.HKL        DATE=20-Apr-2011
!Generated by CORRECT   (VERSION  December 6, 2010)            
!PROFILE_FITTING= TRUE 
!NAME_TEMPLATE_OF_DATA_FRAMES=img/Lys15A03_?????.img SMV                        
!DATA_RANGE=       1     360
!ROTATION_AXIS= -0.999976 -0.002277 -0.006479
!OSCILLATION_RANGE=  1.000000
!STARTING_ANGLE=     0.000
!STARTING_FRAME=       1
!INCLUDE_RESOLUTION_RANGE=    45.000     1.304
!SPACE_GROUP_NUMBER=   89
!UNIT_CELL_CONSTANTS=    78.840    78.840    36.986  90.000  90.000  90.000
 …

う~ん、どちらも空間群が「89 (P422)」になってますねぇ… xdsme には -s オプションで正しい空間群を与えたはずなのに…

どうも、xdsme で -s オプションで空間群を与えても、-c オプションで格子定数を与えなければ、それは無視されてしまうようです。
そういえば、xdsme のログに Warning が出てました。
ubuntu-vm:~> xdsme -A -3 -s P43212 -i "ROTATION_AXIS=-1 0 0" IMG/Lys15A03_*.img
>> Interpreting header of image:  IMG/Lys15A03_00001.img
>> Image format:      adsc
>> Detector type:     ADSC 315

    Simplified XDS Processing

    Diffraction Setup Parameters:

  Detector distance:                80.00 mm
  X-ray wavelength:                1.5000 A
  Oscillation range:               1.0000 degree

  Beam coordinate X:               1538.0 pixel
                  Y:               1534.0 pixel
  Resolution range:           (45.0, 0.0)
  Image range:                   [1, 360]

  Maximum number of processors avialable:    1

  WARNING: Spacegroup is defined but not cell. Waiting for indexation for setting cell.
  Imposed Space group:  P4(3)2(1)2,  number 96

 Starting at step: 3 (IDXREF)


 --->  Running job:               IDXREF
 …

というわけで、-c オプションも与えて、拾わせ直しです(マンドクセ ('A`))。
ubuntu-vm:~/test8> xdsme -A -3 -s P43212 -c "78.8 78.8 36.9 90 90 90" -i "ROTATION_AXIS=-1 0 0" IMG/Lys15A03_*.img
>> Interpreting header of image:  IMG/Lys15A03_00001.img
>> Image format:      adsc
>> Detector type:     ADSC 315

    Simplified XDS Processing

    Diffraction Setup Parameters:

  Detector distance:                80.00 mm
  X-ray wavelength:                1.5000 A
  Oscillation range:               1.0000 degree

  Beam coordinate X:               1538.0 pixel
                  Y:               1534.0 pixel
  Resolution range:           (45.0, 0.0)
  Image range:                   [1, 360]

  Maximum number of processors avialable:    1

  Imposed Space group:  P4(3)2(1)2,  number 96

 Starting at step: 3 (IDXREF)


 --->  Running job:               IDXREF
 …

出力された XDS_ASCII.HKL は、
!FORMAT=XDS_ASCII    MERGE=FALSE    FRIEDEL'S_LAW=FALSE
!OUTPUT_FILE=XDS_ASCII.HKL        DATE=25-Apr-2011
!Generated by CORRECT   (VERSION  December 6, 2010)            
!PROFILE_FITTING= TRUE 
!NAME_TEMPLATE_OF_DATA_FRAMES=img/Lys15A03_?????.img SMV                        
!DATA_RANGE=       1     360
!ROTATION_AXIS= -0.999976 -0.002276 -0.006475
!OSCILLATION_RANGE=  1.000000
!STARTING_ANGLE=     0.000
!STARTING_FRAME=       1
!INCLUDE_RESOLUTION_RANGE=    45.000     1.533
!SPACE_GROUP_NUMBER=   96
!UNIT_CELL_CONSTANTS=    78.838    78.838    36.985  90.000  90.000  90.000
 …

ちゃんと空間群「96(P43212)」になっています。


さて、前置きが長くなりましたが、この XDS_ASCII.HKL をマルチレコード MTZ に変換します。
変換方法は、ココに2つ載っていますが、特に面倒だったり難しかったりはないはずです。

1つめは、Combat で読み込む方法です。wiki にはスクリプトで書いてありますが、あえて ccp4i でやってみましょう。

【Data Reduction】→【Import Integrated Data】→【Import Unmerged Data (Combat)】で Combat を起動します。
ファイルブラウズでのデフォルト拡張子が「*.hkl」なので、「*.HKL」と大文字に書き換えないと、XDS_ASCII.HKLが見つかりませんw

wiki によると、この Combat では、「ヘッダの全ての情報を正しく読むわけではないっぽい」、とか書かれています。
できた MTZ ファイルを MTZdump で見てみると、
 …
 * Dataset ID, project/crystal/dataset names, cell dimensions, wavelength:

        1 test8
          Lysozyme
          Lys15A03
             78.8380   78.8380   36.9850   90.0000   90.0000   90.0000
             0.00000
 …
確かに、測定波長が読み込まれていませんね。

【Extra Information for MTZ file】で明記しておきますかね。

この後は、sortmtz してやれば、Scala に放り込むことができます。
ccp4i から Scala をかけるのであれば、前処理で sortmtz が実行されますので、そのままでOKです。


2つめの方法は、pointless を使ってマルチレコード MTZ に変換する方法です。

【Data Reduction】→【Import Integrated Data】→【Import Unmerged Data (Pointless)】でタスクを起動します。

【Job title】の下にある4つのスイッチですが、ただ変換するだけだと思って、4つともオフにすると、

空間群判定が実行されてしまい、この場合ですと「P41212」に書き換えられてしまいます。
ですので、【Choose a previous solution】をオンにし、【Choose a solution】タブで空間群を指定してやります。

これで、空間群判定が無視され、指定した空間群が書き込まれます。
また、pointless ですと、測定波長も正しく読み込まれます。
 …
 * Dataset ID, project/crystal/dataset names, cell dimensions, wavelength:

        1 XDSproject
          XDScrystal
          XDSdataset
             78.8380   78.8380   36.9850   90.0000   90.0000   90.0000
             1.50000

 …

 * Cell Dimensions : (obsolete - refer to dataset cell dimensions above)

   78.8380   78.8380   36.9850   90.0000   90.0000   90.0000 

 *  Resolution Range :

    0.00064    0.42574     (     39.419 -      1.533 A )

 * Sort Order :

      1     2     3     4     5

 * Space group = 'P 43 21 2' (number     96)
 …


さて、これでマルチレコード MTZ ができました。
次回は、Scala でスケーリングしてみましょう。

0 件のコメント:

コメントを投稿