Tuesday, December 1, 2015

Run I-Tasser in parallel mode using SGE

I-TASSER (http://zhanglab.ccmb.med.umich.edu/I-TASSER/) is a popular protein structure prediction software that can also be installed locally as a stand alone program.

In order to make use of the parallelization capabilities of I-TASSER you first must install a batch-queuing system, for which I chose SGE (Sun Grid Engine). I followed these instructions to set it up on my Ubuntu multi core server: https://scidom.wordpress.com/2012/01/18/sge-on-single-pc/
The setup is comparatively straight-forward (or at least similar confusing as other systems such as Torque or SLURM) and the necessary binaries are available through Ubuntu's repositories.

After successful setup of SGE and some tests, I was ready to setup I-TASSER to use SGE. It's advisable to run I-TASSER in the serial mode first, to check that everything is in order, e.g. the database is in the right place, all the right software is installed etc. If the serial mode works, we're ready to change the starting script such that it works using SGE.
The starting script is called runI-TASSER.pl and located in the I-TASSERmod folder. I made a copy of this script and called it runI-TASSER_SGE.pl.

Change following lines:
Line 840: change
$bsub=`qsub -e $errfile -o $outfile -l $walltime -N $tag $jobname`;
$bsub=`qsub -cwd -S /usr/bin/perl -e $errfile -o $outfile -N $tag $jobname`;

Line 1661: change
$bsub=`qsub $datadir/$tagnames{$i}`;
$bsub=`qsub -cwd -S /usr/bin/perl $datadir/$tagnames{$i}`;

This seems to do the trick. You can now use runI-TASSER_SGE.pl using the -runstyle parallel option and I-TASSER will submit the tasks to the SGE queue.

1 comment:

  1. I added this info also to the official message board of I-TASSER: http://zhanglab.ccmb.med.umich.edu/bbs/?q=node/3561