合并两个文件并高效扩展元数据

Merging two files and expanding metadata efficiently

提问人:binf-er 提问时间:11/10/2023 最后编辑:tripleeebinf-er 更新时间:11/10/2023 访问量:49

问:

我正在处理一个大文件,其中每行都带有 CHR 和 POS 值(这是位置坐标)。

我使用工具处理此文件,但它仅输出这些位置坐标的子集,以及所有样本的附加元数据信息。

我的目标是使用已处理文件最近位置的元数据来扩展第二个文件,以包含第一个文件中的所有位置坐标。要找到最近的位置,它应确保 CHR 匹配,并且 POS 最接近已处理文件中的位置。

注意事项:

  • 这两个文件都将按数字排序。
  • 如果原始位置与已处理文件的相同位置,则应输出后位置的元数据。例如,位置 CHR:1,POS:600 在处理文件中接近 POS:500 和 POS:700,因此我们从后面的 (POS:700) 文件中选取元数据
  • 如果处理后的文件不包含原始文件的最后一个位置,则应从已处理文件的最后一个位置输出元数据。

原始文件 :

CHR    POS
1      100
1      200
1      300
1      400
1      500
1      600
1      700
1      800
1      900
1      1000

已处理文件:

CHR    POS    sample1    sample2    sample3    sample4    sample5    sample6
1      100    0          1          2          1          0          2
1      400    0          1          2          1          1          2
1      500    2          0          1          0          2          1
1      700    0          1          2          1          0          2
1      1000   0          1          2          1          2          2

预期输出文件:

CHR    POS    sample1    sample2    sample3    sample4    sample5    sample6
1      100    0          1          2          1          0          2
1      200    0          1          2          1          0          2
1      300    0          1          2          1          1          2
1      400    0          1          2          1          1          2
1      500    2          0          1          0          2          1
1      600    0          1          2          1          0          2
1      700    0          1          2          1          0          2
1      800    0          1          2          1          0          2
1      900    0          1          2          1          2          2
1      1000   0          1          2          1          2          2

由于我有超过一百万行,1000 多个样本,我想要一种内存高效的方法来执行此操作。

python pandas 排序 文件-IO 数据处理

评论

2赞 Timur Shtatland 11/10/2023
其中一些问题可以用最接近的床工具来解决吗?使用 conda 安装。bedtools
1赞 mozway 11/10/2023
还要检查熊猫merge_asof
0赞 tripleee 11/10/2023
我关闭了 stackoverflow.com/questions/77454785/......作为这个问题的重复,但我可能做得太过分了。无论哪种方式,(表面上的)复制品都具有更多的生物信息学倾向和可能相关的背景。

答: 暂无答案