6 Network layout

Load R Package

Example data

# Access built-in example datasets in ggNetView

# Relative abundance table of rarefied ASVs or OTUs
data("otu_rare_relative")
dim(otu_rare_relative)
## [1] 2859   18
otu_rare_relative[1:5, 1:5]
##              KO1        KO2        KO3        KO4        KO5
## ASV_1 0.03306667 0.05453333 0.02013333 0.03613333 0.02686667
## ASV_2 0.05750000 0.03393333 0.06046667 0.05810000 0.07320000
## ASV_3 0.01733333 0.01296667 0.02290000 0.02336667 0.03106667
## ASV_4 0.04266667 0.01093333 0.01416667 0.01933333 0.03346667
## ASV_6 0.02646667 0.01856667 0.02110000 0.02353333 0.03806667
# Taxonomic annotation table of ASVs or OTUs
data("tax_tab")
dim(tax_tab)
## [1] 2859    8
tax_tab[1:5, 1:5]
## # A tibble: 5 × 5
##   OTUID  Kingdom  Phylum          Class          Order            
##   <chr>  <chr>    <chr>           <chr>          <chr>            
## 1 ASV_2  Archaea  Thaumarchaeota  Unassigned     Nitrososphaerales
## 2 ASV_3  Bacteria Verrucomicrobia Spartobacteria Unassigned       
## 3 ASV_31 Bacteria Actinobacteria  Actinobacteria Actinomycetales  
## 4 ASV_27 Archaea  Thaumarchaeota  Unassigned     Nitrososphaerales
## 5 ASV_9  Bacteria Unassigned      Unassigned     Unassigned

Build graph object

graph_obj <- build_graph_from_mat(
  mat = otu_rare_relative,
  transfrom.method = "none", #  based your input data
  r.threshold = 0.7,
  p.threshold = 0.05,
  method = "WGCNA",
  cor.method = "pearson",
  proc = "BH",
  module.method = "Fast_greedy",
  node_annotation = tax_tab,
  top_modules = 15,
  seed = 1115
)

graph_obj
## # A tbl_graph: 2049 nodes and 9602 edges
## #
## # An undirected simple graph with 100 components
## #
## # Node Data: 2,049 × 14 (active)
##    name    modularity modularity2 modularity3 Modularity Degree Strength Kingdom
##    <chr>   <fct>      <ord>       <chr>       <ord>       <dbl>    <dbl> <chr>  
##  1 ASV_916 1          1           1           1              58     50.5 Bacter…
##  2 ASV_777 1          1           1           1              58     48.7 Bacter…
##  3 ASV_606 1          1           1           1              55     45.8 Bacter…
##  4 ASV_740 1          1           1           1              54     47.2 Bacter…
##  5 ASV_14… 1          1           1           1              54     44.5 Bacter…
##  6 ASV_23… 1          1           1           1              54     47.4 Bacter…
##  7 ASV_15… 1          1           1           1              52     45.3 Bacter…
##  8 ASV_24… 1          1           1           1              52     43.0 Bacter…
##  9 ASV_19… 1          1           1           1              52     43.0 Bacter…
## 10 ASV_568 1          1           1           1              51     45.1 Bacter…
## # ℹ 2,039 more rows
## # ℹ 6 more variables: Phylum <chr>, Class <chr>, Order <chr>, Family <chr>,
## #   Genus <chr>, Species <chr>
## #
## # Edge Data: 9,602 × 5
##    from    to weight correlation corr_direction
##   <int> <int>  <dbl>       <dbl> <chr>         
## 1  1771  1825  0.793       0.793 Positive      
## 2   594   597  0.895       0.895 Positive      
## 3   588   597  0.864       0.864 Positive      
## # ℹ 9,599 more rows

6.1 Gephi layout

p <- ggNetView(
  graph_obj = graph_obj,
  layout = "gephi",
  center = F,
  shrink = 0.8,
  layout.module = "random",
  group.by = "Modularity",
  fill.by = "Modularity"
)

p

6.2 Fruchterman–Reingold force-directed layout

p <- ggNetView(
  graph_obj = graph_obj,
  layout = "fr2",
  center = F,
  shrink = 0.8,
  layout.module = "random",
  group.by = "Modularity",
  fill.by = "Modularity"
)

p

6.3 Diamond layout

p <- ggNetView(
  graph_obj = graph_obj,
  layout = "diamond",
  center = F,
  shrink = 0.8,
  layout.module = "adjacent",
  group.by = "Modularity",
  fill.by = "Modularity"
)

p

6.4 Kk layout

p <- ggNetView(
  graph_obj = graph_obj,
  layout = "kk",
  center = F,
  shrink = 0.8,
  layout.module = "adjacent",
  group.by = "Modularity",
  fill.by = "Modularity"
)

p

6.5 Nicley layout

