1.准备文件
1.1:iTOL网站:https://itol.embl.de/
1.2:一个nwk格式文件,SPL3.nwk,可以使用mega生成,格式如下:
((((name04,name05),name06),name01),name02,(name03,name07));
1.3:一个详细信息文件比如SPL3.txt,格式如下:
ID Phylum Genus Expression_level
name01 c Salvia miltiorrhiza 0.8
name02 a Ambrosia artemisiifolia 1.3
name03 b Platanus acerifolia01 1.6
name04 c Platanus acerifolia02 1.8
name05 c Platanus acerifolia03 1.4
name06 c Platanus acerifolia04 1.2
name07 b Cardamine hirsuta 1.1
这个SPL3.txt文件需要自己提前准备好,其中ID列是自己起的名字,Phylum的含义是哪些聚类在一起,Genus的含义是基因的名字,Expression_level的含义是表达量,
2.使用R包itol.toolkit进行文件加工
getwd()
install.packages("BiocManager")
BiocManager::install("Biostrings")
install.packages("devtools") # if you have not installed "devtools" package
devtools::install_github("TongZhou2017/itol.toolkit")
library(itol.toolkit)
library(data.table)
library(dplyr) # alternatively, this also loads %>%
tree_1 <- "SPL3.nwk"
hub_1 <- create_hub(tree_1)
data_file_1 <- "SPL3.txt"
data_1 <- data.table::fread(data_file_1)
# relabel by genus
unit_1 <- create_unit(data = data_1%>%select(ID, Genus),
key = "SPL3_labels",
type = "LABELS",
tree = tree_1)
# tree_colors range by phylum
unit_2 <- create_unit(data = data_1 %>% select(ID, Phylum),
key = "SPL3_range",
type = "TREE_COLORS",
subtype = "range",
tree = tree_1)
unit_3 <- create_unit(data = data_1 %>% select(ID,Expression_level),
key = "SPL3_Expression_level",
type = "DATASET_SIMPLEBAR",
tree = tree_1)
unit_3@specific_themes$basic_plot$size_max <- 100
hub_1 <- hub_1 +
unit_1 +
unit_2+
unit_3
write_hub(hub_1,getwd())
输出的结果文件有三个:SPL3_labels.txt,SPL3_Expression_level.txt,SPL3_range.txt
SPL3_labels.txt内容如下
LABELS
SEPARATOR TAB
DATA
name04 Platanus acerifolia02
name05 Platanus acerifolia03
name06 Platanus acerifolia04
name01 Salvia miltiorrhiza
name02 Ambrosia artemisiifolia
name03 Platanus acerifolia01
name07 Cardamine hirsuta
SPL3_Expression_level.txt内容如下:
DATASET_SIMPLEBAR
SEPARATOR TAB
DATASET_LABEL SPL3_Expression_level
COLOR #ffff00
LEGEND_TITLE Example legend title
LEGEND_SHAPES 1 1 2 2
LEGEND_COLORS #ff0000 #00ff00 #00ffff #0000ff
LEGEND_LABELS value1 value2 value3 value4
MARGIN 0
DATASET_SCALE 0.8 NA 1.8
WIDTH 1000
HEIGHT_FACTOR 1
MAXIMUM_SIZE 100
BAR_SHIFT 0
BAR_ZERO 0
DATA
name04 1.8
name05 1.4
name06 1.2
name01 0.8
name02 1.3
name03 1.6
name07 1.1
SPL3_range.txt内容如下:
TREE_COLORS
SEPARATOR TAB
DATA
name04 range #7570b3 c
name05 range #7570b3 c
name06 range #7570b3 c
name01 range #7570b3 c
name02 range #1b9e77 a
name03 range #d95f02 b
name07 range #d95f02 b
3.使用iTOL网站进行美化
使用之前最好注册个账号,好处是能保存你的运行记录
3.1
upload a tree,上传上述的SPL3.nwk即可,但是,出来的图会比较简陋,此时,我们的itol.toolkit就发挥了它的价值
然后点击右边红框里的Datasets,然后upload annotation files
首先上传SPL3_labels.txt,名字立即得到注释;然后上传SPL3_range.txt;然后上传SPL3_Expression_level.txt;
后记:iTOL里面还有很多小的技巧和参数,另外itol.toolkit的功能很强大,我只是用了其中的三个小功能,后期还要继续探索学习