In the I-TASSER Suite package, when the option -runstyle is set to "parallel", the threading and simulation jobs will be submitted
by the "qsub" command from the default PBS job scheduler. This significantly speeds up the I-TASSER running by more than 10 times. However,
we noticed that there are some users who do not use PBS job scheduler but others, such as, SGE (http://zhanglab.ccmb.med.umich.edu/bbs/?q=node/2810) and Slurm (http://zhanglab.ccmb.med.umich.edu/bbs/?q=node/3272). To make the package work with other job schedulers,
it is necessary to make some changes. Thanks to Dr. Benjamin P. Roberts of the New Zealand eScience Infrastructure, below is a brief summary about his changes from PBS to Slurm. We also attach his full change log in this post, in case someone needs it.
1. Check of job scheduler
if ( !( `which qstat` ) || !( `which qsub` ))
should be changed to
if ( system("which squeue") != 0 || system("which sbatch") != 0)
2. qstat-->squeue
$runningjobs=`qstat -f`;
should be changed to
$runningjobs=`squeue --format="%24j"`;
3. qsub-->sbatch
$walltime ="walltime=72:00:00,mem=1000mb";
`qsub -e $errfile -o $outfile -l $walltime -N $tag $jobname`;
should be changed to
$walltime = "72:00:00";
$mem = "1000MB";
`sbatch -e $errfile -o $outfile --time=$walltime --mem=$mem -J $tag $jobname`;
4. I-TASSERmod/zysubmod
#PBS -e !ERRFILE!
#PBS -o !OUTFILE!
#PBS -l !WALLTIME!
should be changed to
#SBATCH -e !ERRFILE!
#SBATCH -o !OUTFILE!
#SBATCH --time=!WALLTIME!