BUSTER User Manual previous next
Chapter 3

The BUSTER Environment

Copyright © 1995-2004 by   Eric Blanc, Pietro Roversi, Clemens Vonrhein,
Gérard Bricogne and the Buster Development Group.
All rights reserved.


Contents


Overview

This section of the BUSTER manual introduces the user to three environments that closely interact with BUSTER : its Graphical User Interface (BUFFET), the CCP4 suite of programs and the associated MTZ format, and the interface to the TNT program. The chapter ends with a description of the BUSTER Control Panel and preferences page.

Most of the material presented in this Chapter is currently best consulted by browsing through the tutorials. The only aspect of the BUSTER environment that is not dealt with elsewhere is the protocol by which BUSTER communicates with TNT, and the extent to which the user can modify it. The present state of the software in this respect is far from its intended final form, and the highest priority will be given to providing fuller and more flexible access to TNT. The limited capabilities available at present have nevertheless proved adequate for tackling a variety of problems and should be usable in most cases with little or no change.


Files and Directories Layout

BUSTER is run through an http-based graphical user interface, BUFFET. Because BUFFET is based on a client-server architecture, it is very powerful and yet quite flexible. But it also imposes a few requirements on the file and directory structure, both on the server and on the client sides. This section presents some concepts related to the server organisation, and focuses on the directory structure required on the client side, i.e. for the BUSTER end-user.

Take a walk on the server side

Normal users need not be concerned with the server side. Its installation and configuration is the responsibility of the local BUSTER System Administrator. Nevertheless, efficient use of system resources, and troubleshooting when problems occur, are easier if users know how BUFFET is working.

At the heart of BUFFET's server side is the apache http daemon. It serves all the http requests from the user's browser, usually by running so-called cgi scripts. Because it serves the GUI for every user, the http daemon may run under a different UNIX account, using a strict directory layout. Users need to know only the root of this directory tree: this location is referred to as $BDG_home, and is included in the welcome message sent to every BUSTER user.

The directory $BDG_home/bin and its sub-directories are readable by BUSTER users. They can find additional scripts for configuration and data preparation in those directories.


User's files

BUSTER expects a precise directory layout for each of its users. This directory layout is detailed in the figure below:

Principle

Description of user's files
    layout

Figure 1. BUSTER user's files layout. Square boxes are directories, and rounded ones are soft links. Italics indicate placeholders for your jobs and/or machine names.

The $BDG_busterfiles directory is the root of the BUSTER directory layout for each user. It can be located anywhere, provided that it can be accessed by all the machines running BUSTER (the MASTERs) and by the machine running BUFFET (the SERVER). It must have write permission for the user (obviously) and for the server's UNIX account.

The command files for BUSTER are stored in subdirectories in the cardfiles directory. BUSTER looks for PDB and MTZ files in the datafiles and puts the results and the log in the logfiles directory. The logfiles directory contains only links to the actual directories in which the results are stored. Final results can be archived in the savefiles directory, keeping only most important files. Every BUSTER job is labelled by a job name followed by a serial number. Each log file can be easily connected to its corresponding set of command files.

 
 
The dispaching of output on locally mounted disks for each MASTER scatters the results on several quite different locations. Some users may want to keep their results centralised, even at the expense of run-time efficiency. In those cases, all links logfiles.MASTER may point to the same directory. The default settings at user creation time is the create a directory called logfiles_local in $BDG_busterfiles and force all logfiles.MASTER to point towards this directory, as seen on Figure 2.

A "project" layer has been added to avoid the accumulation of unrelated datasets in the same cardfiles and datafiles directory. Each BUSTER project is entirely enclosed into a single directory, which acts as the $BDG_busterfiles in figures 1 and 2. It allows for example more meaningful names to be given to jobs (i.e. RigBodRef.1 or CompleteModel.5) besides less cluttered cardfiles, datafiles and logfiles directories.

All projects have the same layout, but every one of them need to have a different root directory replacing $BDG_busterfiles. When projects are used in conjunction with the dispaching of log files on locally mounted disks (see Figure 1), the various logfiles.MASTER must be different from project to project, to avoid possible conflict between job names.

Description of user's files
    layout

Figure 2. BUSTER user's files layout. Output files are grouped in a single directory, regardless of the machine of which the job is run

Examples

Examples of both kind of installation are given below. In both cases, the BUSTER server is on machine gibbs, running on the software account; there are 7 configured masters machines: bayes, babinet, fourier, gibbs, green, jeffreys and newton. As the BUSTER user (blanc) is in the same UNIX group as the buster server software, permissions were restricted to disallow any operation from other groups.

