LDSC is a command line tool for estimating heritability and genetic correlation from GWAS summary statistics. LDSC also computes LD Scores.
Bulik-Sullivan, et al. LD Score Regression Distinguishes Confounding from Polygenicity in Genome-Wide Association Studies. Nature Genetics, 2015.
Bulik-Sullivan, et al. An Atlas of Genetic Correlations across Human Diseases and Traits. bioRxiv doi: http://dx.doi.org/10.1101/014498
Finucane, HK, et al. Partitioning Heritability by Functional Category using GWAS Summary Statistics. bioRxiv doi: http://dx.doi.org/10.1101/014241
Bulik-Sullivan, Brendan. Relationship between LD Score and Haseman-Elston, bioRxiv doi http://dx.doi.org/10.1101/018283
Zheng, et al. LD Hub: a centralized database and web interface to perform LD score regression that maximizes the potential of summary level GWAS data for SNP heritability and genetic correlation analysis. Bioinformatics (2016) https://doi.org/10.1093/bioinformatics/btw613
Allocate an interactive session and run the program. Sample session:
[user@biowulf]$ sinteractive 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 ldsc [+] Loading python 2.7 ... [+] Loading ldsc, version 1.0.0-92-gcf1707e... [user@cn3144 ~]$ wget https://data.broadinstitute.org/alkesgroup/LDSCORE/1kg_eur.tar.bz2 --2017-08-01 17:06:24-- https://data.broadinstitute.org/alkesgroup/LDSCORE/1kg_eur.tar.bz2 Resolving dtn01-e0... 10.1.200.237 Connecting to dtn01-e0|10.1.200.237|:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 1134910 (1.1M) [application/x-bzip2] Saving to: “1kg_eur.tar.bz2” 100%[==========================================================================================================>] 1,134,910 833K/s in 1.3s 2017-08-01 17:06:30 (833 KB/s) - “1kg_eur.tar.bz2” saved [1134910/1134910] [user@cn3144 ~]$ tar -xf 1kg_eur.tar.bz2 [user@cn3144 ~]$ cd 1kg_eur/ [user@cn3144 ~]$ ldsc.py --bfile 22 --l2 --ld-wind-cm 1 --out 22 ********************************************************************* * LD Score Regression (LDSC) * Version 1.0.0 * (C) 2014-2015 Brendan Bulik-Sullivan and Hilary Finucane * Broad Institute of MIT and Harvard / MIT Department of Mathematics * GNU General Public License v3 ********************************************************************* Call: ./ldsc.py \ --ld-wind-cm 1.0 \ --out 22 \ --bfile 22 \ --l2 Beginning analysis at Tue Aug 1 17:12:04 2017 Read list of 19156 SNPs from 22.bim Read list of 379 individuals from 22.fam Reading genotypes from 22.bed After filtering, 19156 SNPs remain Estimating LD Score. Writing LD Scores for 19156 SNPs to 22.l2.ldscore.gz Summary of LD Scores in 22.l2.ldscore.gz MAF L2 mean 0.2323 18.5353 std 0.1453 16.1039 min 0.0013 0.0657 25% 0.1042 7.8392 50% 0.2243 13.4837 75% 0.3549 22.9722 max 0.5000 109.7163 MAF/LD Score Correlation Matrix MAF L2 MAF 1.0000 0.2749 L2 0.2749 1.0000 Analysis finished at Tue Aug 1 17:12:08 2017 Total time elapsed: 3.31s [user@cn3144 ~]$ exit salloc.exe: Relinquishing job allocation 46116226 [user@biowulf ~]$
Create a batch input file (e.g. ldsc.sh). For example:
#!/bin/sh module load ldsc wget https://data.broadinstitute.org/alkesgroup/LDSCORE/1kg_eur.tar.bz2 tar -xf 1kg_eur.tar.bz2 cd 1kg_eur/ ldsc.py --bfile 22 --l2 --ld-wind-cm 1 --out 22
Submit this job using the Slurm sbatch command.
sbatch [--cpus-per-task=#] [--mem=#] ldsc.sh
Create a swarmfile (e.g. ldsc.swarm). For example:
cd /data/$USER/ldsc/set1 && ldsc.py --bfile 22 --l2 --ld-wind-cm 1 --out 22 cd /data/$USER/ldsc/set2 && ldsc.py --bfile 22 --l2 --ld-wind-cm 1 --out 22 cd /data/$USER/ldsc/set3 && ldsc.py --bfile 22 --l2 --ld-wind-cm 1 --out 22 cd /data/$USER/ldsc/set4 && ldsc.py --bfile 22 --l2 --ld-wind-cm 1 --out 22
Submit this job using the swarm command.
swarm -f ldsc.swarm [-g #] [-t #] --module ldscwhere
-g # | Number of Gigabytes of memory required for each process (1 line in the swarm command file) |
-t # | Number of threads/CPUs required for each process (1 line in the swarm command file). |
--module ldsc | Loads the TEMPLATE module for each subjob in the swarm |