|
发表于 2010-6-9 19:10:06
|
显示全部楼层
有个方案,不知道可不可行
文档1, 文档2
先将文档1的每一个你需要判断是否相同的最小单位(如一行)生成一个数据如
Contig3613TTCATTTGCTGGTAACCAATTTCAGAATGTGTGTAATTAATAAATAATTTGGTGCA
用crc32应该就好了,或md5,sha1之类的
最终文档1的结构:
["-61045577", "-61045578", ...]
然后再遍一块一块的读取第二个文档,把内容再用crc32之类的算法运算一下,如果相等,写到文件里
1. 一块的意思就是你对比内容的最小单元,看你的数据应该就是这样的
Contig3612
TTTAATGCTGGAATTTTTGTTGATAAAATGCGATGAATGCAAAAAAAAAA
AAAAAGTA
应该是这样的一块数据
2. 文档1生成的结构如果不考虑顺序,可以用字典替代,PHP用isset,python用DICT.get再替代
3. 生成的格式最好选用小的文件来生成,比较节约内存 |
|