Skip to content

Latest commit

 

History

History
98 lines (78 loc) · 1.69 KB

api-lowlevel.md

File metadata and controls

98 lines (78 loc) · 1.69 KB
jupytext kernelspec
formats text_representation
ipynb,md:myst
extension format_name format_version jupytext_version
.md
myst
0.13
1.11.3
display_name language name
Python 3
python
python3

Low-level API

.. toctree::
   :maxdepth: 2
   :caption: Contents:

   lowlevel/arrops
   lowlevel/specs
   lowlevel/stringops

Low level array-based operations are used to implement the genomic interval operations on dataframes.

import itertools

import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import pandas as pd

import bioframe as bf
import bioframe.vis


from bioframe.core import arrops
starts1, ends1 = np.array([
    [1,5],
    [3,8],
    [8,10],
    [12,14]
]).T

starts2, ends2 = np.array([
    [4,8],
    [10,11],
]).T
bf.vis.plot_intervals_arr(
    starts = starts1,
    ends = ends1,
    xlim = (-0.5,14.5),
    labels = np.arange(0,starts1.shape[0]),
    show_coords = True)

bf.vis.plot_intervals_arr(
    starts = starts2,
    ends = ends2,
    colors = 'lightpink',
    xlim = (-0.5,14.5),
    labels = np.arange(0,starts2.shape[0]),
    show_coords = True)
arrops.overlap_intervals(starts1, ends1, starts2, ends2)
arrops.overlap_intervals_outer(starts1, ends1, starts2, ends2)
arrops.merge_intervals(starts1, ends1, min_dist=0)
arrops.merge_intervals(starts1, ends1, min_dist=None)
arrops.merge_intervals(starts1, ends1, min_dist=2)
arrops.complement_intervals(starts1, ends1)