卢锐
pybedtools filter bug 避坑
2022-12-5 17:56
阅读:1319

bedtools是使用率很高的生信工具,将其整合到python(pybedtools),可以方便的调用,这本来是一件很好的事,但是遗憾的是pybedtools还是很不成熟,存在一些bug,我遇到的一个filter bug如下:

 

>>> from pybedtools import BedTool

>>> sampleA = BedTool("sampleA_raw.bed")

>>> print(sampleA)

chr1     40130793        40131513

chr1     40261767        40262522

chr1     40273326        40274035

chr2     6744599          6745299

chr2     9114431          9115158

chr2     15428403        15429102

 

>>> sampleB = BedTool("sampleB_raw.bed")

>>> print(sampleB)

chr1     40260000        40270000

 

>>> print(sampleA.intersect(sampleB, wo=True))

chr1     40261767        40262522        chr1     40260000        40270000        755

 

>>> sampleA_chr1 = sampleA.filter(lambda x: x.chrom=="chr1")

>>> print(sampleA_chr1)

chr1     40130793        40131513

chr1     40261767        40262522

chr1     40273326        40274035

 

>>> print(sampleA_chr1.intersect(sampleB, wo=True))

 

>>> 

>>>

 

sampleA filter之后再与sampleBintersect时居然是空的!

出现这个bug后,我发现pybedtools官网上没有提供类似github Issues的入口,遇到bug无法反馈,这太糟糕了!

 

所以,尽量还是使用bedtools而非pybedtools


转载本文请联系原作者获取授权,同时请注明本文来自卢锐科学网博客。

链接地址:https://wap.sciencenet.cn/blog-2970729-1366658.html?mobile=1

收藏

分享到:

当前推荐数:0
推荐到博客首页
网友评论1 条评论
确定删除指定的回复吗?
确定删除本博文吗?