3

我有一个看起来像这样的床文件:

1   183113  183114  chr1:183113-183240  0   +
1   187286  187287  chr1:187128-187287  0   -
1   187576  187587  chr1:187375-187577  0   -
1   187580  187590  chr1:187379-187577  0   -

我的目标是只提取那些条目不与任何其他条目重叠的行。一段时间以来,我一直在尝试根据文档进行bedtools 合并。我想使用特定的标志来计算构成每个“合并”片段的条目,然后只保留值为“1”的条目,但问题来了:我不知道如何保留有关链的信息,分数(这应该始终为 0)和名称(这可能是从前 3 列重建的)。有谁知道如何把这些东西放在一起?

输出应该看起来与输入(上方)完全一样,但仅限于这些不与其他任何内容重叠的行。

1   183113  183114  chr1:183113-183240  0   +
1   187286  187287  chr1:187128-187287  0   -
4

1 回答 1

3

好的,我解决了这个问题:

1)计算原始输入中的重叠

bedtools merge -i IN.bed -c 1 -o count > counted

2)只过滤掉那些不与任何东西重叠的行

awk '/\t1$/{print}' counted > filtered

3)将其与原始输入相交并仅保留过滤后找到的那些原始行

bedtools intersect -a IN.bed -b filtered -wa > OUT.bed
于 2017-04-18T16:42:37.023 回答