Installation¶
Preface to the Special Executive Edition of the Soundtrack of the Trailer of the Film of Monty SyQADA and the Holy Grail¶
Because you have purchased the Executive Edition of this document, you already have the download URL. When you fetch(ed) this URL, your syqada-2.2.2 will be(was) delivered to you from via gold-plated RJ-45 connectors in place of the usual inferior metals, provided that your minions have installed them; wireless data transmissions are guaranteed to arrive faster and more quietly than you can personally detect them. This ensures that the bits you receive will be of only the highest quality the Internet can provide. The gold plated MD5 checksum provides a reasonable certainty that they are the right bits in the right order.
In addition, because you are an Executive, there will be absolutely no program bugs except for those that are required in order to emulate the behavior of the Inferior Edition used by the hoi polloi.
If you did not purchase the Executive Edition, please imagine that the following section does not exist.
Package Installation for the Executive Edition¶
Package installation for the Executive Edition expects that you will be installing SyQADA for your own use on your own machine, or for the use of your group, so you don’t need root privileges.
Let us suppose that you have downloaded the zipfile to the following location:
/path/to/the/place/you/downloaded/syqada-2.2.2.zip
We need to unpack it and get the bin directory into your path. If you have your own convention for keeping track of executables, by all means use it. If you do not, and you do not already have a directory named ~/bin, it would probably be sensible to create one and put SyQADA there:
mkdir ~/bin
cd ~/bin
Now we unpack:
unzip /path/to/the/place/you/downloaded/syqada-2.2.2.zip
And finally put the necessary masonic handshake into your .bash_profile. Cut-and-paste the following three lines to do so in bash (if you use csh or a derivative, you are probably old enough to figure out what to do yourself after studying the very short install-path script):
pushd SyQADA-*/bin
source install-syqada
popd
You should now be able to run the command:
syqada
and see something similar to:
>>> usage: SyQADA-2.2.0 [--license] [--version] [--help] [--protocol PROTOCOL] [--METADATA METADATA] [--interface INTERFACE]
[--notifications NOTIFICATIONS] [--logfile LOGFILE] [--verbosity VERBOSITY] [--project PROJECT]
[--configuration CONFIGURATION] [--sample_file SAMPLE_FILE] [--save SAVE] [--parameters PARAMETERS]
[--begin BEGIN] [--initialize] [--append APPEND] [--parallel] [--ignore [IGNORE [IGNORE ...]]]
[--status]
You are now free to move about the file system. While seated in a working directory it may be a good idea to try the Preface to the Tutorials with your seatbelt fastened.
Der Gute Mensch von SechuaQADA¶
SyQADA attempts to be a good citizen of a cluster, shared server, or even background uses of a laptop. To this end, the architecture of SyQADA includes queue management interfaces for PBS and LSF clusters as well as a local machine interface. Each of these may be configured for queue selection based on processor and memory demands and to control the number of jobs submitted at once. In SyQADA 2.0 and prior versions, this was hard-coded into the SyQADA source code. In 2.1, enough of that code was abstracted for local installations that you can make some fairly simple edits to adapt for your own machine or cluster.
Local Configuration of Queueing Interfaces¶
As of SyQADA 2.1, job queueing interface specifications are made more flexible by placing the key queueing parameters in definitions files in the resources directory. These can be edited for local installation with minimal risk to the syqada source itself. Several default files that correspond to MD Anderson’s clusters and the Scheet lab’s local usage are provided:
LSF_queueing.py
PBS_queueing.py
These contain the specifications for cluster size and time constraints for LSF and PBS clusters.
The following files in the resources directory provide various flavors of interface constraints:
LSFHEADNODE_local.py
PBSHEADNODE_local.py
SERVER_local.py
WORKSTATION_local.py
LAPTOP_local.py
Selection among these files is based on a mapfile named LOCALMAP.txt also found in the resources directory. This four-column mapfile maps DNS name prefixes to local environments, specifying the cluster management type and the local and queueing configurations that should be used. The word None can be used to indicate that there are no hostnames that map to a given environment (chiefly so that the example mapfile can illustrate all possible environment names). For hostnames whose prefixes are not found in the mapfile, the SERVER environment is used. For hostnames that do not support clustering, None is the default entry, but SyQADA will ignore a non-null value.
Local Configuration of Failure Notification¶
Upon startup, SyQADA reads a file in the resources directory called SyQADA.config that specifies the values of a number of simple parameters for reporting in the relatively rare event that SyQADA suffers a dump with stack trace. Terms that can be set include:
ALERT_DOMAIN
ALERT_EMAIL
ALERT_NICKNAME
ALERT_GROUP
These are explained in the provided config file.