CCTBX

From PyMOLWiki
Revision as of 00:15, 24 August 2005 by Inchoate (talk | contribs)
Jump to navigation Jump to search

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

CCTBX

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!