在 Azure 上运行 NVIDIA Parabricks
本指南介绍如何在 Azure 上的计算实例上运行 Parabricks。
Parabricks 是一个加速计算框架,支持基因组学行业的各种应用,主要支持 DNA、RNA 和体细胞突变检测应用的分析工作流程。Parabricks 具有行业领先的计算速度,使用多种经过行业验证的变异调用器快速将 FASTQ 文件转换为 VCF,并且还包括 QC 和注释这些变异的能力。由于 Parabricks 基于公开可用的工具,因此结果易于验证,并可与其他公开可用的数据集结合使用。
更多信息请访问Parabricks 产品页面。
详细的安装、使用和调优信息请参考Parabricks 用户指南。
在本节中,我们将展示如何在 Azure 上启动计算实例。
首先导航到Azure 门户主页,然后从左上角的菜单中选择“虚拟机”。这将带我们进入“虚拟机”页面。

在页面顶部,选择“创建”,然后选择“Azure 虚拟机”。在这里,我们可以配置虚拟机的全部设置。您需要选择您的“订阅”,然后选择或创建一个新的“资源组”。在我们的示例中,我们将创建一个名为“Parabricks”的资源组。

然后我们添加实例详细信息,我们将虚拟机命名为“Parabricks”,并选择一个合适的区域。然后我们选择“安全类型”为“标准”,如下所示。

我们通过单击“查看所有映像”来选择映像。您可以搜索 nvidia,然后选择“NVIDIA GPU-Optimized VMI with vGPU driver”,它将负责 GPU 驱动程序和 docker 的安装。

然后我们选择要使用的 GPU 的“大小”。

对于“管理员帐户”,您可以使用 SSH 公钥,或者如下所示,使用“用户名”和“密码”。

如果您需要与您的工作相关的“磁盘”、“网络”或其他规范,请单击“下一步:磁盘 >”。但是,如果您不需要任何这些,请单击“查看 + 创建”。如果一切配置良好,您将看到一个页面进行审查,并且顶部显示消息“验证通过”。

查看详细信息,然后单击页面底部的“创建”。您将进入一个页面,显示“... 部署正在进行中”。完成后,单击“转到资源”按钮。

您应该看到如下所示的页面。单击“连接”。

实例运行后,单击“连接”,然后使用 IP 信息 ssh 进入您的实例。
使用 nvidia-smi 验证驱动程序是否已安装。
我们将把 Parabricks 安装到我们刚刚创建的实例中。为此,我们将使用 NVIDIA GPU Cloud (NGC) 下载 Parabricks Docker 镜像。
访问 NGC 上的 Parabricks 页面 以获取最新版本 Parabricks 的 Docker pull 命令。

回到我们的 EC2 实例,让我们运行 docker pull 命令
$ docker pull nvcr.io/nvidia/clara/clara-parabricks:4.4.0-1

Parabricks 现在已安装。让我们运行一些示例数据来测试它。
Parabricks 提供了一个小型示例数据集作为安装和硬件的测试,可以使用以下命令下载
$ wget -O parabricks_sample.tar.gz \
"https://s3.amazonaws.com/parabricks.sample/parabricks_sample.tar.gz"

下载完成后,我们可以使用以下命令解压数据
$ tar xvf parabricks_sample.tar.gz
您应该看到类似以下内容

最后,我们可以在其上运行任何 Parabricks 流程。让我们使用以下命令运行 germline 流程
$ docker run \
--rm \
--gpus all \
--volume `pwd`:`pwd` \
--workdir `pwd`/parabricks_sample \
nvcr.io/nvidia/clara/clara-parabricks:4.4.0-1 \
pbrun germline \
--ref Ref/Homo_sapiens_assembly38.fasta \
--in-fq Data/sample_1.fq.gz Data/sample_2.fq.gz \
--knownSites Ref/Homo_sapiens_assembly38.known_indels.vcf.gz.tbi \
--out-bam output.bam \
--out-variants germline.vcf \
--out-recal-file recal.txt
当我们看到 Parabricks 横幅并且 ProgressMeter 开始填充值时,我们可以判断 Parabricks 已正确启动

这应该需要大约 10 分钟才能完成运行。完成后,我们应该在示例数据目录中看到输出文件。
我们鼓励您通过使用您自己的数据、尝试其他流程以及广泛探索 Parabricks 的功能来扩展本指南中的演示。查看文档以获取有关可用不同流程的更多信息。您还可以在 Parabricks 论坛 上找到我们的在线开发者社区,您可以在学习如何使用 Parabricks 时在那里提问和搜索答案。