`dDAGtermSim`

is supposed to calculate pair-wise semantic
similarity between input terms based on a direct acyclic graph (DAG)
with annotated data. Parallel computing is also supported for Linux or
Mac operating systems.

dDAGtermSim(g, terms = NULL, method = c("Resnik", "Lin", "Schlicker", "Jiang", "Pesquita"), fast = T, parallel = TRUE, multicores = NULL, verbose = T)

- g
- an object of class "igraph" or "graphNEL". It must contain a vertex attribute called 'annotations' for storing annotation data (see example for howto)
- terms
- the terms/nodes between which pair-wise semantic similarity is calculated. If NULL, all terms in the input DAG will be used for calcluation, which is very prohibitively expensive!
- method
- the method used to measure semantic similarity between input terms. It can be "Resnik" for information content (IC) of most informative common ancestor (MICA) (see http://arxiv.org/pdf/cmp-lg/9511007.pdf), "Lin" for 2*IC at MICA divided by the sum of IC at pairs of terms (see https://www.cse.iitb.ac.in/~cs626-449/Papers/WordSimilarity/3.pdf), "Schlicker" for weighted version of 'Lin' by the 1-prob(MICA) (see http://www.ncbi.nlm.nih.gov/pubmed/16776819), "Jiang" for 1 - difference between the sum of IC at pairs of terms and 2*IC at MICA (see http://arxiv.org/pdf/cmp-lg/9709008.pdf), "Pesquita" for graph information content similarity related to Tanimoto-Jacard index (ie. summed information content of common ancestors divided by summed information content of all ancestors of term1 and term2 (see http://www.ncbi.nlm.nih.gov/pubmed/18460186)). By default, it uses "Schlicker" method
- fast
- logical to indicate whether a vectorised fast computation is used. By default, it sets to true. It is always advisable to use this vectorised fast computation; since the conventional computation is just used for understanding scripts
- parallel
- logical to indicate whether parallel computation with
multicores is used. By default, it sets to true, but not necessarily
does so. It will depend on whether these two packages "foreach" and
"doParallel" have been installed. It can be installed via:
`source("http://bioconductor.org/biocLite.R"); biocLite(c("foreach","doParallel"))`

. If not yet installed, this option will be disabled - multicores
- an integer to specify how many cores will be registered as the multicore parallel backend to the 'foreach' package. If NULL, it will use a half of cores available in a user's computer. This option only works when parallel computation is enabled
- verbose
- logical to indicate whether the messages will be displayed in the screen. By default, it sets to true for display

It returns a sparse matrix containing pair-wise semantic similarity
between input terms. This sparse matrix can be converted to the full
matrix via the function `as.matrix`

none

# 1) load HPPA as igraph object ig.HPPA <-dRDataLoader(RData='ig.HPPA')'ig.HPPA' (from package 'dnet' version 1.0.11) has been loaded into the working environment (at 2017-03-27 19:54:26)g <- ig.HPPA # 2) load human genes annotated by HPPA org.Hs.egHPPA <- dRDataLoader(RData='org.Hs.egHPPA')'org.Hs.egHPPA' (from package 'dnet' version 1.0.11) has been loaded into the working environment (at 2017-03-27 19:54:26)# 3) prepare for ontology and its annotation information dag <- dDAGannotate(g, annotations=org.Hs.egHPPA, path.mode="all_paths", verbose=TRUE)At level 13, there are 5 nodes, and 12 incoming neighbors.At level 12, there are 17 nodes, and 27 incoming neighbors.At level 11, there are 50 nodes, and 65 incoming neighbors.At level 10, there are 144 nodes, and 145 incoming neighbors.At level 9, there are 332 nodes, and 282 incoming neighbors.At level 8, there are 518 nodes, and 374 incoming neighbors.At level 7, there are 625 nodes, and 389 incoming neighbors.At level 6, there are 710 nodes, and 382 incoming neighbors.At level 5, there are 587 nodes, and 232 incoming neighbors.At level 4, there are 297 nodes, and 91 incoming neighbors.At level 3, there are 105 nodes, and 23 incoming neighbors.At level 2, there are 23 nodes, and 1 incoming neighbors.At level 1, there are 1 nodes, and 0 incoming neighbors.# 4) calculate pair-wise semantic similarity between 5 randomly chosen terms terms <- sample(V(dag)$name, 5) sim <- dDAGtermSim(g=dag, terms=terms, method="Schlicker", parallel=FALSE)Start at 2017-03-27 19:54:46Calculate semantic similarity between 5 terms using Schlicker method (2017-03-27 19:54:46)...Build a sparse matrix of children x ancestors (with 5 rows and 3414 columns (2017-03-27 19:54:46)...1 out of 5 (2017-03-27 19:54:46)2 out of 5 (2017-03-27 19:54:46)3 out of 5 (2017-03-27 19:54:46)4 out of 5 (2017-03-27 19:54:46)5 out of 5 (2017-03-27 19:54:46)Finish at 2017-03-27 19:54:46Runtime in total is: 0 secssim5 x 5 sparse Matrix of class "dgCMatrix" HP:0030402 HP:0000142 HP:0002384 HP:0000653 HP:0012471 HP:0030402 1.988841 . . . . HP:0000142 . 1.967762 . . . HP:0002384 . . 1.99442 . . HP:0000653 . . . 1.9776813 0.1018821 HP:0012471 . . . 0.1018821 1.9330440

`dDAGtermSim.r`

`dDAGtermSim.Rd`

`dDAGtermSim.pdf`

`dDAGinduce`

, `dDAGancestor`

,
`dDAGgeneSim`

, `dCheckParallel`