Hex
Hex is an interactive protein docking and molecular superposition program, written by Dave Ritchie. Hex understands protein and DNA structures in PDB format, and it can also read small-molecule SDF files.
Installed version
- 8.0.0 with CUDA (from binary distribution files)
$ module load tools/hex
How to use it?
Interactive mode
Hex is used in interactive mode with remote visualization capability with GPU Visualisation à distance HPC.
Before starting using Hex, we need to create a cache directory in WORK folder :
- in your WORK create a directory named hex_work: mkdir hex_work
- append your
~/.bashrc
file by addingexport HEX_CACHE=$WORK/hex_work
Here are the steps to follow:
- Request a remote GPU session: 3dession
- open a VNC session as explained here
- in the remote desktop open a terminal and load hex:
module load tools/hex
- and finally run hex:
vglrun hex
Batch mode
This mode is used to run hex
without gui enabled. We are using SGE to execute hex in multicore nodes in batch mode.
hex [-options] [pdbfile(s)]
Say we want to run docking of two structures a.pdb
and b.pdb
. We will use a macro file dock_ab.mac
containing these parameters:
- dock_ab.mac
DOCKING_RECEPTOR_SAMPLES 492 DOCKING_LIGAND_SAMPLES 492 DOCKING_ALPHA_SAMPLES 128 RECEPTOR_RANGE_ANGLE 30 LIGAND_RANGE_ANGLE 30 TWIST_RANGE_ANGLE 360 R12_RANGE 21 R12_STEP 0.75 GRID_SIZE 0.6 LIGAND_RANGE_ANGLE 30 RECEPTOR_RANGE_ANGLE 30 DOCKING_MAIN_SCAN 16 DOCKING_MAIN_SEARCH 25 ACTIVATE_DOCKING
We run hex
using 2 processors for example:
$ hex -nogui -ncpu 2 a.pdb b.pdb -e dock_ab.mac -l docking_ab.log
BUT Since
Hex
binary are compiled for Ubuntu
like distribution we will use a container (singularity) to run hex.
Typically, we run hex inside singularity
like this (example taken from hex website):
$ singularity exec $SING_SPOOL/ubuntu-16.img hex -nogui -ncpu 2 a.pdb b.pdb -e dock_ab.mac -l docking_ab.log
The final SGE script, to run the command above using 16 cores is :
- script.sge
#!/bin/bash #$ -N Docking #$ -q all.q #$ -pe openmp 16 ## we request 16 cores ## We load singularity module module load tools/singularity ## run hex inside singularity singularity exec $SING_SPOOL/ubuntu-16.img hex -nogui -ncpu $NSLOTS a.pdb b.pdb -e dock_ab.mac -l docking_ab.log
Finally submit the job to SGE:
$ qsub script.sge