Skip to contents

The function calculates cross-talk between all gene-set pairs that show a link between their genes

Usage

gs_cross_talk(
  S_list = NULL,
  A,
  k = 0,
  ct_type = "intracellular",
  bin_type = "number",
  cut_par = 9,
  perm_link = "degree",
  perm_weights = "simple",
  mc_cores_perm = 1,
  mc_cores_ct = 1
)

Arguments

S_list

a named list of genes grouped into gene sets, as obtained from `build_S_list()`

A

adjacency matrix of the whole gene network considered (can be a sparseMatrix)

k

number of permutations

ct_type

= c("intracellular", "communication"). The main differences between the two methods lay in usage of shared genes and permutations building. In detail, "intracellular" does not consider shared genes in the ct calculation, while "communication" uses them; "intracellular" permutes gene weights among the gene sets, while in "communication" weights are permuted only among cell-gene-sets. More details in the paper

bin_type

can be either "number" (suggested), "interval" or "width". See `ggplot2::cut_interval()` for details.

cut_par

number of bin to cut. If set to `NULL`, the function will search for the best cut in 2:15

perm_link

= c("degree", "simple") If the permutation of the link should be degree-conservative ("degree"), or random ("simple")

perm_weights

= c("degree", "simple") If the permutation of the weights should be degree-conservative ("degree"), or random ("simple")

mc_cores_perm

number of thread to be used in permutations

mc_cores_ct

number of threads to be used for cross talk calculation

Value

The function returns a data.frame with the results of ct calculation:

  • S1_name,S2_name: names of gene-set pairs considered

  • c: cross-talk score

  • S1_size,S2_size: total number of genes present in S1 and S2, respectively

  • S1_s2_size,S2_s1_size: number of S1 genes interacting with S2, and vice versa

  • dL: number of links between S1 and S2

  • L: number of possible links between S1 and S2

  • r_c: cross-talk saturation, calculated as `dL/L`

  • u1,u2: sum of the gene weights in S1 and S2, respectively

  • S1,S2: list of interacting genes in S1 and S2, respectively

  • s: cross-talk summary score

  • pA,pU: p-values of the number of links (pA) and weights (pU)

  • p: combined p-value

If `ct_type = "communication"`, the function returns a two-element list, where the first element is the data.frame with the results of ct calculation, while the second element is a list with a data.frame for each communication with the details of the genes involved in the communications

  • S1_name,S2_name: name of the gene-sets

  • S1_gene,S2_gene: genes involved in the cross-talk

  • u12: the score of the interaction between `S1_gene` and `S1_gene`, calculated by multiplying their weights

Details

The function takes as inputs the adjacency matrix of the biological network (`A`) and the gene-set list, obtained through `build_S_list()` function. For each gene-set pair that shows at least a link between them, the function calculates the cross-talk and the statistical evaluation, as described in the paper, using `k` permutations.