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:

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