Dorado


Dorado

Dorado 是一个用于 Oxford Nanopore 读取的高性能、易于使用的开源基序识别器。

特性

  • 一个可执行文件,具有合理的默认设置,自动硬件检测和配置。
  • 支持在 Apple 硅片(M1/2 系列)和 Nvidia GPU 上运行,包括多 GPU 线性扩展(见平台)。
  • 改进的基序识别。
  • 双链基序识别(观看以下视频了解双链的介绍)。
  • 简单条形码分类。
  • 支持对齐读取输出的 SAM/BAM 格式。
  • 初始支持 poly(A) 尾部估计。
  • POD5 支持最高基序识别性能。
  • 基于 libtorch,即 Pytorch 的 C++ API。
  • 在 CUDA 和 Metal 中进行了多项自定义优化,以最大化推理性能。
  • 如果您在构建或运行 Dorado 时遇到任何问题,请报告问题。

安装

  • dorado-0.6.1-linux-x64
  • dorado-0.6.1-linux-arm64
  • dorado-0.6.1-osx-arm64
  • dorado-0.6.1-win64

平台

Dorado 针对 Nvidia A100 和 H100 GPU 进行了大量优化,并将在这些 GPU 系统上提供最大性能。

Dorado 已在以下系统上进行了广泛测试和支持:

平台 GPU/CPU 最低软件要求
Linux x86_64 (G)V100, A100 CUDA 驱动 ≥450.80.02
H100 CUDA 驱动 ≥520
Linux arm64 Jetson Orin Linux for Tegra ≥34.1.1
Windows x86_64 (G)V100, A100 CUDA 驱动 ≥452.39
H100 CUDA 驱动 ≥520
Apple Apple 硅片 (M1/M2)

未在上述列表中列出的 Linux 或 Windows 系统,但具有 Nvidia GPU 且具有 ≥8 GB VRAM 以及从 Pascal 起的架构(除 P100/GP100)尚未广泛测试,但预计可以工作。在使用 Apple 设备进行基序识别时,我们建议使用具有 ≥16 GB 统一内存的系统。

如果您在使用系统时遇到问题,请报告问题。

Dorado 0.3.0 在 Nvidia GPU 上的 AWS 基准测试可以在此处获得。请注意:Dorado 的基序识别速度正在持续改进,因此这些基准测试可能不反映最新版本的表现。

性能提示

为了获得最佳性能,Dorado 需要 POD5 文件输入。请在基序识别之前转换您的 .fast5 文件。

Dorado 将自动检测您的 GPU 的空闲内存,并选择适当的批次大小。

Dorado 将自动在多 GPU cuda:all 模式下运行。如果您有一系列异构 GPU,请使用 --device 标志选择更快的 GPU(例如 --device cuda:0,2)。不这样做将对性能产生不利影响。

运行

以下是一些有助于开始使用 Dorado 的命令。

要查看所有选项及其默认值,请运行 dorado -h 和 dorado <子命令> -h。

模型选择前言

Dorado 可以自动使用模型速度(fast, hac, sup)和 pod5 数据选择一个基序识别模型。此功能不支持 fast5 数据。如果本地不存在模型,则 Dorado 将自动下载模型并在完成后删除它。要重复使用下载的模型,请使用 dorado download 手动下载模型。

Dorado 继续支持模型路径。

有关详细信息,请阅读 自动模型选择复杂。

简单基序识别

要运行 Dorado 基序识别,请使用自动下载的 hac 模型对一个 POD5 文件目录或单个 POD5 文件进行基序识别(支持 .fast5 文件,但性能不会那么好)。

$ dorado basecaller hac pod5s/ > calls.bam

要对单个文件进行基序识别,只需将目录 pod5s/ 替换为您的数据文件路径。

如果基序识别被中断,可以恢复基序识别,从 BAM 文件开始。为此,请使用 --resume-from 标志指定不完整的 BAM 文件的路径。例如:

$ dorado basecaller hac pod5s/ --resume-from incomplete.bam > calls.bam

calls.bam 将包含 incomplete.bam 中的所有读取加上新的基序识别(完成基序识别后可以丢弃 incomplete.bam)。

注意:在使用 --resume-from 时,选择一个不同的 BAM 文件名来写入非常重要。如果您使用相同的文件名,中断的 BAM 文件将丢失现有的基序识别,并且将从一开始就重新开始基序识别。

DNA 适配器和引物修剪

Dorado 可以检测并移除 DNA 读取的开头和结尾的任何适配器和/或引物序列。请注意,如果您打算在某个时候对读取进行去多重化,修剪适配器和引物可能会导致条形码的某些部分被移除,这可能会干扰正确的去多重化。

与基序识别内联

默认情况下,dorado basecaller 将尝试检测读取开头和结尾的任何适配器或引物序列,并将其从输出序列中移除。

此功能可以通过使用 dorado basecaller 的 --trim 或 --no-trim 选项来更改。–no-trim 选项将防止检测到的条形码序列以及适配器和引物序列的修剪。

–tr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值