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

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.

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/

[3] Schrodinger Knowledge Base