From 3f8287af495f37118771adab46d9cc12e7ea5ab5 Mon Sep 17 00:00:00 2001 From: hosseinvk Date: Mon, 10 Aug 2026 16:47:45 +1000 Subject: [PATCH] Fix VM setup issues found by colleagues: WebGestaltR/cargo, ggridges Adds ggridges to the CRAN package list in the setup page (required by enrichplot::ridgeplot(), was missing and had to be added manually on the workshop VMs). Also adds a note explaining that WebGestaltR compiles Rust source during installation and needs a working cargo toolchain, pointing at rustup as the fix when an older distro-packaged cargo fails. Also clarifies in the STRINGdb chapter that an empty data frame from get_interactions(crabp2, sema3a) is expected, not a bug: STRING has no direct interaction annotated between these two genes. --- 01-02-setup.Rmd | 3 +++ 08-2-stringdb.Rmd | 2 ++ 2 files changed, 5 insertions(+) diff --git a/01-02-setup.Rmd b/01-02-setup.Rmd index 48a4e53..d15a9ad 100644 --- a/01-02-setup.Rmd +++ b/01-02-setup.Rmd @@ -21,6 +21,7 @@ install.packages(c( "gprofiler2", "ggupset", "ggtangle", + "ggridges", # needed by enrichplot::ridgeplot() "msigdbr", "ontologyIndex", "WebGestaltR", @@ -29,6 +30,8 @@ install.packages(c( )) ``` +**Note on `WebGestaltR`:** it includes Rust source code that gets compiled during installation, so a working Rust toolchain (including `cargo`) is required beforehand. If installation fails with a "cargo command is not available" or similar error, install/update Rust via [rustup](https://www.rust-lang.org/tools/install) rather than an older distro-packaged `cargo`, then retry `install.packages("WebGestaltR")`. +

 

## Bioconductor packages diff --git a/08-2-stringdb.Rmd b/08-2-stringdb.Rmd index d96c243..bdcf5f2 100644 --- a/08-2-stringdb.Rmd +++ b/08-2-stringdb.Rmd @@ -215,6 +215,8 @@ sema3a <- string_db$mp("sema3a") string_db$get_interactions(c(crabp2, sema3a)) ``` +An empty data frame here is expected, not an error: `CRABP2` and `SEMA3A` are not annotated as directly interacting in STRING, so there is no row to return. `get_interactions` only reports edges that exist directly between the queried proteins; it will not tell you about shared partners or indirect paths between them. + ### Interaction partners To retrieve the first-shell interaction partners of one or more proteins from the locally loaded network, use `get_interaction_partners`. The output has the same structure as `get_interactions`.