Identifies statistically associated protein domain pairs connected by a disproportionally high number of protein-protein interactions.

testDomainAssociation(gr)

Arguments

gr

An object of class graph storing the BioPlex PPIs. Typically obtained via bioplex2graph.

Value

A data.frame containing all tested PFAM domain pairs ordered by association strength.

Details

Given PFAM domain annotations for each node of the graph, the function assesses domain pairs connected by two or more interactions for significance using Fisher’s exact test based on 1) the number of interactions connecting both domains; 2) the numbers of interactions involving either domain individually; and 3) the number of interactions not involving either domain.

It is important to note that although the domain association analysis identifies pairs of PFAM domains whose parent proteins interact preferentially across the network, this does not necessarily mean that these domains themselves are responsible for the interaction. Many may simply be passengers that associate as a consequence of interactions mediated by contacts elsewhere in the protein sequence.

References

Huttlin et al. Dual proteome-scale networks reveal cell-specific remodeling of the human interactome. Cell, 184(11):3022-3040.e28, 2021.

Examples


  # (1) obtain BioPlex PPI network for 293T cells
  library(BioPlex)
  df <- getBioPlex(cell.line = "HCT116", version = "1.0")
#> Using cached version from 2023-01-14 23:49:23
  hct.gr <- bioplex2graph(df)
 
  # (2) annotate PFAM domains
  library(AnnotationHub)
#> Loading required package: BiocFileCache
#> Loading required package: dbplyr
#> 
#> Attaching package: ‘AnnotationHub’
#> The following object is masked from ‘package:Biobase’:
#> 
#>     cache
  ah <- AnnotationHub()
#> snapshotDate(): 2022-10-31
  orgdb <- query(ah, c("orgDb", "Homo sapiens"))
  orgdb <- orgdb[[1]]
#> loading from cache
#> Loading required package: AnnotationDbi
#> 
#> Attaching package: ‘AnnotationDbi’
#> The following object is masked from ‘package:sparklyr’:
#> 
#>     select
  hct.gr <- annotatePFAM(hct.gr, orgdb)

  # (3) domain-domain association analysis
  res <- testDomainAssociation(hct.gr)