这里,总结一下GWAS的学习笔记,GWAS全称“全基因组关联分析”,使用统计模型找到与性状关联的位点,用于分子标记选择(MAS)或者基因定位,这次学习的教程是plink做GWAS,plink是个很好的软件,但是之前做GWAS都是使用R包,听说plinkEMMAX做GWAS更快,更好,更容易写出pipeline。就利用网上的信息写一个操作笔记,先操作plink,然后是EMMAX,有一些模型知识的同学,理解起来应该不难。

GWAS分析的两类性状:

  • 分类性状(阈值性状,质量性状):比如抗病性,颜色等等
  • 连续性在(数量性状):比如株高,体重,产量等等

GWAS的分析方法:

  • 分类性状:logistic等等
  • 连续性状:GLM,MLM模型等等

一般线性模型(GLM):
这里,SNP作为固定因子,可以考虑其它协变量(比如性别,PCA,群体结构等等)

混合线性模型(MLM)

  • 固定因子:SNP + 可以考虑其它协变量(比如性别,PCA,群体结构等等),这里固定因子和前面的GLM一样
  • 随机因子:亲缘关系矩阵(K矩阵或者A矩阵)

参考:

教程代码和数据下载:https://github.com/MareesAT/GWA_tutorial/

这个教程非常的经典,我看网上很多人推荐,相关的文章:
https://onlinelibrary.wiley.com/doi/full/10.1002/mpr.1608

包括数据的过滤,SNP的过滤,样本的过滤,质控的标准等等介绍的非常清楚,看完这篇文章,感觉plink的知识有增加了很多。

1. 下载数据和代码

在linux环境下,新建一个文件夹,进入后运行下面命令:

git clone https://github.com/MareesAT/GWA_tutorial.git

下载之后,目录如下:

.
└── GWA_tutorial
    ├── 1_QC_GWAS.zip
    ├── 2_Population_stratification.zip
    ├── 3_Association_GWAS.zip
    ├── 4_PRS.doc
    └── README.md

1 directory, 5 files

2. 下载R语言和plink软件

如果已经有了这两个软件,就不用下载了。

  • R: https://www.r-project.org/
  • plink:http://zzz.bwh.harvard.edu/plink/ https://www.cog-genomics.org/plink2

3. 解压文件

这里,使用unzip命令,解压zip文件。

unzip 1_QC_GWAS.zip 
unzip 2_Population_stratification.zip 
unzip 3_Association_GWAS.zip 

4. 文件介绍

4.1 质控

主要是根据一些筛选标准,去掉一些位点。筛选标准有缺失百分比,哈温等等。

文件夹:1_QC_GWAS

主要文件:

1_Main_script_QC_GWAS.txt
HapMap_3_r3_1.bed
HapMap_3_r3_1.bim
HapMap_3_r3_1.fam
check_heterozygosity_rate.R
Relatedness.R
hist_miss.R
pops_HapMap_3_r3
hwe.R
MAF_check.R
gender_check.R
heterozygosity_outliers_list.R
inversion.txt

其中1_Main_script_QC_GWAS.txt里面包括所有运行的代码,HapMap*文件是plink格式的文件,*R是几个用于检测和可视化的R脚本,我们后面会依次讲解这些代码。

4.2 群体分层

文件夹:2_Population_stratification

1_Main_script_QC_GWAS.txt  
2_Main_script_MDS.txt  
MDS_merged.R

其中,1_Main_script_QC_GWAS.txt2_Main_script_MDS.txt为运行代码。

4.3 GWAS分析

文件夹: 3_Association_GWAS

QQ_plot.R
Manhattan_plot.R
3_Main_script_association_GWAS.txt

其中,3_Main_script_association_GWAS.txt为运行代码。

4.4 多基因风险评分(PRS)分析

是一个word文件:

这是独立的一步,有需要的可以查看里面的分析方法。

5. 未完待续!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