HKL形式に変換するHKL2MAPのPHSファイルをMTZに変換するPDB.orgの構造因子ファイル(mmCIF)をMTZに変換するCELLパラメータがないFreeRフラグがないPDBファイルPDBファイルを1文字表記にしたい構造解析のプログラムはいろいろな種類があるのでファイルフォーマットも様々な物があります。一通り変換手順を覚えてしまえばたいした問題ではありません。きMTZから電子密度図を描きたいCCP4のFFTを使います。CCP4パッケージ中のFFTを使用することで電子密度図を出力できます。参考:FFT電子密度図を変換したいMAPMANを使います。FactoryのRAVEパッケージに含まれているMAPMANを使用します。MAPMANはCNSやCCP4だけでなくO(オー)のbrix形式などにも変換することができます。その他、マップを操作するコマンドが提供されています。MAPMANの基本的な使い方コマンドラインで実行して、マップを読み込む→書き出す、という手順を行うだけです。formatformat形式のfileをmapとして読み込みます。formatformat形式でmapをfileに書き出します。構造因子ファイル構造因子ファイルのフォーマットはプログラムの数だけ存在すると言っても過言ではないでしょう。ここでは私が遭遇したフォーマット変換について記述しておきます。SCAファイル(SCALEPACK)からの変換SCAファイルをMTZ形式に変換するHKL2000(DENZO/SCALEPACK)のscaファイルをCCP4iを使ってmtzに変換します。Data]を開きます。残基数を入力で、Runで変換されます。SCA形式をCV形式に変換するto_cnsユーティリティとmake_cv.inpを利用します。HKL2000のscaファイルをto_cnsユーティリティを使用してCNSで使用するhklファイルに変換します。このプログラムはCNSのインストールディレクトリの下のutilsディレクトリに存在します。私の場合は実行ファイルになってなかったのでコンパイルしました。rootで作業します。コンパイルこれで実行ファイルができたのでto_cnsコマンドが使用できます。start.hklでscakepack.scaファイルがstart.hklファイルに変換されます。filesこのようになっていますのでd*trekのファイルも使えるようです。この段階ではFreeRフラグが付いていないのでmake_cv.inpでcvを作成します。HKL形式に変換するSHELXPROを使います。filesを使用します。CVファイルをMTZ形式に変換するCNSのFファイルであるcv形式をCCP4iを使ってmtzに変換します。format通常、特に変更なしで、Runで変換できるはずです。ディフォルトでは入力ファイルが.hklになってるので.cvにして表示させます。うまくいかないとき変換してみたとき、以下のようなエラーが出て失敗しました。これはおそらく行のフォーマットがcvに合っていないときに起こります。formatを修正します。ディフォルトでは'(6X,3F5.0,6X,F10.3,7X,F10.3,6X,F10.0)'になっていますが、わたしの場合は、'(6X,3F5.0,6X,F10.3,17X,F10.3,6X,F10.0)'に変更して使いました。cvのファイル形式が微妙に違うときに起こるようです。formatの意味は以下の通りだと推測されます。フィールドはコンマで区切られており、各要素の書式は[繰返しの回数]Symbol[パラメータ]のようになっています。(6X,3F5.0)なら6Xと3F5.0の要素から構成されています。3F5.0は繰り返しの回数が3なのでF5.0,F5.0,F5.0と等価になります。Symbolの意味は以下の通りです。F10.3という場合はフィールドの桁数が10で小数点以下の桁数が3ということXはフィールドとして扱われないので、(6X,3F5.0,6X,F10.3,7X,F10.3,6X,F10.0)ならF5.0,F5.0,F5.0,F10.3,F10.3,F10.0の6つのフィールドが定義されていることになります。前出のCCP4bbによると/25Xとすると(つまりフィールドの先頭)、/(スラッシュ)が改行として解釈されるようです。MTZファイルからCVファイルを作成するいくつか方法があります。mtz_to_cnsとmake_cvを使うCNSインストールディレクトリ下のutilsにあるmtz_to_cnsを使います。make_cv.inpこれで変換されます。make_cv.inpではFreeRフラグが新たに作成されてしまうので次のCCP4iを使う方がいいかもしれません。実際に実行されるプログラムはMTZ2VARIOUSです。[FreeR_flag]で設定します。MTZを作成したときのカラム名の設定によって名前が異なる場合がありますが、大体はF_とかSIGF_なのでそのような名前のものを選択しましょう。SIGFP以外のFPHなどは全部[Unassigned]にするところがポイント。値が入っているとCNSで使えるフォーマットになりません。flagをMTZと同じ条件にしておきたいならFreeRに[FreeR_flag]を選択しておきます。ここで得られた.hklファイルをCNSのmake_cv.inpで処理するとCVファイルを得ることができます。スクリプトで行うまず回折データをCNSが利用できる形式で準備します。validation)情報を追加したものです。この時にmake_cv.inpを使用します。反射ファイル(.hkl)を作成するCCP4のmtz2variousを使用します。ENDEOFこれでfoo.hklという反射ファイルが得られます。得られた反射ファイル名をmake_cv.inpにセットすることで変換が行われます。make_cv.inpの編集make_cvには格子定数と反射ファイル名、出力ファイル名、分解能などを指定します。HKL形式に変換するSHELX付属のmtz2hklを使用します。120こんな感じで変換されます。3に変更して使用します。出ない場合もあるのかどうかは不明ですなお、CCP4iのmtz2variousでも変換できますが、私の場合うまくいきませんでした・・・(出力されたhklファイルの内容がおかしかった)HKL2MAPのPHSファイルをMTZに変換するHKL2MAPで配布しているphs2mtzを使うか、CCP4のF2MTZで変換します。HKL2MAPの位相情報ファイルである.phsはそのままでは使いにくいのでMTZ形式に変換します。HKL2MAPのサイトにphs2mtzというスクリプトが用意されているのでダウンロードして使います。F2MTZの実行部分の格子定数の部分を修正します。ENDこれを実行すればOK。mymad.phsで変換されます。スクリプトの処理の都合上、親ディレクトリのファイルなどは指定できないようです。エラーで停止するPDB.orgの構造因子ファイル(mmCIF)をMTZに変換するCIF2MTZを使います。factor;sf)ファイルはmmCIF形式です。MTZfileを選択すればCIF2MTZのGUIになります。Inには取得したCIFファイル、Outには出力するMTZファイル名を指定します。その他のパラメータは記録されている情報により異なりますので注意してください。file!このエラーが出た場合、CIFファイルがCELLパラメータを情報として持っていません。対応するPDBファイルなどを参考にして格子定数を入力してください。FreeRフラグがないCELLパラメータが正常に指定されているのにFAILするときはFree-Rフラグがたっていない可能性があります。1990年代前半以前のデータの場合に当てはまると思われます。file.***************************************************************************ログを確認すると上記のようなメッセージが最後に出力されています。data]にしてみるとうまくいきました。label[FREE])の値が間違っていることが考えられますので適切に指定してみて下さい。dataでも特に問題はないと思います(Free-Rに使用する反射に重要な意味がある場合はダメですが)。どぶお問題PDBファイルを基にして1文字表記の配列情報を得たい解法CCP4パッケージのPDB_EXTRACTを使います。様々な便利機能があるPDB_EXTRACTですが、ここでは以下のように使います。foo.txtこれでfoo.txtに配列情報が記録されます。以下の情報は2DSYの出力例です。known)molecule_one_letter_sequenceの中に配列情報が出力されています。