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:
- Background knowledge graph generation.
- 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.
- Calculate the probability of a node subset based on the encoding length.
- 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
|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.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|
Vignettes of CTD
Last month downloads
|biocViews||BiomedicalInformatics, Metabolomics, SystemsBiology, GraphAndNetwork|
|License||MIT + file LICENSE|
|Packaged||2020-10-08 18:52:06 UTC; lillian.rosa|
|Date/Publication||2020-10-16 14:00:09 UTC|
Include our badge in your README