p <- ggNetView(
  graph_obj = graph_obj,
  layout = "nicely",
  center = F,
  shrink = 0.8,
  layout.module = "adjacent",
  group.by = "Modularity",
  fill.by = "Modularity"
)
## Warning in ggNetView(graph_obj = graph_obj, layout = "nicely", center = F, :
## `layout.module = 'adjacent'` failed at k_nn = 12; retrying with k_nn = 32.
## Warning in ggNetView(graph_obj = graph_obj, layout = "nicely", center = F, :
## `layout.module = 'adjacent'` failed at k_nn = 32; retrying with k_nn = 52.
## Warning in ggNetView(graph_obj = graph_obj, layout = "nicely", center = F, :
## `layout.module = 'adjacent'` failed at k_nn = 52; retrying with k_nn = 72.
## Warning in ggNetView(graph_obj = graph_obj, layout = "nicely", center = F, :
## `layout.module = 'adjacent'` failed at k_nn = 72; retrying with k_nn = 92.
## Warning in ggNetView(graph_obj = graph_obj, layout = "nicely", center = F, :
## `layout.module = 'adjacent'` failed at k_nn = 92; retrying with k_nn = 115.
## Warning in ggNetView(graph_obj = graph_obj, layout = "nicely", center = F, :
## `layout.module = 'adjacent'` failed at k_nn = 115; retrying with k_nn = 144.
## Warning in ggNetView(graph_obj = graph_obj, layout = "nicely", center = F, :
## `layout.module = 'adjacent'` failed at k_nn = 144; retrying with k_nn = 180.
## Warning in ggNetView(graph_obj = graph_obj, layout = "nicely", center = F, :
## `layout.module = 'adjacent'` failed at k_nn = 180; retrying with k_nn = 225.
## Warning in ggNetView(graph_obj = graph_obj, layout = "nicely", center = F, :
## `layout.module = 'adjacent'` failed at k_nn = 225; retrying with k_nn = 282.
## Warning in ggNetView(graph_obj = graph_obj, layout = "nicely", center = F, :
## `layout.module = 'adjacent'` failed at k_nn = 282; retrying with k_nn = 353.
p

6.6 Petal layout

p <- ggNetView(
  graph_obj = graph_obj,
  layout = "petal",
  center = F,
  shrink = 0.8,
  layout.module = "adjacent",
  group.by = "Modularity",
  fill.by = "Modularity"
)

p

6.7 Circle layout

6.8 Petal layout

p <- ggNetView(
  graph_obj = graph_obj,
  layout = "circle",
  center = F,
  shrink = 0.8,
  layout.module = "adjacent",
  group.by = "Modularity",
  fill.by = "Modularity"
)

p

6.9 Diamond outline layout

p <- ggNetView(
  graph_obj = graph_obj,
  layout = "diamond_outline",
  center = F,
  shrink = 0.8,
  layout.module = "adjacent",
  group.by = "Modularity",
  fill.by = "Modularity"
)

p

6.10 Grid layout

p <- ggNetView(
  graph_obj = graph_obj,
  layout = "grid",
  center = F,
  shrink = 0.8,
  layout.module = "adjacent",
  group.by = "Modularity",
  fill.by = "Modularity"
)

p

6.11 Heart_centered layout

p <- ggNetView(
  graph_obj = graph_obj,
  layout = "heart_centered",
  center = F,
  shrink = 0.8,
  layout.module = "adjacent",
  group.by = "Modularity",
  fill.by = "Modularity"
)

p

6.12 Lgl layout

p <- ggNetView(
  graph_obj = graph_obj,
  layout = "lgl",
  center = F,
  shrink = 0.8,
  layout.module = "adjacent",
  group.by = "Modularity",
  fill.by = "Modularity"
)
## Warning in alg_fun(graph): LGL layout does not support disconnected graphs yet.
## Source: layout/large_graph.c:179
## Warning in ggNetView(graph_obj = graph_obj, layout = "lgl", center = F, :
## `layout.module = 'adjacent'` failed at k_nn = 12; retrying with k_nn = 32.
p

6.13 Randomly layout

p <- ggNetView(
  graph_obj = graph_obj,
  layout = "randomly",
  center = F,
  shrink = 0.8,
  layout.module = "adjacent",
  group.by = "Modularity",
  fill.by = "Modularity"
)

p

6.14 Rectangle layout

p <- ggNetView(
  graph_obj = graph_obj,
  layout = "rectangle",
  center = F,
  shrink = 0.8,
  layout.module = "adjacent",
  group.by = "Modularity",
  fill.by = "Modularity"
)

p

6.15 Square layout

p <- ggNetView(
  graph_obj = graph_obj,
  layout = "square",
  center = F,
  shrink = 0.8,
  layout.module = "adjacent",
  group.by = "Modularity",
  fill.by = "Modularity"
)

p

6.16 Star layout

p <- ggNetView(
  graph_obj = graph_obj,
  layout = "star",
  center = F,
  shrink = 0.8,
  layout.module = "adjacent",
  group.by = "Modularity",
  fill.by = "Modularity"
)

p

6.17 Star_concentric layout

p <- ggNetView(
  graph_obj = graph_obj,
  layout = "star_concentric",
  center = F,
  shrink = 0.8,
  layout.module = "adjacent",
  group.by = "Modularity",
  fill.by = "Modularity"
)

p

6.18 Stress layout

p <- ggNetView(
  graph_obj = graph_obj,
  layout = "stress",
  center = F,
  shrink = 0.8,
  layout.module = "adjacent",
  group.by = "Modularity",
  fill.by = "Modularity"
)
## Warning in ggNetView(graph_obj = graph_obj, layout = "stress", center = F, :
## `layout.module = 'adjacent'` failed at k_nn = 12; retrying with k_nn = 32.
p