GPU加速生物信息分析的尝试

GPU工具分类

实话实说,暂时只有英伟达的GPU才能实现比较方便的基因组分析集成化解决方案,其他卡还需要努力呀,或者需要商业公司或学术团体的努力开发呀!FPGA等这种专用卡的解决方案也是有的,比如某测序仪厂家,某大厂,专门做加速方案的提供商,以及CPU加速方案提供商等。

这里,就先看下普通人可及的英伟达啦,AI的普及,以及黑神话的爆火,让大家都有了相对较好的卡,有的实验室新配服务器也加装了一般的GPU算力卡,除了做AI,也可以考虑下做下加速分析啦!当然,如我这种,没有大显存的卡,没有大显存的服务器,我们依然可以租卡呀,专门租gpu的公司可以成本低至一块多一小时,也是极划算的啦!当然,自己买张便宜的卡一举多得也不错啦,又多了一个上装备的理由啦!当然,禁运和制裁是个问题,应该不跑大项目也不涉及这些,国货当自强呀!

  • Clara Parabricks
    短读段测序可生成短 DNA 序列,并因速度快且经济实惠而受到重视。Clara Parabricks是英伟达基于GPU卡开发用于加速call变异的工具套件,支持GATK haplotypecaller和deepvariant 2种call 变异的方式,相比原版速度有大幅提升,从而有助于快速分析短读段测序数据。可用于处理来自 Element、Illumina、MGI、Singular、Thermo Fisher 和 Ultima 测序仪的数据。从v4.0开始,学术机构用户可免费使用。
  • 长读段测序有助于识别结构变异,并可用于根据多个样本来组合基因组,从而推动群体遗传多样性的研究,可用于处理来自 Oxford Nanopore 和 PacBio 长读段测序仪的数据。
  • NVIDIA RAPIDS™ 可加速单细胞数据处理和可视化工作流,并具有与 scverse Python 库类似的可用性模型。cunnData 为 GPU 提供了 AnnData 对象的超小型、轻量级版本,有助于快速操作和处理数据,RAPIDS cuGraph 和 cuML 库随后则会开展下游分析工作。

    暂时手上只有基因组的数据,于是先测试下基因组的分析啦!

先用自己的3050 Ti Laptop(4G VRAM)测试

先说下结论安装是可以成功的,报错也是会的,当然,分析小基因组也是极好的,话说回来,小基因组也就不需要加速啦!我是Win11系统,已经装了WSL2子系统,docker和驱动已经装好,以上这些这里不表啦!当然,最新的驱动已经可以使用RAM当显存,前提是牺牲速度,所以,我的笔记本加到64G RAM也应该可以跑得动的,慢速的。
根据官方文档安装是个小挑战,众所周知的原因啦,费了好久,几乎要放弃时,在github上找到了新的方法,这里分享一下!
Request nvidia-docker2 debian download not from repository · Issue #635

安装nvidia-docker2

git clone下载,更方便,避免官方网站步骤的各种报错,亲测可以成功!

LOCALDIR=/var/lib/nvidia-docker-repomkdir -p $LOCALDIR && cd $LOCALDIR
git clone -b gh-pages https://github.com/NVIDIA/libnvidia-container.git
git clone -b gh-pages https://github.com/NVIDIA/nvidia-container-runtime.git
git clone -b gh-pages https://github.com/NVIDIA/nvidia-docker.git# ubuntu系统,应该是18.04以上通用
sudo tee /etc/apt/sources.list.d/nvidia-docker.list <<< \
"deb file://$LOCALDIR/libnvidia-container/stable/ubuntu18.04/amd64 /
deb file://$LOCALDIR/nvidia-container-runtime/stable/ubuntu18.04/amd64 /
deb file://$LOCALDIR/nvidia-docker/stable/ubuntu18.04/amd64 /"
# 更新
sudo apt-key add $LOCALDIR/nvidia-docker/gpgkey
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo apt-get install -y nvidia-docker2

docker镜像修改

sudo vi /etc/docker/daemon.json
# 修改为以下内容:
{"runtimes": {"nvidia": {"path": "nvidia-container-runtime","runtimeArgs": []}},"registry-mirrors": ["https://docker.1panel.live","https://hub.rat.dev"]
}
# 参考自:Docker更换镜像源 https://patzer0.com/archives/configure-docker-registry-mirrors-with-mirrors-available-in-cn-mainland

使用测试

想了下,参考基因组应该是不能切分的,所以官方宣称的人类基因组需要16G显存的要求应该是真实的和合理的。

