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:
- Zeng et al. Bayesian analysis of GWAS summary data reveals differential signatures of natural selection across human complex traits and functional genomic categories. Nature Communications, dio: 10.1038/s41467-021-21446-3. PubMed | Journal
- Module Name: gctb (see the modules page for more information)
- Multithreaded
- Environment variables set
- $GCTB_TEST_DATA
- Example files in $GCTB_TEST_DATA
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 ~]$
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
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