Biowulf High Performance Computing at the NIH
gctb on Biowulf

GCTB: A tool for Genome-wide Complex Trait Bayesian analysis.GCTB is a software tool that comprises a family of Bayesian linear mixed models for complex trait analyses using genome-wide SNPs. It was developed to simultaneously estimate the joint effects of all SNPs and the genetic architecture parameters for a complex trait, including SNP-based heritability, polygenicity and the joint distribution of effect sizes and minor allele frequencies. Version 2.0 or above of the GCTB software includes summary-data-based versions of the individual-level data Bayesian linear mixed models previsouly implemented.

References:

Documentation
Important Notes

Interactive job
Interactive jobs should be used for debugging, graphics, or applications that cannot be run as batch jobs.

Allocate an interactive session and run the program.
Sample session (user input in bold):

[user@biowulf]$ sinteractive -c 4
salloc.exe: Pending job allocation 46116226
salloc.exe: job 46116226 queued and waiting for resources
salloc.exe: job 46116226 has been allocated resources
salloc.exe: Granted job allocation 46116226
salloc.exe: Waiting for resource configuration
salloc.exe: Nodes cn3144 are ready for job

[user@cn3144 ~]$ module load gctb
[user@cn3144 ~]$ cp $GCTB_TEST_DATA/* .
[user@cn3144 ~]$ gctb --bfile 1000G_eur_chr22 --make-sparse-ldm --out test_out
[user@cn3144 ~]$ gctb --bfile 1000G_eur_chr22 --make-full-ldm --threads $SLURM_CPUS_PER_TASK --out test_out
[user@cn3144 ~]$ exit
salloc.exe: Relinquishing job allocation 46116226
[user@biowulf ~]$

Batch job
Most jobs should be run as batch jobs.

Create a batch input file (e.g. gctb.sh). For example:

#!/bin/bash
set -e
module load gctb
gctb --in1 R1.fq --in2 R2.fq

Submit this job using the Slurm sbatch command.

sbatch --cpus-per-task=12 --mem=2g gctb.sh

MPI batch job

In certain circumstances, gctb can be accelerated using MPI. Create a batch input file (e.g. gctb_mpi.sh). For example:

mpirun -np $SLURM_NTASKS gctb ...

Submit this job using the Slurm sbatch command.

sbatch --ntasks=8 --ntasks-per-core=1 --node=1 gctb.sh