常規(guī)的MEME和進化樹可視化,以及其它基因結構/注釋信息結合進化樹可視化,TBtools已經做的很好https://cloud.tencent.com/developer/article/1809116
但是定制化的還是不容易實現,比如我只想畫出來不同物種間某一蛋白的預測的跨膜結構域。摸索TBtools且群里求助也沒解決。算了,我用R自己畫吧。。
準備文件 :
- fasta格式的蛋白序列文件,去mega多序列比對后建樹,bootstrap值設置為1000;
- 整理TMHMM預測得到的跨膜結構域信息,如下tm_motif
注意進化樹里面蛋白的名字要和結構域里面的一模一樣
下面開始畫圖
library(ggplot2)
library(gggenes)
library(ggtree)
library(aplot)
tree <- read.tree("Newick Export.nwk") # 讀入樹文件
tm <- read.table("tm.txt", header = T, sep = "\t") # 讀入結構域信息文件
p1 <- ggtree(tree) +
geom_tiplab(size = 4) +
geom_treescale(fontsize=4, linesize=0.5) + # 加標尺
geom_nodelab(nudge_x = 0.7) + # 加bootstrap值
xlim(0,15) # 名稱太長,設置一下x軸范圍以便顯示完全
p1
p2 <- ggplot(tm, aes(xmin = start, xmax = end, y=IDs, fill = type)) +
scale_fill_manual(values = c("#e63946","#f1faee","#a8dadc"))+
geom_gene_arrow(arrowhead_height = unit(3, "mm"),
arrowhead_width = unit(0, "mm"))+ # 畫結構域的函數
theme_genes()+
ylab(NULL) +
theme(legend.title = element_blank(), axis.text.y = element_blank())
p2
p <- p2 %>% insert_left(p1) # 拼圖
p

image.png
至于種名斜體什么的,AI中去改吧
