Return to main Cactus page
Example of the job script that was used for testing Cactus installation:
#!/bin/bash
#SBATCH --job-name=cactus_test
#SBATCH --mail-type=NONE
#SBATCH --cpus-per-task=12
#SBATCH --mem-per-cpu=10gb
#SBATCH --partition=gpu
#SBATCH --gpus=a100:1
#SBATCH --time=8:00:00
#SBATCH --output=cactus_test.log
echo "Setting up test environment..."
TEST_PWD=/data/apps/tests/cactus
TEST_DATADIR=${TEST_PWD}/example_data
TEST_WORKDIR=${TEST_PWD}/test_output
cd ${TEST_PWD}
module load cactus/2.0.5
# Remove any previous test results and re-create a working directory
if [ -d ${TEST_WORKDIR} ]; then rm -rf ${TEST_WORKDIR}/; fi
mkdir ${TEST_WORKDIR}
mkdir ${TEST_WORKDIR}/workdir
mkdir ${TEST_WORKDIR}/steps-output
cd ${TEST_WORKDIR}
echo "Starting test run at $(date) on $(hostname)..."
# export TOIL_SLURM_ARGS="--partition gpu --gpus=a100:1"
# unset XDG_RUNTIME_DIR
################################################################################
# The "step-by-step" method below will produce a file with a list of cactus
# commands, each of which can be modified (if needed) and placed in its own
# separate job
#
cactus-prepare \
${TEST_DATADIR}/evolverMammals.txt \
--jobStore ${TEST_WORKDIR}/jobstore \
--outDir ${TEST_WORKDIR}/steps-output \
--outHal ${TEST_WORKDIR}/steps-output/evolverMammals.hal \
--outSeqFile ${TEST_WORKDIR}/steps-output/evolverMammals.txt \
--gpu \
> ${TEST_WORKDIR}/steps.sh
# For testing the installation, the following command blindly runs the steps
# generated by cactus-prepare. In real life, the user would likely modify the
# "steps.sh" file options and break up the rounds into separate SLURM jobs.
#
/bin/bash ${TEST_WORKDIR}/steps.sh
################################################################################
echo "Test complete at $(date)."