- 准备文件
运行路径:/data3/public/gengxin/DNA.methyltransferases
环境:blast_env
所有物种的蛋白质文件放在同一个文件中
seqkit grep -f Twallichiana.final_meth.txt Twallichiana.pep > Twallichiana.final.meth.pep #提取部分基因ID提取蛋白质文件 Cjaponica
seqkit grep -f Twallichiana.final_demeth.txt Twallichiana.pep > Twallichiana.final.demeth.pep以下是批量运行的脚本
cat 02.extra.pep.sh
#!/bin/bash
# 批量为每个物种文件夹提取 甲基化酶 + 去甲基化酶 蛋白序列
for dir in */; do
dir=${dir%/}
echo "===== 处理文件夹:$dir ====="
cd "$dir" || continue
# 自动寻找蛋白文件(*.pep 结尾)
pep=$(ls *.pep 2>/dev/null | head -1)
if [ -z "$pep" ]; then
echo "未找到蛋白文件,跳过"
cd ..
echo
continue
fi
prefix=${pep%.pep}
# 提取甲基化酶
if [ -f "${prefix}.final_meth.txt" ]; then
seqkit grep -f "${prefix}.final_meth.txt" "$pep" -o "${prefix}.final_meth.pep"
echo "已生成:${prefix}.final_meth.pep"
fi
# 提取去甲基化酶
if [ -f "${prefix}.final_demeth.txt" ]; then
seqkit grep -f "${prefix}.final_demeth.txt" "$pep" -o "${prefix}.final_demeth.pep"
echo "已生成:${prefix}.final_demeth.pep"
fi
cd ..
echo
done将所有物种的甲基化转移酶和去甲基化酶分别合并成一个文件,为建树做准备
cat */*final_meth.pep > all.final_meth.pep
cat */*final_demeth.pep > all.final_demeth.pep- 多序列比对和建树
mafft --auto all.final_meth.pep > align_meth.fasta
trimal -in align_meth.fasta -out align_meth_trim.fasta -automated1 #修剪比对(去掉低质量区域)
FastTree -lg align_meth_trim.fasta > meth_tree.nwk
iqtree -s align_meth_trim.fasta -m MFP -bb 1000 -nt 10- iTOL建树绘图
iTOL网址:iTOL: Interactive Tree Of Life
更改ID的颜色和树枝的颜色,label是字的颜色,clade是树枝的颜色
TREE_COLORS
SEPARATOR TAB
DATA
A clade #c04115 normal 1
B clade #d95a26 normal 1
C clade #e87038 normal 1
D clade #a1320f dashed 1
E clade #c95a22 normal 1
F clade #d4702b dashed 1
G clade #e08833 normal 1
H clade #b34d1a dashed 1
I clade #157cc0 normal 1
J clade #1599c0 dashed 1
K clade #25a0d0 normal 1
L clade #0f6aa8 dashed 1
M clade #6d554f normal 1
N clade #8c746b dashed 1
O clade #ab9a8f normal 1
A label #c04115 bold 1.5
B label #d95a26 bold 1.5
C label #e87038 bold 1.5
D label #a1320f italic 1.5
E label #c95a22 bold 1.5
F label #d4702b italic 1.5
G label #e08833 bold 1.5
H label #b34d1a italic 1.5
I label #157cc0 bold 1.5
J label #1599c0 italic 1.5
K label #25a0d0 bold 1.5
L label #0f6aa8 italic 1.5
M label #6d554f bold 1.5
N label #8c746b italic 1.5
O label #ab9a8f bold 1.5
DATASET_SYMBOL
SEPARATOR TAB
DATASET_LABEL dots
DATA
A 2 8 #c04115 1 -1
B 2 8 #0c4e99 1 -1
C 2 8 #8c6d63 1 -1
D 2 8 #e41ea4 1 -1
E 2 8 #c23551 1 -1
F 2 8 #a16088 1 -1
G 2 8 #02165d 1 -1
H 2 8 #8a3861 1 -1
I 2 8 #cabd33 1 -1
J 2 8 #c4f71f 1 -1
K 2 8 #d3ddfc 1 -1
L 2 8 #f4980b 1 -1
M 2 8 #15daa6 1 -1
N 2 8 #d89de9 1 -1
O 2 8 #bdb6fb 1 -1
G
进化树里的节点 / 基因 / 物种 ID
必须和你树文件(nwk)里的名字完全一样。
2
符号形状编码
1 = 正方形
2 = 圆形(就是你要的小圆点)
3 = 五角星
4 = 右三角
5 = 左三角
8
符号大小
数字越大,圆点越大。
#02165d
圆点颜色(十六进制色值)
这里是深蓝色 / 近黑色。
1
是否填充(实心 / 空心)
1 = 实心圆点(你图里那种)
0 = 空心圆圈
-1
符号位置参考文档:B站:【基因家族速通】11.iTOL美化进化树超详细教程#三连赠代码_哔哩哔哩_bilibili