library(CMplot)
inputFile="****.gz" #输入文件(根据下载暴露数据的文件名称进行修改)
setwd("E:/******")
#读取输入文件, 并对输入文件进行格式转换
df=vroom::vroom(inputFile)
# names(df))
df<- TwoSampleMR::format_data(
df, # 刚才导入的数据
type = "exposure",
phenotype_col = "Phenotype", # 具有与SNP相对应的表型名称的列,如果不存在,则创建exposure变量列为exposure
snp_col = "rsids",
beta_col = "beta",
se_col = "sebeta",
eaf_col = "af_alt",
effect_allele_col = "alt", # 不明确, 看相关ReadMe
other_allele_col = "ref", # 不明确, 看相关ReadMe
pval_col = "pval",
gene_col = "nearest_genes",
chr_col = "#chrom",
pos_col = "pos"
# ,samplesize_col = "samplesize" # 不存在,可以注解掉,后面补充
)
#根据pvalue<5e-08对结果进行过滤
outTab<-subset(df, pval.exposure<5e-08)
write.csv(outTab, file="exp_pvalue.csv", row.names=F)
#准备绘制曼哈顿图的数据
data=df[,c("SNP", "chr.exposure", "pos.exposure", "pval.exposure")]
colnames(data)=c("SNP","CHR","BP","pvalue")
#绘制线性的曼哈顿图-------------
CMplot(data, plot.type="m",
LOG10=TRUE, threshold=5e-08, threshold.lwd=3, threshold.lty=1, signal.cex=0.2,
chr.den.col=NULL, cex=0.2, bin.size=1e5, ylim=c(0,50),
file="pdf", file.output=TRUE, width=15, height=9, verbose=TRUE)
#绘制圈图-----------
CMplot(data, plot.type="c",
LOG10=TRUE, threshold=5e-08, threshold.lwd=3, threshold.lty=1, signal.cex=0.2,
chr.den.col=NULL, cex=0.2, bin.size=1e5, ylim=c(0,100),
file="pdf", file.output=TRUE, width=7, height=7, verbose=TRUE)
1 CMplot绘制曼哈顿图
于 2023-12-27 23:35:46 首次发布