MyNixOS website logo
Description

Network-Based Communities and Kernel Machine Methods.

Analysis of network community objects with applications to neuroimaging data. There are two main components to this package. The first is the hierarchical multimodal spinglass (HMS) algorithm, which is a novel community detection algorithm specifically tailored to the unique issues within brain connectivity. The other is a suite of semiparametric kernel machine methods that allow for statistical inference to be performed to test for potential associations between these community structures and an outcome of interest (binary or continuous).

CommKern: Analysis of Network Community Structures

R-CMD-check codecov CRAN_Status_Badge CRAN RStudio mirror downloads CRAN RStudio mirror downloads

An R package for implementing the hierarchical multimodal spinglass (HMS) algorithm and semiparametric kernel machine methods, with specific applications to neuroimaging data. The HMS algorithm allows for multimodal inputs and creates a hierarchical structure of nested communities through modification of the spinglass algorithm first proposed in a 2006 paper by Reichardt and Bornholdt. The combined flexibility of specifying the maximum possible number of communities a priori (as opposed to an exact number), allowing for more than one source of information in the algorithm, and creation of a nested, hierarchical structure of communities addresses many of the limitations that exist within other community detection algorithms when applied to neuroimaging data. The semiparametric kernel machine methods can then be used to conduct statistical inference to understand if the partitioning of the network nodes to communities is associated with an outcome (whether binary or continuous) while controlling for potential confounders. Extrinsic or intrinsic cluster evaluation metrics have been provided in the package but the kernel approach is flexible enough for the end user to specify their own distance-based metric.

Learn more about CommKern

The community detection algorithm and semiparametric kernel machine methods were developed as part of Alexandria Jensen's PhD dissertation work.

Vignettes

There is one vignette included with the package, for now. Additional details will be added to this vignette.

vignette('CommKern', package = 'CommKern')

Additional vignettes may also be authored soon.

Installation

You can install CommKern from GitHub. This will require you to have devtools installed, and, if you are using Windows, you'll need Rtools installed as well.

library(devtools)
install_github("aljensen89/CommKern", build_vignettes = TRUE)

Hierarchical Multimodal Spinglass (HMS) Algorithm

Details of the HMS algorithm can be found in the vignette. Specific application to brain connectivity data will be briefly summarized here. Starting from a common brain atlas (e.g., Automated Anatomical Labeling (AAL), Harvard-Oxford (HO), Craddock 200 (CC200), etc.), adjacency matrices representing functional and structural connectivity are derived from the correlation between resting state functional MRI (rs-FMRI) blood oxygen level dependent (BOLD) time series or the number of white matter fiber tracks computed from diffusion tensor MRI, respectively. Previous studies have observed that functional connectivity can be detected between brain regions that lack a direct structural connection. However, the propensity for two areas to interact on a functional level has been shown to vary in proportion to their structural connectivity, leading to the widely held assumption that functional configurations are assumed to be a reflection of underlying structural linkages. As such, we have utilized the multimodal aspect to the HMS algorithm to create structurally-informed functional connectivity communities.

However, the flexibility of the HMS algorithm does not require either brain network data or multiple inputs. In his 2010 paper, Fortunato showed that the spinglass algorithm is both precise and accurate at recovering community structures but, due its computational complexity, should not be used on networks that exceed several thousand nodes. The HMS algorithm is flexible enough so that its hierarchical and/or multimodal aspects can be suppressed. We recommend that the end user find a balance between computation time and algorithmic specifications in all applications, paying special attention when applying to large networks.

Semiparametric Kernel Machine Methods

Details of the semiparametric kernel machine methods can be found in the vignette. Bringing the partitioning of nodes to communities (via the HMS algorithm or another community detection algorithm, if desired) into a format for analysis using a distance-based kernel will be briefly overviewed here. For group-level network data, a community detection algorithm is run, providing the clustering of nodes to communities. From there, a variety of cluster evaluation metrics can be chosen. Extrinsic metrics require some form of ground truth labeling; however, in neuroimaging, a ground truth is not available. For the appropriate extrinsic metrics, a harmonic mean is calculated such that for each pair of partitions A and B, each takes a turn being the ground truth label. Intrinsic metrics, on the other hand, do not require a ground truth labeling. Within this package, we utilize the Hamiltonian value from the HMS algorithm. Once the metric has been applied to the set of network community data, it is ready for input into the semiparametric kernel machine methods. Options are available for both a binary and continuous outcome of interest and for a fully nonparametric or semiparametric approach, depending on whether the end user wishes to include other covariates of interest.

Metadata

Version

1.0.1

License

Unknown

Platforms (77)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows