https://github.com/lmdu/pygros
a python package for finding genomic range overlaps
https://github.com/lmdu/pygros
Last synced: 3 months ago
JSON representation
a python package for finding genomic range overlaps
- Host: GitHub
- URL: https://github.com/lmdu/pygros
- Owner: lmdu
- License: mit
- Created: 2021-06-09T08:36:05.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-07-16T02:37:32.000Z (11 months ago)
- Last Synced: 2025-02-09T23:36:33.252Z (4 months ago)
- Language: C
- Homepage:
- Size: 37.1 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
pygros
======a python library for finding genomic range overlaps based on `cgranges `_.
Installation
------------``pygros`` is available on `PyPi `_, to install it:
.. code:: bash
pip install pygros
Usage
-----.. code:: python
>>> import pygros
>>> ranges = pygros.Ranges()
>>> ranges.add('chr1', 10, 20)
>>> ranges.add('chr1', 30, 50)
>>> ranges.add('chr1', 25, 40)
>>> ranges.index()
>>> ranges.overlap('chr1', 30, 40)
[(25, 40, -1), (30, 50, -1)]API reference
-------------pygros.Ranges(intervals=[])
create a Ranges object to store genomic ranges
@param intervals: a list or tuple containing multiple ranges
@return Ranges object
add(chrom, start, end, label=-1)
add genomic range into Ranges object
@param chrom: chromosome name or sequence name
@param start: start of range
@param end: end of range
@param label: an integer
index()
After add new genomic ranges, use this method to build index
overlap(chrom, start, end)
get genomic ranges that overlapped with your given range (start, end)
@param chrom: chromosome or sequence name
@param start: start of range
@param end: end of range
@return: a list of ranges
within(chrom, start, end)
get genomic ranges within given range (start, end)
@param chrom: chromosome or sequence name
@param start: start of range
@param end: end of range
@return: a list of ranges
contain(chrom, start, end)
get genomic ranges that contained in given range (start, end)
@param chrom: chromosome or sequence name
@param start: start of range
@param end: end of range
@return: a list of ranges