今天小编给大家分享的是R语言绘制环形曼哈顿图的方法,主要用到的是CMplot包,它是绘制SNP密度、曼哈顿图和QQ图的一个很实用的R包。大家感兴趣的话可以瞅瞅。
绘图示例
1、安装并加载R包;
#下载安装"CMplot"包
install.packages("CMplot")
library(CMplot)
#设置工作路径
setwd("D:\\Rdemo\\CMplot")
2、数据集准备;
#pig60K是CMplot包自带的数据集
data(pig60K)
#查看数据
head(pig60K)
data = pig60K
第一列是SNP的名称,第二列是SNP所在染色体名字,第三列是SNP的位置,后面几列为不同特征的P值。
CMplot不仅可以处理全基因组的关联研究结果,还可以处理SNP效应、Fst、tajima’s 等。
参数功能如下:
Pmap:输入数据文件,数据框
col:设置染色体中点的颜色
pch:设置点的形状
band:设置染色体之间的间隔
H:设置每个圈的高度
bin.size:设置SNP密度图中的窗口大小
cex.axis:设置坐标轴字体和标签字体的大小
plot.type:设置不同的绘图类型,可以设定为 “d”, “c”, “m”, “q” , “b”
“d” 表示 SNP density plot
“c” 表示 circle-Manhattan plot
“m” 表示 Manhattan plot
“q” 表示 Q-Q plot
“b” 表示 circle-Manhattan, Manhattan and Q-Q plots一起绘制
multracks:设置是否需要绘制多个track
r:设置圈的半径大小
threshold:设置阈值并添加阈值线
amplify:设置是否放大显著的点
signal.cex:设置显著点的大小
chr.labels:设置染色体的标签
cir.legend:设置是否显示图例
file:设置输出图片的格式,可以设定为"jpg", “pdf”, “tiff”
dpi:设置输出图片的分辨度
memo:设置输出图片文件的名字
3、绘制SNP密度图;
CMplot(data,plot.type="d",bin.size=1e6,col=c("darkgreen", "yellow", "red"),
file="pdf",memo="SNP",dpi=300,
file.output=TRUE, verbose=TRUE)
4、绘制环状图;
CMplot(data,plot.