HKL2000を使ってみよう Second season (作成中)  

HKL2000ドキュメント再構成中・・・

インストール  

必要なパッケージ  

Fedora 8  

yumでインストールして下さい。

Vine 5.0  

aptでインストールして下さい。

ライセンス関係  

infoの項目  

正しいライセンスを持っているのにNot a valid HKL-2000 licenceと怒られることがありますが、その際のFieldは以下のようになっているようです。特にネットワーク関係の情報を変更した場合、不整合が起こることがあるので確認してみて下さい。値はaccess_prodで確認可能です。
項目の内容は推測なので間違っているかもしれません。

Field内容よく発生する不一致
HOST-NAMEホスト名ホスト名を変更したとき
HOST-IDホスト名から正引きしたIPアドレスより求められる値IPアドレスが変更されたとき
HOSTNAMEresolve.confのsearch項目resolve.confのsearchを編集してドメインが変わったとき
HW_PROVシステム名OSを入れ替えたとき?
CPU-SERIALOSの種類,NICデバイス名,MACアドレスNIC差し替えなどでeth0がeth1などに変わったとき

小手先の技で何とかなる場合もありますが、急ぎでなければHKLに連絡してライセンスファイルを再発行してもらうほうが無難かつ確実でしょう。

HOST-IDが0になる  

ホスト名からIPアドレスが得られない場合に起こるようです。

起動  

起動できない  

起動時に以下のメッセージが出てHKL2000が起動しないことがあります。

Checking program versions ...
Warning: program denzo_3d version reading timeout
Error: could not read /usr/local/bin/denzo_3d program version. 
Program output:

これはdenzo_3dを実行するために必要なlibg2cが存在しないことが考えられます。Fedoraならyumでcompat-libf2c-34を、Vine 5.0ならaptでlibf2cをインストールして下さい。

マクロを使う  

HKL2000を使いこなすためにはマクロの習得(といってもたいした数はありませんが・・・)は必須でしょう。マクロはMacrosタブを開くことでセットできます。そもそもマクロという呼び名が適切かどうかは疑問が残りますが、つまり各処理段階でのパラメータのセットを行うためのものです。
パラメータ名などはThe HKL ManualAlphabetical Denzo Keyword DescriptionsAlphabetical Scalepack Keyword Descriptionsの章で説明されています。ここではよく使う項目のみを解説しておきます。

マクロを使う段階  

マクロが挿入される段階は4つあり、

が使用できるようです。
使用したい項目のテキストボックスに入力し[Add Macro]をクリックすることでセットされます。

During Integration (DENZO)  

YORK OUTPUT FILE '/path/to/foo_00###.y'  

OUTPUT FILEコマンドに代わるもので、Yorkファイルフォーマット(内部形式denzo_york1)で出力される。CCP4のSCALAでスケーリングする際に使います。
SCALEPACKの時点でFORMAT denzo_york1を使えばSCALEPACKでも読み込めるはず。

During Scaling (SCALEPACK)  

NO MERGE original index  

異常分散を利用した位相決定の際にI(+)とI(-)を分けて.scaファイルへ出力する必要がありますが、その際は、[Anomalous]または[Scale anomalous]にチェックを入れてスケーリングを行います。この結果、それぞれのI(+),I(-)は別々に.sca ファイルに記述されます。つまり、各反射情報が書かれている行にI(+), sigI(+), I(-), sigI(-)のカラムが書き出されることになるのですが、この場合にはスケーリングした時点で等価なI(+)やI(-)は既に平均化された結果になっています。
そのような処理をせず、スケール合わせだけをしてそれぞれを平均化しないで出力する、というのがこのコマンドの目的です。この作業によってMADを行う際(例えばSOLVE)にローカルスケーリングが利用できるようになります。このようなスケーリングにより位相決定がうまく行く場合もあるようです。
あまり使うことはないと思いますがNO MERGE include partialsNO MERGE include no partialsというものもあります。NO MERGEだけ指定するとinclude no partialsになります。

どんなときに使う?

  • SOLVE/RESOLVEによる位相決定とモデル構築
  • SHELXCの際にデータのよしあしを判断させる際

このマクロを追加してスケーリングした場合、

Could not read file
scalepack.sca header:format not supported by HKL-2000
File could be corrupted or it may be a result of a command 'no merge original index'

というメッセージが表示されますが、これはHKL2000がunmergedのscaファイルの読み込みに対応していないため、このようなメッセージが出力されるようです。処理には問題ありません。