構造解析ことはじめ/03 プログラムのインストール
 * Computational Crystallography Toolbox [#n8c380ef]
 #anno1(2009-11-13 : この記事はCCP4 6.1.2のCCTBXについて書かれています)
 
 CCTBXプロジェクト Introductionによると、
 > The Computational Crystallography Toolbox (cctbx) is being developed as the open source component of the PHENIX system. The goal of the PHENIX project is to advance automation of macromolecular structure determination. PHENIX depends on the cctbx, but not vice versa. This hierarchical approach enforces a clean design as a reusable library. The cctbx is therefore also useful for small-molecule crystallography and even general scientific applications.
 
 とのことです。~
 CCP4で馴染みのあるプログラムとしては分子置換プログラムであるPhaserに使われています。また、最近CCP4に導入され始めているプログラム群も使っていることがあります(XIA2など)。~
 通常CCP4を使う際にあまり意識することはないと思いますが、ここに述べるPythonとの問題でXIA2 0.3.0.3以上が起動しませんでした。うまく起動しないという方は試してみて下さい。
 
 - [[CCTBXのインストール>CCTBX/インストール]] -- XIA2 0.3.0.3以上を使うのに必要
 
 ** XIA2 0.3.0.3以上が動かない! &Vine5; [#p9b1d401]
 - 2009-12-22追記:&color(red){この方法はあまり根本的な解決になってないようです。};必要なら最新版のCCTBXをインストールしましょう。
 
 2009年11月現在、XIA2の最新版は0.3.0.6ですが、0.3.0.3からライブラリ構成(CCP4に収録されているCCTBXを使うようになったというのが正しいと思います)が変わったらしくUnicodeまわりのエラーが出て動作しなくなりました。
  undefined symbol: PyUnicodeUCS2_FromUnicode
 というようなエラーが発生します。~
 これはPython内部でのUnicodeの扱い方によるようです。具体的にはPythonが''--enable-unicode=ucs2''でビルドされているのか、または''--enable-unicode=ucs4''でビルドされているのかによるようです。~
 - 解決方法:[[CCP4のインストール>CCP4/インストール#fcc993f9]]
 
 なお、現在使用しているCCTBXがどのPythonを参照しているかは以下のようにlibtbx.pythonの内容を確認すればわかります。
  % tail -7 `which libtbx.python`
  if [ -n "$LIBTBX__VALGRIND_FLAG__" ]; then
    exec $LIBTBX_VALGRIND '/usr/local/ccp4-6.1.2/Python-2.4.5/bin/python' "$@"
  elif [ $# -eq 0 ]; then
    exec '/usr/local/ccp4-6.1.2/Python-2.4.5/bin/python'
  else
    exec '/usr/local/ccp4-6.1.2/Python-2.4.5/bin/python' "$@"
  fi
 このようにCCP4のPythonになっていれば問題ないはずです。もし''/usr/bin/python''などになっていると問題が発生するかもしれません。なお、このファイルを修正しただけでは問題は解決しません。面倒ですがPHASER/CCTBXの再インストールが必要になります(私はCCP4をインストールし直しました)。