CTD v0.99.8


Monthly downloads



A Method for 'Connecting The Dots' in Weighted Graphs

A method for pattern discovery in weighted graphs. Two use cases are achieved: 1) Given a weighted graph and a subset of its nodes, do the nodes show significant connectedness? 2) Given a weighted graph and two subsets of its nodes, are the subsets close neighbors or distant?


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.


In R, install the devtools package, and install CTD by 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.


Thistlethwaite L.R., Petrosyan V., Li X., Miller M.J., Elsea S.H., Milosavljevic A. (2020). CTD: an information-theoretic method to interpret multivariate perturbations in the context of graphical models with applications in metabolomics and transcriptomics. Manuscript in review.

Functions in CTD

Name Description
Thistlethwaite2020 Thistlethwaite et al. (2020)
data.zscoreData Z-transform available data
Miller2015 Miller et al. (2015)
cohorts_coded Disease cohorts with coded identifiers
graph.connectToExt Connect a node to its unvisited "extended" neighbors
data.surrogateProfiles Generate surrogate profiles
data.combineData Combine datasets
data.imputeData Impute missing values
graph.diffuseP1 Diffuse Probability P1 from a starting node
graph.diffusionSnapShot Capture the current state of probability diffusion
Wangler2017 Wangler et al. (2017)
mle.getPtDist CTDncd: A network-based distance metric.
stat.fishersMethod Fisher's Combined P-value
mle.getPtBSbyK Generate patient-specific bitstrings
mle.getMinPtDistance Get minimum patient distances
singleNode.getNodeRanksN Generate single-node node rankings ("fixed" walk)
stat.entropyFunction Entropy of a bit-string
mle.getEncodingLength Minimum encoding length
graph.netWalkSnapShot Capture the current location of a network walker
multiNode.getNodeRanks Generate multi-node node rankings ("adaptive" walk)
stat.getDirSim DirSim: The Jaccard distance with directionality incorporated.
graph.naivePruning Network pruning for disease-specific network determination
No Results!

Vignettes of CTD

No Results!

Last month downloads


Date 2020-09-12
SystemRequirements gmp (>=5.0)
VignetteBuilder knitr
biocViews BiomedicalInformatics, Metabolomics, SystemsBiology, GraphAndNetwork
License MIT + file LICENSE
Encoding UTF-8
LazyData true
RoxygenNote 7.1.1
NeedsCompilation no
Packaged 2020-10-08 18:52:06 UTC; lillian.rosa
Repository CRAN
Date/Publication 2020-10-16 14:00:09 UTC

Include our badge in your README