In the other package vignettes, usage of ceRNAnetsim is explained in details. But in this vignette, some of commands which facitate to use of other vignettes.
data("TCGA_E9_A1N5_tumor")
data("TCGA_E9_A1N5_normal")
data("mirtarbasegene")
data("TCGA_E9_A1N5_mirnanormal")TCGA_E9_A1N5_mirnanormal %>%
  inner_join(mirtarbasegene, by= "miRNA") %>%
  inner_join(TCGA_E9_A1N5_normal, 
             by = c("Target"= "external_gene_name")) %>%
  select(Target, miRNA, total_read, gene_expression) %>%
  distinct() -> TCGA_E9_A1N5_mirnagene
#> Warning in inner_join(., TCGA_E9_A1N5_normal, by = c(Target = "external_gene_name")): Detected an unexpected many-to-many relationship between `x` and `y`.
#> ℹ Row 3405 of `x` matches multiple rows in `y`.
#> ℹ Row 842 of `y` matches multiple rows in `x`.
#> ℹ If a many-to-many relationship is expected, set `relationship =
#>   "many-to-many"` to silence this warning.TCGA_E9_A1N5_tumor%>%
  inner_join(TCGA_E9_A1N5_normal, by= "external_gene_name")%>%
  select(patient = patient.x, 
         external_gene_name, 
         tumor_exp = gene_expression.x, 
         normal_exp = gene_expression.y)%>%
  distinct()%>%
  inner_join(TCGA_E9_A1N5_mirnagene, by = c("external_gene_name"= "Target"))%>%
  filter(tumor_exp != 0, normal_exp != 0)%>%
  mutate(FC= tumor_exp/normal_exp)%>%
  filter(external_gene_name== "HIST1H3H")
#> Warning in inner_join(., TCGA_E9_A1N5_normal, by = "external_gene_name"): Detected an unexpected many-to-many relationship between `x` and `y`.
#> ℹ Row 361 of `x` matches multiple rows in `y`.
#> ℹ Row 17044 of `y` matches multiple rows in `x`.
#> ℹ If a many-to-many relationship is expected, set `relationship =
#>   "many-to-many"` to silence this warning.
#> Warning in inner_join(., TCGA_E9_A1N5_mirnagene, by = c(external_gene_name = "Target")): Detected an unexpected many-to-many relationship between `x` and `y`.
#> ℹ Row 1 of `x` matches multiple rows in `y`.
#> ℹ Row 3362 of `y` matches multiple rows in `x`.
#> ℹ If a many-to-many relationship is expected, set `relationship =
#>   "many-to-many"` to silence this warning.
#> # A tibble: 13 × 8
#>    patient      external_gene_name tumor_exp normal_exp miRNA         total_read
#>    <chr>        <chr>                  <dbl>      <dbl> <chr>              <int>
#>  1 TCGA-E9-A1N5 HIST1H3H                 825         27 hsa-miR-193b…        193
#>  2 TCGA-E9-A1N5 HIST1H3H                 825         27 hsa-miR-299-…          7
#>  3 TCGA-E9-A1N5 HIST1H3H                 825         27 hsa-miR-34a-…          3
#>  4 TCGA-E9-A1N5 HIST1H3H                 825         27 hsa-miR-34a-…        450
#>  5 TCGA-E9-A1N5 HIST1H3H                 825         27 hsa-miR-378a…       1345
#>  6 TCGA-E9-A1N5 HIST1H3H                 825         27 hsa-miR-379-…         14
#>  7 TCGA-E9-A1N5 HIST1H3H                 825         27 hsa-miR-380-…          3
#>  8 TCGA-E9-A1N5 HIST1H3H                 825         27 hsa-miR-411-…         35
#>  9 TCGA-E9-A1N5 HIST1H3H                 825         27 hsa-miR-484          205
#> 10 TCGA-E9-A1N5 HIST1H3H                 825         27 hsa-miR-497-…        270
#> 11 TCGA-E9-A1N5 HIST1H3H                 825         27 hsa-miR-503-…         38
#> 12 TCGA-E9-A1N5 HIST1H3H                 825         27 hsa-miR-6793…          1
#> 13 TCGA-E9-A1N5 HIST1H3H                 825         27 hsa-miR-760            4
#> # ℹ 2 more variables: gene_expression <dbl>, FC <dbl>
#HIST1H3H: interacts with various miRNA in dataset, so we can say that HIST1H3H is non-isolated competing element and increases to 30-fold.TCGA_E9_A1N5_tumor%>%
  inner_join(TCGA_E9_A1N5_normal, by= "external_gene_name") %>%
  select(patient = patient.x, 
         external_gene_name, 
         tumor_exp = gene_expression.x, 
         normal_exp = gene_expression.y) %>%
  distinct() %>%
  inner_join(TCGA_E9_A1N5_mirnagene, 
             by = c("external_gene_name"= "Target")) %>%
  filter(tumor_exp != 0, normal_exp != 0) %>%
  mutate(FC= tumor_exp/normal_exp) %>%
  filter(external_gene_name == "ACTB")
