我想用 iOS 应用程序打包一个巨大的 DNA 序列(大约 3,000,000,000 个碱基对)。每个碱基对都可以有一个值A
, C
, T
or G
。将每个碱基对存储在一个字节中会产生 3 GB 的文件,这太大了。 :)
现在我想将每个碱基对存储在两位中(每个八位字节四个碱基对),这给出了 750 MB 的文件。即使压缩后,750 MB 仍然太多了。
是否有更好的文件格式可以在磁盘上有效存储巨大的碱基对?当我分块阅读时,在内存中不是问题。
我认为您必须每个碱基对使用两位,并按照中所述实现压缩这张纸 http://www.csjournals.com/IJITKM/PDF%203-1/42.pdf.
“DNA 序列……不是随机的;它们包含
重复部分、回文和其他特征
可以用比拼写所需的更少的位数来表示
输出完整的二进制序列...
使用所提出的算法,序列将被压缩 75%
无论重复或不重复的次数
序列中的模式。”
使用基于散列的数据结构进行 DNA 压缩,国际信息技术与知识管理杂志
2010 年 7 月至 12 月,第 2 卷,第 2 期,第 383-386 页。
编辑:有一个名为 GenCompress 的程序声称可以有效压缩 DNA 序列:
http://www1.spms.ntu.edu.sg/~chenxin/GenCompress/ http://www1.spms.ntu.edu.sg/~chenxin/GenCompress/
编辑:另请参阅这个问题 http://biostar.stackexchange.com/questions/8745/which-dna-compression-algorithms-are-actually-used在BioStar上。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)