Structure_threader¶
Description¶
A wrapper program to parallelize the runs of Structure, fastStructure, MavericK and ALStructure software.
Environment Modules¶
Run module spider structure_threader
to find out what environment modules are available for this application.
Environment Variables¶
- HPC_STRUCTURE_THREADER_DIR - installation directory
- HPC_STRUCTURE_THREADER_BIN - executable directory
Additional Usage Information¶
Structure_wrapper provides its own binary for Structure. However, this binary has not been compiled for or tested on HiPerGator.
This means that, when using Structure, your job scripts should load the structure
module and the structure_threader
module:
module load structure/2.3.4
module load structure_threader/1.3.10
In addtion, when you call structure_threader, pass the -st
flag with the path to the HiPerGator-provided Structure binary (using the ${HPC_STRUCTURE_BIN}
environment variable from the module:
structure_threader run ... -st ${HPC_STRUCTURE_BIN}/structure
Job Script Examples¶
Example job script used to test application installation:
#!/bin/bash
#SBATCH --job-name=structure_threader_1.3.10_test
#SBATCH --mail-type=NONE
#SBATCH --cpus-per-task=32
#SBATCH --mem-per-cpu=2gb
#SBATCH --time=24:00:00
#SBATCH --output=structure_threader_1.3.10_test.log
echo "Setting up test environment..."
TEST_PWD=/data/apps/tests/structure_threader/1.3.10
TEST_DATADIR=${TEST_PWD}/example_data
TEST_WORKDIR=${TEST_PWD}/test_output
cd ${TEST_PWD}
module load structure/2.3.4
module load structure_threader/1.3.10
# Remove any previous test results and re-create a working directory
if [ -d ${TEST_WORKDIR} ]; then rm -rf ${TEST_WORKDIR}/; fi
mkdir ${TEST_WORKDIR}
cd ${TEST_WORKDIR}
echo "Starting test run at $(date) on $(hostname)..."
###################################
structure_threader \
run \
-K 4 \
-i ${TEST_DATADIR}/TestData/SmallTestData.structure \
-o ${TEST_WORKDIR}/output \
-t ${SLURM_CPUS_ON_NODE:-4} \
-st ${HPC_STRUCTURE_BIN}/structure
###################################
# There should be some files in the work directory
echo "There should be some results listed below:"
find ${TEST_WORKDIR}/output -type f ! -empty -ls
echo "Test complete at $(date)."
Citation¶
If you publish research that uses Structure_threader you have to cite it as follows:
Pina-Martins F, Silva DN, Fino J, Paulo OS. Structure_threader: An improved method for automation parallelization of programs structure, fastStructure and MavericK on multicore CPU systems. Mol Ecol Resour. 2017; 17: e268–e274. https://doi.org/10.1111/1755-0998.12702
Categories¶
utility, structure