
Security News
npm Adopts OIDC for Trusted Publishing in CI/CD Workflows
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
github.com/stemangiola/tidyheatmap
Stefano Mangiola 2025-01-26
tidyHeatmap
is a package that introduces tidy principles to the
creation of information-rich heatmaps. This package uses
ComplexHeatmap
as graphical engine.
Mangiola et al., (2020). tidyHeatmap: an R package for modular heatmap production based on tidy principles. Journal of Open Source Software, 5(52), 2472, https://doi.org/10.21105/joss.02472
Please have a look also to
# Create some more data points
pasilla_plus <-
tidyHeatmap::pasilla |>
dplyr::mutate(activation_2 = activation, activation_3 = activation) |>
tidyr::nest(data = -sample) |>
dplyr::mutate(size = rnorm(n(), 4,0.5)) |>
dplyr::mutate(age = runif(n(), 50, 200)) |>
tidyr::unnest(data)
# Plot
pasilla_plus |>
heatmap(
.column = sample,
.row = symbol,
.value = `count normalised adjusted`,
scale = "row"
) |>
annotation_group(location) |>
annotation_tile(condition, show_legend = FALSE) |>
annotation_point(activation) |>
annotation_numeric(activation_3) |>
annotation_tile(activation_2) |>
annotation_bar(size) |>
annotation_line(age)
Advantages:
annotation_group
, e.g. heatmap(...) |> annotation_group(...)
After creating a heatmap, you can extract the matrix and dendrograms exactly as they appear in the plot:
# Create heatmap
hm <- tidyHeatmap::N52 |>
tidyHeatmap::heatmap(
.row = symbol_ct,
.column = UBR,
.value = `read count normalised log`
)
# Extract heatmap data as plotted
result <- hm |> get_heatmap_data()
ordered_matrix <- result$matrix # Matrix with rows/columns in heatmap order
row_dendrogram <- result$row_dend # Row dendrogram object
column_dendrogram <- result$column_dend # Column dendrogram object
# All have consistent row and column names
print(rownames(ordered_matrix))
print(labels(row_dendrogram))
Function | Description |
---|---|
heatmap | Plots base heatmap |
annotation_group | Adds group annotation strips and grouping to the heatmap |
annotation_tile | Adds tile annotation to the heatmap |
annotation_point | Adds point annotation to the heatmap |
annotation_bar | Adds bar annotation to the heatmap |
annotation_numeric | Adds bar + number annotation to the heatmap |
annotation_line | Adds line annotation to the heatmap |
layer_text | Add layer of text on top of the heatmap |
layer_point | Adds layer of symbols on top of the heatmap |
layer_square | Adds layer of symbols on top of the heatmap |
layer_diamond | Adds layer of symbols on top of the heatmap |
layer_arrow_up | Adds layer of symbols on top of the heatmap |
layer_arrow_down | Add layer of symbols on top of the heatmap |
layer_star | Add layer of symbols on top of the heatmap |
layer_asterisk | Add layer of symbols on top of the heatmap |
split_rows | Splits the rows based on the dendogram |
split_columns | Splits the columns based on the dendogram |
get_heatmap_data | Retrieves matrix and dendrograms exactly as plotted |
save_pdf | Saves the PDF of the heatmap |
+ | Integrate heatmaps side-by-side |
as_ComplexHeatmap | Convert the tidyHeatmap output to ComplexHeatmap for non-standard "drawing" |
wrap_heatmap | Allows the integration with the patchwork package |
To install the most up-to-date version
devtools::install_github("stemangiola/tidyHeatmap")
To install the most stable version (however please keep in mind that this package is under a maturing lifecycle stage)
install.packages("tidyHeatmap")
If you want to contribute to the software, report issues or problems with the software or seek support please open an issue here
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
Research
/Security News
A RubyGems malware campaign used 60 malicious packages posing as automation tools to steal credentials from social media and marketing tool users.
Security News
The CNA Scorecard ranks CVE issuers by data completeness, revealing major gaps in patch info and software identifiers across thousands of vulnerabilities.