vignettes/liana_intracell.rmd
liana_intracell.rmd
This vignette showcases how to one could obtain and subsequently use the information from OmniPath’s intracellular components with LIANA.
Here, we will assume that we have strong reason to believe that the
RTK pathway is particularly relevant in our study and we are hence
solely interested in interactions from the RKT
pathway.
Thus, we will filter LIANA and OmniPath to only interactions associated
with the RKT
pathway from SignaLink.
SignaLink itself is a signaling pathway resource with
multi-layered regulatory networks.
First, let’s obtain SignaLink
signalink_pathways <-
OmnipathR::import_omnipath_annotations(
resources = 'SignaLink_pathway',
entity_types = 'protein',
wide = TRUE
) %>%
select(genesymbol, pathway)
Then we obtain our resource of choice and run liana. The resource can also be customized, to do so please refer to LIANA’s Customize CCC OmniPath tutorial
# Obtain resource and format it
liana_omni <- select_resource("OmniPath")[[1]] %>%
liana:::decomplexify()
# Run liana with our resource
liana_res <- liana_wrap(testdata,
resource='custom',
external_resource = liana_omni) %>%
# Note! here we work with the 'minimum' subunits
liana_aggregate(join_cols = c("source", "target",
"ligand", "receptor")) # aggregate
## Warning in exec(output, ...): 3465 genes and/or 0 cells were removed as they had
## no counts!
## Warning: `invoke()` is deprecated as of rlang 0.4.0.
## Please use `exec()` or `inject()` instead.
## This warning is displayed once per session.
Here, we assume that we only are only interested in from the RTK pathway.
liana_rtk <- liana_res %>%
left_join(signalink_pathways, by=c("ligand"="genesymbol")) %>%
dplyr::rename(ligand_pathway = pathway) %>%
left_join(signalink_pathways, by=c("receptor"="genesymbol")) %>%
dplyr::rename(receptor_pathway = pathway) %>%
filter(ligand_pathway == "Receptor tyrosine kinase") %>%
filter(receptor_pathway == "Receptor tyrosine kinase")
# Show only interactions in which BOTH the ligand and the receptor
# are associated with the RTK pathway
liana_rtk
## # A tibble: 8 × 18
## source target ligand receptor aggre…¹ mean_…² natmi…³ natmi…⁴ connec…⁵ conne…⁶
## <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 NK NK TGFB1 TGFBR1 0.00558 208. 0.488 37 0.432 122
## 2 NK CD8 T TGFB1 TGFBR2 0.0156 239. 0.355 78 0.376 163
## 3 NK CD8 T TGFBR1 TGFBR2 0.0892 336 0.526 32.5 0.298 246.
## 4 CD8 T NK TGFBR2 TGFBR1 0.0905 336 0.526 32.5 0.298 246.
## 5 B NK TGFB1 TGFBR1 1 518. 0.218 267 0.0947 491
## 6 B CD8 T TGFB1 TGFBR2 1 603. 0.158 431 0.0390 585
## 7 CD8 T NK TGFB1 TGFBR1 1 645. 0.144 477 0.00363 622
## 8 CD8 T CD8 T TGFB1 TGFBR2 1 717. 0.105 619 -0.0521 692
## # … with 8 more variables: logfc.logfc_comb <dbl>, logfc.rank <dbl>,
## # sca.LRscore <dbl>, sca.rank <dbl>, cellphonedb.pvalue <dbl>,
## # cellphonedb.rank <dbl>, ligand_pathway <chr>, receptor_pathway <chr>, and
## # abbreviated variable names ¹aggregate_rank, ²mean_rank,
## # ³natmi.edge_specificity, ⁴natmi.rank, ⁵connectome.weight_sc,
## # ⁶connectome.rank
## # ℹ Use `colnames()` to see all variable names
One could also do the reverse - i.e. filter the resource in regards to a given functional annotation terms (e.g. JAK/STAT, WNT, and RTK), and then run LIANA
pathways_of_interest <- c("JAK/STAT", "Receptor tyrosine kinase", "WNT")
# We join the functional annotations to OmniPath
# and retain ONLY interactions in which BOTH the ligand and receptor
# are associated with RTK pathways
rkt_omni <- liana_omni %>%
left_join(signalink_pathways, by=c("source_genesymbol"="genesymbol")) %>%
rename(source_geneset = pathway) %>%
left_join(signalink_pathways, by=c("target_genesymbol"="genesymbol")) %>%
rename(target_geneset = pathway) %>%
filter(source_geneset %in% pathways_of_interest) %>%
filter(target_geneset %in% pathways_of_interest)
# We can then again run LIANA with the RKT-associated interactions alone
liana_rtk_omni <- liana_wrap(testdata,
resource='custom',
external_resource = rkt_omni) %>%
liana_aggregate(join_cols = c("source", "target",
"ligand", "receptor"))
## Expression from the `RNA` assay will be used
## Running LIANA with `seurat_annotations` as labels!
## Warning in exec(output, ...): 3465 genes and/or 0 cells were removed as they had
## no counts!
## LIANA: LR summary stats calculated!
## Now Running: Natmi
## Now Running: Connectome
## Now Running: Logfc
## Now Running: Sca
## Now Running: Cellphonedb
## Now aggregating natmi
## Now aggregating connectome
## Now aggregating logfc
## Now aggregating sca
## Now aggregating cellphonedb
## Aggregating Ranks
liana_rtk_omni
## # A tibble: 39 × 16
## source target ligand receptor aggre…¹ mean_…² natmi…³ natmi…⁴ conne…⁵ conne…⁶
## <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 NK NK TGFB1 TGFBR1 5.67e-5 2.9 0.488 4 0.432 1
## 2 NK CD8 T IFNG IFNGR1 4.31e-4 4.5 0.359 6 0.312 4
## 3 NK CD8 T TGFB1 TGFBR2 9.31e-4 4.3 0.355 7 0.376 2
## 4 CD8 T NK IL23A IL12RB1 1.82e-3 3.1 0.530 1 0.367 3
## 5 NK B IFNG IFNGR2 3.27e-3 5.2 0.372 5 0.304 5
## 6 NK CD8 T IL10RB IL10RA 3.27e-3 7.4 0.349 9 0.299 6
## 7 B CD8 T IL4R IL2RG 2.06e-2 9.4 0.259 12 0.253 9
## 8 B CD8 T IFNAR1 IFNGR1 2.98e-2 12.4 0.261 11 0.203 12
## 9 NK NK IFNG IFNGR2 4.21e-2 10.4 0.269 10 0.233 11
## 10 NK CD8 T TGFBR1 TGFBR2 5.78e-2 10.1 0.526 2.5 0.298 7.5
## # … with 29 more rows, 6 more variables: logfc.logfc_comb <dbl>,
## # logfc.rank <dbl>, sca.LRscore <dbl>, sca.rank <dbl>,
## # cellphonedb.pvalue <dbl>, cellphonedb.rank <dbl>, and abbreviated variable
## # names ¹aggregate_rank, ²mean_rank, ³natmi.edge_specificity, ⁴natmi.rank,
## # ⁵connectome.weight_sc, ⁶connectome.rank
## # ℹ Use `print(n = ...)` to see more rows, and `colnames()` to see all variable names
Here, (a bit more advanced) we will attempt to obtain over-represented MSigDB gene sets in preferentially ranked ligand-receptor interactions from LIANA.
# we take liana from above and keep only the columns that we need
# in this case we will use the aggragate for all methods
liana_form <- liana_res %>%
select(source, ligand, target,
receptor, aggregate_rank) %>%
# one could treat the aggragate rank as
# the probability to observe an interaction
# as preferentially highly ranked
# one could also p.adjust
# mutate(aggregate_rank = p.adjust(aggregate_rank)) %>%
filter(aggregate_rank <= 0.05)
liana_form
## # A tibble: 191 × 5
## source ligand target receptor aggregate_rank
## <chr> <chr> <chr> <chr> <dbl>
## 1 B HLA-DRA NK CD63 0.000000460
## 2 B HLA-DRA B CD37 0.000000522
## 3 B MS4A1 B CD82 0.000000965
## 4 B HLA-DQA1 CD8 T LAG3 0.00000322
## 5 B HLA-DRA B CD19 0.00000326
## 6 B HLA-DMA B CD74 0.00000397
## 7 B HLA-DMB B CD74 0.00000467
## 8 B HLA-DRB1 B CD37 0.00000827
## 9 B HLA-DRB1 B CD19 0.00000972
## 10 B HLA-DRA B CD82 0.0000114
## # … with 181 more rows
## # ℹ Use `print(n = ...)` to see more rows
Here we focus on the Hallmarks gene set
msigdb <- OmnipathR::import_omnipath_annotations(resources = "MSigDB",
wide = TRUE) %>%
filter(collection=="hallmark") %>%
select(genesymbol, geneset)
# Here, we join pathways associated with ligand and receptors, separately
# Note that here we consider only matches to ligands and receptors from OmniPath as the background universe
omni_universe <- liana_omni %>%
select(source_genesymbol, target_genesymbol) %>%
left_join(msigdb, by=c("source_genesymbol"="genesymbol")) %>%
rename(source_geneset = geneset) %>%
left_join(msigdb, by=c("target_genesymbol"="genesymbol")) %>%
rename(target_geneset = geneset)
# Establish Ligand Universe
entity_total <- length(unique(omni_universe$source_genesymbol))
ligand_universe <- omni_universe %>%
select(ligand = source_genesymbol, geneset = source_geneset) %>%
na.omit() %>%
distinct() %>%
group_by(geneset) %>%
mutate(geneset_n = n()) %>%
ungroup() %>%
arrange(desc(geneset_n)) %>%
mutate(background = entity_total)
# Bind Distinct liana ligand hits to the universe
# Get Distinct Ligands in top hits
liana_ligands <- liana_form %>%
select(source, ligand) %>%
distinct() %>%
mutate(distinct_hits = n())
# Perform hypergeometric test
liana_hyperenrich <- ligand_universe %>%
left_join(liana_ligands, by=c("ligand")) %>%
na.omit() %>%
group_by(source, geneset) %>%
# count ligands in geneset
mutate(ligands_in_gs = n()) %>% # aka x/q
rowwise() %>%
mutate(pval = phyper(q = ligands_in_gs,
m = geneset_n,
n = background-geneset_n,
k = distinct_hits, lower.tail = FALSE)) %>%
ungroup() %>%
arrange(pval)
# Note that the ligand coverage of some gene sets is simply too limited
# So, one could consider not limiting the results to the ligands alone
liana_hyperenrich
## # A tibble: 151 × 8
## ligand geneset genes…¹ backg…² source disti…³ ligan…⁴ pval
## <chr> <chr> <int> <int> <chr> <int> <int> <dbl>
## 1 NCR1 HALLMARK_ALLOGRAFT_REJ… 90 1219 NK 87 13 0.00319
## 2 HLA-A HALLMARK_ALLOGRAFT_REJ… 90 1219 NK 87 13 0.00319
## 3 ITGB2 HALLMARK_ALLOGRAFT_REJ… 90 1219 NK 87 13 0.00319
## 4 PTPRC HALLMARK_ALLOGRAFT_REJ… 90 1219 NK 87 13 0.00319
## 5 HLA-E HALLMARK_ALLOGRAFT_REJ… 90 1219 NK 87 13 0.00319
## 6 IL2RB HALLMARK_ALLOGRAFT_REJ… 90 1219 NK 87 13 0.00319
## 7 IL2RG HALLMARK_ALLOGRAFT_REJ… 90 1219 NK 87 13 0.00319
## 8 CD47 HALLMARK_ALLOGRAFT_REJ… 90 1219 NK 87 13 0.00319
## 9 KLRD1 HALLMARK_ALLOGRAFT_REJ… 90 1219 NK 87 13 0.00319
## 10 B2M HALLMARK_ALLOGRAFT_REJ… 90 1219 NK 87 13 0.00319
## # … with 141 more rows, and abbreviated variable names ¹geneset_n, ²background,
## # ³distinct_hits, ⁴ligands_in_gs
## # ℹ Use `print(n = ...)` to see more rows
liana_hyperenrich %>%
select(geneset, source, pval) %>%
distinct() %>%
mutate(adj_pval = p.adjust(pval, method = "fdr")) %>%
arrange(adj_pval)
## # A tibble: 67 × 4
## geneset source pval adj_pval
## <chr> <chr> <dbl> <dbl>
## 1 HALLMARK_ALLOGRAFT_REJECTION NK 0.00319 0.134
## 2 HALLMARK_MTORC1_SIGNALING NK 0.00600 0.134
## 3 HALLMARK_FATTY_ACID_METABOLISM NK 0.00600 0.134
## 4 HALLMARK_INTERFERON_ALPHA_RESPONSE NK 0.0139 0.193
## 5 HALLMARK_UNFOLDED_PROTEIN_RESPONSE NK 0.0144 0.193
## 6 HALLMARK_PROTEIN_SECRETION B 0.0275 0.213
## 7 HALLMARK_PROTEIN_SECRETION NK 0.0275 0.213
## 8 HALLMARK_G2M_CHECKPOINT NK 0.0275 0.213
## 9 HALLMARK_INTERFERON_GAMMA_RESPONSE NK 0.0380 0.213
## 10 HALLMARK_INTERFERON_GAMMA_RESPONSE B 0.0380 0.213
## # … with 57 more rows
## # ℹ Use `print(n = ...)` to see more rows
Done! Check whether any categories are over-represented (by celltype) in our dataset.
Kind reminder that this analysis is intended for representation purposes alone. We usually favour the use of the whole genome for any enrichment and pathway analyses, and kindly refer to the user to the rest of our tools, which can be highly complementary when interpretting the ligand-receptor predictions from LIANA.
We also kindly refer the user to OmniPathR, and the OmniPath website for more information how to make full use of OmniPath!
options(width = 120)
sessioninfo::session_info()
## ─ Session info ───────────────────────────────────────────────────────────────────────────────────────────────────────
## setting value
## version R version 4.1.2 (2021-11-01)
## os Ubuntu 20.04.5 LTS
## system x86_64, linux-gnu
## ui X11
## language en
## collate en_US.UTF-8
## ctype en_US.UTF-8
## tz Europe/Berlin
## date 2022-11-08
## pandoc 2.18 @ /home/dbdimitrov/anaconda3/envs/liana4.1/bin/ (via rmarkdown)
##
## ─ Packages ───────────────────────────────────────────────────────────────────────────────────────────────────────────
## package * version date (UTC) lib source
## abind 1.4-5 2016-07-21 [2] CRAN (R 4.1.2)
## assertthat 0.2.1 2019-03-21 [2] CRAN (R 4.1.2)
## backports 1.4.1 2021-12-13 [2] CRAN (R 4.1.2)
## basilisk 1.9.12 2022-10-31 [2] Github (LTLA/basilisk@e185224)
## basilisk.utils 1.9.4 2022-10-31 [2] Github (LTLA/basilisk.utils@b3ab58d)
## beachmat 2.10.0 2021-10-26 [2] Bioconductor
## beeswarm 0.4.0 2021-06-01 [2] CRAN (R 4.1.2)
## Biobase 2.54.0 2021-10-26 [2] Bioconductor
## BiocGenerics 0.40.0 2021-10-26 [2] Bioconductor
## BiocManager 1.30.18 2022-05-18 [2] CRAN (R 4.1.2)
## BiocNeighbors 1.12.0 2021-10-26 [2] Bioconductor
## BiocParallel 1.28.3 2021-12-09 [2] Bioconductor
## BiocSingular 1.10.0 2021-10-26 [2] Bioconductor
## BiocStyle * 2.22.0 2021-10-26 [2] Bioconductor
## bit 4.0.4 2020-08-04 [2] CRAN (R 4.1.0)
## bit64 4.0.5 2020-08-30 [2] CRAN (R 4.1.0)
## bitops 1.0-7 2021-04-24 [2] CRAN (R 4.1.2)
## bluster 1.4.0 2021-10-26 [2] Bioconductor
## bookdown 0.27 2022-06-14 [2] CRAN (R 4.1.2)
## broom 1.0.0 2022-07-01 [2] CRAN (R 4.1.2)
## bslib 0.4.0 2022-07-16 [2] CRAN (R 4.1.2)
## cachem 1.0.6 2021-08-19 [2] CRAN (R 4.1.2)
## cellranger 1.1.0 2016-07-27 [2] CRAN (R 4.1.2)
## checkmate 2.1.0 2022-04-21 [2] CRAN (R 4.1.2)
## circlize 0.4.15 2022-05-10 [2] CRAN (R 4.1.2)
## cli 3.3.0 2022-04-25 [2] CRAN (R 4.1.2)
## clue 0.3-61 2022-05-30 [2] CRAN (R 4.1.2)
## cluster 2.1.3 2022-03-28 [2] CRAN (R 4.1.2)
## codetools 0.2-18 2020-11-04 [2] CRAN (R 4.1.2)
## colorspace 2.0-3 2022-02-21 [2] CRAN (R 4.1.2)
## ComplexHeatmap 2.10.0 2021-10-26 [2] Bioconductor
## cowplot 1.1.1 2020-12-30 [2] CRAN (R 4.1.2)
## crayon 1.5.1 2022-03-26 [2] CRAN (R 4.1.2)
## curl 4.3.2 2021-06-23 [2] CRAN (R 4.1.0)
## data.table 1.14.2 2021-09-27 [2] CRAN (R 4.1.2)
## DBI 1.1.3 2022-06-18 [2] CRAN (R 4.1.2)
## dbplyr 2.2.1 2022-06-27 [2] CRAN (R 4.1.2)
## DelayedArray 0.20.0 2021-10-26 [2] Bioconductor
## DelayedMatrixStats 1.16.0 2021-10-26 [2] Bioconductor
## deldir 1.0-6 2021-10-23 [2] CRAN (R 4.1.2)
## desc 1.4.1 2022-03-06 [2] CRAN (R 4.1.2)
## digest 0.6.29 2021-12-01 [2] CRAN (R 4.1.1)
## dir.expiry 1.2.0 2021-10-26 [2] Bioconductor
## doParallel 1.0.17 2022-02-07 [2] CRAN (R 4.1.2)
## dplyr * 1.0.9 2022-04-28 [2] CRAN (R 4.1.2)
## dqrng 0.3.0 2021-05-01 [2] CRAN (R 4.1.2)
## edgeR 3.36.0 2021-10-26 [2] Bioconductor
## ellipsis 0.3.2 2021-04-29 [2] CRAN (R 4.1.2)
## evaluate 0.15 2022-02-18 [2] CRAN (R 4.1.2)
## fansi 1.0.3 2022-03-24 [2] CRAN (R 4.1.2)
## fastmap 1.1.0 2021-01-25 [2] CRAN (R 4.1.2)
## filelock 1.0.2 2018-10-05 [2] CRAN (R 4.1.2)
## fitdistrplus 1.1-8 2022-03-10 [2] CRAN (R 4.1.2)
## forcats * 0.5.1 2021-01-27 [2] CRAN (R 4.1.2)
## foreach 1.5.2 2022-02-02 [2] CRAN (R 4.1.2)
## fs 1.5.2 2021-12-08 [2] CRAN (R 4.1.2)
## future 1.27.0 2022-07-22 [2] CRAN (R 4.1.2)
## future.apply 1.9.0 2022-04-25 [2] CRAN (R 4.1.2)
## gargle 1.2.0 2021-07-02 [2] CRAN (R 4.1.2)
## generics 0.1.3 2022-07-05 [2] CRAN (R 4.1.2)
## GenomeInfoDb 1.30.1 2022-01-30 [2] Bioconductor
## GenomeInfoDbData 1.2.7 2022-01-26 [2] Bioconductor
## GenomicRanges 1.46.1 2021-11-18 [2] Bioconductor
## GetoptLong 1.0.5 2020-12-15 [2] CRAN (R 4.1.2)
## ggbeeswarm 0.6.0 2017-08-07 [2] CRAN (R 4.1.2)
## ggplot2 * 3.3.6 2022-05-03 [2] CRAN (R 4.1.2)
## ggrepel 0.9.1 2021-01-15 [2] CRAN (R 4.1.2)
## ggridges 0.5.3 2021-01-08 [2] CRAN (R 4.1.2)
## GlobalOptions 0.1.2 2020-06-10 [2] CRAN (R 4.1.2)
## globals 0.15.1 2022-06-24 [2] CRAN (R 4.1.2)
## glue 1.6.2 2022-02-24 [2] CRAN (R 4.1.2)
## goftest 1.2-3 2021-10-07 [2] CRAN (R 4.1.2)
## googledrive 2.0.0 2021-07-08 [2] CRAN (R 4.1.2)
## googlesheets4 1.0.0 2021-07-21 [2] CRAN (R 4.1.2)
## gridExtra 2.3 2017-09-09 [2] CRAN (R 4.1.2)
## gtable 0.3.0 2019-03-25 [2] CRAN (R 4.1.2)
## haven 2.5.0 2022-04-15 [2] CRAN (R 4.1.2)
## hms 1.1.1 2021-09-26 [2] CRAN (R 4.1.2)
## htmltools 0.5.3 2022-07-18 [2] CRAN (R 4.1.2)
## htmlwidgets 1.5.4 2021-09-08 [2] CRAN (R 4.1.2)
## httpuv 1.6.5 2022-01-05 [2] CRAN (R 4.1.2)
## httr 1.4.3 2022-05-04 [2] CRAN (R 4.1.2)
## ica 1.0-3 2022-07-08 [2] CRAN (R 4.1.2)
## igraph 1.3.0 2022-04-01 [2] CRAN (R 4.1.3)
## IRanges 2.28.0 2021-10-26 [2] Bioconductor
## irlba 2.3.5 2021-12-06 [2] CRAN (R 4.1.2)
## iterators 1.0.14 2022-02-05 [2] CRAN (R 4.1.2)
## jquerylib 0.1.4 2021-04-26 [2] CRAN (R 4.1.2)
## jsonlite 1.8.0 2022-02-22 [2] CRAN (R 4.1.2)
## KernSmooth 2.23-20 2021-05-03 [2] CRAN (R 4.1.2)
## knitr 1.39 2022-04-26 [2] CRAN (R 4.1.2)
## later 1.3.0 2021-08-18 [2] CRAN (R 4.1.2)
## lattice 0.20-45 2021-09-22 [2] CRAN (R 4.1.1)
## lazyeval 0.2.2 2019-03-15 [2] CRAN (R 4.1.2)
## leiden 0.4.2 2022-05-09 [2] CRAN (R 4.1.2)
## liana * 0.1.8 2022-11-08 [1] Bioconductor
## lifecycle 1.0.1 2021-09-24 [2] CRAN (R 4.1.2)
## limma 3.50.3 2022-04-07 [2] Bioconductor
## listenv 0.8.0 2019-12-05 [2] CRAN (R 4.1.2)
## lmtest 0.9-40 2022-03-21 [2] CRAN (R 4.1.2)
## locfit 1.5-9.6 2022-07-11 [2] CRAN (R 4.1.2)
## logger 0.2.2 2021-10-19 [2] CRAN (R 4.1.2)
## lubridate 1.8.0 2021-10-07 [2] CRAN (R 4.1.2)
## magrittr * 2.0.3 2022-03-30 [2] CRAN (R 4.1.3)
## MASS 7.3-58 2022-07-14 [2] CRAN (R 4.1.2)
## Matrix 1.4-1 2022-03-23 [2] CRAN (R 4.1.2)
## MatrixGenerics 1.6.0 2021-10-26 [2] Bioconductor
## matrixStats 0.62.0 2022-04-19 [2] CRAN (R 4.1.2)
## memoise 2.0.1 2021-11-26 [2] CRAN (R 4.1.2)
## metapod 1.2.0 2021-10-26 [2] Bioconductor
## mgcv 1.8-40 2022-03-29 [2] CRAN (R 4.1.2)
## mime 0.12 2021-09-28 [2] CRAN (R 4.1.2)
## miniUI 0.1.1.1 2018-05-18 [2] CRAN (R 4.1.2)
## modelr 0.1.8 2020-05-19 [2] CRAN (R 4.1.2)
## munsell 0.5.0 2018-06-12 [2] CRAN (R 4.1.2)
## nlme 3.1-158 2022-06-15 [2] CRAN (R 4.1.2)
## OmnipathR 3.5.5 2022-07-03 [2] Github (saezlab/OmnipathR@679bb79)
## parallelly 1.32.1 2022-07-21 [2] CRAN (R 4.1.2)
## patchwork 1.1.1 2020-12-17 [2] CRAN (R 4.1.2)
## pbapply 1.5-0 2021-09-16 [2] CRAN (R 4.1.2)
## pillar 1.8.0 2022-07-18 [2] CRAN (R 4.1.2)
## pkgconfig 2.0.3 2019-09-22 [2] CRAN (R 4.1.0)
## pkgdown 2.0.6 2022-07-16 [2] CRAN (R 4.1.2)
## plotly 4.10.0 2021-10-09 [2] CRAN (R 4.1.2)
## plyr 1.8.7 2022-03-24 [2] CRAN (R 4.1.2)
## png 0.1-7 2013-12-03 [2] CRAN (R 4.1.0)
## polyclip 1.10-0 2019-03-14 [2] CRAN (R 4.1.2)
## prettyunits 1.1.1 2020-01-24 [2] CRAN (R 4.1.2)
## progress 1.2.2 2019-05-16 [2] CRAN (R 4.1.2)
## progressr 0.10.1 2022-06-03 [2] CRAN (R 4.1.2)
## promises 1.2.0.1 2021-02-11 [2] CRAN (R 4.1.2)
## purrr * 0.3.4 2020-04-17 [2] CRAN (R 4.1.0)
## R6 2.5.1 2021-08-19 [2] CRAN (R 4.1.2)
## ragg 1.2.2 2022-02-21 [2] CRAN (R 4.1.2)
## RANN 2.6.1 2019-01-08 [2] CRAN (R 4.1.2)
## rappdirs 0.3.3 2021-01-31 [2] CRAN (R 4.1.2)
## RColorBrewer 1.1-3 2022-04-03 [2] CRAN (R 4.1.2)
## Rcpp 1.0.8.3 2022-03-17 [2] CRAN (R 4.1.2)
## RcppAnnoy 0.0.19 2021-07-30 [2] CRAN (R 4.1.2)
## RCurl 1.98-1.7 2022-06-09 [2] CRAN (R 4.1.2)
## readr * 2.1.2 2022-01-30 [2] CRAN (R 4.1.2)
## readxl 1.4.0 2022-03-28 [2] CRAN (R 4.1.2)
## reprex 2.0.1 2021-08-05 [2] CRAN (R 4.1.2)
## reshape2 1.4.4 2020-04-09 [2] CRAN (R 4.1.2)
## reticulate 1.25 2022-05-11 [2] CRAN (R 4.1.2)
## rgeos 0.5-9 2021-12-15 [2] CRAN (R 4.1.2)
## rjson 0.2.21 2022-01-09 [2] CRAN (R 4.1.2)
## rlang 1.0.4 2022-07-12 [2] CRAN (R 4.1.3)
## rmarkdown 2.14 2022-04-25 [2] CRAN (R 4.1.2)
## ROCR 1.0-11 2020-05-02 [2] CRAN (R 4.1.2)
## rpart 4.1.16 2022-01-24 [2] CRAN (R 4.1.2)
## rprojroot 2.0.3 2022-04-02 [2] CRAN (R 4.1.2)
## rstudioapi 0.13 2020-11-12 [2] CRAN (R 4.1.2)
## rsvd 1.0.5 2021-04-16 [2] CRAN (R 4.1.2)
## Rtsne 0.16 2022-04-17 [2] CRAN (R 4.1.2)
## rvest 1.0.2 2021-10-16 [2] CRAN (R 4.1.2)
## S4Vectors 0.32.4 2022-03-24 [2] Bioconductor
## sass 0.4.2 2022-07-16 [2] CRAN (R 4.1.2)
## ScaledMatrix 1.2.0 2021-10-26 [2] Bioconductor
## scales 1.2.0 2022-04-13 [2] CRAN (R 4.1.2)
## scater 1.22.0 2021-10-26 [2] Bioconductor
## scattermore 0.8 2022-02-14 [2] CRAN (R 4.1.2)
## scran 1.22.1 2021-11-14 [2] Bioconductor
## sctransform 0.3.3 2022-01-13 [2] CRAN (R 4.1.2)
## scuttle 1.4.0 2021-10-26 [2] Bioconductor
## sessioninfo 1.2.2 2021-12-06 [2] CRAN (R 4.1.2)
## Seurat 4.1.1 2022-05-02 [2] CRAN (R 4.1.2)
## SeuratObject 4.1.0 2022-05-01 [2] CRAN (R 4.1.2)
## shape 1.4.6 2021-05-19 [2] CRAN (R 4.1.2)
## shiny 1.7.2 2022-07-19 [2] CRAN (R 4.1.2)
## SingleCellExperiment 1.16.0 2021-10-26 [2] Bioconductor
## sp 1.5-0 2022-06-05 [2] CRAN (R 4.1.3)
## sparseMatrixStats 1.6.0 2021-10-26 [2] Bioconductor
## spatstat.core 2.4-4 2022-05-18 [2] CRAN (R 4.1.2)
## spatstat.data 2.2-0 2022-04-18 [2] CRAN (R 4.1.2)
## spatstat.geom 2.4-0 2022-03-29 [2] CRAN (R 4.1.2)
## spatstat.random 2.2-0 2022-03-30 [2] CRAN (R 4.1.2)
## spatstat.sparse 2.1-1 2022-04-18 [2] CRAN (R 4.1.2)
## spatstat.utils 2.3-1 2022-05-06 [2] CRAN (R 4.1.2)
## statmod 1.4.36 2021-05-10 [2] CRAN (R 4.1.2)
## stringi 1.7.6 2021-11-29 [2] CRAN (R 4.1.1)
## stringr * 1.4.0 2019-02-10 [2] CRAN (R 4.1.0)
## SummarizedExperiment 1.24.0 2021-10-26 [2] Bioconductor
## survival 3.3-1 2022-03-03 [2] CRAN (R 4.1.2)
## systemfonts 1.0.4 2022-02-11 [2] CRAN (R 4.1.2)
## tensor 1.5 2012-05-05 [2] CRAN (R 4.1.2)
## textshaping 0.3.6 2021-10-13 [2] CRAN (R 4.1.2)
## tibble * 3.1.8 2022-07-22 [2] CRAN (R 4.1.2)
## tidyr * 1.2.0 2022-02-01 [2] CRAN (R 4.1.2)
## tidyselect 1.1.2 2022-02-21 [2] CRAN (R 4.1.2)
## tidyverse * 1.3.2 2022-07-18 [2] CRAN (R 4.1.2)
## tzdb 0.3.0 2022-03-28 [2] CRAN (R 4.1.2)
## utf8 1.2.2 2021-07-24 [2] CRAN (R 4.1.2)
## uwot 0.1.11 2021-12-02 [2] CRAN (R 4.1.2)
## vctrs 0.4.1 2022-04-13 [2] CRAN (R 4.1.2)
## vipor 0.4.5 2017-03-22 [2] CRAN (R 4.1.2)
## viridis 0.6.2 2021-10-13 [2] CRAN (R 4.1.2)
## viridisLite 0.4.0 2021-04-13 [2] CRAN (R 4.1.2)
## vroom 1.5.7 2021-11-30 [2] CRAN (R 4.1.2)
## withr 2.5.0 2022-03-03 [2] CRAN (R 4.1.2)
## xfun 0.31 2022-05-10 [2] CRAN (R 4.1.2)
## xml2 1.3.3 2021-11-30 [2] CRAN (R 4.1.2)
## xtable 1.8-4 2019-04-21 [2] CRAN (R 4.1.2)
## XVector 0.34.0 2021-10-26 [2] Bioconductor
## yaml 2.3.5 2022-02-21 [2] CRAN (R 4.1.2)
## zlibbioc 1.40.0 2021-10-26 [2] Bioconductor
## zoo 1.8-10 2022-04-15 [2] CRAN (R 4.1.2)
##
## [1] /tmp/RtmpVLiNkN/temp_libpath6ebbf78bb5b6b
## [2] /home/dbdimitrov/anaconda3/envs/liana4.1/lib/R/library
##
## ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────