在 OCI 上运行 NVIDIA Parabricks
本指南介绍如何在 OCI 上的 GPU 实例上运行 Parabricks。
Parabricks 是一个加速计算框架,支持基因组学行业的各种应用,主要支持 DNA、RNA 和体细胞突变检测应用的分析工作流程。Parabricks 具有行业领先的计算速度,可使用多种经过行业验证的变异调用器快速将 FASTQ 文件转换为 VCF,还包括对这些变异进行 QC 和注释的功能。由于 Parabricks 基于公开可用的工具,因此结果易于验证,并且可以与其他公开可用的数据集结合使用。
更多信息请访问 Parabricks 产品页面。
详细的安装、使用和调优信息请参考 Parabricks 用户指南。
在本节中,我们将展示如何在 OCI 上启动 EC2 实例。|
首先导航到 OCI 控制台 GUI。登录您的帐户后,GUI 应如下所示

提示:您可能需要单击左上角的“3 条白条”,然后单击左侧边栏中的“实例”,GUI 才会显示此界面。请仔细检查左侧边栏中是否正确选择了您的区间,以及右上角的云区域是否也已正确选择。
现在,单击左上角的“3 条白条”,然后选择左侧边栏中的最后一个条目“市场”。菜单页面将更新为如下所示

单击菜单中的“所有应用程序”,将弹出一个搜索栏。搜索“nvidia”,您将看到多个 NVIDIA 应用程序磁贴弹出,如下例页面所示。

单击标记为“NVIDIA GPU CLOUD”(NGC)的磁贴,您将被带到 NGC 的启动页面,如下所示

请查看“版本详细信息”中的摘要。另请确保正确选择了区间。在选中复选框之前,请查看并接受 Oracle 使用条款。准备就绪后,单击“启动实例”。
现在您将进入创建计算实例的 GUI,如下所示

查看并编辑表单中的默认数据条目。提示
根据需要更新实例的名称。
仔细检查是否正确选择了区间。
确保可用性域具有您计划使用的 GPU 实例规格。
对“安全性”使用默认设置。
现在,向下滚动 GUI 以继续“创建计算实例”,如下所示

查看并编辑表单中的默认数据条目。提示
操作系统镜像应为“NVIDIA GPU Cloud Machine Image”,这是您之前从 Marketplace 中选择的镜像。
选择 GPU 实例规格(实例)。有关如何更改默认 GPU 实例规格的信息将在本文档末尾的附录 A 中提供。
在“网络”部分中,如果这是您第一次在此区域中创建实例,请选择“创建新的虚拟云网络”。否则,您可以选择“选择现有的虚拟云网络”。
您可以类似地“创建新的公共子网”或“选择现有的子网”。
根据需要修改“新的虚拟云网络名称”和“新的子网名称”。
您可以对 CIDR 块使用默认值。
对于初学者来说,选择“分配公共 IPv4 地址”(默认值)更容易。
现在,进一步向下滚动以完成“创建计算实例”,如下所示

查看并编辑表单中的默认数据条目。提示
务必生成、上传或粘贴您的公钥
将启动卷大小从 50 GB(默认值)增加到 250 GB。选中“指定自定义启动卷大小”。“启动卷”GUI 将展开,允许您修改启动卷大小 (GB)。将默认值从 50 更改为 200。
默认 VPU 值为 10。您可以提高此值以提高启动卷性能,但会产生额外费用。点击
了解更多信息。
50 GB 的默认磁盘大小足以安装 Parabricks,但不足以运行验证测试用例。
单击“创建”以启动计算实例。您将被带到一个新的 GUI 页面,如下所示

左上角的横幅从棕色变为绿色大约需要 1 分钟,这意味着实例已完成安装基本操作系统软件,并且还需要几分钟才能准备好供您登录。
从此 GUI 的右侧列中查找并复制公共 IP 地址。在此示例中为 129.146.60.48。
您可以使用 ssh 登录新的 GPU 实例(请务必正确设置您的公钥)。对于此示例,命令是
$ ssh ubuntu@129.146.60.48

提示:仔细检查 docker 是否已安装并在您的 $PATH 中可用,并仔细检查 GPU 卡的状态
$ which docker
$ nvidia-smi

提示:使用 lsblk 检查您是否有 25GB,如下所示
$ lsblk

我们将把 Parabricks 安装到我们刚刚创建的实例中。访问 NGC 上的 Parabricks 页面 获取最新版本 Parabricks 的 Docker pull 命令。
简而言之,可以通过运行以下命令获取 Parabricks docker 镜像
$ docker pull nvcr.io/nvidia/clara/clara-parabricks:4.4.0-1

Parabricks 现在已安装!让我们运行一些示例数据来测试它。下载示例测试数据集 (9.9 GB) 并解压缩 tar 文件。解压缩 tar 文件将需要额外的 14 GB 存储空间
$ wget -O parabricks_sample.tar.gz \
https://s3.amazonaws.com/parabricks.sample/parabricks_sample.tar.gz
$ tar xzvf 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 横幅并且进度表开始填充值时,我们可以判断 Parabricks 已正确启动

根据您选择的 GPU 卡,这应该需要大约 10 分钟才能完成测试作业。这是屏幕上输出的结尾

我们鼓励您通过使用自己的数据、尝试其他管道以及大致探索 Parabricks 的功能来扩展本指南中的演示。查看文档以获取有关可用不同管道的更多信息。您还可以在Parabricks 论坛上找到我们的在线开发者社区,您可以在学习如何使用 Parabricks 时在那里提问和搜索答案。