## Not run:
# ##---- Should be DIRECTLY executable !! ----
# ##-- ==> Define data, use random,
# ##-- or do help(data=index) for the standard data sets.
#
# ## The function is currently defined as
# function (model, geneExpr, selected_rxns = NULL)
# {
# if (length(selected_rxns) == 0) {
# ugpr = as.vector(unique(gpr(model)))
# }
# else {
# ugpr = as.vector(unique(gpr(model)[selected_rxns]))
# }
# ugpr = ugpr[ugpr != ""]
# gprExpr = NULL
# for (v_rule in ugpr) {
# rl = gsub("\)", " ) ", v_rule)
# rl = gsub("\(", " ( ", rl)
# pr = lapply(strsplit(unlist(strsplit(rl, " or ")), " and "),
# function(x) gsub("[() ]", "", x))
# expr_val = 0
# for (p in 1:length(pr)) {
# gene_ind = match(pr[[p]], geneExpr$geneID)
# if (length(gene_ind) < length(pr[[p]])) {
# warning(sprintf("Rule %s containing gene names not in geneID list,
# term no: %d term: %s ",
# v_rule, p, pr[[p]][1]))
# }
# else {
# expr_val = expr_val + mean(geneExpr[gene_ind,
# "expr_val"])
# }
# }
# cnt = sum(gpr(model) == v_rule)
# gprExpr = rbind(gprExpr, cbind(rxn_id = react_id(model)[gpr(model) ==
# v_rule], expr_val = expr_val/cnt, gpr = v_rule, cnt = rep(cnt,
# cnt)))
# }
# return(gprExpr)
# }
# ## End(Not run)
Run the code above in your browser using DataLab