OpenStructure on Biowulf

Open-Source Computational Structural Biology Framework

References:

Documentation
Important Notes

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 input in bold):

[user@biowulf]$ sinteractive -c 16 --mem=46G --gres=lscratch:50  --time=4:00:00 -T  
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
Created 1 generic SSH tunnel(s) from this compute node to
biowulf for your use at port numbers defined
in the $PORTn ($PORT1, ...) environment variables.


Please create a SSH tunnel from your workstation to these ports on biowulf.
On Linux/MacOS, open a terminal and run:

    ssh  -L 42791:localhost:42791 abc@biowulf.nih.gov

[user@cn3144 ~]$ module load OpenStructure

[user@cn3144 ~]$ jupyter 

[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. OpenStructure.sh). For example:

#!/bin/bash
set -e
module load OpenStructure
ost compare-structures -m ./demos/data/sdh.pdb -r ./demos/data/sdh-complete.pdb -o test.out --lddt --local-lddt

Submit this job using the Slurm sbatch command.

sbatch [--cpus-per-task=#] [--mem=#] OpenStructure.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. OpenStructure.swarm). For example:

ost compare-structures -m ./demos/data/sdh.pdb -r ./demos/data/sdh-complete.pdb -o test.out --lddt --local-lddt
ost compare-structures -m ./demos/data/sdh2.pdb -r ./demos/data/sdh-complete.pdb -o test.out --lddt --local-lddt

Submit this job using the swarm command.

swarm -f OpenStructure.swarm [-g #] [-t #] --module OpenStructure
where
-g # Number of Gigabytes of memory required for each process (1 line in the swarm command file)
-t # Number of threads/CPUs required for each process (1 line in the swarm command file).
--module OpenStructure Loads the OpenStructure module for each subjob in the swarm