Schrödinger, Maestro and Remote Connections

The installation of the chemical simulation suite, Schrödinger on high performance computer systems is hardly unusual. What is problematic is when users wish to access the GUI package, maestro, remotely using x-windows forwarding. Except when a user is extremely close to the system it is extremely likely that the graphic representation will be frustratingly slow for manipulation. There is, however, some ways around this.

Firstly, there is a number of command-line tools for Maestro that can be used to perform some of the computations that you may need which our good friends in Finland have provided a handy tutorial and example at the following URL: http://www.csc.fi/english/research/sciences/chemistry/maestro_files/maes...

Secondly, if this is not possible, due to the nature of the problem (e.g., real-tim performance is required), there are some minor tweaks that can be carried out on the interface. For example, you can launch maestro with the command-line option -SGL which uses uses Schrodingers own OpenGL libraries. Then on Workspace->Style->Rendering and select "Performance" and ensure that "Enhanced Depth View" is switched off in the View menu.

The third option, is to make a local Linux install of Schrödinger (default /opt/schrodinger. The user then copies their ssh keys to the the cluster's authorised keys file. e.g., scp ~/.ssh/id_rsa.pub user@clusterhost:~/.ssh and cat id_rsa.pub >> .authorized_keys. In the .ssh directory on the local machine, create the file config
(ie .ssh/config) with the following content:


Host clustername
StrictHostKeyChecking no

The copy the following as schrodinger.hosts to the directory that Schrödinger is installed in:

# Schrodinger hosts file
#
# The hosts file consists of a series of entries describing each
# 'host' (machine) on which jobs can be run.
# 
# A 'name' line marks the beginning of each machine's entry.
# (So, the first non-comment line in this file must be a 'name' line.)
# 
# Each host entry consists of a list of the settings for that host;
# a setting consists of a keyword (ending with a ':') and its value.
#
# The most important keywords are:
#
#   name:        the name of the host entry.  Usually this is the
#                  same as the host name.  This name is what you will
#                  use to select the host for a given job.
#
#   host:        the hostname, e.g, 'erwin.schrodinger.com'.  This
#                  is only necessary if different from the entry name.
#
#   schrodinger: the directory in which your Schrodinger software
#                  is installed.  There may be more than one such
#                  Schrodinger directory.
#
#   tmpdir:      a directory under which individual users' scratch 
#                  directories are created, e.g., if tmpdir is '/scratch',
#                  then erwin's temp files go in '/scratch/erwin'.
#
#   processors:  the number of processors available for parallel jobs
#
# Hash marks (#) start comment lines.
#
# If you need create a personalized version, copy this file to your 
# ~/.schrodinger directory or to the job directory and modify that copy.
#
#######################################################################
# Note: The 'localhost' entry is special.  It is used for jobs that
#       are run without specifying a host.  Also, settings made in the
#       'localhost' entry are implicitly included in every other host
#       entry as well, so common settings (like 'schrodinger:') should
#       be made there.  
#######################################################################

#
#name:        localhost
#schrodinger: /usr/local/schrodinger/201106
#tmpdir:      /tmp

name:           15_minute_job
Host:           clustername 
user:           username
schrodinger:    /usr/local/schrodinger/201106
queue:          PBS
processors:     8
Qargs:          -l walltime=0:5:0
tmpdir:         /tmp
env:            LM_LICENSE_FILE=port@licenseserver

name:           1_hour_job
Host:           clustername 
user:           username
schrodinger:    /usr/local/schrodinger/201106
queue:          PBS
processors:     8
Qargs:          -l walltime=1:0:0
tmpdir:         /tmp
env:            LM_LICENSE_FILE=port@licenseserver

name:           6_hour_job
Host:           clustername 
user:           username
schrodinger:    /usr/local/schrodinger/201106
queue:          PBS
processors:     8
Qargs:          -l walltime=6:0:0
tmpdir:         /tmp
env:            LM_LICENSE_FILE=port@licenseserver


name:           1_day_job
Host:           clustername 
user:           username
schrodinger:    /usr/local/schrodinger/201106
queue:          PBS
processors:     8
Qargs:          -l walltime=24:0:0
tmpdir:         /tmp
env:            LM_LICENSE_FILE=port@licenseserver

name:           3_day_job
Host:           clustername 
user:           username
schrodinger:    /usr/local/schrodinger/201106
queue:          PBS
processors:     8
Qargs:          -l walltime=72:0:0
tmpdir:         /tmp
env:            LM_LICENSE_FILE=port@licenseserver

name:           1_week_job
Host:           clustername 
user:           username
schrodinger:    /usr/local/schrodinger/201106
queue:          PBS
processors:     8
Qargs:          -l walltime=168:0:0
tmpdir:         /tmp
env:            LM_LICENSE_FILE=port@licenseserver

name:           2_week_job
Host:           clustername 
user:           username
schrodinger:    /usr/local/schrodinger/201106
queue:          PBS
processors:     8
Qargs:          -l walltime=336:0:0
tmpdir:         /tmp
env:            LM_LICENSE_FILE=port@licenseserver

name:           1_month_job
Host:           clustername 
user:           username
schrodinger:    /usr/local/schrodinger/201106
queue:          PBS
processors:     8
Qargs:          -l walltime=744:0:0
tmpdir:         /tmp
env:            LM_LICENSE_FILE=port@licenseserver

#name:        localhost
#schrodinger: /usr/local/schrodinger/201106
#tmpdir:      /tmp
#
name:        localhost
schrodinger: /usr/local/schrodinger/201106
tmpdir:      /tmp