CCTBX
Note
We need someone to make some edits to this page. I don't know anything about CCTBX except what's shown here.
Computational Crystallography Toolbox
Using With PyMol
Roger Dodd's Solution
Some folks were having issues getting CCTBX to work. Here's one solution.
I hesitated to post this because I thought someone would have a more elegant solution, but I have got the draw_cell/symmops scripts working on windows with cctbx. I have had it working with all versions of PyMOL including the latest betas. I install PyMOL as usual in C:\Program Files\Delano Scientific\PyMOL. I also got hold of python 2.4.1 Python 2.4.1 and cctbx CCTBX For Windows With Python 2.4 and installed them to C:\python24 and 'C:\cctbx_build & C:\cctbx_sources, respectively.
In order to get things working together, I launch PyMOL with the following batch file:
@ECHO off set LIBTBX_DIST_ROOT=C:\cctbx_sources if not defined PYTHONPATH set PYTHONPATH= set PYTHONPATH=C:\cctbx_sources\boost_adaptbx;C:\cctbx_sources\scitbx;C:\cctbx_sources\cctbx;C:\cctbx_sources\iotbx;C:\cctbx_build\libtbx;C:\cctbx_sources\libtbx;%PYTHONPATH% set LIBTBX_BUILD=C:\cctbx_build set LIBTBX_PYTHON_EXE=C:\Python24\python.exe if not defined PATH set PATH= set PATH=C:\cctbx_build\libtbx\bin;C:\cctbx_build\libtbx;%PATH% set SCITBX_DIST=C:\cctbx_sources\scitbx set IOTBX_DIST=C:\cctbx_sources\iotbx set CCTBX_DIST=C:\cctbx_sources\cctbx set BOOST_ADAPTBX_DIST=C:\cctbx_sources\boost_adaptbx set LIBTBX_DIST=C:\cctbx_sources\libtbx if not defined PATHEXT set PATHEXT= set PATHEXT=.PX;.PY;%PATHEXT% call "%LIBTBX_PYTHON_EXE%" "%LIBTBX_DIST%\libtbx\assoc_ftype.py" "C:\Program Files\DeLano Scientific\PyMOL\PyMOLWin.exe" +2
Just save as PyMOL.bat and run it (this is basically the cctbx setpaths.bat with a pymol command tagged on the end). I hope this helps.
Robert Campbell's Solution
When you run the setpaths.sh script, it adds the cctbx_build/bin directory to the *front* of your $PATH. In that directory is a shell script called "python" that sets the environment necessary to import cctbx. So, to get cctbx to work, you have to call python without prefixing a directory path. If you were like me and had:
/usr/bin/python $PYMOL_PATH/modules/launch_pymol.py $*
in your pymol.com file, then it would not run that cctbx_build/bin/python script. So you need to either change the above line to:
python $PYMOL_PATH/modules/launch_pymol.py $*
(assuming you've already run the setpaths.sh script) or you need to copy the cctbx_build/bin/python contents (without the actual "python" command) into your pymol.com file or some other file that you source before pymol.com.
Within pymol, type the command:
print sys.path
and you should now see the cctbx directories show up.
I hope this is clear enough!