Skip to content

Structure_threader

Description

structure_threader website

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