使用北鲲云在AWS上运行基因分析HPC任务

news2025/3/1 22:03:39

背景

  近三十年来,生命科学与计算科学飞速发展。生物信息学是一门生命科学与计算科学的前沿交叉学科。生物信息学产生和迅猛发展的主要推动力来自于新一代测序等高通量技术在生命科学领域越来越广泛的应用。 基因组学是这一趋势的一个主要例子,其中高通量下一代测序 (NGS) 设备被用于对 DNA、mRNA、调控区域、肠道微生物组等进行测序。计算工作流程也在快速开发和标准化,并且支持动态进行扩展。随着大量基因组数据的收集,处理时间通常在数十亿核心小时的数量级,处理成本也相应增加。因此,客户正在寻找运行时间最短、成本最低的优化工具和系统。通常清况下有2种方式可供选择。 第一种是建设本地计算集群。一方面建设本地大型计算集群成本昂贵,同时峰值负载的能力有限,项目的周期也相对较长,前期成本投入很大。第二种是构筑云上的HPC平台。利用云资源可以快速构建云上HPC平台,云上还提供了最新技术和资源的快速访问,包括最新加速卡或减少计算所需时间的最新一代处理器。通过选择合适的实例类型,可以缩短总体计算时间。

在这篇博文中,我们将展示如何利用北鲲云HPC平台在AWS运行运行基因分析HPC任务。

概述

本指南将向您展示如何通过北鲲云控制台启动基于Amazon EC2构建的slurm集群,该集群提供有一个登录节点,您可以在此节点上通过简单配置结合AWS S3存储快速投递多个基因分析任务。

前置条件

在开始使用北鲲云平台之前您需要做下面准备:

1.拥有访问指定S3 bucket权限的1对AWS AK/SK。

2.用于存放计算输入文件的S3 bucket。

3.用于存放计算结果文件的S3 bucket,也可以使用输入文件bucket的不同目录作为区分。

您可以通过AWS S3控制台来快速创建S3 bucket并上传输入文件,如果已有bucket可跳过此步骤。这是一个简单的过程,仅涉及四个步骤:

  1. 登录AWS S3控制台。

  2. 创建s3 bucket。

  3. 设置bucket权限,推荐私有读写或者使用S3 bucket ACL策略进行更细粒度控制。

通过ACL限制只有指定的IAM角色ROLENAME可以访问指定bucket下的资源(可选步骤):

参考示例:https://aws.amazon.com/cn/blogs/security/how-to-restrict-amazon-s3-bucket-access-to-a-specific-iam-role/

  1. 上传输入文件。

任务整体流程

用户只需要准备好存放输入和输出文件的s3 bucket即可,无需关心集群内部调度细节,非常容易上手使用。

注册并登录北鲲云控制台

您可能需要先注册北鲲云账号,账号注册后联系客服可以获得200算力金。

创建Workspace

Workspace是北鲲云为您在AWS上创建的一片虚拟空间,对应了AWS的某个region,后续使用的AWS相关服务和资源都在这个region下进行配置。

您需要先将账号免费升级到企业版才能使用此功能,请联系我们!

您需要选择数据存放相同的地域创建Workspace,选择相同地域的好处是数据在AWS EC2上和S3之间上传下载可以使用内网进行访问,速度更快而且更加安全。

支持免费创建多个Workspace以支持不同的研发团队使用就近的AWS资源。

创建并登录集群登录节点

登录到北鲲云控制台后,首先要选择与您数据存放地域一致或相邻的Workspace, 后续使用的EC2集群及其他资源都在此地域下进行配置。

可通过webssh方式通过浏览器直接登录,也可以通过xShell等其他连接工具连接到集群登录节点内部。

集群登录节点内部已内置虚拟用户,可用于提交基因分析任务。

配置AWS AK/SK

AWS CLI 将使用 aws configure 指定的敏感凭证信息存储在主目录中名为 credentials 的文件夹中名为 .aws 的本地文件中。

在集群登录节点内根据提示输入AK/SK进行快速配置。


aws configure

特别申明:北鲲云不会在未经用户授权的情况下访问用户的EC2,也不会获取用户的数据,用户在使用平台前需要签署电子版法律协议。

准备作业脚本

大部分计算所需要的软件在平台上已经预装好,IT人员不需要安装和配置软件运行环境,缺少您想要的软件请点击这里。

以常用的序列对比软件blast+为例:

使用vim编辑器编写您的作业计算脚本


vim job.sbatch

#!/bin/bash

#SBATCH --job-name=example //作业名称

#SBATCH --partition c-64-1  //硬件类型 64核64G

