coot

Managing COOT title and version in SBGrid

COOT is present in several titles and many versions in SBGrid. Selecting the application and version of the coot executable can be accomplished on-the-fly in a single step in the SBGrid capsule environment. Here are some examples of managing COOT in SBGrid capsules, but this should work for any application with duplicate executables and multiple versions.

To confirm that capsules are enabled, run

sbcap status

If capsules are enabled, the output should be :

  $ sbcap status
Active

If capsules are InActive, they can be enable with the sbcap on command followed by source /programs/sbgrid.shrc or .cshrc for tcsh users.

Which COOT am I using?

The sbwhich command will show which coot executable is in use :

$ sbwhich coot
/programs/x86_64-linux/ccp4/7.1/ccp4-7.1/bin/coot

or alternatively the --sbwhich flag can be used

$ coot --sbwhich
/programs/x86_64-linux/ccp4/7.1/ccp4-7.1/bin/coot

By default we use the CCP4 release of COOT in SBGrid. This version is stable, supported and the same for MacOS and Linux. But it is easy to change.

What titles provide coot executables?

SBGrid capsules provide an additional set of flags for all executables, prefixed with --sbapp:. For more info see the documentation for capsules here. To list all the installed tiles that provide coot, use --sbapp:l

$ coot --sbapp:l
    ccp4
    ccpem
    coot

The executable coot is present in the titles ccp4, ccpem, and coot.

To see all the titles with details use --sbapp:L

$ coot --sbapp:L

 Titles containing coot
 Title 1 of 3:   Version information for: /programs/x86_64-linux/ccp4

Default version:                    7.1
In-use version:                     7.1

Installed versions:                 7.1 7.1.006 7.0 7.0.078 6.3.0
Other available versions:           7.1.006 7.0 7.0.078 6.3.0
Overrides use this shell variable:  CCP4_X

 Title 2 of 3:   Version information for: /programs/x86_64-linux/ccpem

Default version:                    1.4.1
In-use version:                     1.4.1

Installed versions:                 1.4.1 1.4.0 1.3.0 20200722
Other available versions:           1.4.0 1.3.0 20200722
Overrides use this shell variable:  CCPEM_X

 Title 3 of 3:   Version information for: /programs/x86_64-linux/coot

Default version:                    0.9.1
In-use version:                     0.9.1

Installed versions:                 0.9.1 0.8.9.2-pre-revision-7884 0.8.9 0.8.8
Other available versions:           0.8.9.2-pre-revision-7884 0.8.9 0.8.8
Overrides use this shell variable:  COOT_X                                                                                                                                   │···········

What version does this coot executable come from?

Using sbapp:d will print the title and version along with the available versions for the title.

$ coot --sbapp:d

Capsule:coot using ccp4 version 7.1

  Version information for: /programs/x86_64-linux/ccp4

Default version:                    7.1
In-use version:                     7.1

Installed versions:                 7.1 7.1.006 7.0 7.0.078 6.3.0
Other available versions:           7.1.006 7.0 7.0.078 6.3.0
Overrides use this shell variable:  CCP4_X                                                                                                                                       │···········

We are running coot from ccp4 version 7.1 and there are several other versions available.

Changing the application that provides coot - overriding default titles

SBGrid uses CCP4's coot by default, but that can be changed with a configuration file in the ~/.sbgrid_capsules directory. A default title can be specified for any duplicate executable by creating a file with the name of the executable that contains a single line with the name of the application. For coot this would be:

mkdir -p ~/.sbgrid_capsule
echo coot > ~/.sbgrid_capsule/coot

If we do this, we can see:

$ coot --sbwhich
/programs/x86_64-linux/coot/0.9.1/bin/coot

Now coot comes from the applciation title coot. The default version there is 0.9.1.

Let's switch to CCPEM as the provider of the coot program. To do that we just edit the configuration file:

$ echo ccpem > ~/.sbgrid_capsule/coot

$ coot --sbwhich
/programs/x86_64-linux/ccpem/1.4.1/bin/coot

  $ coot --version
0.9-pre (revision-count 0)
[with guile 1.8.8 embedded]
[with python 2.7.15 embedded]
Builder_info: CCP-EM, Oxfordshire, UK
Binary type: Linux-x86_64-scientific-linux-6.10-python-gtk2

Setting the version

The version of a title is set by the <TITLE_X> variable where <TITLE> is the title of an application in uppercase. You can see this variable in the sbgrid-info -l output.

  $ sbgrid-info -l ccpem
  Version information for: /programs/x86_64-linux/ccpem

Default version:                    1.4.1
In-use version:                     1.4.1

Installed versions:                 1.4.1 1.4.0 1.3.0 20200722
Other available versions:           1.4.0 1.3.0 20200722
Overrides use this shell variable:  CCPEM_X

To use coot from CCPEM version 1.3.0, we set the CCPEM_X variable to 1.3.0

  $ export CCPEM_X=1.3.0

  $ sbwhich coot
/programs/x86_64-linux/ccpem/1.3.0/bin/coot

coot has a --version flag that can be used to confirm the version Set the title for the coot executable to "coot" to use Paul Emsley's builds for linux :

echo coot > ~/.sbgrid_capsule/coot

  $ coot --version
0.9.1 (revision-count 10157)
[with guile 1.8.8 embedded]
[with python 2.7.15 embedded]
Builder_info: built by: Paul Emsley build-host: charybdis on: Wed 21 Oct 0247.16 BST 2020
Binary type: Linux-x86_64-scientific-linux-7.6-python-gtk2

This is the latest version. To switch to an older version, just set the COOT_X variable to that version:

  $ export COOT_X=0.8.8

  $ coot --version
0.8.8 (revision-count 6690)
[with guile 1.8.8 embedded]

To return to using coot from CCP4, the SBGrid default, remove the config file:

  $rm  ~/.sbgrid_capsule/coot

  $ coot --sbwhich
/programs/x86_64-linux/ccp4/7.1/ccp4-7.1/bin/coot

  $ coot --version
0.9 (revision-count 9932)
[with guile 1.8.8 embedded]
[with python 2.7.16 embedded]
Builder_info: CCP4, Oxfordshire
Binary type: Linux-x86_64-scientific-linux-6.10-python-gtk2

The version of coot changes to the version provided by the CCP4 version specified by CCP4_X.

For more info, see capsules, and version manangement.

For questions or to report bugs, please email bugs@sbgrid.org