全基因组关联分析(GWAS)protocol

全基因组关联分析(Genome-wide association study,GWAS)是应用基因组中数以百万级别的单核苷酸多样性(Single Nucleotide Ploymorphism,SNP)作为分子遗传标记,进行全基因组水平上表型与marker的相关性分析,从而发现影响复杂性状的基因突变的一种策略。


使用的软件为:

  • plink
  • EMMAX
  • R
    平台为Linux

00软件安装

Plink作为一款老牌软件,它的文件格式是多个计算软件所需要的。Plink自身也可以进行全基因组的关联分析,但是速度较慢不推荐。我们本次使用Plink的目的是利用它对SNP数据进行提取和过滤。Plink的安装也十分简单,可以直接用conda安装:
conda install -y plink
EMMAX是2010年Kang开发的EMMA升级版,它的计算速度特别快,并且在棉花,大豆,水稻甚至椰子等复杂性状探究中广泛应用。每一个SNP对复杂性状的解释率都很低,每个组件的方差在运算中都只计算一次,从而达到简化计算的目的。
软件下载地址:
EMMAX的下载地址非常友好,不需要翻墙。

EMMAX下载

我用的是老版本,应该没什么区别,看介绍只有编译上的差别,然后我们安装

tar xvf emmax-interl-binary-20120210.tar.gz
#然后加到环境变量
emmax-interl64

R语言大家应该熟知,不需要过度介绍

01phenotype和genotype文件准备

phenotype文件

emmax识别的phenotype文件需要一个表型一个单独的文本,我给大家截图展示一下:
phenotype
phenotype格式

文件的格式也非常简单,只有三列。前两列为品种编号和genotype中对应,第三列为表型。

genotype文件

plink格式的SNP文件需要用plink进行抽取和转置:
plink --noweb --bfile /public/home/hguo/public/data/SNP/GWAS_Analysis/Rice_GWAS/gwas_all_chr.filter --keep keep_individual.txt --make-bed --maf 0.05 --geno 0.1 --out gwas_all_chr.filter
--bfile 二进制plink文件
--keep 需要提取的品种集
--make-bed 生成二进制的plink文件
--maf 过滤最大等基因频率
--geno 过滤缺失率
--out 输出的文件名

02关联分析

亲缘关系矩阵

emmax有子命令可以计算亲缘关系矩阵,也可以用plink去计算。
emmax-kin-intel64 emmax_in -v -h -s -d 10 new_all_chr.filter
最后的new_all_chr.filter是genotype名

群体结构

群体结构对于群体分化不明显的数据,我觉得应该是可以用加的。群体结构我们使用Admixture软件进行计算,这个很多网文都有就不过多介绍,用conda是可以直接安装的。计算之后得到最小的CV值,然后把群体结构整理成协变量的格式。这里我使用的数据是亲缘关系较近的群体,就没有加群体结构。

计算关联性

计算关联性之前需要将我们得到的plink文件转置,emmax接受的是转置后的tped文件,代码如下:

plink --bfile gwas_all_chr.filter --recode12 --output-missing-genotype 0 --transpose --out new_all_chr.filter

接着是计算关联分析的p值。这一步很简单,直接上代码:

for line in $(cat name.txt)
do
 emmax -v -d 10 -t new_all_chr.filter -p pheno/$line -k new_all_chr.filter.hIBS.kinf  -o result/$line
done

解释一下,name.txt是我的表型文件的文件名,为了循环跑每一个sample
-t 是tped的文件名
-p 是phenotype文件名
-k 是刚才得到的kinship文件,如果要用群体结构的话可以加一个协方差的参数
-o 是输出文件的文件名
-v 我记得是输出当前进度的设置
-d 我记得是给予的线程数(ps:这两个参数记不太清了,反正没影响

03结果文件解析

跑完上面的程序后,我们会得到三个文件分别是log,reml和ps文件。其中ps文件使我们需要的结果文件。目前手上的项目都已经结束,所以搬运一张ps文件的格式:
ps文件格式

这个文件四列分别为SNP_ID,回归系数,标准差和p值。
根据这个文件,我们把数据整理成SNP,CHR,BP(snp所在染色体的物理距离)和P(关联分析的P值)四列,然后用于下一步画图。

04结果画图

比较简单的曼哈顿图就是使用R包qqman,只要把文件格式整理成我上述描述的那样可以直接使用下面的代码:

temp<-list.files(pattern = "*.txt")
for (i in 1:length(temp)) {
library("qqman")
mydata<-read.table(temp[i],header=TRUE,sep="\t")
mydata$SNP<-as.character(mydata$SNP)
mydata$CHR<-as.numeric(mydata$CHR)
mydata1<-na.omit(mydata)

outfile<-paste("MM/",temp[i],".png",sep = "")
png(outfile,height = 900,width = 1200,pointsize = 12)
manhattan(mydata1,main="Manhattan Plot",cex=1.5,cex.axis=1,col=c("red","blue"),suggestiveline =F,
genomewideline=F,,chrlabs = c("1:12"))
abline(h=-log10(1.33E-6), col="orange",lty=2,lwd=2)
abline(h=-log10(6.66E-8), col="purple",lty=2,lwd=2)
dev.off()
}

解释一下,*txt是当前文件夹下所有的txt文件,这个地方我已经把ps文件进行抽提整理成上述所说的那四列的形式,在这里是为了批量画图。

最后我们看一下画出的曼哈顿图的情况:
最终结果

这里解释一下,为什么0-1的位置没有东西。这些点都是snp,0-1之间的snp的p值为0.1-1,也就是完全不显著的snp,为了节省画图时间和图片空间,我在ps到txt的文件整理过程就给过滤了。第二点,为什么有两个阈值线,这里分别代表显著和极显著。

好了,这就是GWAS工作的全部内容,有补充的小伙伴请在评论区留言。谢谢~

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容