1 CMplot绘制曼哈顿图

使用R的CMplot绘制基因关联分析的曼哈顿图和圈图
该篇文章介绍了如何在R中使用CMplot包处理遗传学数据,包括读取文件、数据格式转换、p值过滤,然后绘制曼哈顿图和圈图来展示基因与表型之间的关联结果。
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)


### 使用R语言中的CMplot绘制曼哈顿图并保存为PDF格式 在R语言中,`CMplot`包是一个非常强大的工具,用于绘制曼哈顿图(Manhattan Plot),尤其适用于全基因组关联分析(GWAS)结果的可视化。以下是如何使用`CMplot`包生成曼哈顿图并将其保存为PDF格式的详细步骤。 #### 1. 安装并加载CMplot包 如果尚未安装`CMplot`包,可以通过`devtools`从GitHub安装: ```r # 安装devtools(如果尚未安装) install.packages("devtools") # 使用devtools安装CMplot devtools::install_github("chyunter/CMplot") # 加载CMplot包 library(CMplot) ``` #### 2. 准备输入数据 `CMplot`需要一个包含染色体编号、SNP位置和p值的数据框。通常数据格式如下: | CHR | BP | P | SNP | |------|----------|---------|----------| | chr1 | 100500 | 0.0001 | SNP001 | | chr1 | 202300 | 0.5 | SNP002 | | chr2 | 150000 | 1e-6 | SNP003 | 其中,`CHR`为染色体编号,`BP`为物理位置,`P`为p值,`SNP`为SNP名称(可选)。 假设数据存储在`data`变量中: ```r # 读取数据示例(CSV格式) data <- read.csv("gwas_results.csv") ``` #### 3. 绘制曼哈顿图并保存为PDF 使用`CMplot`函数绘制曼哈顿图,并通过`pdf()`函数将图形保存为PDF格式: ```r # 开始PDF设备 pdf("manhattan_plot.pdf", width = 14, height = 8) # 绘制曼哈顿图 CMplot(data, chr = "CHR", bp = "BP", p = "P", snp = "SNP", main = "Manhattan Plot", plot.type = "m", cmap = "default", box = TRUE, multracks = FALSE, file.output = FALSE, # 已使用pdf()保存,设为FALSE verbose = TRUE) # 关闭PDF设备 dev.off() ``` #### 参数说明: - `chr`:染色体列名(如`"CHR"`) - `bp`:物理位置列名(如`"BP"`) - `p`:p值列名(如`"P"`) - `snp`:SNP名称列名(如`"SNP"`) - `main`:图形标题 - `plot.type`:绘图类型,`"m"`表示曼哈顿图 - `cmap`:颜色映射方案,`"default"`为默认配色 - `box`:是否绘制边框 - `multracks`:是否多轨道图(适用于Q-Q图等) - `file.output`:是否自动保存为文件,这里设为`FALSE`以便使用`pdf()`控制输出 - `verbose`:是否输出日志信息 #### 4. 自定义配色与样式 可以使用`col`参数自定义染色体之间的颜色交替,例如: ```r CMplot(data, chr = "CHR", bp = "BP", p = "P", snp = "SNP", main = "Manhattan Plot with Custom Colors", plot.type = "m", col = c("blue", "red"), box = TRUE, multracks = FALSE, file.output = FALSE, verbose = TRUE) ``` #### 5. 其他输出格式 虽然用户要求输出为PDF,但`CMplot`也支持输出为PNG、JPG、SVG等格式,只需将`pdf()`替换为`png()`或`jpeg()`等函数即可。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

优异c

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值