blanc@newton<1> ls -al ~/projects/IF3-C
total 57
drwxr-x---   4 blanc    user        8192 Oct  9 12:09 ..
drwxrwx---   7 blanc    user        8192 Oct  9 12:08 .
-rw-r-----   1 software user         272 Oct  9 12:08 .busteraccess.gibbs
drwxrwx---   2 software user        8192 Oct  9 12:06 cardfiles
drwxrwx---   2 software user        8192 Oct  9 12:06 datafiles
drwxrwx---   2 software user        8192 Oct  9 12:06 logfiles
drwxrwx---   2 software user        8192 Oct  9 12:06 savefiles
drwxrwx---   2 software user        8192 Oct  9 12:06 logfiles_local
lrwxrwxrwx   1 software user           5 Oct  9 12:07 logfiles.babinet -> logfiles_local
lrwxrwxrwx   1 software user           5 Oct  9 12:07 logfiles.bayes -> logfiles_local
lrwxrwxrwx   1 software user           5 Oct  9 12:07 logfiles.fourier -> logfiles_local
lrwxrwxrwx   1 software user           5 Oct  9 12:07 logfiles.gibbs -> logfiles_local
lrwxrwxrwx   1 software user           5 Oct  9 12:07 logfiles.green -> logfiles_local
lrwxrwxrwx   1 software user           5 Oct  9 12:07 logfiles.jeffreys -> logfiles_local
lrwxrwxrwx   1 software user           5 Oct  9 12:07 logfiles.newton -> logfiles_local
blanc@newton<2>

In the above example, the logs will all be stored in the ~/projects/IF3-C/logfiles_local directory, regardless on which machine the job was run on. The outputs are grouped at the expense of network efficiency when the jobs are run.

blanc@gibbs<3> ls -al ~/projects/Barnase
total 57
drwxrwx---   4 blanc    user        8192 Oct  9 12:09 ..
drwxrwx---   7 blanc    user        8192 Oct  9 12:12 .
-rw-r-----   1 software user         272 Oct  9 12:09 .busteraccess.gibbs
drwxrwx---   2 software user        8192 Oct  9 12:09 cardfiles
drwxrwx---   2 software user        8192 Oct  9 12:09 datafiles
drwxrwx---   2 software user        8192 Oct  9 12:09 logfiles
drwxrwx---   2 software user        8192 Oct  9 12:09 savefiles
drwxrwx---   2 software user        8192 Oct  9 12:09 logfiles_local
lrwxrwxrwx   1 software user          34 Oct  9 12:11 logfiles.bayes -> /mnt/bayes1/blanc/projects/Barnase
lrwxrwxrwx   1 software user          36 Oct  9 12:12 logfiles.babinet -> /mnt/babinet1/blanc/projects/Barnase
lrwxrwxrwx   1 software user          36 Oct  9 12:12 logfiles.fourier -> /mnt/fourier1/blanc/projects/Barnase
lrwxrwxrwx   1 software user          34 Oct  9 12:12 logfiles.gibbs -> logfiles_local
lrwxrwxrwx   1 software user          34 Oct  9 12:12 logfiles.green -> /mnt/green1/blanc/projects/Barnase
lrwxrwxrwx   1 software user          37 Oct  9 12:12 logfiles.jeffreys -> /mnt/jeffreys1/blanc/projects/Barnase
lrwxrwxrwx   1 software user          35 Oct  9 12:12 logfiles.newton -> /mnt/newton1/blanc/projects/Barnase
blanc@gibbs<4>

