還是沒有廢話,直接上代碼
## 選擇信號(hào)組合圖
library(ggplot2)
library(ggthemes)
library(RColorBrewer)
# 讀取選擇信號(hào)結(jié)果文件,確保chr start end這三列的頭文件為"CHR","BP",“value”染色體號(hào)都是一種
data1 <- read.table("wag_A-H.windowed.weir.fst",sep='\t', header = TRUE)
data2 <- read.table("A_H-Wag.norm.XPEHH",sep='\t', header = TRUE)
data3 <- read.table("wag_A-H-lnratio.txt", sep='\t', header = TRUE)
color_pal <- rev(colorRampPalette(brewer.pal(n=11, name = "Spectral"))(10))
color_selection <- color_pal[c(1, 2, 3, 8, 9)]
# 只保留FST和PI值區(qū)間相同的記錄
if (exists("data3")){merged_data <- merge(merge(data1,data2,by=c("CHR","BP")),data3, by=c("CHR","BP"))
input_data <- merged_data[,c(3,1,2,4,6,8)]
names(input_data) <- c("SNP","CHR","BP","fst","XPEHH","pi")
} else {merged_data <- merge(data1, data2,by=c("CHR","BP"))
input_data <- merged_data[,c(3,1,2,4,6)]
names(input_data) <- c("SNP","CHR","BP","fst","pi")
}
# 繪制組合圖, 如果只是2種,則將color = XPEHH改為color = "black",任意色都可
ggplot(data = input_data, aes(x=fst, y=pi)) +
geom_point(aes(color = XPEHH), alpha = 0.8, size = 4) +
geom_point(shape = NA) +
scale_color_gradientn(colors = color_selection) +
labs(x=expression(paste(italic('F'),st)), y="-ln(θπ_W / θπ_AH)")+ # 看你的實(shí)際改
geom_hline(yintercept = 1.0701, linetype = "dashed", color = "black") + # 閾值
geom_vline(xintercept = 0.393674, linetype = "dashed", color = "black") +
theme(axis.text = element_text(face="bold"))+
theme_few()
成品image.png