#SBATCH --ntasks=64 //任务数量




#从s3下载您的输入文件

aws s3 cp --quiet s3://genomics-cloudam/input.tar.gz  /home/cloudam/

tar -zxvf input.tar.gz




#加载软件blast+

module add BLAST+/2.2.31




#提交blast+计算任务  相关参数需要替换为实际参数值

blastx -i <input-file> -o <output-file> <other-options> -num_threads <num-threads>




#将结果文件打包上传至s3

tar -zcvf result.tar.gz /home/cloudam/result

aws s3 cp --quiet /home/cloudam/result.tar.gz s3://genomics-cloudam/

提交作业


sbatch job.sbatch

作业结束后,将会进行后置处理,结果将被写入到s3 bucket内,闲置的EC2服务器将被销毁并立即停止计费。

恭喜!您已使用北鲲云HPC平台在 AWS上成功运行基因分析任务。还有更多的功能等待您来探索。

北鲲云平台和AWS ParallelCluster的对比

在这里插入图片描述

结论

在这篇博文中,我们演示了如何使用北鲲云平台在AWS来提交基因分析任务。快速访问北鲲云用户手册并亲自试用演示。有关北鲲云的更多信息,请查看主页和文档。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

直播回顾|关联网络如何反团伙欺诈——标准答案版

11月10日下午15:00顶象数据科学家翼龙带来主题为《关联网络技术在业务安全中的应用》的直播。 直播内容包括常见的团伙欺诈场景、关联网络在反团伙欺诈中的作用、关联网络的技术框架&#xff0c;并就关联图谱构建和复杂网络算法展开了具体的讨论&#xff0c;最后以案例的形式形…

ElasticSearch 文档数据导入导出及两个ElasticSearch互相导入操作

文章目录一、前期安装准备二、ElasticSearch文档数据导入和导出三、两个ElasticSearch互相导入操作四、ElasticSearch版本不同是否有问题一、前期安装准备 1.先安装Node.js工具 Node.js官网下载地址&#xff1a;下载地址 双击下载完后的安装包&#xff0c;一直点下一步&#…

【日拱一卒】如何编写测试用例(下)

六、测试用例设计的误区 能发现到目前为止没有发现的缺陷的用例是好的用例&#xff1b; 首先要申明&#xff0c;其实这句话是十分有道理的&#xff0c;但我发现很多人都曲解了这句话的原意&#xff0c;一心要设计出发现“难于发现的缺陷”而陷入盲目的片面中去&#xff0c;忘记…

华为机试 - 城市聚集度

目录 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目描述 一张地图上有n个城市&#xff0c;城市和城市之间有且只有一条道路相连&#xff1a;要么直接相连&#xff0c;要么通过其它城市中转相连&#xff08;可中转一次或多次&#xff09;。城市与城市之间的道…

11月第2周榜单丨飞瓜数据B站UP主排行榜(哔哩哔哩)发布!

飞瓜轻数发布2022年11月07日-11月13日飞瓜数据UP主排行榜&#xff08;B站平台&#xff09;&#xff0c;通过充电数、涨粉数、成长指数三个维度来体现UP主账号成长的情况&#xff0c;为用户提供B站号综合价值的数据参考&#xff0c;根据UP主成长情况用户能够快速找到运营能力强的…

Java#6(类和对象及封装)

目录 一.类和对象基本介绍 1.类:是对象共同特征的描述; 2.对象:是真实存在的具体东西 如何定义类? 对象的定义和使用? 二.封装 原则:对象代表什么,就得封装什么数据,并提供数据对应的行为 1.实例理解 三.Private(私有权限) 一.类和对象基本介绍 1.类:是对象共同特征…

css :first-child 和 :first-of-type

1 :first-child p:first-child {background-color:yellow; }阅读理解&#xff1a;<p>元素的背景设为黄色 第一个子元素的背景设为黄色 父元素的第一个子元素是<p>时&#xff0c;该子元素背景设为黄色 举个栗子&#xff1a; <!DOCTYPE html> <html>…

关于java String类(源码等)分析

String 类 String声明为final &#xff0c;不可以被继承 String 实现了Serializable接口&#xff0c;表明字符串是可序列化的 String 实现了Compareble接口&#xff0c;表示String 可比较大小 String 内部定义了 final char[] value value用于存储字符串数据&#xff0c;表明…

蓝牙耳机什么牌子的好用?口碑比较好的国产蓝牙耳机推荐

