Metadata-Version: 2.4
Name: pyrangeyes
Version: 0.4.1
Summary: 'Genomic intervals data visualization package for dataframe objects generated with PyRanges.'
Home-page: https://github.com/pyranges/pyrangeyes
Author: Ester Muñoz del Campo, Max Ticó, Marco Mariotti
Author-email: ester.munoz01@estudiant.upf.edu, max.tico@ub.edu, marco.mariotti@ub.edu
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pyranges1>=1.1.0
Requires-Dist: intervaltree>=3.1.0
Requires-Dist: deepdiff
Requires-Dist: numpy>=2.1
Requires-Dist: pandas>=2.0
Requires-Dist: ipywidgets>=8.0
Provides-Extra: matplotlib
Requires-Dist: matplotlib>=3.7.2; extra == "matplotlib"
Requires-Dist: mplcursors>=0.5.2; extra == "matplotlib"
Provides-Extra: plotly
Requires-Dist: plotly>=5.9.0; extra == "plotly"
Requires-Dist: kaleido>=1.0.0; extra == "plotly"
Requires-Dist: dash>=2.14.0; extra == "plotly"
Requires-Dist: dash_bootstrap_components>=1.5.0; extra == "plotly"
Provides-Extra: docs
Requires-Dist: sphinx>=7.3.7; extra == "docs"
Requires-Dist: sphinx_rtd_theme>=2.0.0; extra == "docs"
Requires-Dist: sphinx-autoapi>=3.1.1; extra == "docs"
Requires-Dist: sphinxcontrib-napoleon>=0.7; extra == "docs"
Requires-Dist: memory-profiler>=0.61.0; extra == "docs"
Provides-Extra: all
Requires-Dist: matplotlib>=3.7.2; extra == "all"
Requires-Dist: mplcursors>=0.5.2; extra == "all"
Requires-Dist: plotly>=5.9.0; extra == "all"
Requires-Dist: kaleido>=1.0.0; extra == "all"
Requires-Dist: dash>=2.14.0; extra == "all"
Requires-Dist: dash_bootstrap_components>=1.5.0; extra == "all"
Requires-Dist: sphinx>=7.3.7; extra == "all"
Requires-Dist: sphinx_rtd_theme>=2.0.0; extra == "all"
Requires-Dist: sphinx-autoapi>=3.1.1; extra == "all"
Requires-Dist: sphinxcontrib-napoleon>=0.7; extra == "all"
Requires-Dist: memory-profiler>=0.61.0; extra == "all"
Requires-Dist: ipywidgets>=8.0; extra == "all"
Dynamic: license-file

# Pyrangeyes
Gene visualization package for dataframe objects generated with [PyRanges](https://pyranges1.readthedocs.io/).

Pyrangeyes significantly facilitates genomic data
interpretation by providing powerful, customizable, and user-friendly visualizations. It
effectively covers the gap between data manipulation and visualization, thereby accelerating
the analysis workflow in genomic research.

## Overview
The goal is getting a plot displaying a series of genes, transcripts, or any kind
of ranges contained in a PyRanges object. It displays the genes' intron-exon structure 
in its corresponding chromosome, enabling easy visualization of your PyRanges data. The 
Pyranges version compatible with Pyrangeyes is >= 1.0.0 (find it at https://github.com/pyranges/pyranges_1.x.git).

To obtain a plot, the variable `engine` must be specified by the user first. This variable 
defines the graphic library on which the plots will be based: the valid `engine` options 
are "matplotlib" or "plt" for Matplotlib and "plotly" or "ply" for Plotly. 

Every other functionality can be defined during the `plot` function call. These 
functionalities include the ID column to group the intervals belonging to the same item 
(transcript, gene, protein...), items disposition, coloring criteria and palette, labels,
row ordering (`sort_ranges=True` for genomic sorting), and output form among others. The input for the `plot` function is 1 or more PyRanges 
objects, and the output is by default an interactive plot with zooming options and tooltip 
information, but if desired the plot can be directly exported to a png or pdf file.



<p align="center">
    <img src="https://github.com/pyranges/pyrangeyes/blob/main/images/general_ex.png">
</p>




## Installation
Pyrangeyes can be installed using pip. To install all dependencies in order to be able to 
use all the functionalities of the package and both engines, the `[all]` option must be 
specified:

```
pip install pyrangeyes[all]
```

If the user wishes to use only one of the engines, the installation of all dependencies 
can be avoided by using the engine-specific installation options:
```
# For matplotlib
pip install pyrangeyes[matplotlib]

# For plotly
pip install pyrangeyes[plotly]
```

Note that the minimal installation by `pip install pyrangeyes` is not able to produce plots 
since the graphical dependencies are not installed.


## Documentation
Pyrangeyes documentation and tutorial can be found at https://pyrangeyes.readthedocs.io/.

