关联分析的结果用曼哈顿图展示在paper中是十分流行和必要的,如qqman和github中很多大神编写的代码都可以实现。我本人更加偏爱使用R语言中的CMplot这个packages进行绘图,所绘制的曼哈顿图可以是普通方形的也可以是圆形的。一下做简单介绍,详细可参看CMplot说明书。
安装CMplot
1
| install.packages('CMplot')
|
以下运行例子均以pig60数据为例
数据格式
- 第一列为标记名称
- 第二列为染色体名称(使用纯数字,字母加数字会报错,如At01就不可以)
- 第三列为标记在染色体的位置
- 第四列开始为不同性状的P值
运行结果
1
| CMplot('pig60k',multracks = 1)
|
参数详解
1
| col=c("red", "black", "green", "blue", "orange")
|
- pch 曼哈顿图中点的性状,参数详解参看基本作图中的pch介绍
- band 染色体之间的距离默认参数为1
1
| CMplot(pig60K[,1:4],band=1)
|
1
| CMplot(pig60K[,1:4],band=10)
|
- cir.band 圆环之间的距离,默认参数为1
- ylim 同基础做图中的ylim
- output 包括’m’,’b’,’c’三个参数可选,m绘制普通曼哈顿图,c绘制圆形曼哈顿图,b同时绘制两种样式的图
- H 圆形图中圆的高度
1
| CMplot(pig60K,H=1,output = 'c')
|
1
| CMplot(pig60K,H=10,output = 'c')
|
- cex.axis X轴染色体名称的大小
- multracks 参数为ture或fasle,可以实现一页多图效果
- cex 一个向量,控制曼哈顿图中点的大小,默认参数为c(0.5,1),前者控制圆形图中点的大小,后者控制普通曼哈顿图点的大小
- r 默认参数为1,控内部圆的半径大小
1
| CMplot(pig60K[,1:4],r=5,output = 'c')
|
- xlab 同基础做图中的xlab
- ylab 同基础做图中的ylab
- outward 逻辑向量,默认参数为true,曼哈顿图中点的朝向
1
| CMplot(pig60K[,1:4],output = 'c',outward = 0)
|
- threshold 阈值线,默认参数为0.01
- threshold.col 阈值线的颜色
- amplify 默认参数为true,阈值线以上的点会大于普通点
- signal.cex 调整阈值线以上点的大小
- signal.pch 阈值线以上点的形状,参数为1-25
- signal.col 调整阈值线以上点的颜色
- cir.chr 默认参数为ture,是否显示染色体
- chr.band 圆形曼哈顿外圈中染色体的宽度
- chr.col 圆形曼哈顿外圈中染色体的颜色
- cir.labels 圆形曼哈顿外圈中染色体的名称
- fill.output 是否输出图像,逻辑向量,默认参数为false
- fill 输出图像格式,参数包括’jgp’,’pdf’,’tiff’
- dpi 同基础做图中的dpi