Skip to main content

A Python package designed for visualizing RNA isoform structures and expression levels by leveraging Plotly for interactive plotting and Polars for efficient data manipulation, enabling the creation of fast-rendering, interactive plots.

Project description

RNApysoforms

Run Tests Codecov test coverage Lifecycle: stable GitHub issues GitHub pulls Documentation Status DOI

RNApysoforms is a Python package designed for visualizing RNA isoform structures and expression levels. Leveraging Plotly for interactive plotting and Polars for efficient data manipulation, it enables the creation of fast-rendering, interactive plots suitable for both local and web applications. Inspired by the R package ggtranscript, RNApysoforms brings similar RNA visualization capabilities to the Python ecosystem, facilitating effective exploration and presentation of RNA sequencing data.

Cite us:

https://doi.org/10.1093/bioadv/vbaf057

Important

RNApysoforms expects feature start and end coordinates in GTF format, where coordinates are 1-indexed and inclusive on both ends.

Installation

You can install RNApysoforms using pip:

pip install RNApysoforms

Quick Start

Basic usage (quick start)

More vignettes (usage examples)

Rescaling introns for a prettier RNA isoform structure plot

Plotting RNA isoform structure and expression

Plotting RNA isoform structure and normalized expression

Test data and documentation

Download small test dataset

Function documentation and vignettes

Issues

Please go through the documentation and vignettes before submitting an issue.

Contributing

Contributions to RNApysoforms are welcome! Please feel free to submit a Pull Request.

The function implementations are under the src/RNApysoforms directory.

Functions

  • calculate_exon_number(): Assigns exon numbers to exons, CDS, and introns within a genomic annotation dataset based on transcript structure and strand direction.

  • gene_filtering(): Filters genomic annotations and optionally an expression matrix for a specific gene, with options to order and select top expressed transcripts.

  • make_plot(): Creates a Plotly figure panel for transcript structure plots and/or expression data plots.

  • make_traces(): Generates Plotly traces for visualizing transcript structures and expression data.

  • read_expression_matrix(): Loads and processes an expression matrix, optionally merging with metadata, performing CPM normalization, and calculating relative transcript abundance.

  • read_ensembl_gtf(): Reads an ENSEMBL GTF (Gene Transfer Format) file and returns the data as a Polars DataFrame.

  • shorten_gaps(): Shortens intron and transcript start gaps between exons in genomic annotations to enhance visualization.

  • to_intron(): Converts exon coordinates into corresponding intron coordinates within a genomic annotation dataset.

License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rnapysoforms-1.2.11.tar.gz (36.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rnapysoforms-1.2.11-py3-none-any.whl (39.3 kB view details)

Uploaded Python 3

File details

Details for the file rnapysoforms-1.2.11.tar.gz.

File metadata

  • Download URL: rnapysoforms-1.2.11.tar.gz
  • Upload date:
  • Size: 36.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.12

File hashes

Hashes for rnapysoforms-1.2.11.tar.gz
Algorithm Hash digest
SHA256 d6e15796bf736be6542dc42bb115163973beb238b038e7b89d88b99348cbf2fd
MD5 74579f3211d81f2abb1f7822a556e289
BLAKE2b-256 5df7d074b9f45f2e1b18f82f192fc5a841057c37d8ac819b30e730613d7352fb

See more details on using hashes here.

File details

Details for the file rnapysoforms-1.2.11-py3-none-any.whl.

File metadata

  • Download URL: rnapysoforms-1.2.11-py3-none-any.whl
  • Upload date:
  • Size: 39.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.12

File hashes

Hashes for rnapysoforms-1.2.11-py3-none-any.whl
Algorithm Hash digest
SHA256 c0196cb7c1eb7e2fb1a587c63530dc6b119c3638147b73c0b2278a8eee3848f5
MD5 9fb41c87fd1e98f7e9731451957491a8
BLAKE2b-256 a59695905f4cd8ff9ef17cc50e5ef5f40c0d50d5be1c01740aa009b5e2728b02

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page