docker run       --gpus all       --rm       --volume $(pwd):/workdir  \--volume $(pwd):/outputdir   \nvcr.io/nvidia/clara/clara-parabricks:4.3.2-1 \pbrun fq2bam     \--ref /workdir/reference/felCat8.fa.gz   \--in-fq /workdir/cat_10000_1.fq.gz /workdir/cat_10000_2.fq.gz   \--out-bam /outputdir/fq2bam_output.bam

报错信息如下:

分染色体运行

http://hpc.ncpgr.cn/app/098-parabricks/#fen-ran-se-ti-yun-xing

这里还有个高校的经验介绍,部分基因组较大或深度较深的数据,运行 pbrun haplotypecaller 时可能会出现显存不够的报错 Out of memory,此时可以分染色体来跑,最后再合并。

租卡测试

看起来价格很诱人的样子,有空了再实测速度和感受怎样,欢迎交流相关经验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/430217.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

9月23日

思维导图 作业 统计家目录下.c文件的个数 #!/bin/bashnum0for file in ~/*.c; doif [ -f "$file" ]; then((num))fi doneecho "家目录下.c文件的个数: $num"

HTML5 Video标签的属性、方法和事件汇总,以及常用视频插件推荐

&#x1f680; 个人简介&#xff1a;某大型国企资深软件研发工程师&#xff0c;信息系统项目管理师、CSDN优质创作者、阿里云专家博主&#xff0c;华为云云享专家&#xff0c;分享前端后端相关技术与工作常见问题~ &#x1f49f; 作 者&#xff1a;码喽的自我修养&#x1f9…

第4步CentOS配置SSH服务用SSH终端XShell等连接方便文件上传或其它操作

宿主机的VM安装CENTOS文件无法快速上传&#xff0c;也不方便输入命令行&#xff0c;用SSH终端xshell连接虚拟机的SSH工具就方便多了&#xff0c;实现VM所在宿主机Win10上的xshell能连接vm的centos要实现以下几个环节 1、确保宿主机与虚拟机的连通性。 2、虚拟机安装SSH服务&…

在SpringCloud中实现服务熔断与降级,保障系统稳定性

在分布式系统中&#xff0c;微服务架构的应用越来越受欢迎。然而&#xff0c;由于各个微服务之间的依赖关系和网络通信的不稳定性&#xff0c;一个不稳定的服务可能会对整个系统产生连锁反应&#xff0c;导致系统崩溃。为了保障系统的稳定性&#xff0c;我们需要一种机制来处理…

PHP基础语法讲解

​ 大家好&#xff0c;我是程序员小羊&#xff01; 前言&#xff1a; PHP&#xff08;Hypertext Preprocessor&#xff09;是一种常用于网页开发的服务器端脚本语言&#xff0c;易于学习并且与 HTML 紧密结合。以下是 PHP 的基础语法详细讲解。 1. PHP 基础结构 1.1 PHP 脚本结…

探索AutoIt:自动化任务的Python魔法棒!

文章目录 探索AutoIt&#xff1a;自动化任务的Python魔法棒&#xff01;背景&#xff1a;为什么选择AutoIt&#xff1f;AutoIt库简介安装AutoIt库简单的库函数使用方法场景应用常见Bug及解决方案总结 探索AutoIt&#xff1a;自动化任务的Python魔法棒&#xff01; 背景&#x…

深度学习02-pytorch-06-张量的形状操作

在 PyTorch 中&#xff0c;张量的形状操作是非常重要的&#xff0c;可以让你灵活地调整和处理张量的维度和数据结构。以下是一些常用的张量形状函数及其用法&#xff0c;带有详细解释和举例说明&#xff1a; 1. reshape() 功能: 改变张量的形状&#xff0c;但不改变数据的顺序…

玄机靶场--蚁剑流量

木马的连接密码是多少 黑客执行的第一个命令是什么 id 黑客读取了哪个文件的内容&#xff0c;提交文件绝对路径 /etc/passwd 黑客上传了什么文件到服务器&#xff0c;提交文件名 黑客上传的文件内容是什么 黑客下载了哪个文件&#xff0c;提交文件绝对路径 蚁剑流量特征总结 …

移动开发(三):使用.NET MAUI打包第一个安卓APK完整过程

目录 一、修改AndroidManifest.xml 配置APP基本信息权限 二、修改项目属性调整输出Android包格式为APK 三、项目发布 四、APP分发 五、总结 之前给大家介绍过使用使用.NET MAUI开发第一个安卓APP,今天给大家介绍如何打包成APK,然后安装到安卓手机正常运行。这里还是沿用…

