Learn R Programming

⚠️There's a newer version (1.3) of this package.Take me there.

CTD: an information-theoretic method to interpret multivariate perturbations in the context of graphical models with applications in metabolomics and transcriptomics

Our novel network-based approach, CTD, “connects the dots” between metabolite perturbations observed in individual metabolomics profiles and a given disease state by calculating how connected those metabolites are in the context of a disease-specific network.

Using CTD in R.

Installation

We are now a CRAN package! Install on R 4.0+ with install.packages("CTD").

Alternatively, particularly if you have an earlier version of R installed, you can install using devtools: require(devtools) install_github(“BRL-BCM/CTD”).

Look at the package Rmd vignette.

Located in /vignette/CTD_Lab-Exercise.Rmd. It will take you across all the stages in the analysis pipeline, including:

  1. Background knowledge graph generation.
  2. The encoding algorithm: including generating node permutations using a network walker, converting node permutations into bitstrings, and calculating the minimum encoding length between k codewords.
  3. Calculate the probability of a node subset based on the encoding length.
  4. Calculate similarity between two node subsets, using a metric based on mutual information.

References

Thistlethwaite L.R., Petrosyan V., Li X., Miller M.J., Elsea S.H., Milosavljevic A. (2021). CTD: an information-theoretic method to interpret multivariate perturbations in the context of graphical models with applications in metabolomics and transcriptomics. Plos Comput Biol, 17(1):e1008550. https://doi.org/10.1371/journal.pcbi.1008550.

Copy Link

Version

Install

install.packages('CTD')

Monthly Downloads

197

Version

1.2

License

MIT + file LICENSE

Maintainer

Varduhi Petrosyan

Last Published

October 24th, 2023

Functions in CTD (1.2)

multiNode.getNodeRanks

Generate multi-node node rankings ("adaptive" walk)
graph.diffusionSnapShot

Capture the current state of probability diffusion
graph.netWalkSnapShot

Capture the current location of a network walker
graph.naivePruning

Network pruning for disease-specific network determination
stat.getDirSim

DirSim: The Jaccard distance with directionality incorporated.
mle.getEncodingLength

Minimum encoding length
stat.fishersMethod

Fisher's Combined P-value
data.zscoreData

Z-transform available data
data.imputeData

Impute missing values
Thistlethwaite2020

Thistlethwaite et al. (2020)
Wangler2017

Wangler et al. (2017)
data.combineData

Combine datasets
data.surrogateProfiles

Generate surrogate profiles
graph.connectToExt

Connect a node to its unvisited "extended" neighbors
Miller2015

Miller et al. (2015)
cohorts_coded

Disease cohorts with coded identifiers
graph.diffuseP1

Diffuse Probability P1 from a starting node
mle.getPtBSbyK

Generate patient-specific bitstrings
singleNode.getNodeRanksN

Generate single-node node rankings ("fixed" walk)
stat.entropyFunction

Entropy of a bit-string
mle.getMinPtDistance

Get minimum patient distances
mle.getPtDist

CTDncd: A network-based distance metric.