溯祖树与基因树之间冲突的可视化

主要用到PhyParts软件以及phypartspiecharts.py脚本

参考网站:

blackrim / phyparts / README.md — Bitbucket

phyloscripts/phypartspiecharts at master · mossmatters/phyloscripts · GitHub

Abronia HybSeq Phylogeny - HackMD

以上的英文页面讲解非常清晰,在此抛砖引玉,方便大家检索。

一、phyparts的安装(首先保证运行环境有maven,否则无法安装)

1
2
3
4
5
6
7
8
9
10
11
git clone https://bitbucket.org/blackrim/phyparts.git

sh mvn_cmdline.sh(安装失败)

##缺少依赖,安装maven

conda install conda-forge::maven

sh mvn_cmdline.sh(安装成功)

java -jar target/phyparts-0.0.1-SNAPSHOT-jar-with-dependencies.jar (无报错则安装成功)

二、phyparts使用

1
2
3
4
5
java -jar /project/tianzhenWu/software/phyparts/phyparts/target/phyparts-0.0.1-SNAPSHOT-jar-with-dependencies.jar -a 1 -v -d rooted_7756_gene_tree/ -m rooted_astral_tree/astral.tree

报错:Tree is invalid: missing concluding semicolon. Exiting.

经过排查,原因是物种树没有rooted

三、可视化

下载phypartspiecharts.py脚本,来自phyloscripts/phypartspiecharts/phypartspiecharts.py at master · mossmatters/phyloscripts · GitHub

1
2
3
4
5
6
python phypartspiecharts.py rooted_astral_tree/astral.tree out 7756

报错:raise NewickError("Unexpected newick format '%s' " %subnw[0:50])
ete3.parser.newick.NewickError: Unexpected newick format '[&label=1]:2.800269'

原因:物种树中存在[&label=1],要将其删掉,且保证当下环境是python3,并且可以使用ete3软件

添加其他参数

1
2
3
4
5
python phypartspiecharts.py rooted_astral_tree/astral.tree_for_keshihua out 7756 --to_csv --no_ladderize --svg_name pies2.svg

--colors COLORS [#9DDOC7 #8AB1D2 #E58579]参数无效。

后续可以利用csv文件的数据在其他工具中重新绘制饼状图,也可以将svg打印为pdf,在ai里面手动调整颜色。

得到的svg格式图片如封面所示。在软件默认设置的树节点饼状图的颜色中,蓝色表示支持这一节点的基因树的比例,绿色表示在不支持这一节点的基因树中,一致性最高的拓扑的基因树的比例,红色表示其他不支持这一节点的基因树的比例,灰色表示无信息的基因书的比例。