Metadata-Version: 2.4
Name: pyranges_plot
Version: 0.1.5
Summary: 'Genomic intervals data visualization package for dataframe objects generated with PyRanges.'
Home-page: https://github.com/pyranges/pyranges_plot
Author: Ester Muñoz del Campo, Marco Mariotti
Author-email: ester.munoz01@estudiant.upf.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: 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: 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

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

PyRanges Plot 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 Pyranges Plot 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 
and output form among others. The input for the `plot` fucntion 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/pyranges_plot/blob/main/images/general_ex.png">
</p>




## Installation
PyRanges-Plot 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 pyranges-plot[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 pyranges-plot[matplotlib]

# For plotly
pip install pyranges-plot[plotly]
```

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


## Documentation
Pyranges Plot documentation and tutorial can be found at https://pyranges-plot.readthedocs.io/.

