- BedTool.subtract(*args, **kwargs)¶
Subtracts from another BED file and returns a new BedTool object.
>>> a = pybedtools.example_bedtool('a.bed') >>> b = pybedtools.example_bedtool('b.bed')
Do a “stranded” subtraction:
>>> c = a.subtract(b, s=True)
Require 50% of features in
>>> c = a.subtract(b, f=0.5)
For convenience, the file or stream this BedTool points to is implicitly passed as the
Original BEDTools help::
Tool: bedtools subtract (aka subtractBed) Version: v2.30.0 Summary: Removes the portion(s) of an interval that is overlapped by another feature(s). Usage: bedtools subtract [OPTIONS] -a <bed/gff/vcf> -b <bed/gff/vcf> Options: -A Remove entire feature if any overlap. That is, by default, only subtract the portion of A that overlaps B. Here, if any overlap is found (or -f amount), the entire feature is removed. -N Same as -A except when used with -f, the amount is the sum of all features (not any single feature). -wb Write the original entry in B for each overlap. - Useful for knowing **what** A overlaps. Restricted by -f and -r. -wo Write the original A and B entries plus the number of base pairs of overlap between the two features. - Overlaps restricted by -f and -r. Only A features with overlap are reported. -s Require same strandedness. That is, only report hits in B that overlap A on the **same** strand. - By default, overlaps are reported without respect to strand. -S Require different strandedness. That is, only report hits in B that overlap A on the **opposite** strand. - By default, overlaps are reported without respect to strand. -f Minimum overlap required as a fraction of A. - Default is 1E-9 (i.e., 1bp). - FLOAT (e.g. 0.50) -F Minimum overlap required as a fraction of B. - Default is 1E-9 (i.e., 1bp). - FLOAT (e.g. 0.50) -r Require that the fraction overlap be reciprocal for A AND B. - In other words, if -f is 0.90 and -r is used, this requires that B overlap 90% of A and A **also** overlaps 90% of B. -e Require that the minimum fraction be satisfied for A OR B. - In other words, if -e is used with -f 0.90 and -F 0.10 this requires that either 90% of A is covered OR 10% of B is covered. Without -e, both fractions would have to be satisfied. -split Treat "split" BAM or BED12 entries as distinct BED intervals. -g Provide a genome file to enforce consistent chromosome sort order across input files. Only applies when used with -sorted option. -nonamecheck For sorted data, don't throw an error if the file has different naming conventions for the same chromosome. ex. "chr1" vs "chr01". -sorted Use the "chromsweep" algorithm for sorted (-k1,1 -k2,2n) input. -bed If using BAM input, write output as BED. -header Print the header from the A file prior to results. -nobuf Disable buffered output. Using this option will cause each line of output to be printed as it is generated, rather than saved in a buffer. This will make printing large output files noticeably slower, but can be useful in conjunction with other software tools and scripts that need to process one line of bedtools output at a time. -iobuf Specify amount of memory to use for input buffer. Takes an integer argument. Optional suffixes K/M/G supported. Note: currently has no effect with compressed files.