我有一个 20 GB 的文件,如下所示:
Read name, Start position, Direction, Sequence
请注意,读取名称不一定是唯一的。
例如,我的文件片段看起来像
Read1, 40009348, +, AGTTTTCGTA
Read2, 40009349, -, AGCCCTTCGG
Read1, 50994530, -, AGTTTTCGTA
我希望能够以一种允许我存储这些行的方式
- 保持文件根据第二个值排序
- 遍历排序的文件
似乎数据库可以用于此。
该文档似乎暗示dbm不能用于对文件进行排序并对其进行迭代。
因此我想知道SQLite3是否能够做到 1) 和 2)。我知道我将能够使用 SQL 查询对文件进行排序,并使用 sqlite3 遍历结果集。但是,我能否在不耗尽 4GB RAM 计算机上的内存的情况下做到这一点?