Batch Connect - OSC Schrodinger

Overview
An Open OnDemand Batch Connect app that launches a Schrodinger Maestro GUI in an XFCE desktop session on the OSC Cardinal cluster. Schrodinger provides a computational platform for drug discovery and materials science.
This app uses the Batch Connect vnc template with Slurm.
- Upstream project: Schrodinger
- Batch Connect template:
vnc
- Scheduler: Slurm
Screenshots

Features
- Launches Schrodinger Maestro GUI in an XFCE VNC desktop session
- Hardware-accelerated 3D visualization on
vis nodes via VirtualGL
(vglrun maestro -NOSGL)
- Software rendering on non-GPU nodes (
maestro -SGL)
- Multiple Schrodinger versions available (
schrodinger/2024.3,
schrodinger/2023.2)
- Configurable cores, wall time, and node type (any, vis, hugemem) via the
launch form
- License management support for Schrodinger features (macromodel, glide,
ligprep, qikprep, epik)
- Configurable VNC resolution
Requirements
Compute Node Software
This Batch Connect app requires the following software be installed on the
compute nodes that the batch job is intended to run on (NOT the
OnDemand node):
- Schrodinger 2020.1+
- Lmod 6.0.1+ or any other
module purge and module load based CLI used to load appropriate environments within the batch job before launching the Jupyter server.
- Xfce Desktop 4+
For VNC server support:
For hardware rendering support:
Open OnDemand
- Tested to work with the latest version of Open OnDemand
- Scheduler: Slurm
App Installation
1. Clone the repository into your Open OnDemand apps directory:
cd /var/www/ood/apps/sys
git clone https://github.com/OSC/bc_osc_schrodinger.git
cd bc_osc_schrodinger
# Pin to a release (recommended)
git checkout v0.6.0
No restart is needed -- Batch Connect apps are not Passenger apps and are
detected automatically.
To update the app you would:
cd bc_osc_schrodinger
git fetch
git checkout
Again, you do not need to restart the app as it isn't a Passenger app.
Edit form.yml and update these values for your cluster:
| Attribute |
Default |
Change to |
cluster |
cardinal |
Your cluster name(s) |
schrodinger_version |
schrodinger/2024.3 (and others) |
Schrodinger versions on your system |
node_type |
OSC-specific node types |
Node types available on your cluster |
num_cores.max |
96 |
Max cores on your compute nodes |
In script.sh.erb, the app loads modules with:
module load
For GPU/vis nodes, it additionally loads:
module load intel/2021.10.0 virtualgl/3.1.1
Ensure equivalent modules are available on your system.
To Update the App
cd /var/www/ood/apps/sys/bc_osc_schrodinger
git fetch
git checkout
No restart is needed.
Configuration
| Attribute |
Widget |
Description |
Default |
cluster |
select |
Target cluster ID(s) |
cardinal |
schrodinger_version |
select |
Schrodinger version / module load string |
schrodinger/2024.3 |
bc_num_hours |
number |
Maximum wall time (hours) |
1 |
bc_num_slots |
number |
Number of nodes |
1 |
num_cores |
number_field |
Number of CPU cores (0--96; 0 = full node) |
1 |
node_type |
select |
Compute node type (any, vis, hugemem) |
any |
licenses |
text |
Schrodinger license string (e.g., glide@osc:1) |
(empty) |
bc_vnc_resolution |
text |
VNC session resolution |
(required) |
Environment variables
| Variable |
Required |
Description |
| SCHRODINGER |
Yes |
Path to Schrodinger installation root |
| LM_LICENSE_FILE |
Yes |
License server or file for Schrodinger |
| VGL_DISPLAY |
No |
VirtualGL display for GPU rendering |
Troubleshooting
Job starts but app doesn't appear (Batch Connect)
- Check the job's
output.log in ~/ondemand/data/sys/bc_osc_schrodinger/
- Verify the module loads correctly:
module load schrodinger/
- Verify the window manager is installed:
which xfwm4
- Verify websockify is installed and accessible
"Module not found" error
The module name in form.yml doesn't match your system. Run module spider software to find the correct name and update the modules attribute.
Connection timeout
The app may need more time to start. Increase the connection timeout or check that the compute node can open the required port.
Testing
| Site |
OOD Version |
Scheduler |
Status |
| Ohio Supercomputer Center |
4.2.2 |
Slurm |
Production |
Known Limitations
- Licensing for Schrodinger features must be correctly configured and requested
Contributing
- Fork this repository
- Create a feature branch (
git checkout -b feature/my-improvement)
- Submit a pull request with a description of your changes
For bugs or feature requests, open an issue.
This app is part of the OOD Appverse. Join the Appverse Affinity Group to connect with other contributors.
References
License
- Documentation, website content, and logo is licensed under
CC-BY-4.0
- Code is licensed under MIT (see LICENSE.txt)
- The Schrodinger logo is a trademark of Schrodinger.
Acknowledgements
This app is built on Open OnDemand, developed and maintained by the Ohio Supercomputer Center (OSC).
Open OnDemand is supported by the National Science Foundation under awards NSF SI2-SSE-1534949 and NSF CSSI-Frameworks-1835725.