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

Executables

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 ~]$ babel -ixyz benzene.xyz -opdb 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
babel -ipdb benzene.pdb -oxyz 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:

babel mymols.sdf -f 1 -l 10 -osdf outputfile1.sdf
babel mymols.sdf -f 11 -l 20 -osdf outputfile2.sdf
babel mymols.sdf -f 21 -l 30 -sdf outputfile3.sdf
babel mymols.sdf -f 31 -l 40 -osdf 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