PheWAS R语言包示例代码运行

1.R环境配置(VSCODE)

安装vscode(默认已经安装)

安装R:

安装链接https://cran.r-project.org/mirrors.html,采用国内的清华镜像站

image-20251216133900035

选取第一个清华的镜像站

image-20251216133942221

选取适合自己电脑的版本

image-20251216134013565

下载成功

下载成功后安装的硬盘一般默认C盘,但是不要选择装在C盘,例如我就装在D盘。

2.VSCODE上安装R语言的相关插件

image-20251216134252856

如果对于编辑的界面有要求可以选择安装R LSP Client插件和Radian的编辑器,(暂时安装不成功,略过)

3.测试

建立一个.R的文件,直接编译运行即可

image-20251216134626949

绘图结果:

image-20251216134725442

2.R环境的PheWAS的代码运行

下载对应的PheWAS的安装包

The PheWAS R package is designed to provide an accessible interface to the phenome wide association study.

PheWAS R软件包旨在为全表型关联研究提供一个可访问的界面。

可以使用devtools包安装PheWAS包。在R中执行以下代码将帮助您开始:

1
install.packages("devtools")

#可能需要按需安装,因为并非所有包依赖项都由devtools安装:

1
2
3
4
5
6
install.packages(c("dplyr","tidyr","ggplot2","MASS","meta","ggrepel","DT"))
#下载所需要的R安装包
devtools::install_github("PheWAS/PheWAS")
#从github上下载对应的处理工具
library(PheWAS)
#纳入PheWAS

请注意,某些版本的devtools不会安装所有依赖项,因此如果出现错误,可能需要先使用install.packages()安装那些依赖项。

有可能在运行对应的代码的同时需要进行某个包的安装,比如Rtools

正式代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
vignette("PheWAS-package")  #打开该R包的帮助文档
library(PheWAS) #加载包
set.seed(1) #设置随机种子
ex=generateExample() #产生测试数据
#提取list中的三个部分
id.vocab.code.count=ex$id.vocab.code.count
genotypes=ex$genotypes #基因型文件
id.sex=ex$id.sex #性别,作为协变量
#创建phecode表-翻译代码
phenotypes=createPhenotypes(id.vocab.code.count, aggregate.fun=sum, id.sex=id.sex)
#运行PheWAS
results=phewas(phenotypes,genotypes,cores=1)
#绘图
phewasManhattan(results, annotate.angle=0,title="My Example PheWAS Manhattan Plot")

最终的绘图:

可以判断这个SNP与某种表型之间的关联性,有些较高,有些较低。

对应产生的四个中间文件:

1.phenotypes(表型文件)

image-20251216140419576

第一列是对用的个体的id,之后的编号是对应的表型,True代表患病,False代表不患病,NA代表该表型缺失。

2.genotypes(基因型文件)

image-20251216140656445

id代表的是个人的编号,0,1,2分别代表显性纯合子,杂合子,隐形纯合子,对应的控制同一表型的等位基因为1对2个。

3.id.vocab.code.count

image-20251216141012624

第一列ID:代表的是个体编号(在人中就是不同的个体)。
第二列vocabulary_id:代表采用哪种编码规则(ICD9CM/ICD10CM)。
第三列code:相应的数字和字母代表一种表型。
第四列count:计数。

4.results(经过PheWAS分析的结果文档)

image-20251216141135441

其中比较重要的就是对应的p值和对应的表型编号。

最终的曼哈顿图

只要对应自己的文档可以修改成这样的形式,也可以用来进行表型的分析。