HPC应用&生命科学领域&生物信息海光DCU加速库genomeworks

目录

1 软件简介

2 软件下载

3 DCU版软件介绍

4 测试运行

5 API简介

​编辑

5.1 cudapoa使用方式:

5.1.1 初始化

5.1.2 POA相关函数列表

5.2 cudaaligner使用方式

5.2.1 初始化

5.2.2 cudaaligner相关函数列表


生物信息DCU加速库genomeworks

1 软件简介

    Genomeworks生物信息分析软件是一个开源的基因比对加速库,该项目原生由NVIDIA维护仅支持cuda,目前已经做了DCU适配。该基因比对库利用GPU资源加速基因序列比对过程。目前有两个模块可供使用: 1)cudaaligner 用于双序列的全局比对 2)cudapoa 多序列比对的偏序比对,主要有两个功能:(1)生成公有序列、(2)多序列比对(MSA)的生成
由于原项目cudamapper在此版本中还处于测试阶段,所以在该版本中没有对其做DCU适配。     genomeworks不是一款完整意义上的生物信息软件,它是将主流生物信息算法并行化,封装为SDK,给生物信息领域的开发者使用。例如主流生物信息算法采用的都是"seed_extend"范式,genomeworks将这个过程拆解,封装到不同的模块中。其包含算法主要有: 1) Smith-Waterman 2) Needleman-Wunsch 3)

2 软件下载

DCU链接

3 DCU版软件介绍

cmake 该库的cmake配置文件,其他项目需要与该库一起编译时候可以使用cmake查找库 include 库的头文件 lib 链接库 samples 测试程序

4 测试运行

测试采用googletest测试框架,编译出的测试程序在build/install

cd build/install
./sample_cudaaligner
./sample_cudapoa

5 API简介

详细项目的开发文档可以参考项目根目录下的docs文件夹。

5.1 cudapoa使用方式:
5.1.1 初始化

首先调用create_batch初始化一个batch,通过该函数设置待比对的序列以及空位罚分等信息。该函数会返回一个Batch object,通过该对象可以调用poa相关的函数,POA的相关函数参考5.1.2。

std::unique_ptr<Batch> claragenomics::cudapoa::create_batch    (    
int32_t     max_sequences_per_poa,
int32_t     device_id,
cudaStream_t     stream,
size_t             max_mem,
int8_t             output_mask,
int16_t     gap_score,
int16_t     mismatch_score,
int16_t     match_score,
bool             cuda_banded_alignment 
)
5.1.2 POA相关函数列表
函数名功能
add_poa_group将新组添加到批处理中以运行POA算法
get_consensus获得基因片段的公共区域
get_graphs获取每个POA的图形表示形式
get_msa从多组序列中获取每个POA的多个序列比对
get_total_poas批量获取局部序列比对的总数
5.2 cudaaligner使用方式
5.2.1 初始化

create_aligner是cudaaligner的初始化函数,与create_batch类似,该函数也是作为设置参数使用,如空位罚分参数以及最长匹配长度等。

std::unique_ptr<Aligner> claragenomics::cudaaligner::create_aligner    (    
int32_t     max_query_length,
int32_t     max_target_length,
int32_t     max_alignments,
AlignmentType     type,
cudaStream_t     stream,
int32_t     device_id 
)

AlignmentType是一个结构体,用来设置比对算法

enum class AlignmentType {
    kSW, // Smith Waterman
    kNW, // Needleman Wunsch
    kOV // Overlap
};

create_aligner会返回一个aligner对象,该对象可以调用cudaaligner相关函数

5.2.2 cudaaligner相关函数列表
函数名功能
add_alignment添加新的对齐对象,只有带有字母[ACGT]的字符的字符串才能保证提供正确的结果
align_all启动DCU加速对齐
get_alignments返回计算的比对结果
sync_alignments等待DCU加速对齐完成,设备同步
  • 19
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术瘾君子1573

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值