我有10.txt文件的基因型数据-每个都来自不同的染色体。它们每行的列数都相同,而且列的顺序也都相同。每个文件以相同的第一行开始。在
我想做的是将所有10个文件按chr1,chr2,chr3…chr10的顺序附加到一个基因型文件中。但是,我希望只保留chr1的头行,这样它将保留头行,并在将它们全部连接在一起之前从后续染色体中删除所有的头。在
例如,如果我有:
文件1:
chr, position, geno1, geno2
1, 100, A, C
1, 200, G, T
文件2:
^{pr2}$我想以组合文件结尾:
chr, position, geno1, geno2
1, 100, A, C
1, 200, G, T
2, 50, T, A
2, 150, C, G
考虑到每个文件的大小为400-600Mb,而生成的文件大约为6Gb,那么最好/最快的方法是什么?我对编写Python和linuxshell脚本比较满意,但是解释一下为什么代码很快以及它在做什么将是一个加分!谢谢!在
最快的方法就是不去做。在
例如,如果要将最终文件输入程序,则可以使用:
这将生成一个与您描述的完全相同的流并将其提供给您的程序,但不会浪费时间将其写入文件。在
如果您确实需要一个文件,可以使用
> file
,而不是| yourprogram
。对于您的少量数据来说,这已经足够好了。在当您的数据达到TB范围时,您可以开始考虑跨设备的预分配和并行写入。在
你能做到的
评论后更新
^{pr2}$实际上,用尾巴更简单
相关问题 更多 >
编程相关推荐