Taiyaki
Taiyaki 是用于训练牛津纳米孔读取基对齐模型的研究软件。
牛津纳米孔的设备测量通过纳米孔的离子流,并在分子通过孔时检测该流的改变。
这些信号可以非常复杂并表现出长程依赖性,就像口语或书面语言一样。Taiyaki 可以用于训练神经网络来理解来自纳米孔设备的复杂信号,使用受最先进语言处理技术启发的技术。
Taiyaki 用于训练牛津纳米孔的 Guppy 基对齐器和 megalodon 中使用的模型进行修饰碱基检测。这包括 flip-flop 模型,它们使用受连接主义时间分类(Graves et al 2006)启发的技术进行训练。
主要功能:
- 通过重新映射信号到参考序列来准备基对齐训练数据
- 训练用于 flip-flop 基对齐和 squiggle 预测的神经网络
- 导出基对齐模型以用于 Guppy 和 megalodon
Taiyaki 建立在 pytorch 之上,并与 Python 3.5 或更高版本兼容。它面向高级用户,并且是一个不断发展的研究项目,因此请准备好动手操作。
内容
- 安装系统前提条件
- 安装 Taiyaki
- 测试
- 演练
- 工作流程
* 使用工作流程 Makefile
* 从 fast5 文件到基对齐的步骤
* 准备训练集
* 基对齐
* 修饰碱基
* 从头训练 - Guppy 兼容性
* Q 分数校准
* 标准模型参数 - 环境变量
- CUDA
* 故障排除 - 使用多 GPU
* 如何启动多 GPU 训练
* 多 GPU 训练的学习率选择
* 选择 GPU
* 单机上多个多 GPU 训练组 - 在 SGE 集群上运行
* 安装
* 执行
* 在 SGE 中选择多个 GPU - 诊断
安装系统前提条件
在 ubuntu 16.04 上安装所需系统包:
sudo make deps
其他 Linux 平台可能兼容,但未经测试。
为了使用 GPU 加速模型训练,您需要安装 CUDA(应该安装 nvcc 并将其添加到您的路径中)。请参阅 NVIDIA 的说明和下面的 CUDA 部分。
Taiyaki 还使用了 OpenMP 扩展进行多处理。这些在大多数现代 Linux 系统上的系统安装编译器中得到支持,但需要比 MacOS 机器上安装的 clang/llvm 编译器更现代的版本。支持 OpenMP 的 clang/llvm 版本为 3.7(参见 http://llvm.org 或使用 brew)。或者,您可以使用 homebrew 在 MacOS 上安装 GCC。
一些分析脚本需要最新版本的 BWA 对齐器。
不支持 Windows。
安装 Taiyaki
注意
如果您打算将 Taiyaki 与 GPU 一起使用,请确保在继续之前已安装并设置好 CUDA。
在新虚拟环境中安装 Taiyaki(推荐)
我们建议在独立的 虚拟环境 中安装 Taiyaki。
以下命令在 venv 目录中创建一个完整的开发和测试 Taiyaki 的环境:
make install
Taiyaki 将以 开发模式 安装,以便您可以轻松测试您的更改。每次会话开始时,当您想使用此虚拟环境时,需要运行 source venv/bin/activate
。
系统范围内或激活的 Python 环境中安装 Taiyaki
这不是推荐的安装方法:如果可能,我们建议您在 自己的虚拟环境中 安装 taiyaki。
Taiyaki 可以从源代码安装,使用以下任一方式:
python3 setup.py install
python3 setup.py develop #[开发模式](http://setuptools.readthedocs.io/en/latest/setuptools.html#development-mode)
或者,您可以使用 pip 安装,使用以下任一方式