去Gwas Catalog网站进行数据下载


#清除脏乱的环境
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)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值