Biowulf at the NIH
RSS Feed
Loki on Biowulf

Loki is a linkage analysis package, primarily for large and complex pedigrees, which uses Markov chain Monte Carlo (MCMC) techniques to avoid many of the computational problems that prevent exact computational methods being used for large pedigrees. Loki was originally designed for linkage analysis of quantitative traits, though there is some limited support for qualitative trait linkage analysis. The other supported analysis performed by Loki is the estimation of IBD relationship matrices for use with variance component programs such as SOLAR, which is also installed on Biowulf.

Version 2.4.7_4 is currently installed on Biowulf.

The swarm utility should be used for multiple jobs in order to most efficiently use the cluster. the job to batch system using 'qsub' only makes use of one processor and waste the other one. Below are sample sessions for swarm submission and for initiate Loki interactively. Please see User Documentation of Loki for information about setting up a Loki parameter file.

Submitting a swarm of Loki jobs

1. First create different directories for each loki run. Put all the required input files under each of the directories.

2. Create a swarm command file containing a single job on each line, e.g.

-------------------- /data/user/loki/cmdfile -------------------------
cd /data/user/loki/run1;/usr/local/bin/loki parameter.file > logfile
cd /data/user/loki/run2;/usr/local/bin/loki parameter.file > logfile
cd /data/user/loki/run3;/usr/local/bin/loki parameter.file > logfile
cd /data/user/loki/runX;/usr/local/bin/loki parameter.file > logfile
3. There are one flag of swarm that's required '-f' and two other flags of swarm user most possibly needs to specify when submit a swarm job: '-t' and '-g'.

-f: the swarm command file name above (required)
-t: number of processors per node to use for each line of the commands in the swarm file above.(optional)
-g: GB of memory needed for each line of the commands in the swarm file above.(optional)

By default, each line of the commands above will be executed on '1' processor core of a node and uses 1GB of memory. If this is not what you want, you will need to specify '-t' and '-g' flags when you submit the job on biowulf.

Say if each line of the commands above also will need to use 10gb of memory instead of the default 1gb of memory, make sure swarm understands this by including '-g 10' flag:

biowulf> $ swarm -g 10 -f cmdfile

For more information regarding running swarm, see swarm.html

Running Loki interactively

Interactive Loki runs should be performed by allocating an interactive node, as in the example below.

<biowulf>% qsub -I -l nodes=1
qsub: waiting for job 593807.biobos to start
qsub: job 593807.biobos ready <p3>% cd /data/user/loki/run1
<p3>% loki parameterfile > logfile <p3>% exit Job 593807.biobos completed. <biowulf>%