#> Warning in inner_join(., TCGA_E9_A1N5_normal, by = "external_gene_name"): Detected an unexpected many-to-many relationship between `x` and `y`.
#> ℹ Row 361 of `x` matches multiple rows in `y`.
#> ℹ Row 17044 of `y` matches multiple rows in `x`.
#> ℹ If a many-to-many relationship is expected, set `relationship =
#>   "many-to-many"` to silence this warning.
#> Warning in inner_join(., TCGA_E9_A1N5_mirnagene, by = c(external_gene_name = "Target")): Detected an unexpected many-to-many relationship between `x` and `y`.
#> ℹ Row 1 of `x` matches multiple rows in `y`.
#> ℹ Row 3362 of `y` matches multiple rows in `x`.
#> ℹ If a many-to-many relationship is expected, set `relationship =
#>   "many-to-many"` to silence this warning.
#> # A tibble: 46 × 8
#>    patient      external_gene_name tumor_exp normal_exp miRNA         total_read
#>    <chr>        <chr>                  <dbl>      <dbl> <chr>              <int>
#>  1 TCGA-E9-A1N5 ACTB                  191469     101917 hsa-let-7a-5p      67599
#>  2 TCGA-E9-A1N5 ACTB                  191469     101917 hsa-let-7b-5p      47266
#>  3 TCGA-E9-A1N5 ACTB                  191469     101917 hsa-let-7c-5p      14554
#>  4 TCGA-E9-A1N5 ACTB                  191469     101917 hsa-let-7i-3p        191
#>  5 TCGA-E9-A1N5 ACTB                  191469     101917 hsa-miR-1-3p           5
#>  6 TCGA-E9-A1N5 ACTB                  191469     101917 hsa-miR-100-…      12625
#>  7 TCGA-E9-A1N5 ACTB                  191469     101917 hsa-miR-127-…       5297
#>  8 TCGA-E9-A1N5 ACTB                  191469     101917 hsa-miR-1307…       2379
#>  9 TCGA-E9-A1N5 ACTB                  191469     101917 hsa-miR-145-…       8041
#> 10 TCGA-E9-A1N5 ACTB                  191469     101917 hsa-miR-16-5p       1522
#> # ℹ 36 more rows
#> # ℹ 2 more variables: gene_expression <dbl>, FC <dbl>
#ACTB: interacts with various miRNA in dataset, so ACTB is not isolated node in network and increases to 1.87-fold.Firstly, clean dataset as individual gene has one expression value. And then filter genes which have expression values greater than 10.
TCGA_E9_A1N5_mirnagene %>%    
  group_by(Target) %>%        
  mutate(gene_expression= max(gene_expression)) %>%
  distinct() %>%
  ungroup() -> TCGA_E9_A1N5_mirnagene
TCGA_E9_A1N5_mirnagene%>%
  filter(gene_expression > 10)->TCGA_E9_A1N5_mirnageneWe can determine perturbation efficiency of an element on entire network as following:
TCGA_E9_A1N5_mirnagene %>% 
  priming_graph(competing_count = gene_expression, 
                miRNA_count = total_read)%>%
  calc_perturbation(node_name= "ACTB", cycle=10, how= 1.87,limit = 0.1)On the other hand, the perturbation eficiency of ATCB gene is higher, when this gene is regulated with 30-fold upregulation like in HIST1H3H.
sessionInfo()
#> R version 4.3.2 Patched (2023-11-13 r85521)
#> Platform: x86_64-pc-linux-gnu (64-bit)
#> Running under: Ubuntu 22.04.3 LTS
#> 
#> Matrix products: default
#> BLAS:   /home/biocbuild/bbs-3.18-bioc/R/lib/libRblas.so 
#> LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0
#> 
#> locale:
#>  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
#>  [3] LC_TIME=en_GB              LC_COLLATE=C              
#>  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
#>  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
#>  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
#> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
#> 
#> time zone: America/New_York
#> tzcode source: system (glibc)
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> other attached packages:
#> [1] ceRNAnetsim_1.14.1 tidygraph_1.3.0    dplyr_1.1.4       
#> 
#> loaded via a namespace (and not attached):
#>  [1] viridis_0.6.4      sass_0.4.8         utf8_1.2.4         future_1.33.0     
#>  [5] generics_0.1.3     tidyr_1.3.0        listenv_0.9.0      digest_0.6.33     
#>  [9] magrittr_2.0.3     evaluate_0.23      grid_4.3.2         fastmap_1.1.1     
#> [13] jsonlite_1.8.8     ggrepel_0.9.4      gridExtra_2.3      purrr_1.0.2       
#> [17] fansi_1.0.6        viridisLite_0.4.2  scales_1.3.0       tweenr_2.0.2      
#> [21] codetools_0.2-19   jquerylib_0.1.4    cli_3.6.2          graphlayouts_1.0.2
#> [25] rlang_1.1.2        polyclip_1.10-6    parallelly_1.36.0  munsell_0.5.0     
#> [29] withr_2.5.2        cachem_1.0.8       yaml_2.3.8         tools_4.3.2       
#> [33] parallel_4.3.2     colorspace_2.1-0   ggplot2_3.4.4      globals_0.16.2    
#> [37] vctrs_0.6.5        R6_2.5.1           lifecycle_1.0.4    MASS_7.3-60       
#> [41] furrr_0.3.1        ggraph_2.1.0       pkgconfig_2.0.3    pillar_1.9.0      
#> [45] bslib_0.6.1        gtable_0.3.4       glue_1.6.2         Rcpp_1.0.11       
#> [49] ggforce_0.4.1      xfun_0.41          tibble_3.2.1       tidyselect_1.2.0  
#> [53] knitr_1.45         farver_2.1.1       htmltools_0.5.7    igraph_1.6.0      
#> [57] rmarkdown_2.25     compiler_4.3.2