This app will launch a Schrodinger GUI on the Cardinal cluster. You will be able to interact with the Schrodinger GUI through a VNC session.
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
visnodes 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 purgeandmodule loadbased CLI used to load appropriate environments within the batch job before launching the Jupyter server. - Xfce Desktop 4+
For VNC server support:
- TurboVNC 2.1+
- websockify 0.8.0+
For hardware rendering support:
- VirtualGL 2.3+
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.
2. Configure for your site
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
form.yml attributes
| 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.login~/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
- Schrodinger — the application launched by this OOD app
- Open OnDemand — the HPC portal framework
- OOD Batch Connect app development docs
- Changelog -- release history for this app
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.