Title: Partition Bipartite Network into Non-Overlapping Biclusters by Optimizing Bipartite Modularity
Version: 1.23.120.1
Author: Tianlong Chen [aut], Weibin Zhang [cre, ctb], Suresh Bhavnani [cph, fnd]
Maintainer: Weibin Zhang <wbzhang.ustc@gmail.com>
Description: Function bipmod() that partitions a bipartite network into non-overlapping biclusters by maximizing bipartite modularity defined in Barber (2007) <doi:10.1103/PhysRevE.76.066102> using the bipartite version of the algorithm described in Treviño (2015) <doi:10.1088/1742-5468/2015/02/P02003>.
License: MIT + file LICENSE
Encoding: UTF-8
LazyData: true
LinkingTo: Rcpp
Imports: Rcpp
RoxygenNote: 7.1.2
Depends: R (≥ 2.10)
Suggests: testthat
NeedsCompilation: yes
Packaged: 2023-01-21 00:16:03 UTC; weibzhan
Repository: CRAN
Date/Publication: 2023-01-21 23:20:30 UTC

C++ code to to partition a bipartite network into non-overlapping biclusters, by optimizing bipartite modularity.

Description

C++ code to to partition a bipartite network into non-overlapping biclusters, by optimizing bipartite modularity.

Usage

CoClust(nr, nc, data, ITER)

Arguments

nr

Number of rows of incidence matrix.

nc

Number of columns of incidence matrix.

data

Vectorized incidence matrix.

ITER

Number of iterations.

Value

MODULARITY Modularity value.

ASSIGN Partition of rows and columns.


Partition bipartite network into non-overlapping biclusters, by optimizing bipartite modularity.

Description

This function partitions a bipartite network into non-overlapping biclusters by optimizing bipartite modularity defined in Barber (2007) using the bipartite version of the algorithm described in Treviño (2015).

Usage

bipmod(incid_mat, ITER = 10)

Arguments

incid_mat

Incidence matrix of a bipartite network.

ITER

A positive integer representing the number of iterations used to maximizing modularity, (default=10).

Details

The function takes as input a bipartite network represented as an incidence matrix (using a matrix or a data frame) with non-negative values (the row sums and column sums must be positive, to ensure there are no disconnected nodes). The function partitions the rows and columns into non-overlapping submatrices (biclusters), and outputs the membership of rows and columns to a partition, and modularity (Q) representing the quality of the partitioning.

Value

MODULARITY Modularity value (Q).

ASSIGN Integer labels representing partition of rows followed by columns in same order as incidence matrix.

References

Barber, M. J. (2007). Modularity and community detection in bipartite networks. Physical Review E, 76(6), 066102. <doi:10.1103/PhysRevE.76.066102>

Trevino, S., Nyberg, A., Del Genio, C. I., & Bassler, K. E. (2015). Fast and accurate determination of modularity and its effect size. Journal of Statistical Mechanics: Theory and Experiment, 2015(2), P02003. <doi:10.1088/1742-5468/2015/02/P02003>

Examples

data(example_data)
bipmod(example_data)

Example dataset of a bipartite network.

Description

A dataset consisting of anonymized patients (n=798) and symptoms (d=8), where each patient has one or more symptoms.

Usage

example_data

Format

A data frame with 798 rows and 8 binary variables:

Symptom_1
Symptom_2
Symptom_3
Symptom_4
Symptom_5
Symptom_6
Symptom_7
Symptom_8