Necessary changes for using Slurm job scheduler rather than PBS in the I-TASSER Suite package

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!