https://www.youtube.com/watch?v=BKpZpA8WfcQ&list=PLaZuFfQk5gXPuXNA00R_uEfD422lmkSnr&index=6
用的GEWAS中example中的数据
一、 qqman
install.packages("qqman")
library(qqman)
数据:
画图的数据
-
"SNP"(Single Nucleotide Polymorphism)代表单核苷酸多态性。它是基因组上的一种常见遗传变异形式,代表基因组中的一个位置,该位置上的碱基可以在个体之间有所不同。SNP在GWAS中被用于检查其与研究表型的关联。
-
"CHR"代表染色体(Chromosome),指示SNP所位于的染色体编号。染色体是细胞核中的结构,携带遗传信息。(横坐标)
-
"BP"代表物理位置(Base Pair),表示SNP在染色体上的物理位置。它通常以碱基对(bp)为单位来度量,用于确定SNP在基因组上的准确位置。
-
"P"代表关联统计量中的p-value,用于衡量SNP与研究表型之间的关联程度。p-value越小,表示SNP与表型之间的关联越显著。在GWAS中,研究人员通常会关注具有低p-value的SNP,这可能表示与表型相关的潜在关联信号。
View(gwasResults)
qqman自带数据画图
manhattan(gwasResults, col = c("blue", "red"))
qq(gwasResults$P)
自己的数据画图
library(qqman) library("CMplot") View(gwasResults) # 用qqman画曼哈顿图 # 用qqman画qqplot data <- read.table("GE_GWAS.assoc.txt", header = TRUE, sep = "\t") result_data <- data[, c("chr", "rs", "ps", "p_wald")] colnames(result_data)[colnames(result_data) == "chr"] <- "CHR" colnames(result_data)[colnames(result_data) == "rs"] <- "SNP" colnames(result_data)[colnames(result_data) == "ps"] <- "BP" colnames(result_data)[colnames(result_data) == "p_wald"] <- "P" manhattan(result_data, col = c("blue", "red")) qq(result_data$P)
二、 CMplot
https://github.com/YinLiLin/CMplot
install.packages("CMplot") 这一个就够了
下载完把二进制那个删了,没用了
自带数据画图
CMplot(pig60K,type="p",plot.type="m")
CMplot(pig60K,plot.type="q")
自己的数据画图
library("CMplot") data(pig60K) View(pig60K) data <- read.table("GE_GWAS.assoc.txt", header = TRUE, sep = "\t") result_data <- data[, c("chr", "rs", "ps", "p_wald")] colnames(result_data)[colnames(result_data) == "chr"] <- "Chromosome" colnames(result_data)[colnames(result_data) == "rs"] <- "SNP" colnames(result_data)[colnames(result_data) == "ps"] <- "Position" colnames(result_data)[colnames(result_data) == "p_wald"] <- "trait" result_data <- result_data[, c("SNP","Chromosome","Position","trait")] CMplot(result_data,type="p",plot.type="m") CMplot(result_data,type="p",plot.type="q")
注意:
数据列变成这样的形式,否则出错
疑问:
为什么只显示了19列?
数据有问题
错误1:
错误2: