4 个版本

0.6.4 2021 年 11 月 20 日
0.6.3 2021 年 11 月 19 日
0.6.2 2021 年 11 月 18 日
0.5.6 2021 年 11 月 17 日

#937 in 科学

MIT 许可证

70KB
867

myte

myte-tests Build Status Crates-Io GH-Release

该应用程序是 IQ-TREE 和 Astral 的包装器。它允许估计物种树、基因树、基因和位点一致性因子、MSC Astral 树,并使用单个命令组织结果文件

myte auto -d [gene-alignment-folder]

可以使用运行 GNU parallel 的 Bash 脚本实现类似功能。然而,我们的解决方案有一些优势

  1. 无需编程技能。该应用程序是一个单可执行命令行应用程序。其设计方式无需更改代码。
  2. 可重现。应用程序中所有代码更改都通过 git 跟踪。它还生成运行时的日志文件。
  3. 灵活。应用程序允许用户指定分析参数。应用程序设计允许 IQ-TREE 和 Astral 中的当前和未来参数。
  4. 低开销。它使用的是高性能编程语言,具有低内存和 CPU 使用率。
  5. 安全的并行处理。它利用 Rust 编程语言的并行计算算法,以避免数据竞争。

限制

该应用程序尚不支持 MPI。它设计用于在台式计算机上运行,并尽可能利用其所有可用核心。它应在集群计算机上运行良好,但将限制为单个节点上的单个 CPU。

安装

myte 是一个单可执行命令行应用程序。可执行文件将在发布 链接 中可用。将其复制到已在您的 PATH 变量中注册的文件夹。对于 Linux 用户,如果在尝试运行 myte 时遇到 GLIBC 错误,请尝试使用 ManyLinux 可执行文件。

您还可以使用 Rust 软件包管理器 cargo 安装应用程序

cargo install myte

操作系统支持

  1. MacOS
  2. Linux
  3. Windows-WSL

注意ARM Mac用户! myte可以在Apple Arm64 CPU(M1系列)上本地运行。我们在发布页面提供了Apple Arm64可执行文件。然而,由于IQ-TREE的限制,它只支持基于Intel的MacOS,当myte与IQ-TREE接口时,IQ-TREE将在Apple Rosetta仿真器上运行。在我们的测试中,所有myte功能都在我们的默认ARM架构本地运行的MacOS终端上工作,并且与IQ-TREE接口良好。无需创建使用Rosetta打开的单独终端。

依赖项

  1. IQ-TREE2
  2. Astral(可选)

检查应用程序是否可以检测依赖项

myte check

有关如何安装用Rust编写的命令行应用程序的更详细说明,请参阅segul的readme。

从源代码编译

在此下载rust编译器,并遵循安装说明。

git clone https://github.com/hhandika/myte
cd myte

cargo build --release

您的可执行文件将位于/target/release/myte。将其复制到已在您的PATH变量中注册的文件夹。

修复依赖项

程序从环境路径变量中检测iqtree2的安装。如果程序无法检测到IQ-TREE,请确保可执行文件名为iqtree2(无空格),并且放置IQ-TREE可执行文件的目录已注册到您的环境路径变量中。

对于Astral安装,要解决依赖项,请转到您安装Astral的文件夹。然后,使用以下命令解决它

myte deps astral -j [path-to-astral-jar-file]

它将生成一个名为astral.sh的可执行文件。将astral.sh文件放在已在您的环境变量中注册的目录中。

再次尝试检查依赖项

myte check

用法

USAGE:
    myte <SUBCOMMAND>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    auto     Estimate species tree, gene trees, gene and site concordance factors, and MSC tree
    check    Check dependencies
    deps     Solves dependency issues
    gene     Batch gene tree estimation using IQ-Tree
    help     Prints this message or the help of the given subcommand(s)

自动估计物种、基因树和基因和位点一致性因子

此功能特别适用于在台式计算机上运行分析。如果您有权访问集群计算机,可能最好只使用此程序并行运行基因树分析(见下文),并将其余分析分别运行以减少等待时间。

myte auto -d [alignment-folder]

对于物种树估计,默认选项将使用此命令运行IQ-TREE

iqtree2 -s ../genes/ --prefix concat -T 1 -B 1000

对于基因树估计,默认选项将使用此命令运行IQ-TREE

iqtree2 -s [alignment-path] --prefix [gene-names] -T 1

应用程序允许使用IQ-TREE对物种树和基因树估计的当前和未来可用的参数。

您可以使用选项--opts-s=指定物种树的IQ-TREE参数。

例如

myte auto -d genes/ opts-s="-T 4 -bnni -B 1000"

类似于物种树估计,您可以使用应用程序中的--opts-g=选项指定任何IQ-TREE参数。

默认情况下,应用程序会在您的对齐目录中查找nexus文件。要指定文件格式,请使用--input-fmt选项或简写选项-f。除了nexus格式外,应用程序还支持fastaphylip。使用帮助命令查看所有选项

myte auto --help

从基因对齐目录估计基因树

程序将创建多个IQ-TREE实例以并行运行基因树估计。程序评估您的系统中的可用CPU资源,并合理地处理。

要生成基因树

myte gene -d [alignment-folder]

您还可以使用--opts-g=选项指定IQ-TREE参数。类似于自动格式,默认情况下,应用程序将查找nexus文件。使用与自动子命令相同的选项指定输入格式。

贡献

我们欢迎任何形式的贡献,从问题报告、改进应用的创意到代码贡献。对于创意和问题报告,请发布在GitHub问题页面。对于代码贡献,请fork仓库并向此仓库发送pull请求。

依赖项

~8–18MB
~218K SLoC