Skip to content

Instantly share code, notes, and snippets.

@hyeshik
Last active December 18, 2015 16:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save hyeshik/5811254 to your computer and use it in GitHub Desktop.
Save hyeshik/5811254 to your computer and use it in GitHub Desktop.
#!/bin/sh
#
# Adopts and submit a snakemake cluster job script to SGE queue
#
# by Hyeshik Chang
#
JOBSCRIPT_SNAKEMAKE=$1
JOBSCRIPT_SGE="`dirname $1`/sge`basename $1`"
SGE_QUEUE="shared"
THREADS="`grep '^#threads:' $JOBSCRIPT_SNAKEMAKE|cut -d' ' -f2`"
RULENAME="`grep '^#rule:' $JOBSCRIPT_SNAKEMAKE|cut -d' ' -f2`"
UNIQNO=$$
if [ "$THREADS" -ge 24 ]; then
THREADS="24-32" # for ribose
fi
cat > $JOBSCRIPT_SGE << END
#!/bin/sh
#$ -pe $SGE_QUEUE $THREADS
#$ -cwd
#$ -N "$RULENAME-$UNIQNO"
#$ -j y
#$ -m n
#$ -o `pwd`/sge-$RULENAME-$UNIQNO.out
export PATH="\$SGE_O_PATH"
END
sed -e 's, -j, -j $NSLOTS,' $JOBSCRIPT_SNAKEMAKE >> $JOBSCRIPT_SGE
chmod 755 $JOBSCRIPT_SGE
qsub $JOBSCRIPT_SGE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment