LD SCore计算基因多效性、遗传度、遗传相关性(the LD Score regression intercept, heritability and genetic correlation)
这篇文章是对之前啊啊救救我,为何我的QQ图那么飘(全基因组关联分析)这篇文章的一个补坑。
LD SCore除了查看显著SNP位点对表型是否为基因多效性外,还额外补充了怎么计算表型的遗传度和遗传相关性。
1 下载、安装ldsc
git clone https://github.com/bulik/ldsc.git
cd ldsc
2 安装ldsc依赖的环境
conda env create --file environment.yml
source activate ldsc
3 测试是否安装成功
如果安装成功,输入./ldsc.py -h代码会出现如下图:

输入./munge_sumstats.py -h代码会出现如下图:

4 准备summary文件summary.txt
summary.txt为关联分析的summary数据,包含rs编号、染色体编号、位置、A1(效应等位基因)、A2(无效等位基因)、效应值(OR或BETA)、P值,如下图所示:

5 将summary文件转换为ldsc格式
munge_sumstats.py --sumstats summary.txt --N 17115 --out scz --merge-alleles w_hm3.snplist
这里的N指的是研究的样本数量;
scz是输出的文件名;
w_hm3.snplist是被纳入分析的SNP,包含三列:包含rs编号、位置、A1(效应等位基因)、A2(无效等位基因)# 这一步可有可无#
如果想把所有的SNP位点纳入分析,那么采用这个命令:
munge_sumstats.py --sumstats summary.txt --N 17115 --out scz
这一步会生成scz.sumstats.gz的文件;
6 将基因型数据按染色体分开
for q in $(seq 1 22); do plink --bfile file --chr $q --make-bed --out chr$q done
这个步骤会生成22个plink格式文件(bed,bim,fam),每一个文件代表一条染色体。

7 计算LD
for q in $(seq 1 22); do ldsc.py --bfile chr$q --l2 --ld-wind-cm 5 --yes-really --out chr/$q done
生成的文件如下所示:

8 计算回归截距和遗传度(the LD Score regression intercept and heritability)
ldsc.py --h2 scz.sumstats.gz --ref-ld-chr chr/ --w-ld-chr chr/ --out scz_h2
scz.sumstats.gz为步骤5生成的文件
chr/ 为步骤7生成的LD文件路径
scz_h2为回归截距和遗传度的输出文件
9 查看回归截距(LD Score regression intercept )
less scz_h2.log
输出文件最底部:
Intercept: 1.0252 (0.0075)
截距为1.0252
关于回归截距怎么看,请看之前发过的推文:啊啊救救我,为何我的QQ图那么飘(全基因组关联分析)
10 查看遗传度(heritability)
less scz_h2.log
输出文件最底部:
Total Observed scale h2: 0.7153 (0.0386)
遗传度为0.7153
11 计算遗传相关性(genetic correlation)
ldsc.py --rg trait1.sumstats.gz,trait2.sumstats.gz --ref-ld-chr chr/ --w-ld-chr chr/ --out trait1_trait2
trait1.sumstats.gz为表型1的ldsc格式文件;
trait2.sumstats.gz为表型2的ldsc格式文件;
chr/ 为步骤7生成的LD文件路径
trait1_trait2为表型1和表型2的遗传相关性输出文件;
12 查看遗传相关性(genetic correlation)
less trait1_trait2.log
输出文件最底部:
Genetic Correlation: 0.6561 (0.0605)
表型1和表型2的遗传相关性为0.6561
LD SCore计算基因多效性、遗传度、遗传相关性(the LD Score regression intercept, heritability and genetic correlation)的更多相关文章
- 利用GCTA工具计算复杂性状/特征(Complex Trait)的遗传相关性(genetic correlation)
如文章"Genome-wide Complex Trait Analysis(GCTA)-全基因组复杂性状分析"中介绍的GCTA,是一款基于全基因组关联分析发展的分析工具,除了计算 ...
- usr/bin/ld: cannot find 错误解决方法和 /etc/ld.so.conf
我makefile出现这个错误: HelloWorldServer.c:(.text+0xaa): undefined reference to `zmq_send'collect2: error: ...
- GAN量化评估方法——IS(Inception Score)和FID(Frechet Inception Distance score)
生成模型产生的是高维的复杂结构数据,它们不同于判别模型,很难用简单的指标来评估模型的好坏.下面介绍两种当前比较流行的评估生成模型的指标(仅判别图像):IS(Inception Score)和FID(F ...
- /usr/bin/ld.bfd.real: cannot find -lGL /usr/bin/ld.bfd.real: cannot find -lX11
/usr/bin/ld.bfd.real: cannot find -lGL /usr/bin/ld.bfd.real: cannot find -lX11 根据网上大多数的说法,以及官网的介绍.截至 ...
- linux ERROR: ld.so: object '/lib/libcwait.so' from /etc/ld.so.preload cannot be preloaded: ignored.
[root@ora9i 3238244]# lsb_release -a LSB Version: :core-3.0-amd64:core-3.0-ia32:core-3.0-noarch:g ...
- Centos中Qt编译问题(/usr/bin/ld: 找不到 -lpulse-mainloop-glib,/usr/bin/ld: 找不到 -lpulse...)
Linux下QT编写一个与视频播放的程序,出现/usr/bin/ld: 找不到 -lpulse-mainloop-glib,/usr/bin/ld: 找不到 -lpulse 解决办法: 首先find ...
- Elasticsearch 评分score计算中的Boost 和 queryNorm
本来没有这篇文章,在公司分享ES的时候遇到一个问题,使用boost的时候,怎么从评分score中知道boost的影响. 虽然我们从查询结果可以直观看到,boost起了应有的作用,但是在explain的 ...
- 全基因组关联分析学习资料(GWAS tutorial)
前言 很多人问我有没有关于全基因组关联分析(GWAS)原理的书籍或者文章推荐. 其实我个人觉得,做这个分析,先从跑流程开始,再去看原理. 为什么这么说呢,因为对于初学者来说,跑流程就像一个大黑洞,学习 ...
- GWAS分析基本流程及分析思路
数据预处理(DNA genotyping.Quality control.Imputation) QC的工作可以做PLINK上完成Imputation的工作用IMPUTE2完成 2. 表型数据统计分析 ...
随机推荐
- VLAN实验4:利用单臂路由实现VLAN间路由
单臂路由: 实验环境: 实验拓扑图: 实验编址: 实验步骤:1.创建VLAN并配置Access.Trunk接口. 我们在S2上创建VLAN10和VLAN20,并且吧链接PC1的E0/0/1和链接PC2 ...
- 使用Cloudera Manager添加Sentry服务
使用Cloudera Manager添加Sentry服务 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.通过CM添加Sentry服务 1>.点击添加服务进入CM服务安装向 ...
- 网页自动跳转 HTTP-EQUIV="REFRESH"
文章:META HTTP-EQUIV="REFRESH" 实现网页自动跳转 < META HTTP-EQUIV="REFRESH" CONTENT=&qu ...
- python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'的解决方法:
全文转载至:http://www.cnblogs.com/testyao/p/5658200.html python3中用HTMLTestRunner.py报ImportError: No modul ...
- Python练习题——用列表的方法输出杨辉三角
def main(): num = int(input('请输入行数: ')) yh = [[]] * num #创建num行空列表 for row in range(len(yh)): #遍历每一行 ...
- 网络基础知识(http请求)
http请求的过程 域名解析----TCP连接 ----发送请求-----响应请求----获取html代码----浏览器渲染 TCP是主机对主机层的控制传输协议,提供可靠的连接服务 TCP的三次握手 ...
- Linux——CentOS7没有第二张网卡的配置信息
前言 为了一个实验做测试,在VMware中配置了环境,但是配置了双网卡后发现第二张网卡没有配置文件. 都是些基本命令就不写了,图里也有. 系统 : CentOS7.6 步骤 查看网卡信息 使用ip a ...
- if语句的嵌套:从键盘输入3个实数,利用条件表达式求其最大者。
#include<stdio.h>void main(){ float a,b,c,max; scanf("%f%f%f",&a,&b,&c); ...
- java之大文件分段上传、断点续传
文件上传是最古老的互联网操作之一,20多年来几乎没有怎么变化,还是操作麻烦.缺乏交互.用户体验差. 一.前端代码 英国程序员Remy Sharp总结了这些新的接口 ,本文在他的基础之上,讨论在前端采用 ...
- 深入解析pure virtual function call
在本文中,我们将不解释为什么会提示“纯虚拟函数调用”和如何提示“纯虚拟函数调用”,而是详细解释在win32平台的构造函数/析构函数中直接/间接调用纯虚拟函数时程序本身.在开始时,将显示一个经典示例,在 ...