我有一个床单看起来像这样:
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 -
我的目的是仅提取条目不与任何其他条目重叠的那些行。一段时间以来,我一直在尝试根据doc合并bedtools。我想使用特定的标志来计数构成每个“合并”片段的条目,然后仅保留那些值为“ 1”的条目,但是问题来了:我不知道如何保存有关链,分数( (应始终为0)和名称(可以从前3列中重新构建)。
有人知道如何将这些东西放在一起吗?
输出应与输入(上)完全相同,但仅与不与其他任何行重叠的这些行相同。
1 183113 183114 chr1:183113-183240 0 +
1 187286 187287 chr1:187128-187287 0 -
最佳答案
好,我解决了这个问题:
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