#清除脏乱的环境
rm(list=ls())
#gwas catalog:数据下载
#txt文件:没有beta值,se值;
#tsv文件:有beta值,se值;
#tsv.gz文件:压缩格式
## 找到数据后→FTP Download→下载最大的那个文件
##(一)tsv文件
# 载入所有需要的库
library(vroom)
library(tidyr)
library(dplyr)
library(data.table)
#GWAS-Catalog网站
#网址:拿菌群中一个来试试手 https://www.ebi.ac.uk/gwas/studies/GCST90027446
#设置工作环境
setwd("C:/Users/Administrator/Desktop/testplace")
#读取文件
junqun1<-vroom("GCST90027446_buildGRCh37.tsv", col_names = TRUE)
head(junqun1)#查看前几行
colnames(junqun1)#查看列名
#重命名列,并转换数据类型
# %>% 是一个管道操作符(pipe operator),它来自于 dplyr 包,但现在已经内置在 R 的 magrittr 包中。
# %>%这个操作符的主要作用是将左侧的表达式的结果传递给右侧的函数作为第一个参数。这样可以使得代码更加简洁和易读,尤其是在进行多个步骤的数据操作时。
junqun1<- junqun1 %>%
rename(
SNP = variant_id,
CHR = chromosome,
BP = base_pair_location,
effect_allele = effect_allele,
other_allele =other_allele,
P = p_value,
EAF= effect_allele_frequency,
BETA = beta,
SE= standard_error)%>%
select(SNP,CHR,BP,effect_allele,other_allele,P, EAF, BETA, SE)%>%
mutate(P=as.numeric(P))#转换P值为数值型
View(junqun1)
#保存数据到新的csv文件
write.csv(junqun1,"GCST90027446.csv",row.names = FALSE)
#读入cvs文件并查看
data=fread("GCST90027446.csv")
View(data)
head(data)
##(二)txt文件(暂时也没碰到txt文件的,暂时把教程代码记录下来,要用再说)
rm(list=ls())
library(vroom)
library(dplyr)
#数据链接:https://ftp.ebi.ac.uk/pub/databases/gwas/summary_statistics/GCST008001-GCST009000/GCST008468/NamjouB_31311600_NAFLD.txt
#(这个网址好卡,直接点开不行的,要右键点击→数据另存为,这样子操作把数据下载下来才行)
txt <- vroom('NamjouB_31311600_NAFLD.txt')
head(txt)
#填充缺失的列【beta、se】
txt$beta <- log(txt$OR)
txt$se <- abs(log(txt$OR)/qnorm(txt$P/2))
head(txt)
#标准化列名
txt <- txt %>%
rename(
SNP = SNP,
CHR = CHR,
BP = BP,
effect_allele = A1,
other_allele = A2,
P = P,
BETA = beta,
SE = se,
N = N
) %>%
select(SNP, CHR, BP, effect_allele, other_allele, P,BETA, SE,N) %>%
mutate(P = as.numeric(P)) # 转换P值为数值型
View(txt)
write.csv(txt,"txt.csv",row.names = FALSE)
去Gwas Catalog网站进行数据下载
于 2024-11-29 20:19:00 首次发布