基于springboot的驾校预约管理系统的设计与实现 (含源码+sql+视频导入教程)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于springboot的驾校预约管理系统5拥有三种角色&#xff1a;管理员、教练、学员 管理员&#xff1a;学员管理、教练管理、车辆管理、车辆关联、维修管理等 教练&#xff1a;学员查看/毕…

脱离枯燥的CRUD,灵活使用Mybatis,根据mybatis动态的xml片段和接口规范动态生成代理类,轻松应付简单业务场景。

需求 需求是这样的&#xff0c;我们有一个数据服务平台的产品&#xff0c;用户先将数据源信息保存到平台上&#xff0c;一个数据源可以提供多个接口服务&#xff0c;而每个接口服务在数据库中存一个具有mybatis语法的sql片段。这样的话&#xff0c;对于一些简单的业务只需要编…

电力施工作业安全行为检测图像数据集

电力施工作业安全行为检测图像数据集&#xff0c;图片总共 2300左右&#xff0c;标注为voc(xml)格式&#xff0c;包含高空抛物&#xff0c;未佩戴安全带&#xff0c;高处作业无人监护等。 电力施工作业安全行为检测图像数据集 数据集描述 这是一个专门用于电力施工作业安全行…

Drive.js 的一些 Api 使用记录

文章目录 2024 年 drive.js 的基础使用想在下一步的时候处理些逻辑呢&#xff1f;(同步)Element 的各种选择器 2024 年 drive.js 的基础使用 安装就跳过了 npm install driver.js &#xff0c;一行代码就可以搞定 官网的 Basic Usage 基础使用的截图如下&#xff1a; 想在下…

SLAM实操入门(八):使用Robosence-16转换数据格式,进行基于A-Loam的三维SLAM

文章目录 前言1 Robosence与Velodyne格式差异.2 格式转换2.1 rs_to_velodyne库2.2 目前支持&#xff1a; 3 拉取工程并编译2.1 安装robosence雷达驱动&#xff08;类似第六章&#xff09;&#xff1a;2.2 构建rs2vel工程&#xff1a; 3 运行robosence雷达&#xff0c;并转换格式…

2012年408考研真题-数据结构

8.【2012统考真题】求整数n(n≥0)的阶乘的算法如下&#xff0c;其时间复杂度是(&#xff09;。 int fact(int n){ if(n<1) return 1; return n*fact (n-1); } A. O(log2n) B. O(n) C. O(nlog2n) D. O(n^2) 解析&#xff1a; 观察代码&#xff0c;我们不…

Matlab Simulink 主时间步(major time step)、子时间步(minor time step)

高亮颜色说明&#xff1a;突出重点 个人觉得&#xff0c;&#xff1a;待核准个人观点是否有误 高亮颜色超链接 文章目录 对Simulink 时间步的理解Simulink 采样时间的类型Discrete Sample Times(离散采样时间)Controllable Sample Time(可控采样时间) Continuous Sample Times(…

在MAC中Ollama开放其他电脑访问

ollama安装完毕后默认只能在本地访问&#xff0c;之前我都是安装其他的软件之后可以结合开放其他端口访问&#xff0c;其实是可以新增或修改下电脑的系统配置&#xff0c;就可以打开端口允许除本机IP或localhost访问。 步骤如下&#xff1a; 1、查看端口&#xff08;默认是&…

Shelly实测天工的音乐创作功能,写了一首歌,来听听效果

​ 大家好&#xff0c;我是Shelly&#xff0c;一个专注于输出AI工具和科技前沿内容的AI应用教练&#xff0c;体验过300款以上的AI应用工具。关注科技及大模型领域对社会的影响10年。关注我一起驾驭AI工具&#xff0c;拥抱AI时代的到来。 在数字时代的洪流中&#xff0c;我始终…

杀软对抗 ---> Perfect Syscall??

好久没更了&#xff0c;今天想起来更新了&#x1f60b;&#x1f60b;&#x1f60b;&#x1f60b; 目录 1.AV && EDR 2.Perfect Syscall&#xff1f;&#xff1f; 3.Truly Perfect ??? 在开始之前先来展示一下这次的免杀效果 1.AV && EDR 360 天擎EDR …

Python模块和包:自定义模块和包③

文章目录 一、模块1.1 什么是模块1.2 创建模块1.3 导入模块1.4 模块的命名空间 二、包2.1 什么是包2.2 创建包2.3 导入包2.4 包的命名空间 三、综合详细例子3.1 项目结构3.2 模块代码student.pycourse.pymanager.py 3.3 主程序代码main.py 3.4 运行结果 四、总结 Python模块和包…