各種プログラム使用方法
 * 処理の手順 [#xe0aee9b]
 + 反射ファイルの準備
 + スクリプトの準備
 + SOLVEで位相を決定する
 + RESOLVEでモデルを組む
 
 - 実践編:構造解析ことはじめ/21 構造決定してみよう/1 多波長異常分散法による位相決定~
 - [[PHENIXに収録されているSOLVE/RESOLVEを使う>SOLVE RESOLVE]]
 
 ** 利用できる反射ファイルのフォーマット [#c58a68a7]
 + HKL2000の.scaファイル
 + MTZファイル
 + XSCALEのアウトプットファイル
 + フリーフォーマットのものも可
 
 ** 反射ファイルの準備 [#fadf0b4b]
 HKL2000->SOLVEという黄金パターンは相性が良い。どっちもアメリカ生まれだから???
 
 ** スクリプトの準備 [#j3e13b3a]
 *** 3波長MADの基本スクリプト [#y32a6a6d]
 #script(solve_mad.csh)
 パラメータ部分の設定を状況に合わせて書き換えればSOLVEが実行されるはずです。~
 SOLVEを実行するコマンドにsedを使っていますが、これは"!"以降のコメントに日本語を使っているためSOLVEの出力が乱れることがあるためです(出力のほんの初めの部分だけなので気にしなくてもいいかもしれませんが)。問題がなさそうならsedを通さなくてもいいと思います。
 
 - resolve.csh
  #!/bin/csh
  setenv CCP4_OPEN UNKNOWN
  setenv SOLVETMPDIR /var/tmp
  setenv SYMOP /usr/local/lib/solve/symop.lib
  # RESOLVE開始
  resolve <<EOD | tee resolve.log
  solvent_content 0.35  ! 溶媒含量
  resolution 50 3.0     ! DM/モデル組み立てに使う分解能指定
  EOD
 
 *** SADの基本スクリプト [#w8e43376]
 #script(solve_sad.csh)
 
 - resolve.csh
  #!/bin/csh
  setenv CCP4_OPEN UNKNOWN
  setenv SOLVETMPDIR /var/tmp
  setenv SYMOP /usr/local/lib/solve/symop.lib
  # RESOLVE開始
  resolve <<EOD | tee resolve.log
  solvent_content 0.35  ! 溶媒含量
  resolution 25 2.1     ! DM/モデル組み立てに使う分解能指定
  EOD
 
 ** 異常分散シグナルの値 [#h03bfcb9]
 f', f"(エフプライム、エフダブルプライム)を求めてみましょう。そもそも f', f"はなんですか?というのはおいといて。~
 とりあえずプログラムを走らせることを優先します。~
 f', f"を求める方法は私が知る限り3通りあります。
 
 *** 文献値を引っ張ってくる [#l3df1603]
 測定した波長と自分のタンパクに含まれている重原子種とを佐々木テーブルを参照して、f', f"を求めることができます。~
 文献値を参照する場合の注意点として、「測定した波長を''厳密には''わからない」、ということがあります。特に放射光施設を使ってデータ収集をした場合、エネルギー校正(モノクロメータの結晶の角度と出射X線が合っているか?)の状態によっては、制御ソフトウェアで示された波長と実際の波長に差があることがあるようです(もちろん無いように施設の人は全力を尽くしてはいますが、様々な要因がありますので)。この場合、佐々木テーブルを参照するときの波長が間違っている可能性があるわけで、最悪誤ったf', f"の値を使うことになってしまうこともあるようです。そのため、SOLVEではf', f"の値を精密化してくれるようです。~
 そんなこともあり、f', f"の値が位相決定に影響することもあります。
 
 *** CROSSECを利用する [#p87734a7]
 CCP4パッケージのCROSSECというプログラムを利用します。このプログラムは佐々木テーブルを拡張したような使い方が出来ます。~
 慣れればコマンドラインからの使用も可能です([[はっぴ〜☆Scripting>Happy Scripting]]では、核種と波長から簡単に求めるスクリプトを紹介しています)。~
 - CROSSEC
 
 *** XAFSスペクトルの解析 [#x31a6eb1]
 データを測定する際に取得したXAFSスペクトルを解析することにより実験的なf', f"を求めます。~
 スペクトル解析にはCHOOCHを利用するか、制御プログラムが出力してくれた値を使います(PFのuguiはCHOOCHによる解析値を出してくれます)。ただ、この値が文献値よりもいいのかどうかはやってみないとわかりません・・・
 スペクトル解析にはCHOOCHを利用するか、制御プログラムが出力してくれた値を使います(PFのUGUIはCHOOCHによる解析値を出してくれます)。ただ、この値が文献値よりもいいのかどうかはやってみないとわかりません・・・
 
 ** HKL2000の.scaファイル [#mc44e32e]
 *** HKL2000でのスケーリング [#a15dcac8]
 位相決定にはバイフット対の反射は別々に記録されていることが&color(red){必須};~
 HKL2000のスケーリングの際に、''anomalous''か''scale anomalous''ラジオボタンにチェックを入れて反射ファイルを出力する。~
 viなどのテキストエディタで.scaファイルの中身をチェックしてみると分かりますが、バイフット対のある反射にはI(+)/I(-)のどちらも強度が掲載されるようになります。~
 SOLVEに.scaファイルを入力する場合には以下の''no merge original index''を入力することをお奨めします(local scalingの恩恵を受けることができるので)。
 
 #classdiv(box-blue)
 &color(blue){''SCALEPACKでSOLVE用のUNMERGEDデータを出力する''};~
 SOLVEインプット用の.scaファイルを作る際、HKL2000で観測された反射をマージするのではなくそのまま出力しておくことで、SOLVEの''local scaling''が利用可能になります。
 
 - [[HKL2000 for Manias/マージせずに反射ファイルを作りたい]]
 
 このlocal scalingは特にMADデータの処理の際に有効な方法なのでMADでデータ収集をした人は試してみるといいでしょう。~
 .scaファイルを見て、ヘッダ部分にラウエ対称のマトリクスが表示されていれば成功。(no merge original indexではない場合には空間群と格子定数のみのヘッダ)
 #classdiv(end)
 
 *** SOLVE に.SCAファイルを読み込ませるコマンド [#ffc6e8d7]
 以下のキーワードを使用する
  readdenzo          -- DENZOつまりHKL2000フォーマットの指定
  unmerged           -- Mergeしていない
  read_intensities   -- 強度を読む。Fじゃない
  rawmadfile foo.sca -- ファイル名の指定
 
 ** SCALAから [#ud437806]
 SCALAから読み込む場合にはMTZファイルの名前とカラムの名前を入力する必要がある~
 キーワードとして以下を使用
  hklin foo.mtz
  labin FPH1=F SIGFPH1=SIGF DPH1=DANO SIGDPH1=SIGDANO
 
 *ResolveによるDensity Modification[#te802193]
 
 **DMのみ行う [#a07fcf8e]
 他の方法で解析していたMTZを使ってRESOLVEでDMしながらモデル構築する場合。
 *** MTZファイルを準備する [#t4b9b338]
 位相、Figure of Merit、(ヘンドリクソン-ラットマン係数)があるファイルを作る。
 *** 一般的なsolve.mtzのカラム(CCP4-MTZDUMPの結果) [#gb55c7a9]
   From solve.mtz Col Sort    Min    Max    Num      %     Mean     Mean   Resolution   Type Column
   num order               Missing complete          abs.   Low    High       label
    1 NONE     0       9      0  100.00      4.3      4.3  19.12   3.50   H  H
    2 NONE     0       5      0  100.00      1.4      1.4  19.12   3.50   H  K
    3 NONE     0      40      0  100.00     15.4     15.4  19.12   3.50   H  L
    4 NONE   12.7   746.3     0  100.00   105.56   105.56  19.12   3.50   F  FP
    5 NONE    0.3    10.2     0  100.00     0.83     0.83  19.12   3.50   Q  SIGFP
    6 NONE    0.0   359.6     0  100.00   163.79   163.79  19.12   3.50   P  PHIB
    7 NONE  0.000   1.000     0  100.00    0.708    0.708  19.12   3.50   W  FOM
    8 NONE -295.2   421.2     0  100.00     0.99     6.82  19.12   3.50   A  HLA
    9 NONE -138.6   270.2     0  100.00     0.72     4.98  19.12   3.50   A  HLB
   10 NONE  -39.5    14.9     0  100.00    -0.34     0.91  19.12   3.50   A  HLC
   11 NONE  -19.5    12.1     0  100.00    -0.07     0.70  19.12   3.50   A  HLD
 
 + Phase=PHIB
 + FOM=Figure of merit
 + HLA=Hendrickson-lattmann coefficient A
 + HLB=Hendrickson-lattmann coefficient B
 + HLC=Hendrickson-lattmann coefficient C
 + HLD=Hendrickson-lattmann coefficient D
 
 HLA/HLB/HLC/HLDはFOMがあれば計算可能。CCP4iの「Phase」関連のファイルいじりで出来るはず。
 
 ***RESOLVE用インプットファイル [#x79c8dad]
 入力カラムの指定
  LABIN FP=Fnative PHIB=PHIB FOM=FOM (HLA=HLA HLB=HLB HLC=HLC HLD=HLD)
 ここでは上記のCCP4-CADの操作でもともとのデータと位相情報を足し合わせたMTZファイルを準備した後、そのカラムの名前を指定しています。~
 このとき()内の係数はあっても無くても良いようです。~
 分解能は''res_start''にて開始分解能を指定。
 
  resolve<<EOD|tee resolve.log
  LABIN FP=Fnative SIGFP=SIGFP PHIB=PHIB FOM=FOM HLA=HLA HLB=HLB HLC=HLC HLD=HLD
  res_start 3.5
  solvent_content 0.35            ! your solvent content goes here.
  resolution 20 2.9               ! resolution limit.
  EOD
 
 *** File名の指定 [#c4725ee4]
 デフォルトではRESOLVEは''solve.mtz''を読み込むことになっているが、もちろん入力MTZファイルの名前を指定することも可能である。
  hklin solve_yarinaoshi.mtz
 とすると''solve_yarinaoshi.mtz''と言うファイルを読み込んでくれる。内容は '''F PHI FOM'''があれば少なくとも走るようである。
 
 **Sequence fileについて [#j70f0bc1]
 ***シークエンスファイル名 [#vb76b827]
  seq_file foo.seq
 とする。
 
 ***フォーマット [#k96d9331]
 + 1文字表記の1次配列
 + 1行に80文字まで
 + チェインの終了コードは'''>>>'''
 
 ***出力PDBファイルについて [#n7e78c93]
 RESOLVEはモデルと共に'''HETATM'''コード(PDB座標中、ATOMではなくHETATMによって始まる行)に&color(red){''重原子座標(SOLVE ha.pdbの情報)''};を出力。
 
 ** モデル構築のオプション [#t8648572]
 *** 色々とできるみたい(あんまりいじっても・・・) [#b9dd9546]
 |~no_build|構築しないコース|
 |~build_only|構築しかしないコース|
 |~build_outside_model|既にあるPDBに新たなモデルを足していくコース|
 |~assemble_only|入力されたPDBをつなげるだけコース|
 *** 計算のスピードや緻密さの指定(あんまりいじっても・・・) [#n0424e29]
 |~superquick_build|できるだけ早く|グリッドが荒い。フラグメントサーチ。|
 |~quick_build|標準プロトコル。普通に早い|特になし|
 |~aggressive_build|アグレッシブにモデルを置く|推奨しない(作るなよ)|
 |~thorough_build|じっくり構築|別にquick_buildより良いのが出るとは限らない|
 |~conservative_build|ひかえめにやる|特になし|
 ***その他1 [#oc7d0bd1]
 ***resolve_build script [#r679b07c]
 SOLVE, RESOLVE, REFMAC5を利用したモデル構築スクリプト
 - http://www.solve.lanl.gov/Resolve/html_resolve_manual/resolve_build.txt
 
 ただし相当時間がかかる模様でございます。
 
 ***便利 [#a256cfe3]
 - http://convex.hhmi.columbia.edu/comp/solve/html_resolve/resolve_sample_scripts.htm#vary_cycles
 - http://www.solve.lanl.gov/html_resolve/resolve_running.htm
 - http://convex.hhmi.columbia.edu/comp/solve/html_resolve/resolve_introduction.htm
 
 * 重要な注意事項 [#j66de51e]
 ** 解けないデータ [#wfd0ab11]
 エッジとリモートの2波長MADもSOLVE/RESOLVEやってみてください。~
 少し人生が変わって見えるかも。~
 ''参考文献:'' Acta Cryst D59, 315-322 Ana Gonzalez@SSRL