InterCellar: an R-Shiny app for interactive analysis and exploration of cell-cell communication in single-cell transcriptomics


[Up] [Top]

Documentation for package ‘InterCellar’ version 2.8.0

Help Pages

annotateGO Perform GO annotation of input data
annotatePathways Annotate pathways for input data
buildPairsbyFunctionMatrix Build binary matrix with int-pairs in rows, functions in cols
checkLL_RR Manually change the annotation of L-L and R-R pairs
circlePlot Plot circle plot
combineAnnotations Combine GO annotation and pathways in a unique object
createBarPlot1_ggplot Create ggplot barplot to be saved in tiff
createBarPlot2_CV Create barplot of number of interaction for selected cluster
createBarPlot2_ggplot Create ggplot barplot of Nint per cluster selected
createBarPlot_CV Create Barplot cluster-verse
createNetwork Create Network of clusters
dendroIntPairModules Get dendrogram of int pair modules
elbowPoint Determine the elbow point on a curve (from package akmedoids)
ensemblLink Get html link to ensembl
getBack2BackBarplot Get back-to-back barplot for 2 conditions comparison
getBarplotDF Get dataframe for plotting barplot (all clusters)
getBarplotDF2 Get dataframe for barplot (by cluster)
getClusterA_Names Get cluster names only from sender cluster A
getClusterColors Get colors for clusters
getClusterNames Get clusters names from initial input data
getClusterNetwork Creating edges dataframe for network of clusters
getClusterSize Get Clusters size
getDistinctCouplets Get table of unique int-pairs/clust-pairs couplets
getDotPlot_selInt Functions to plot DotPlots
getGeneTable Get table for gene-verse
getGObiomaRt Connection to Ensembl via biomaRt to get GO terms
getHitsf Subfunction to calculate significant functions by permutation test
getIntFlow Get subset of interactions corresponding to a certain viewpoint and flow
getNtermsBYdb Calculate number of terms of a database
getNumLR Get number of unique ligands and receptors
getPieChart Get Pie Chart of unique couplets
getRadar_df #' Get radar plot of relative numbers of interactions for a certain cell type #' #' @param tab_c1 barplot dataframe from Viewpoint generated by getBarplotDF2() containing data for condition 1 #' @param tab_c2 barplot dataframe from Viewpoint generated by getBarplotDF2() containing data for condition 2 #' @param tab_c3 barplot dataframe from Viewpoint generated by getBarplotDF2() containing data for condition 3 #' @param lab_c1 label for condition 1 #' @param lab_c2 label for condition 2 #' @param lab_c3 label for condition 3 #' @param cell_name label of cell type of interest #' #' @return plot #' @importFrom fmsb radarchart #' @importFrom data.table transpose getRadarPlot <- function(tab_c1, tab_c2, tab_c3, lab_c1, lab_c2, lab_c3, cell_name) if(is.null(tab_c3)) df <- merge(tab_c1, tab_c2, by = "Clusters", all = TRUE) colnames(df) <- c("Clusters", "nint_c1", "nint_c2") else df <- merge(tab_c1, tab_c2, by = "Clusters", all = TRUE) df <- merge(df, tab_c3, by = "Clusters", all = TRUE) colnames(df) <- c("Clusters", "nint_c1", "nint_c2", "nint_c3") df[is.na(df)] <- 0 cluster_names <- df$Clusters # add max and min max_nint <- max(df[, -1]) df <- add_column(df, max_nint, .after = "Clusters") df <- add_column(df, "min_nint" = 0, .after = "max_nint") radar_df <- data.table::transpose(df[, -1]) if(is.null(lab_c3)) rownames(radar_df) <- c("max", "min", lab_c1, lab_c2) else rownames(radar_df) <- c("max", "min", lab_c1, lab_c2, lab_c3) colnames(radar_df) <- cluster_names color <- c("#438ECC", "#E97778", "#00BA38") fmsb::radarchart( radar_df, axistype = 1, # Customize the polygon pcol = color, pfcol = scales::alpha(color, 0.5), plwd = 2, plty = 1, # Customize the grid cglcol = "grey", cglty = 1, cglwd = 0.8, # Customize the axis axislabcol = "grey30", # Variable labels vlcex = 1.2, vlabels = colnames(radar_df), caxislabels = round(seq(from = 0, to = radar_df["max",1], length.out = 5)), title = cell_name ) legend( x = "bottomleft", legend = rownames(radar_df[-c(1,2),]), horiz = FALSE, bty = "n", pch = 20 , col = color, text.col = "black", cex = 1, pt.cex = 1.5 ) Get radar df of relative numbers of interactions for a certain cell type
getRankedTerms Get table with ranked functional terms
getSignificantFunctions Calculate significant function per intpair module
getSignificantFunctions_multiCond Get significance of functional terms related to unique int-pairs per condition
getSignif_table Wrapper for other functions to get significant table of func terms
getSunburst Get Sunburst plot of selected functional terms
getUMAPipModules Get UMAP for IP modules
getUniqueDotplot Plot dotplot containing only unique int-pair/cluster pairs with many conditions
getUniqueIntpairs_byCond Get table of unique int-pairs by condition
goLink Get GO link
input.data Input Data example
read.cellchat Read dataframe of cell-cell communication from CellChat (ligand/receptor)
read.CPDBv2 Read output from CellPhoneDB v2.
read.customInput Read custom input file and re-structure it with InterCellar format
read.icellnet Read ICELLNET dataframe
read.SCsignalR Read output from SingleCellSignalR
run_app Run the Shiny Application
subsetAnnot_multiCond Subset int-pair by function matrices to unique int-pairs by condition
subsetFuncMatBYFlow Subset pairs-function matrix by selected flow
swap.RLint Swaps interaction pairs that are R-L to L-R
uniprotLink Get html link to uniprot
updateInputLR Function that orders all interaction pairs as L-R. Leaves unchanged the R-R and L-L