Schrodinger
Schrodinger
Schrodinger [2] is a suite that is aimed to help the drug screening process (energy minimization, ligand-protein docking, building fragments, molecular dynamics, and so on). It is a widely-used application in the drug industries and in biomedical schools.
Important Notes
License: Schrodinger's license is based on tokens which are reserved when you run jobs with multiple sub jobs. If you are planning to use Schrodinger, please contact to discuss about getting the permission, to talk about the restrictions or if you need to use more than 2 tokens. Also, see the section "License Management" below.
It is a visual intensive Software and you are recommended to use X2Go or NX client (visit HPC GUI Access for instructions)
To run Schrodinger jobs from the compute nodes, you are importing the graphic environment of Schrodinger to your local terminal. Since this requires a lot of connection bandwidth, please use wired campus connection for best usage.
We recommend running Schrodinger job REMOTELY (see Remote section below) to avoid job being halted by broken X-connection.
Installed Versions
All the available versions of SCHRODINGER for use can be viewed by issuing the following command. This applies for other applications as well.
module avail schrodinger
output:
---------------------- /usr/local/share/modulefiles/Core -------------------------
schrodinger/2017-3 (D)
The default version is identified by "(D)" behind the module name and can be loaded as:
module load schrodinger
The other versions of SCHRODINGER (when available) can be loaded as:
module load schrodinger/<version>
Running Schrodinger in HPC
Interactive Job
Serial:
Access compute node via NX Client (visit HPC GUI Access for instructions). In the terminla type the following to get the compute node:
srun --x11 -N 1 -n 1 -c 2 --mem-per-cpu=4gb --time=10:00:00 --pty /bin/bash
You may want to request the time other than the default time of 10 hrs (--time=10:00:00) if your job takes longer to complete.
Load the module
module load schrodinger
Run schrodinger's interface program:
maestro &
Parallel:
In Schrodinger, parallel jobs may be distributed over multiple cpus according to task division, or by data division. Task division applies for glide and for jaguar. Data division is the approach to run ligprep in parallel. Please search the Schrodinger documentation to determine how other packages within Schrodinger achieve parallel computation.
For task parallel jobs, allocate multiple tasks with -n <n>, where n is the number of processors. In this example, 4 processors (-n 4) are requested.
srun --x11 -N 1 -n 4 --time=10:00:00 --mem=5gb --pty /bin/bash
You may want to assign enough memory (--mem=5gb) for your job to avoid unexpected termination due to "out of memory".
For data parallel jobs, allocate one task (-n 1) and then multiple processors using --cpus-per-task=<num cpus>.
srun --x11 -N 1 -n 1 --cpus-per-task=4 --time=10:00:00 --mem=5gb --pty /bin/bash
An example command for ligprep follows as created in a shell script [credit S. Kahremany]:
"${SCHRODINGER}"/utilities/para_ligprep -inp ligprep_test.inp -LOCAL -HOST "localhost:4" -NJOBS 20
Load the module and run maestro as in serial section above.
License Management
Please refer to HPC Software License Status.
Remote Schrodinger from PC
It allows you to run schrodinger from your PC using the Schrodigner license managed in HPC. Note that if your PC is linked to your own schrodinger license, you may want to disable it before using HPC schrodinger license. This knowledge base article from Schrodinger to configure for remote job submission is the definitive resource. Key information is copied from that resource and presented following a few comments about download and installation.
Download Schrodinger (remote connections require a version that matches or is earlier than the cluster version)
Download Schrodinger from http://www.schrodinger.com/ -> Resources & Downloads -> Download. You may be asked to create a free account if you don't have it already. Choose the one that matches your platform (Linux/Windows/MAC). Also, make sure that you are downloading the version NOT newer than whatever is installed in HPC in case you want to use HPC Schrodinger license.
Install and configure Schrodinger
Note that the information on installation and configuration of schrodinger in this link may contain stale information. So, always check the most recent environment variables for schrodinger by typing:
module display schrodinger
output:
------------------------------------------------------------------------------------------
/usr/local/share/modulefiles/Core/schrodinger/2017-3.lua:
------------------------------------------------------------------------------------------
whatis("Name: schrodinger")
whatis("Version 2017-3")
whatis("Category: library, software")
whatis("Description: Schrodinger Suite for Drug Diiscovery")
pushenv("SCHRODINGER","/usr/local/schrodinger/2017-3")
pushenv("SCHRODINGER_THIRDPARTY","/usr/local/schrodinger/2017-3/thirdparty")
pushenv("SCHRODINGER_SQLITE_TEMP_STORE_DIRECTORY","/scratch/pbsjobs/schrodinger")
pushenv("MAESTRO_TEMP","/scratch/pbsjobs/schrodinger")
pushenv("MAESTRO_TEMP_LOCATION","/scratch/pbsjobs/schrodinger")
pushenv("SCHRODINGER_TEMP_PROJECT","/scratch/pbsjobs/schrodinger")
pushenv("SCHROD_LICENSE_FILE","27008@hpcmaster.case.edu")
pushenv("SCHROD_LIC","/usr/local/schrodinger/2017-3/mmshare-v3.9/bin/Linux-x86_64/lmutil lmstat -a -c 27008@hpcmaster")
prepend_path("LD_LIBRARY_PATH","/usr/local/schrodinger/2017-3/maestro-v11.3/lib/Linux-x86_64/gl")
prepend_path("PATH","/usr/local/schrodinger/2017-3")
Note the Schrodinger Path as /usr/local/schrodinger/2017-3 and license path as 27008@hpcmaster.case.edu.
Edit the local hosts file
Next, you will need to create a hosts file that identifies the remote hosts and queues. You will need to add entries to your hosts file that point to the cluster, and indicate which queue to use, where tmpdir should go, and where the software is installed on the cluster. This file must be available in the Schrödinger software installation on the machines from which users will submit jobs. For detailed information about the hosts file, see The Hosts File and Preparing for Batch Queue Submission. For applications that can use MPI for parallel execution (Desmond; Jaguar prior to the 2015-4 release), special entries in the hosts file are needed to make use of MPI.
Example schrodinger.hosts files are available through these links to text files.
when the local host has a Windows OS & file system
when the local host has a linux OS & file system
The next step is to set up access to the remote hosts via passwordless ssh. This must be done by each user who wants to submit jobs, as it requires their own ssh keys. See Setting Up Access to Remote Hosts for instructions.
Once you have finished these tasks, you can check that everything is set up correctly. You can run tests of the configuration either by using the Diagnostics panel, or by executing the following command (in a terminal window on Linux or Mac, or a Schrodinger Command Prompt on Windows):
installation_check -testall
The Diagnostics panel runs this command for you. The command runs some tests, prints a summary with advice, and also creates an archive .zip file (.tarball prior to 2014-3) containing the results.
If the tests on the remote hosts fail, and you need help to fix the problem, go to the Support page to request support, and upload the archive to the web form.
Jobs can be submitted to a cluster or remote host directly from Maestro. Instructions for running jobs from the command line are contained in the user manuals. General information on running jobs with Schrödinger software can be found in the Job Control Guide.
Desmond
The desmond package is installed in the Rider (SLURM) cluster.
module load schrodinger
which desmond
output:
/usr/local/schrodinger/2017-3/desmond
This Desmond Guide can be helpful.
Troubleshooting
For more troubleshooting info refer to Schrodinger KB [3].
Problem: When attempting to edit the schrodinger.hosts file for remote host, I received the message "Access denied."
Solution: change the permission so that you have the edit permission. In Linix/Mac, use chmod 644 schrodinger.hosts and in windows, right click on the schrodinger.hosts file, and you'll see 'properties' at the bottom of the pop-up. Select that, and you should be able to change the permissions to allow your user account to write in that file.
References:
[1] Schrodinger FAQ: https://www.schrodinger.com/supportfaq/18/
[2] Schrodinger website: https://www.schrodinger.com/