# Difference between revisions of "Coot"

25%

Coot is a graphics program for building, refining and analysing macromolecular models obtained with crystallographic procedures.

There is a homepage with extensive documentation. The program may there be downloaded for Linux and Windows. There's also Paul Emsley's coot blog. The license of Coot is GNU GPL.

# Installing Coot

## Installing Coot on OS X

OS X install packages for nightly builds that work on 10.8.X and 10.9.X are available here: Coot OS X package installers

Please refer to the Installing Coot on OS X page

## Installing Coot on Linux

Installing coot on linux is rather more straightforward than on OS X, because most linux systems are based on gnome and/or kde, and tend to have many of the required components already installed. Most of the other dependencies are also readily available.

### Installation from a distributed binary tarball package

This is the recommended way for those who do not want to delve into the mysteries of compiling and linking a great but complex piece of software. Read the Coot documentation to find out about the details.

In short, just go to https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/binaries/release/ and pick a suitable binary, e.g. coot-0.9.4.1-binary-Linux-x86_64-scientific-linux-7.6-python-gtk2.tar.gz for a Red Hat Enterprise Linux 7 (or CentOS-7) or newer system.

Then un-tar it under /usr/local/src (or in your $HOME), and establish a symlink (ln -s) between /usr/local/bin/coot and the bin/coot of the freshly unpacked distribution. If you then run coot, and the loader complains that a certain library is missing, just ask yum whatprovides <thatlibrary>  and install the library, again using yum (assuming yum is available in your distribution, otherwise use apt or whatever is there for this purpose). #### Example: installing a 64bit nightly CentOS5 binary build on 64bit SL6.1 First of all, SL (Scientific Linux) is a derivative of RHEL, as is CentOS. So all three OSs behave exactly the same. The binaries with "x86_64" binaries are for 64bit systems; the "i386" binaries are for 32bit systems. Since my notebook is 64bits ("uname -a" reports "x86_64" more than once), I download coot-0.7-pre-1-revision-3999-binary-Linux-x86_64-centos-5-python-gtk2.tar.gz. As root, I "cd /usr/local/src" and un-tar. Next, have to find out which libraries are missing. This can be achieved by (note the use of LD_LIBRARY_PATH in the second command - do not permanently modify LD_LIBRARY_PATH !): [root@localhost]# cd coot-Linux-x86_64-centos-5-gtk2-python [root@localhost]# LD_LIBRARY_PATH=lib ldd bin/coot-real | grep found libssl.so.6 => not found libcrypto.so.6 => not found libssl.so.6 => not found libcrypto.so.6 => not found  So only two libraries are missing! Either they can be installed using yum, or they are already available, but have a higher version. • First possibility: find out about installable RPM packages (preferred way): [root@localhost src]# yum provides libssl.so.6 libcrypto.so.6 Loaded plugins: refresh-packagekit openssl098e-0.9.8e-17.el6.i686 : A compatibility version of a general : cryptography and TLS library Repo : sl Matched from: Other : libssl.so.6 ... (the package is repeated, and libcrypto.so.6 is also mentioned)  Now don't just install the openssl098e-0.9.8e-17.el6.i686 and its dependencies - it is a 32bit library (the name ends with ".i686")! Installing it does not solve the problem - we need a 64bit library. Unfortunately "yum provides" does not tell us about the 64bit library (is that a yum bug?). By specifying just the package name (openssl098e.x86_64 would also work, and would avoid any 32bit package) yum install openssl098e  we install both libssl.so.6 and libcrypto.so.6 in their 64bit versions - done! • Second possibility: find out if the system already has a higher version of the two libraries: [root@localhost locate libssl.so /usr/lib64/.libssl.so.1.0.0.hmac /usr/lib64/.libssl.so.10.hmac /usr/lib64/libssl.so /usr/lib64/libssl.so.1.0.0 /usr/lib64/libssl.so.10  So the answer is: there is /usr/lib64/libssl.so which is at version 10, which is compatible with the version we need (6). For libcrypto.so the same is true. So just cd coot-Linux-x86_64-centos-5-gtk2-python/lib/ ln -s /usr/lib64/libssl.so libssl.so.6 ln -s /usr/lib64/libcrypto.so libcrypto.so.6  The way these symlinks are made they would even work if RHEL upgrades libssl or libcrypto to higher versions. Works for me. Final step (this does not need to be repeated for a new coot version): create /usr/local/bin/coot with #!/bin/csh -f setenv LANG C exec /usr/local/src/coot-Linux-x86_64-centos-5-gtk2-python/bin/coot$*


and make it executable with

chmod a+x /usr/local/bin/coot


# Running Coot

## General Topics

### Stereographic Display

Coot has several options for stereographic display, ranging from cross-eyed and wall-eyed split-screen stereo, to hardware-stereo modes that work with CRT systems and most recently the new Zalman 3-D LCD monitor.

#### Side-by-Side

Either cross-eyed or wall-eyed split-screen stereo mode can be invoked using the "Stereo" menu item under "Draw", as is shown in the image below:

#### Hardware Stereo

Similarly, hardware stereo can be invoked (assuming you have the CRT, correct graphics card, emitter, etc) using the same menu item, by selecting "Hardware Stereo".

3d lcd

Control stereo separation / depth in coot 0.9: the transformation between the eyes is no longer a rotation and is now a shear. Which means that now we don't get part of the map showing up in the left eye but not the right (or vice versa).

This is documented in Section 3.4.1, e.g.

set_hardware_stereo_angle_factor(0.5) # for the Python fans


Hardware stereo failure: try the line

(set-display-lists-for-maps 0)


#### Zalman Stereo

The first viable LCD monitor for stereographics display is made by Zalman and costs about \$300: Zalman ZM-M220W

The attributes for this monitor have been tested and described rather extensively by Warren DeLano on the PyMOL site. Please read it for important details and suggested purchasing sources.

The coot zalman page describes specifically how to get this to work with coot on Mac OS X, but the instructions should be generalizable to linux and Windoze.

Note that the stereo effect is very sensitive to the vertical position of your eyes relative to the screen: if you don't see stereo, try tilting the screen.

### Stereo: left/right (and front/back) interchanged?

Establish an additional toolbutton "swap stereo":

Main Toolbar -> right mouse click-> Manage buttons-> select Swap Stereo

Or for the script minded:

switch_stereo_sides()

This will toggle the stereo images left and right.