Step-by-step installation instructions
Bendix is written in tcl and works on most operating systems, including Windows, Linux and Mac. To run Bendix, please download the software, decompress the files and follow the instructions below. You may also run Bendix without installing it, but please note that you will miss out on a couple of Help-features. It is recommended that you install Bendix.
Integrate Bendix into VMD's native plugin directory (may require root/administrator priviliges)
/Computer/Programs/VMD/plugins/noarch/tcl/
By default, VMD ships with a vmdrc file that you find where you installed VMD,
e.g. /Computer/Programs/VMD/
(N.B. this is a hidden file in Linux and Mac distributions)
vmd_install_extension bendix bendix "Analysis/Bendix"
menu main on
Bendix appears under the VMD Main window tab
Extensions > Analysis > Bendix
Integrate Bendix with VMD using a path of your choice
By default, VMD ships with a vmdrc file that you find where you installed VMD,
e.g. /Computer/Programs/VMD/
(N.B. this is a hidden file in Linux and Mac distributions)
set auto_path [linsert $auto_path 0 [file join /Computer/Programs/bendix1.1]]
vmd_install_extension bendix bendix "Analysis/Bendix"
menu main on
Bendix appears under the VMD Main window tab
Extensions > Analysis > Bendix
Run Bendix from VMD's terminal
source /dir/where/you/saved/bendix1.1/bendix.tcl
bendix
N.B. You will need to do these steps every time you restart VMD, and supplied Bendix GIFs may not work.
Integrating Bendix with VMD, on the other hand, makes it permanently available under Extensions.
Technical detail
This section provides an overview of how the bendix source code is structured, and the algorithms used. For more detail, please refer to the code itself, which is commented.
bendix.tcl is approximately 5,000 lines long (circa 120 A4 pages) and consists of 36 functions (procedures). It is written in Tcl with a user interface implemented in Tcl's graphical user interface extension, the Tk toolkit.
Code structure
Procedures are grouped according to utility into the following sections:
Graphical User Interface setup and maintenance
Load and save files
User help and acknowledgements
Draw non-bendices
2D and 3D helix analysis (whereof scatter plots are generated by Multiplot)
Trajectory and molecule ID detection
Informative error messages
Hide, erase and reset visuals
Main bendix procedure:
Input verification
Obtain user-assigned or automated helicity (latter by STRIDE or input file text-mining)
Coordinate retrieval
Generate helix axis (see Sugeta and Miyasawa (1967) and discussion below)
Extend the axis peripherally to reclaim length lost to the axis generating algorithm
Apply Hermite spline to the axis according to user settings
Retrieve user settings for screen output (heatmap, material, resolution et.c.)
Draw to screen
Calculate and store data for 2D and 3D helix analysis
Reset variables to enable rerun
The code is modulated to speed up operation and avoid unnecessary calculations. Where possible, protein atom indices are stored for fast coordinate retrieval while drawing trajectories to the screen.Helix axis generation
Bendix' helix axis generation is a Tcl implementation of the C language algorithm used by Dalton et al., 2003. This algorithm is also used by Bansal et al., 2000 and was originally presented by Sugeta and Miyazawa (1967). This algorithm calculates a helix axis coordinate using vector algebra on four consequitive backbone C-alphas. This window slides along the length of the helix in steps of one C alpha.
Special circumstances at the ends of helices
Since four C alphas generate a single, middle axis coordinate, half a helix turn's worth of helix length is lost at the start and end of helices. Bendix calculates average local helix vectors in each direction, and uses these to extend the helix by 1.8 Angstrom, which, graphed by Bendix' spherical helix-ends, corresponds to the full-length helix.
References
Bansal M, Kumar S and Velavan R (2000) HELANAL - A program to characterise helix geometry in proteins. J Biomol Struct Dyn. 17(5):811-819
Dalton JA, Michalopoulos I and Westhead DR (2003) Calculation of helix packing angles in protein structures. Bioinformatics 19(10):1298-1299.
Sugeta H and Miyazawa T (1967) General Method for Calculating Helical Parameters of Polymer Chains from Bond Lengths, Bond Angles, and Internal-Rotation Angles. Biopolymers 5(7):673-679
The Hermite spline
A spline inputs coordinates and generates an averaged, smooth curve through them, using third degree polynomials. The Hermite spline moves through input coordinates (the helix axis, in this case) using a four-point window, generating a smooth curve between the middle points. The peripheral points gives the gradient at which the spline interpolates the middle points. Bendix uses the Catmull-Rom definition of the gradient with the constant set to 0.5.
If you read the paragraph above regarding generation of the helix axis, you might already have spotted that this 4-point-window business shortens the data set. However, there are mathematical solutions to this, and Bendix generates Phantom knots, minute artificial extensions to the axis, prior to spline-calculation, to overcome this issue.
Control point interval
The input coordinates used to generate a spline curve are called control points. Since the result Hermite spline curve goes through each control point, it follows its input closely. By using, say, only every other control point, the output Hermite spline curve follows the precise axis half as closely, and is able to generate a smoother, more global approximation of the axis.
Bendix allows the user to set the number of control points to be used when graphing the axis and calculating helix geometry. The Control point interval refers to the distance, in alpha-helix turns between axis points that are to be used as control points. A control point interval of 0.5, 1 or 2 will employ every 2, 4 or 7 axis points, respectively, for the spline. Geometry calculation automatically uses a triangle of side length equal to the control point interval. As a result, control point interval 0.5 gives the closest fit to the calculated helix axis, but geometry calculations will only reflect highly local axis. A higher control point interval gives a more global angle.
Angle-values for helix ends are standardised
Since control-point interval sized triangle sides are used to evaluate helix geometry, it follows that angles between points at a distance from a helix end that is smaller than one control point interval can not be evaluated. Instead, the nearest calculatable angle is evaluated, and angle measurements along helix ends are made to increase linearly from 0 at the tip to the first calculatable angle. As a result, a linear rise in angle can be seen in 2D and 3D plots at one control-point interval distance from the helix tips. These values should be ignored, and were only implemented to denote the real length of the helix to orient the user.
bendix.tcl is approximately 5,000 lines long (circa 120 A4 pages) and consists of 36 functions (procedures). It is written in Tcl with a user interface implemented in Tcl's graphical user interface extension, the Tk toolkit.
The code is modulated to speed up operation and avoid unnecessary calculations. Where possible, protein atom indices are stored for fast coordinate retrieval while drawing trajectories to the screen.
Q&A
1. Check what version of VMD you're running. Bendix is written in Tcl and requires tcl 8.5 or above, which comes with the latest VMD versions (Bendix was developed using VMD 1.9). If you have an old VMD version, consider upgrading.
2. If your VMD version is up to date, VMD might not have found vmdrc, the tcl startup file that you edited to point VMD in Bendix' direction. VMD looks for vmdrc in three directories; first your current directory, then your home directory and lastly where you installed VMD, and uses the first vmdrc file that it finds. Launch VMD and type
pwd in the vmd terminal that opens by VMD startup. VMD will definitely search that directory, so try saving vmdrc there.
3. If neither of the above works, verify that the downloaded, unzipped Bendix package contains the following files: pkgIndex.tcl bendix.tcl Monsieur_Bendix_smaller_still.gif GUI-tips.gif
4. Check that the variable pck_pkdir points to the directory where you keep the bendix1.1 folder.
New! Bendix will ship as part of VMD 1.9.2, so you will soon be able to load it from VMD Main > Extensions.
1. Your protein does not feature helices!
2. Your input file does not feature the MARTINI force field. You can supply helicity for your protein using the "Helices:" field under the Helix features box, that you reach by clicking the Settings button. Either type in your own helicity, working your way through your protein, or draw bendices for the original atomistic protein or a MARTINI version, and save this helicity (under File > Save helix assignment...). Reload it for your coarse-grained protein to generate helices (under File > Load helix assignment...).
3. Your MARTINI input file has insufficient space for particle names, or particle names have become scrambled (some MD software do this). If this is the case, Bendix can't work on your file. Bendix mines your file for particle names that start with BH, BBh, BE or BBe. Check that your file contains these. If it does not, load an alternate file that does. Bendix users that use GROMACS say that any sort of MD treatment to your system, where you use the MARTINI forcefield to generate a .gro file (e.g. a very short energy minimisation) will correct the input file.
pbc wrap -all -center com -centersel "protein" and hit Enter. For several independent proteins, you will need to unwrap the trajectory coordinates prior to loading them into VMD.
The paper can be found here.