SeqAn3 范围模块:视图与容器的深入解析
1. 范围模块概述
在处理生物序列时,我们常常会遇到序列集合,也就是现代 C++ 术语中的“范围的范围”。对范围的范围应用视图时,通常是将视图应用于“外部范围”,这是常见且正确的做法。但对于特定字母表的视图,它们只能应用于元素类型为字母表的范围。
例如, seqan3::views::complement 用于对核苷酸范围的值进行互补操作,它不能直接应用于范围的范围。为了解决这个问题,SeqAn3 提供了 seqan3::views::deep ,它可以从现有的适配器构建一个“深度适配器”。当传入范围的范围时,深度适配器会应用于最内层的范围,而不是最外层的范围。
2. 特定字母表视图
SeqAn3 的 views 子模块提供了一些特定于(生物)字母表的视图适配器,这些适配器基于 std::views::transform 进行元素级别的转换:
- seqan3::views::to_rank :将半字母表转换为秩表示。
- seqan3::views::to_char :将字母表转换为字符表示。
- seqan3::views::rank_to<T> :将秩表示转换为半字母表 T 。
- seqan3::views::char_to<T> :将字符表示转换为字母表 T
超级会员免费看
订阅专栏 解锁全文
53

被折叠的 条评论
为什么被折叠?