对于那些经常戴耳机的人来说&#xff0c;戴上一副舒服的耳机是非常必要的。所以&#xff0c;那些口碑好&#xff0c;佩戴舒适的蓝牙耳机让大多数人都有了很好的体验感。人们之所以如此喜爱蓝牙耳机&#xff0c;一方面是因为其小巧而精致&#xff0c;另一方面则是因为其便于携带…

前端——router路由

1.路由配置 在store文件夹下&#xff0c;新建index.js文件中配置路由 /* vue3中 路由配置 */ //1.path&#xff1a;与vue2中子路由path不带“/”不同的是&#xff0c;vue3这里子路由path带了"/" //这样vue3中路由访问路径也就不是嵌套的&#xff0c;虽然路由配置这…

【深度学习】实验3答案:PyTorch实战——CIFAR图像分类

DL_class 学堂在线《深度学习》实验课代码报告&#xff08;其中实验1和实验6有配套PPT&#xff09;&#xff0c;授课老师为胡晓林老师。课程链接&#xff1a;https://www.xuetangx.com/training/DP080910033751/619488?channeli.area.manual_search。 持续更新中。 所有代码…

Python采集天气数据,做可视化分析【附源码】

知识点: 动态数据抓包requests发送请求结构化非结构化数据解析 开发环境: python 3.8 运行代码pycharm 2021.2 辅助敲代码requests 如果安装python第三方模块: win R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests)回车在pycharm中点击Term…

RocketMQ 5.0 API 与 SDK 的演进

作者&#xff1a; 艾阳坤 RocketMQ 5.0 SDK 采用了全新的 API&#xff0c;使用 gRPC 作为通信层的实现&#xff0c;并在可观测性上做了很大幅度的提升。 全新统一的 API 此处的 API 并不单单只是接口上的定义&#xff0c;同时也规定了各个接口不同的方法和行为&#xff0c;明…

【案例实战】分布式应用下登录检验解决方案(JWT)

文章目录1.需求背景以及JWT简介2.创建Maven项目&#xff0c;搭建SpringBoot项目3.容器化急速部署MySQL4.数据库表准备5.SpringBoot整合MySQLMyBatisPlus6.MyBatisPlus逆向工程自动生成7.SpringBoot整合JWT8.开发测试接口9.开发登录接口10.开发登录拦截器11.启动验证1.需求背景以…

cookie介绍:cookie实现增删改查功能

1、cookie介绍 只能存储文本&#xff0c;只能实现在本地的存储&#xff1b;单条存储有大小限制4kB左右&#xff0c;数量限制&#xff08;一般浏览器&#xff0c;限制大概在50条左右&#xff09;&#xff1b;读取有域名限制&#xff1a;不可跨域读取&#xff0c;只能由来自写入…

集成学习与随机森林

1、集成学习概念 集成学习(ensemble learning)是一类机器学习框架&#xff0c;通过构建并结合多个学习器来完成学习任务。一般结构是&#xff1a;先产生一组“个体学习器”&#xff0c;再用某种策略将它们结合起来。结合策略主要有平均法、投票法和学习法等 集成学习包含三个…

仿大众点评——秒杀系统部分01

秒杀系统 全局ID生成器 全局唯一ID生成策略&#xff1a; UUIDRedis自增snowflake算法数据库自增 这里使用Redis自增的数值&#xff0c;并拼接一些其它信息 Redis自增ID策略&#xff1a; 每天一个key&#xff0c;方便统计订单量ID构造是 时间戳 计数器 ID的组成部分&#…

Unity接入日志插件Log4Net

前言 log4net是一个日志插件&#xff0c;可以帮助我们把控制台输出的日志写入到本地。这个功能说简单就简单&#xff0c;说复杂其实还挺复杂。 为什么这么说呢&#xff0c;首先文件写入本地确实简单&#xff0c;但是如果你要实现一下功能就没那么简单了。 1.把每行日志按照指…

2022年“新一代”设备管理系统——支持低代码平台

在现代化企业的信息化管理体系建设中&#xff0c;设备管理系统被看作是重中之重。因为设备是工厂的主要生产要素&#xff0c;而且随着生产设备的日益增多&#xff0c;设备的重要性日益凸显。如何妥善管理这些设备也成了企业管理者经常考虑的问题。单纯依靠人工管理逐渐不能满足…

uniapp实现下拉刷新及上拉(分页)加载更多(app,H5,小程序均可使用)

开门见山地说&#xff0c;在移动端开发中&#xff0c;80%的项目都会涉及到列表展示&#xff0c;而有了列表不可避免的需求就是列表的下拉刷新和上拉加载更多。本篇文章主要介绍在使用uniapp开发移动端的过程中&#xff0c;比较好用的一个下拉及上拉组件&#xff0c;节约大家选择…