Learn R Programming

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 /inst/doc/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')

Version

1.3

License

MIT + file LICENSE

Last Published

August 16th, 2024

Functions in CTD (1.3)

mle.getMinPtDistance

Get minimum patient distances
graph.diffusionSnapShot

Capture the current state of probability diffusion
mle.getPtBSbyK

Generate patient-specific bitstrings
mle.getEncodingLength

Minimum encoding length
mle.getPtDist

CTDncd: A network-based distance metric.
stat.entropyFunction

Entropy of a bit-string
graph.netWalkSnapShot

Capture the current location of a network walker
graph.naivePruning

Network pruning for disease-specific network determination
multiNode.getNodeRanks

Generate multi-node node rankings ("adaptive" walk)
stat.fishersMethod

Fisher's Combined P-value
singleNode.getNodeRanksN

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

DirSim: The Jaccard distance with directionality incorporated.
data.surrogateProfiles

Generate surrogate profiles
cohorts_coded

Disease cohorts with coded identifiers
data.zscoreData

Z-transform available data
graph.connectToExt

Connect a node to its unvisited "extended" neighbors
data.combineData

Combine datasets
data.imputeData

Impute missing values
Miller2015

Miller et al. (2015)
Thistlethwaite2020

Thistlethwaite et al. (2020)
Wangler2017

Wangler et al. (2017)
graph.diffuseP1

Diffuse Probability P1 from a starting node