###############################LDSC相关性热图
setwd('H:\\Puberty_SEM\\Tables and Figure')
library(ggcorrplot)
content <- read.table(file="LDSC.txt",sep="\t",header=TRUE,
row.names=1,check.names=FALSE)
ggcorrplot(content,
hc.order = TRUE,
type = "upper",
show.diag = TRUE,
lab = TRUE,
colors = c("#6D9EC1", "white", "#E46726"),
outline.color = "white",
ggtheme = ggplot2::theme_gray)
#############################TWAS曼哈顿图
setwd('H:\\Puberty_SEM\\Tables and Figure')
library('CMplot')
library(dplyr)
TWAS = read.table('TWAS.txt',header = T,sep = '\t')
head(TWAS)
TWAS_1 = select(TWAS,c('ID','CHR','P0','TWAS.P'))
TWAS_1 <- TWAS_1 %>% distinct(ID,.keep_all = TRUE)
a<-c("ENSG00000107077.18",
"ENSG00000116678.19",
'ENSG00000163104.17',
'ENSG00000112237.12',
'ENSG00000143727.15')
CMplot(TWAS_1, plot.type="m", LOG10=TRUE, ylim=c(0,50), threshold=1.48e-6,threshold.lty=c(1,2),
threshold.lwd=c(1,1), threshold.col=c("black","grey"), amplify=TRUE,bin.size=1e7,
chr.den.col=c("gray", "yellow", "darkgreen"),signal.col=c("blue","green"),signal.cex=c(1,1),
signal.pch=c(19,19),file="pdf",file.name="",dpi=500,file.output=TRUE,verbose=TRUE,
highlight=a,highlight.text=a,highlight.cex =1.5,highlight.text.cex=0.9,highlight.text.font=1.5,
width=16,height=6,main= "Cancer of TWAS",main.cex=1.2,main.font=2.5)
#############################PWAS曼哈顿图
setwd('H:\\Puberty_SEM\\Tables and Figure')
library('CMplot')
library(dplyr)
PWAS = read.table('PWAS.txt',header = T,sep = '\t')
PWAS_1 <- PWAS %>% distinct(ID,.keep_all = TRUE)
a<-c('ACP1',
'DLK1',
'HPGDS',
'PCSK1',
'RMDN1',
'TIE1')
CMplot(PWAS_1, plot.type="m", LOG10=TRUE, ylim=c(0,20), threshold=6.01e-5,threshold.lty=c(1,2),
threshold.lwd=c(1,1), threshold.col=c("black","grey"), amplify=TRUE,bin.size=1e7,
chr.den.col=c("gray", "yellow", "darkgreen"),signal.col=c("blue","green"),signal.cex=c(1,1),
signal.pch=c(19,19),file="pdf",file.name="",dpi=500,file.output=TRUE,verbose=TRUE,
highlight=a,highlight.text=a,highlight.cex =1.5,highlight.text.cex=0.9,highlight.text.font=1.5,
width=16,height=6,main= "PWAS",main.cex=1.2,main.font=2.5)
Pmap : 一个数据帧,至少有四列。第一列是SNP的名称,第二列是SNP的染色体,第三列是SNP的位置,其余列是每个性状的P值(注:每种特征一列)。
col : 一个向量或一个矩阵,如果“col”是一个向量,每个圆使用相同的颜色,这意味着同一条染色体被涂成相同的颜色,颜色是不固定的,可以使用一种、两种、三种或更多的颜色,如果“col”的长度比染色体的长度短,那么颜色就会循环应用。如果“col”是一个矩阵,行是圆的数目(traits),列是用户希望用于不同圆的颜色,每个圆可以用不同的颜色数绘制,缺少的值可以用NA替换。例如:col=矩阵(c(“灰色30”,“灰色60”,NA,“红色”,“蓝色”,“绿色”,“橙色”,NA,NA),3,3,byrow=T)。
bin.size : filename_points_covered_by_landmarks plot的bin大小。
bin.range : 向量c(最小值,最大值)。filename_edges_strength plot图例的最小/最大值,SNP值小于/大于'箱柜范围'将使用相同的颜色。
pch : 多性状曼哈顿图的点或性状的形状与中的“pch”相同。
type : 字符可以是“p”(点)、“l”(线)、“h”(垂直线)等,与中的“type”相同。
band : 一个数字,染色体之间的空间,默认值是1(如果带等于0,那么染色体之间就没有空间)。
H : 一个数字,每个圆的高度,每个圆代表一个特征,默认为1。
ylim : 向量或列表,CMplot只绘制这个区间中的点,ylim可以是向量或列表,如果是列表,不同的性状可以在y轴上分配不同的范围。
cex.axis : 一个数字,控制X/Y轴的记号标签的大小和圆图的染色体标签的大小。
lwd.axis : 一个数字,控制X/Y轴线的厚度。
cex.lab : 一个数字,控制X/Y轴标签的大小。
plot.type : 字符或矢量,只能使用“d”、“c”、“m”、“q”或“b”。如果绘图类型=“d”,将绘制SNP密度;如果绘图类型=“c”,只绘制曼哈顿圆图;如果绘图类型=“m”,只绘制曼哈顿地块;如果绘图类型=“q”,只绘制q-q图;如果绘图类型=“b”,将绘制曼哈顿圈、曼哈顿圈和Q-Q图;如果plot.type=c图(“m”、“q”),将绘制曼哈顿和Q-Q图。
multracks : 逻辑上,如果multracks=FALSE,所有曼哈顿绘图将绘制在单独的文件中,如果为TRUE,所有曼哈顿绘图将绘制在一个文件中。
cex : 一个数字或一个向量,即点的大小,与中的“size”相同,如果是向量,则第一个数字控制圆图中点的大小(默认值为0.5),第二个数字控制曼哈顿图中点的大小(默认值为1),第三个数字控制Q-Q图中点的大小(默认值为1)
r : 一个数字,为圆的半径(内半径),默认为1。
outward : 逻辑上,如果outside=TRUE,则所有点都将从内到外绘制为圆形曼哈顿图。
ylab : 一个字符,y轴的标签。
ylab.pos : ylab和y轴之间的距离。
xticks.pos : x记号标签和x轴之间的距离。
mar : 图周围白色间隙的大小,应提供4个值,指示底部、左侧、上和右侧的方向。
threshold : 一个数字或向量,有效阈值。例如,Bonfferoni调整方法:threshold=0.01/nrow(Pmap)。可以在绘图上添加多条有效线,如果阈值=0或NULL,则不会添加阈值线。
threshold.col : 一种字符或矢量,颜色为线的阈值电平,它还可以控制QQplot对角线的颜色。
threshold.lwd : 一个数字或矢量,宽度为线的阈值水平,它还可以控制QQplot对角线的厚度。
threshold.lty : 一个数字或矢量,该类型为线的阈值电平,它还可以控制QQplot的对角线类型。
amplify : 逻辑上,CMplot可以放大有效点,如果放大=T,则大于最小有效水平的点将被放大,默认值:放大=TRUE。
signal.cex : 一个数字,如果放大=真,用户可以设置有效点的大小。
signal.pch : 一个数字,如果放大=真,用户可以设置有效点的形状。
signal.col : 一个字符,如果放大=真,用户可以设置有效点的颜色,如果signal.col=空,则有效点的颜色不会改变。
signal.line : 一个数字,有意义的snp横穿圆圈的线条的厚度。
highlight : 向量或列表,需要突出显示的snp的名称。单个性状的向量和多个性状的列表。
highlight.cex : 向量或列表,需要突出显示的snp的点的大小。
highlight.pch : 向量或列表,需要突出显示的SNP点的pch。
highlight.type : 向量或列表,需要突出显示的SNP点的类型。
highlight.col : 向量或列表,需要突出显示的SNP的点列。
highlight.text : 一个向量或列表,将在突出显示的snp周围添加的文本。
highlight.text.col : 矢量或列表,添加文本的颜色。
highlight.text.cex : 一个值,即添加文本的大小。
highlight.text.xadj : 单个性状的值或向量或多个性状的列表,-1,0,1限制,控制突出显示的SNP周围文本的位置,-1(左),0(中),1(右)。
highlight.text.yadj : 单个性状的值或向量或多个性状的列表,-1,0,1限制,控制突出显示的SNP周围文本的位置,-1(向下),0(中间),1(向上)。
highlight.text.font : 突出显示的SNP的文本字体。
chr.labels : 一个向量,标签为染色体的密度图和圆曼哈顿图。
chr.border : 逻辑上,是否绘制染色体间的点线。
chr.labels.angle : 一个值,调整曼哈顿图的x轴刻度标签的角度(-90
chr.den.col : 一个字符或矢量或空,表示SNP密度的颜色。如果参数的长度颜色den.col'大于1,即计算给定大小内SNP数量的SNP密度('箱子尺寸)将围绕圆绘制。如果chr.den.col=空,密度条不会附着在曼哈顿地块的底部。
cir.band : 一个数字,圆圈之间的间距,默认为1。
cir.chr : 逻辑上,表示染色体的边界将绘制在圆的外围,默认为TRUE。
cir.chr.h : 一个数字,边界的宽度,如果cir.chr=错误,则此参数将无效。
cir.legend : 逻辑上,是否要添加每个圆的图例。
cir.legend.cex : 一个数字,一个数字大小的图例。
cir.legend.col : 一个人物,传说中轴心的颜色。
LOG10 : 逻辑上,是否将p值改为log10(p值)。
box : 逻辑上,此函数围绕当前曼哈顿绘图绘制一个框。
conf.int : 逻辑上,是否在QQ图上绘制置信区间。
conf.int.col : 字符或向量,QQplot的置信区间的颜色。
file.output : 逻辑上,用户可以选择是否输出绘图结果。
file : 一个字符,用户可以选择不同的打印输出格式,所以对于“jpg”、“pdf”、“tiff”等可以由用户选择。
dpi : 一个数字,.jpg和.tiff文件的图片分辨率。默认值为300。
height : 输出文件的高度。
width : 输出文件的宽度。
memo : 在输出文件名中添加一个字符。
main : 向量的特征,曼哈顿图和qqplot图的标题。
main.cex : 标题大小。
main.font : 标题字体。
trait.legend.ncol : 多个图形图例的列数。
verbose : 是否打印日志信息。