Biowulf High Performance Computing at the NIH
Open Babel on Biowulf
Open Babel Logo

Open Babel is a chemical toolbox designed to speak the many languages of chemical data. It's an open, collaborative project allowing anyone to search, convert, analyze, or store data from molecular modeling, chemistry, solid-state materials, biochemistry, or related areas.

References:

Documentation
Important Notes

The executables are version dependent:

  • 2.4.1
  • 3.0.0

Executables

  • babel - a converter for chemistry and molecular modeling data files
  • obabel - a converter for chemistry and molecular modeling data files
  • obchiral - print molecular chirality information
  • obconformer - generate low-energy conformers
  • obenergy - calculate the energy for a molecule
  • obfit - superimpose two molecules based on a SMARTS pattern
  • obgen - generate 3D coordinates for a molecule
  • obgrep - an advanced molecular grep program using SMARTS
  • obminimize - optimize the geometry, minimize the energy for a molecule
  • obprobe - create electrostatic probe grid
  • obprop - print standard molecular properties
  • obrotamer - generate conformer/rotamer coordinates
  • obrotate - batch-rotate dihedral angles matching SMARTS patterns
  • obspectrophore - calculate a Spectrophore, a one-dimensional descriptor generated from the property field surrounding the molecule

Executables

  • obabel - a converter for chemistry and molecular modeling data files
  • obconformer - generate low-energy conformers
  • obenergy - calculate the energy for a molecule
  • obfit - superimpose two molecules based on a SMARTS pattern
  • obfitall - ???
  • obgen - generate 3D coordinates for a molecule
  • obgrep - an advanced molecular grep program using SMARTS
  • obminimize - optimize the geometry, minimize the energy for a molecule
  • obmm - OpenBabel molecular mechanics program
  • obprobe - create electrostatic probe grid
  • obprop - print standard molecular properties
  • obrotamer - generate conformer/rotamer coordinates
  • obrotate - batch-rotate dihedral angles matching SMARTS patterns
  • obspectrophore - calculate a Spectrophore, a one-dimensional descriptor generated from the property field surrounding the molecule
Interactive job
Interactive jobs should be used for debugging, graphics, or applications that cannot be run as batch jobs.

Allocate an interactive session and run the program. Sample session:

[user@biowulf]$ sinteractive
salloc.exe: Pending job allocation 46116226
salloc.exe: job 46116226 queued and waiting for resources
salloc.exe: job 46116226 has been allocated resources
salloc.exe: Granted job allocation 46116226
salloc.exe: Waiting for resource configuration
salloc.exe: Nodes cn3144 are ready for job

[user@cn3144 ~]$ module load OpenBabel
[user@cn3144 ~]$ obabel -ixyz benzene.xyz -O benzene.pdb

[user@cn3144 ~]$ exit
salloc.exe: Relinquishing job allocation 46116226
[user@biowulf ~]$

Batch job
Most jobs should be run as batch jobs.

Create a batch input file (e.g. OpenBabel.sh). For example:

#!/bin/bash
module load OpenBabel
obabel -ipdb benzene.pdb -O benzene.xyz

Submit this job using the Slurm sbatch command.

sbatch [--cpus-per-task=#] [--mem=#] OpenBabel.sh
Swarm of Jobs
A swarm of jobs is an easy way to submit a set of independent commands requiring identical resources.

Create a swarmfile (e.g. OpenBabel.swarm). For example:

obabel mymols.sdf -f 1 -l 10 -Ooutputfile1.sdf
obabel mymols.sdf -f 11 -l 20 -O outputfile2.sdf
obabel mymols.sdf -f 21 -l 30 -O outputfile3.sdf
obabel mymols.sdf -f 31 -l 40 -O outputfile4.sdf

Submit this job using the swarm command.

swarm -f OpenBabel.swarm --module OpenBabel
where
--module OpenBabel Loads the OpenBabel module for each subjob in the swarm