Using transcript_name instead of transcript_id

Use the “transcript_name” identifier as the y-axis labels instead of using “transcript_id”

[18]:
import RNApysoforms as RNApy
[20]:
## Path to your ENSEMBL GTF file, counts matrix file, and metadata file
ensembl_gtf_path = "../../dash_apps/RNApysoforms/tests/test_data/Homo_sapiens_chr21_and_Y.GRCh38.110.gtf"
counts_matrix_path = "../../dash_apps/RNApysoforms/tests/test_data/counts_matrix_chr21_and_Y.tsv"
metadata_path = "../../dash_apps/RNApysoforms/tests/test_data/sample_metadata.tsv"

## Process annotation and expression matrix
annotation = RNApy.read_ensembl_gtf(ensembl_gtf_path)
expression_matrix = RNApy.read_expression_matrix(expression_matrix_path=counts_matrix_path,
                                          metadata_path=metadata_path,
                                           cpm_normalization=True, relative_abundance=True)

## Add transcript name
expression_matrix = expression_matrix.join(annotation[["transcript_id", "transcript_name"]].clone(),
                                                   on="transcript_id", how="inner")

## Filter APP data
app_annotation, app_expression_matrix = RNApy.gene_filtering(annotation=annotation, expression_matrix=expression_matrix, target_gene="APP",
                                                        order_by_expression=True, keep_top_expressed_transcripts=5,
                                                        order_by_expression_column="counts", transcript_id_column="transcript_name")

# Rescale introns
app_annotation = RNApy.shorten_gaps(app_annotation)


## Make traces for APP figures
traces = RNApy.make_traces(annotation=app_annotation,  expression_matrix=app_expression_matrix,
                            x_start="rescaled_start", x_end="rescaled_end",
                            y='transcript_name', annotation_hue="transcript_biotype",
                            hover_start="start", hover_end="end",
                            expression_columns=["counts", "relative_abundance"],
                            expression_hue="AD status", marker_size=1, arrow_size=6,
                            show_box_mean=False)

## Make figure
fig = RNApy.make_plot(traces=traces, subplot_titles=["Transcript Structure", "Counts", "Relative Abundance (%)"],
                   width=1200, height=500)

## Show figure
fig.show()

You can click on the legend items to make figure elements appear and disappear.

The legend title will get grayed out when clicking on the first legend item. I could not find a workaround for that with the current plotly release (version 5)