Schrodinger

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.

Readme
Batch Connect - OSC Schrodinger

GitHub Release GitHub License

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

Schrodinger running in browser

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.

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)

  1. Check the job's output.log in ~/ondemand/data/sys/bc_osc_schrodinger/
  2. Verify the module loads correctly: module load schrodinger/
  3. Verify the window manager is installed: which xfwm4
  4. 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

  1. Fork this repository
  2. Create a feature branch (git checkout -b feature/my-improvement)
  3. 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.

Which software (e.g. MatLab, Jupyter, Gaussian)?
Last updated
1784737468