最大似然系统发育推断
phylo-treetime的Python项目详细描述
treetime:最大似然年龄和祖先序列推断
概述
tree time为分子钟系统发育的祖先序列重建和推断提供了程序,即所有分支都按比例缩放的树,使得终端节点的位置与其采样时间相对应,而内部节点则放置在最有可能发散的时间。CE.
为了优化时间尺度系统发育的可能性,tree time使用一种迭代方法,首先根据给定的树的分支长度推断祖先序列,然后优化时间轴上无约束节点的位置,然后重复此循环。 唯一的拓扑优化是(可选的)多原子的分辨率,其方式与树上的采样时间约束最(近似)一致。 这个包被设计成在命令行上作为一个独立的工具使用,或者作为一个用于更大的系统发育分析工作流程的库使用。 treetime的文档位于readthedocs.org上
除了编写treetime脚本或通过命令行使用它之外,还有一个小型Web服务器,位于treetime.ch
查看我们的示例和教程
功能
- 祖先序列重建(边缘和联合最大似然)
- 分子钟树推断(边际和联合最大似然)
- gtr模型的推断
- 重新定位以使时间信号最大化,并优化根到尖端的距离与时间的关系
- 简单的系统动力学分析,如结合模型拟合
- 使用灵活的特定地点模型沿着树木进行序列进化。
目录
安装和先决条件
Treetime与Python2.7向上兼容,并在2.7、3.5和3.6上进行了测试。它取决于几个python库:
numpy,scipy,pandas:作为矩阵的各种数学运算 运算、数值积分、插值、最小化等。
Biopython:用于解析多序列比对和所有系统发育 功能性
matplotlib:打印的可选依赖项
您可以通过运行
pip install .
在此存储库中。 您还可以通过从pypi安装treetime
pip install phylo-treetime
您可能需要根权限才能进行系统范围的安装。或者,您只需在本地使用它treetime,无需安装。在这种情况下,只需下载并解压缩它,然后将treetime文件夹添加到$pythonpath。
命令行用法
tree time可以用作创建树时间对象并与之交互的python程序的一部分。下面描述的一组示例脚本说明了如何使用treetime来解决一些典型的问题,如祖先序列重建、重播、时间树推断等。
此外,可以从命令行使用treetime,其中的参数指定输入数据和参数。 树可以作为newick、nexus和phylip文件读取;fasta和phylip是受支持的对齐格式;元数据和日期可以作为csv或tsv文件提供,有关详细信息,请参见下面的。
时间树
为了推断时间树,即分支长度反映时间而不是发散的系统发生树,tree time提供了以下命令:
treetime --aln <input.fasta> --tree <input.nwk> --dates <dates.csv>
此命令将推断时间树、祖先序列、gtr模型以及可选的置信区间和合并模型。
有关此命令的详细说明及其各种选项和示例,请访问treetime_examples/timetree.md
为了探索数据中的时间信号并估计替换率(如果是完整的时间树估计),treetime实现了一个子命令clock 输入 子命令 将在输入树的内部节点处重建祖先序列。
输入 检测和量化同质化或复发性突变有助于检查重组、假定的适应性位点或污染。
treetime提供了一个简单的命令来总结数据中的同构性 输入 离散地理区域之间的迁移、宿主转换或离散状态之间的其他转换通常由类似于描述基因组序列进化的模型的时间可逆模型参数化。
因此,这种模型通常被称为"抢劫"模型。
Treetime GTR模型机械可用于推断抢劫模型: 其中 一些treetime命令要求用户指定一个包含日期和/或其他元数据的文件。
treetime将这些文件假定为逗号(csv)或制表符分隔(tsv)文件。
这些文件的第一行被解释为指定列内容的标题行。
每个文件至少需要有一个名为 如果分析需要日期,则至少有一个列名需要包含 下面的脚本演示了如何使用treetime解决短python脚本的常见问题。它们应该在交互式ipython环境中使用,并作为 不同类和函数的HTML文档可在此处找到 还有其他一些工具可以评估分子钟系统发育。 treetime包的api文档是用sphinx创建的。文档的源代码位于文档文件夹中。 安装所需的软件包后,导航到doc目录,然后键入: 可以将另一个目标指定为 要构建文档,应安装sphinx构建工具。文档页面使用basicstrap html主题来具有与treetime web服务器相同的设计。因此,系统中也应该提供基本的主题。重播和替换率估计
treetime clock --tree <input.nwk> --aln <input.fasta> --dates <dates.csv> --reroot least-squares
treetime clock-h
即可获得完整的列表(如果选项可用)。
可以提供--sequence length<;l>;
而不是输入对齐。
其他选项和示例的文档可在treetime_examples/clock.md祖先序列重建:
treetime ancestral --aln input.fasta --tree input.nwk
treetime祖先-h
即可获得完整的列表(如果选项可用)。
有关treetime-ceastrial
和示例的详细说明,请访问treetime-examples/ceastrial.md均质分析
treetime homoplasy --aln <input.fasta> --tree <input.nwk>
treetime homoplasy-h
可获得完整的选项列表。
请参见treetime_examples/homoplasy.md获取示例和更多文档。定量分析
treetime mugration --tree <input.nwk> --states <states.csv> --attribute <field>
<;field>;
是CSV文件中指定元数据states.csv
的相关列,例如<;field>;=country
。
输入treetime mugration-h
可获得完整的列表(如果选项可用)。
有关示例和更多文档,请参见treetime_examples/mugration.md。元数据和日期格式
name
、accessing
或strain
的列。
此列需要包含每个序列的名称,并与树中的分类单元(如果提供)的名称匹配。
如果发现名称
、加入
或应变
中的多个,则treetime将使用第一个。日期
(即采样日期
可以)。
同样,如果找到多个点击,treetime将使用第一个。
treetime将尝试按以下方式和顺序分析日期 < /广告><正文>顺序
键入/格式
示例
说明
浮动 2017.56 十进制日期 [浮动:浮动] 【2013.45:2015.56】 十进制日期范围 %年-%m-%d 2017年8月25日
ISO格式的日历日期 %Y-XX-XX 2017-XX-XX 日历日期缺少月份和/或日期 脚本示例
run examples/祖先推理.py
运行祖先推断.py
说明祖先序列是如何推断的,以及可能的突变是如何分配给树中的分支的,relaxed戋clock.py
引导用户使用松弛的分子钟模型。示例/rerooting_and_timetrees.py
演示了重定位和根到端回归散点图。ebola.py
使用2014-2015年埃博拉病毒爆发的大约300个序列来推断时间树。此示例需要几分钟才能运行。相关工具
使用treetime的项目
建立文档
pip install Sphinx
pip install sphinxjp.themes.basicstrap
pip install .
0
latex
或epub
来构建所需格式的文档,而不是html。要求
开发人员信息
推荐PyPI第三方库