有效地将DNA碱基对数据存储在RAM中?

时间:2015-07-01 19:22:35

标签: c++ memory

与此问题非常相关: Most efficient way to store a big DNA sequence? 还有这个: Declaring a new data type for DNA

我想找到一种有效存储长字符ACTG的方法,而不会浪费每个值的整个字节,而它只需要2位。 但是,我没有看到关于如何在C ++,Java或任何语言中存储2位数据的响应中的任何描述,尽管我认为C ++应该是它的理想语言。

所以我的问题是,正确创建一个方便可用的2位数据类型的语法是什么?我假设需要某种结构来填充字节大小(lol)的数据块,但我不确定。

我非常有兴趣知道其他语言是否也可以使用这些东西,例如Javascript或Perl,但主要是如何用C ++进行。

非常感谢示例代码,谢谢。

1 个答案:

答案 0 :(得分:2)

我建议您在std::bitset中对数据进行编码,并将位集存储在std::vector中。您可以在bitset中编码DNA对,并在向量中每个元素浪费4位,或者您可以在每个位集中编码2个DNA对,然后就可以获得完美的存储空间。