On the contrary, the example above show how to setup directories so that the log files are kept on locally mounted disks for each master machine. In this case, all directories /mnt/*/blanc/projects/Barnase need to be created by the user at project creation time. Unfortunately, the server cannot create those directories, because they sit in disk areas owned by the user blanc.


The CCP4 suite of programs and the MTZ format

The current version of BUSTER requires that you have the CCP4 suite of programs installed on the computer where BUSTER calculations run. For more explanations on what is CCP4, see the CCP4 home page

In the CCP4 system, all crystallographic data relevant to a given problem are stored in a single multi-column binary file. The format of this binary file is called MTZ. We will only provide here a BUSTER-oriented summary of MTZ.


How to prepare MTZ files for BUSTER

The naming convention we use in BUSTER, is to name the MTZ files containing the amplitude measurements ***.mtz.

If your data processing and scaling etc. have been done using CCP4 tools, you already have a file in MTZ format, that will be read directly by BUSTER. For each run, an automatic conversion to TNT's asymmetric unit and sort order is performed by the startup script, using CCP4's sftools.

If you have a file in some other format (PHASES, X-PLOR etc.), it may take a few more steps to prepare an MTZ file. CCP4 provides an all-purpose converter, called f2mtz, that will take an ASCII file and convert it into an MTZ file. In addition, please note that BUSTER reads data only in the form of structure factor amplitudes (FP). Transformation from intensity data (for unique reflexions) to structure factor amplitudes and anomalous differences is usually done using the CCP4 program truncate.

Reduction to unique Miller indices, as well as the application of scales (possibly calculated elsewhere) to the data is usually done in CCP4 program scala.

Documentation for these programs can usually be found (if CCP4 is installed on your system) by typing 'man <name-of-program>'. If the man page is not found, you have a second chance with 'more $CDOC/<name-of-program>.doc'.


What CCP4 programs does the BUSTER interface use ?

Apart from the CCP4-associated files ATOMSF and SYMOP, respectively describing atomic scattering factors and space-group symmetry operations, BUSTER in refinement mode only uses the CCP4 programs sftools, ncsmask, pdbset, sfall and mapmask; maprot is used in completion mode only. Graphical applications however require a number of them :

The BUSTER-TNT interface

Descriptions of the Maximum-Likelihood refinement of incomplete macromolecular models with BUSTER-TNT have appeared in [3,4]. Here we briefly describe the scripts used by BUSTER to drive TNT, and the extent to which the user can modify them. Please notice that the scripts reside in the bin directory of the BUSTER account.

How to prepare PDB files for BUSTER

TNT requires only one PDB file to run: the fragment PDB file. To overcome the limitations of the PDB format, the "sequence" file, which contains the chemical information on what is present in the crystal. This file must be in TNT format, must be stored in the datafiles directory, bearing the *.seq file extension. The preferred way of generating it is through the stand-alone script pirToSeq.pl provided with the installation, in $BDG_home/bin/buster/pirToseq.pl.

When present, NCS description must be made available to BUSTER in the form of a file having the *.hardncs or *.softncs file extension in the datafiles directory. This file must be created by the user; for those unfamiliar with TNT's NCS syntax, a very terse introduction is given appendix A. It must be noted that, unlike usual TNT scripts, BUSTER expects an expanded set of coordinates, even in the case of constrained NCS.


User input for TNT

Many parameters related to TNT can be input from the main BUSTER input form, upon job submission. Most important are the sequence file, the databases of stereochemical restraints (from the TNT distribution in BUSTER, or specific for the structure to be refined in presence of ligands for example) and the weight of the X-ray residual. Optionally, NCS definition file(s) can be selected to impose NCS restraints or constraints to the model. Advanced and Expert users can also fine-tune the strength of various stereochemical restraints, enter additional commands to the TNT minimiser and control the conversion between PDB and TNT coordinate files.

The TNT scripts

See Appendix C

Changing the command inputs to the TNT scripts

See Appendix C

The BUSTER Control Panel and Preferences Page

The front page of the BUSTER interface is called the BUSTER Control Panel. From there, you can decide what action to take. A very important hyperlink in that page is Preferences (just under the title, on the right-hand side). This leads you to the Preferences page, where you can choose some important parameters of the interface (mainly about graphics).

Control Panel


Preferences

You are asked to specify your "User level", i.e. your level of expertise in using BUSTER, and for a number of default values related to the plotting of electron density and Log-likelihood gradient maps:

References

  1. CCP4. Collaborative Computational Project, Number 4 (1994). Acta Cryst. D50, 760-763.
  2. Ten Eyck, L. F. (1973). Acta Cryst. A29, 486.
  3. Bricogne, G. & Irwin, J.J. (1996) in Macromolecular Refinement - Proceedings of the CCP4 Study Weekend. SERC Daresbury Laboratory, Warrington, England; 85-92.
  4. Bricogne, G. & Irwin J.J. (1997). In Crystallographic Computing 7 edited by P.E. Bourne and K.D.Watenpaugh, 1-9.
  5. Tronrud, D. E., Ten Eyck, L. F., & Matthews, B. W. (1987). An Efficient General-Purpose Least-Squares Refinement Program for Macromolecular Structures. Acta Crystallogr A, 43, 489-501.
  6. Tronrud, D. E. (1992). Conjugate-Direction Minimization - An Improved Method for the Refinement of Macromolecules. Acta Crystallogr A, 48 (November), 912-916.
  7. Tronrud, D. E. (1996). Knowledge-Based B-Factor Restraints for the Refinement of Proteins. J App Cryst, 29 (2), 100-104.
  8. Tronrud, D. E. (1997). The TNT Refinement Package. in Macromolecular Crystallography, Part B, Eds Charlie Carter and Robert Sweet, Volume 277 in Methods in Enzymology, pp 306-319.
  9. Tronrud, D. E. (1999). The Efficient Calculation of the Normal matrix in least-squares refinement of macromolecular Structures. Acta Crystallogr A, 55, 700-703.

Last modification: 26.01.04