我有包含 DNA 序列的大型 (~100GB) 文件。它们按前两列排序。例如:
chr position allele coverage otherStuff
1 1000 A 10 ...
1 1001 C 1 ...
2 10 A 10 ...
X 1000 G 3 ...
Y 1000 A 13 ...
我想将它们加载到数据库中,这样我就可以更有效地查询它们(目前,我会进行全面扫描以找到某个位置,但由于它已排序,因此应该可以在 O(记录 n))。我以前使用过 MySQL 的“load data infile”,但是如果我想在 chr 和 position 上创建索引,它会忽略数据已经排序的事实并再次排序。
有解决办法吗?我可以说服 MySQL(或任何其他数据库,我不受 MySQL 的限制)我的数据已经排序了吗?
提前致谢!
最佳答案
对于那些基因组位置,您应该使用 Kent & al. 在 http://genome.cshlp.org/content/12/6/996.full 中描述的binning 索引。
另见 http://genomewiki.ucsc.edu/index.php/Bin_indexing_system和 http://biostar.stackexchange.com/questions/957/the-bin-column-used-by-sam-ucsc
关于database - 将大型排序数据文件插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9071715/