Low-level operationsΒΆ
We can use the BedTool.as_intervalfile()
method to return an
IntervalFile
instance. This class provides low-level support to
the BEDTools C++ API.
The method IntervalFile.all_hits()
takes a single Interval
as the query and returns a list of all features in the
IntervalFile
that intersect:
>>> a = pybedtools.example_bedtool('a.bed')
>>> ivf = a.as_intervalfile()
>>> query = a[2]
>>> ivf.all_hits(query)
[Interval(chr1:100-200), Interval(chr1:150-500)]
Similarly, we can just return if there were any hits, a much faster operation:
>>> ivf.any_hits(query)
1
Or count how many hits:
>>> ivf.count_hits(query)
2
See the docstrings for IntervalFile.all_hits()
,
IntervalFile.any_hits()
, and IntervalFile.count_hits()
for
more, including stranded hits and restricting hits to a specific overlap.
Note
These methods are now available as BedTool
methods,
BedTool.all_hits()
, BedTool.any_hits()
, and
BedTool.count_hits()