From 9846977f7db13638b08cae898649fd8df7ca7c2f Mon Sep 17 00:00:00 2001 From: Chee Yee Lim Date: Sun, 29 Nov 2015 21:22:12 +0000 Subject: [PATCH] Major updates Preparing for release --- DESCRIPTION | 18 +- NAMESPACE | 12 +- R/RcppExports.R | 43 -- R/compression.R | 56 +- R/data_desc.R | 48 +- R/general.R | 238 +-------- R/methods.R | 40 ++ R/model_modification.R | 120 +++-- R/output_format.R | 172 +++--- R/rand_model.R | 40 +- R/score_calculation.R | 67 ++- R/search.R | 314 +++++++---- README.md | 1 - booltrainer.Rproj | 18 + data/bon_moig_istate.rda | Bin 246 -> 0 bytes data/bon_sstate.rda | Bin 288 -> 0 bytes data/bon_wilson_istate.rda | Bin 383 -> 0 bytes data/bonkrum_geneid_map.rda | Bin 304 -> 0 bytes data/example_models.rda | Bin 0 -> 397 bytes data/krum_sstate.rda | Bin 254 -> 0 bytes data/krum_wilson_istate.rda | Bin 408 -> 0 bytes data/moig_raw_data.rda | Bin 65398 -> 0 bytes data/real_param.rda | Bin 1593 -> 0 bytes man/bin_to_real.Rd | 17 - man/bon_moig_istate.Rd | 19 - man/check_and.Rd | 15 + man/check_bmodel.Rd | 19 - man/equi_model.Rd | 21 - man/example_models.Rd | 14 + man/gen_one_rmodel.Rd | 4 +- man/gen_randata.Rd | 4 +- man/gen_randata_bn.Rd | 4 +- man/gen_singlerule.Rd | 4 +- man/gen_two_rmodel.Rd | 4 +- man/get_encodings.Rd | 4 +- man/grow_bmodel.Rd | 8 +- man/man_dist.Rd | 17 + man/match_state.Rd | 18 - man/match_state_loop.Rd | 17 - man/minmod_model.Rd | 2 +- man/model_consensus.Rd | 8 +- man/model_dist.Rd | 4 +- man/model_setdiff.Rd | 4 +- man/model_simplify.Rd | 24 - man/model_train.Rd | 25 +- man/model_train_sa.Rd | 31 ++ man/moig_data.Rd | 17 - man/outcyto_model.Rd | 17 - man/outgenysis_model.Rd | 6 +- man/outgraph_model.Rd | 21 + man/{outcyto_stategraph.Rd => outstate_graph.Rd} | 10 +- man/param_bimodal.Rd | 17 - man/plotBM.Rd | 19 + man/rcpp_ham_dist.Rd | 17 - man/rcpp_m_score.Rd | 15 - man/rcpp_man_dist.Rd | 17 - man/real_param.Rd | 14 - man/{moig_raw_data.Rd => wilson_raw_data.Rd} | 10 +- man/wilson_raw_rnaseq.Rd | 17 + src/BoolTraineR.dll | Bin 0 -> 822272 bytes src/RcppExports.cpp | 47 -- src/RcppExports.o | Bin 0 -> 73650 bytes src/general.cpp | 56 -- src/score_calculation.cpp | 192 ------- src/score_calculation.o | Bin 0 -> 50392 bytes src/simulation.o | Bin 0 -> 160874 bytes vignettes/booltrainer.Rmd | 479 +++++++++++++++++ vignettes/booltrainer.html | 594 +++++++++++++++++++++ vignettes/booltrainer.md | 494 +++++++++++++++++ vignettes/booltrainer.pdf | Bin 0 -> 306947 bytes .../figure-markdown_github/unnamed-chunk-15-1.png | Bin 0 -> 8031 bytes .../figure-markdown_github/unnamed-chunk-21-1.png | Bin 0 -> 8031 bytes .../figure-markdown_github/unnamed-chunk-29-1.png | Bin 0 -> 8031 bytes 73 files changed, 2372 insertions(+), 1161 deletions(-) delete mode 100644 README.md create mode 100644 booltrainer.Rproj delete mode 100644 data/bon_moig_istate.rda delete mode 100644 data/bon_sstate.rda delete mode 100644 data/bon_wilson_istate.rda delete mode 100644 data/bonkrum_geneid_map.rda create mode 100644 data/example_models.rda delete mode 100644 data/krum_sstate.rda delete mode 100644 data/krum_wilson_istate.rda delete mode 100644 data/moig_raw_data.rda delete mode 100644 data/real_param.rda delete mode 100644 man/bin_to_real.Rd delete mode 100644 man/bon_moig_istate.Rd create mode 100644 man/check_and.Rd delete mode 100644 man/check_bmodel.Rd delete mode 100644 man/equi_model.Rd create mode 100644 man/example_models.Rd create mode 100644 man/man_dist.Rd delete mode 100644 man/match_state.Rd delete mode 100644 man/match_state_loop.Rd delete mode 100644 man/model_simplify.Rd create mode 100644 man/model_train_sa.Rd delete mode 100644 man/moig_data.Rd delete mode 100644 man/outcyto_model.Rd create mode 100644 man/outgraph_model.Rd rename man/{outcyto_stategraph.Rd => outstate_graph.Rd} (82%) delete mode 100644 man/param_bimodal.Rd create mode 100644 man/plotBM.Rd delete mode 100644 man/rcpp_ham_dist.Rd delete mode 100644 man/rcpp_m_score.Rd delete mode 100644 man/rcpp_man_dist.Rd delete mode 100644 man/real_param.Rd rename man/{moig_raw_data.Rd => wilson_raw_data.Rd} (62%) create mode 100644 man/wilson_raw_rnaseq.Rd create mode 100644 src/BoolTraineR.dll create mode 100644 src/RcppExports.o delete mode 100644 src/general.cpp create mode 100644 src/score_calculation.o create mode 100644 src/simulation.o create mode 100644 vignettes/booltrainer.Rmd create mode 100644 vignettes/booltrainer.html create mode 100644 vignettes/booltrainer.md create mode 100644 vignettes/booltrainer.pdf create mode 100644 vignettes/booltrainer_files/figure-markdown_github/unnamed-chunk-15-1.png create mode 100644 vignettes/booltrainer_files/figure-markdown_github/unnamed-chunk-21-1.png create mode 100644 vignettes/booltrainer_files/figure-markdown_github/unnamed-chunk-29-1.png diff --git a/DESCRIPTION b/DESCRIPTION index aaa4b0b..368900a 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,12 +1,13 @@ Package: BoolTraineR Type: Package Title: Tools For Training and Analysing Asynchronous Boolean Models -Version: 1.0.1 +Version: 1.1.1 Date: 2015-10-22 Author: Chee Yee Lim -Maintainer: Chee Yee Lim -Description: This package contains tools for Boolean model manipulation, as well as the search for the best Boolean model. -Depends: +Maintainer: Chee Yee Lim +Description: This package contains tools for inferring asynchronous Boolean + models from single-cell expression data. +Depends: R (>= 3.0.3), methods Imports: @@ -15,8 +16,13 @@ Imports: foreach (>= 1.4.1), doParallel (>= 1.0.8), poweRlaw (>= 0.30.0), - MASS (>= 7.3-44), - diptest (>= 0.75-7) + diptest (>= 0.75-7), + igraph (>= 1.0.1) LinkingTo: Rcpp License: GPL-3 LazyData: true +Suggests: + knitr, + rmarkdown +VignetteBuilder: knitr +RoxygenNote: 5.0.1 diff --git a/NAMESPACE b/NAMESPACE index eb35b6c..e2ec62b 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -2,16 +2,13 @@ export(BoolModel) export(amat_to_bm) -export(bin_to_real) export(bm_to_amat) export(bm_to_df) export(calc_mscore) export(calc_roc) -export(check_bmodel) export(compress_bmodel) export(decompress_bmodel) export(df_to_bm) -export(equi_model) export(gen_randata) export(gen_randata_bn) export(gen_two_rmodel) @@ -21,14 +18,15 @@ export(grow_bmodel) export(initialise_data) export(initialise_model) export(initialise_raw_data) -export(model_consensus) +export(minmod_model) export(model_dist) export(model_setdiff) export(model_train) -export(outcyto_model) -export(outcyto_stategraph) +export(model_train_sa) export(outgenysis_model) -export(param_bimodal) +export(outgraph_model) +export(outstate_graph) +export(plotBM) export(printBM) export(simulate_model) export(unique_raw_data) diff --git a/R/RcppExports.R b/R/RcppExports.R index ee594f4..ae6d217 100644 --- a/R/RcppExports.R +++ b/R/RcppExports.R @@ -1,49 +1,6 @@ # This file was generated by Rcpp::compileAttributes # Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393 -#' @title Find a match between two data frames. -#' -#' @description -#' (&&&Not for public use&&&)This function finds a match between two df of states. Used in match_state(). Return an row index vector indicating which row of mstate matches the rows in xstate. -#' -#' @param mstate data frame. It should be a state(row) x gene(column) df. -#' @param xstate data frame. It should be a state(row) x gene(column) df. -match_state_loop <- function(mstate, xstate) { - .Call('BoolTraineR_match_state_loop', PACKAGE = 'BoolTraineR', mstate, xstate) -} - -#' @title Calculating pairwise scores between model and data states. -#' -#' @description -#' This function calculates the pairwise scores between each row of model and data states. The score is calculated using a custom binary distance measure. -#' -#' @param x_df matrix. It should be numerical matrix of model states. -#' @param y_df matrix. It should be numerical matrix of data states. -rcpp_man_dist <- function(x_df, y_df) { - .Call('BoolTraineR_rcpp_man_dist', PACKAGE = 'BoolTraineR', x_df, y_df) -} - -#' @title Calculating Hamming pairwise scores between model and data states. -#' -#' @description -#' This function calculates the pairwise scores between each row of model and data states. The score is calculated using a custom binary distance measure. -#' -#' @param x_df matrix. It should be logical matrix of model states. -#' @param y_df matrix. It should be logical matrix of data states. -rcpp_ham_dist <- function(x_df, y_df) { - .Call('BoolTraineR_rcpp_ham_dist', PACKAGE = 'BoolTraineR', x_df, y_df) -} - -#' @title Inner core for m_score() -#' -#' @description -#' This function takes in a df with columns ranked wrt each row, and try to assign each row to a unique column without repetition. -#' -#' @param x_df matrix. Matrix with columns ranked wrt each row. -rcpp_m_score <- function(x_df) { - .Call('BoolTraineR_rcpp_m_score', PACKAGE = 'BoolTraineR', x_df) -} - #' @title Calculating validation scores between two adjacency matrices #' #' @description diff --git a/R/compression.R b/R/compression.R index 29a03d3..68b5fc0 100644 --- a/R/compression.R +++ b/R/compression.R @@ -5,39 +5,53 @@ #' This function limits the number of possible variables in the model to 999. #' #' @param bmodel S4 BoolModel object. -#' @param inter_bool logical. Indicate whether to consider AND terms. #' #' @export -get_encodings = function(bmodel, inter_bool) +get_encodings = function(bmodel) { + and_bool = check_and(bmodel) + #Get all possible terms. svar = bmodel@target_var - if(inter_bool) + if(and_bool) { dvar = sapply(combn(svar, 2, simplify=F), function(x) paste(x, collapse='&')) #get all possible interacting pairs. dvar = c(dvar, sapply(combn(svar, 2, simplify=F), function(x) paste(rev(x), collapse='&'))) #get the reversed pattern as well. + + term_pool = c(svar, dvar) + term_pool = c('0', term_pool, '!0', paste('!', term_pool, sep='')) #add in inh terms. + + #Generate index for activation terms. + num_pool = seq(1, length(svar)+1) #get numbers for svar. + num_pool = c(num_pool, as.vector(replicate(2, seq(max(num_pool)+1, max(num_pool)+(length(dvar)/2))))) #get numbers for both forward and reverse dvar. + + #Generate index for inhibition terms. + num_pool = c(num_pool, seq(max(num_pool)+1, max(num_pool)+length(svar)+1)) #get numbers for svar. + num_pool = c(num_pool, as.vector(replicate(2, seq(max(num_pool)+1, max(num_pool)+(length(dvar)/2))))) #get numbers for both forward and reverse dvar. + + num_pool = unname(sapply(num_pool, function(x) ifelse(nchar(x)==1, paste('0', x, sep=''), x))) #convert single digit to double digit. + num_pool = unname(sapply(num_pool, function(x) ifelse(nchar(x)==2, paste('0', x, sep=''), x))) #convert double digit to triple digit. + num_pool = unname(sapply(num_pool, function(x) ifelse(nchar(x)==3, paste('0', x, sep=''), x))) #convert triple digit to quadruple digit. + + names(num_pool) = term_pool } else { - dvar = c() + term_pool = svar + term_pool = c('0', term_pool, '!0', paste('!', term_pool, sep='')) #add in inh terms. + + #Generate index for activation terms. + num_pool = seq(1, length(svar)+1) #get numbers for svar. + + #Generate index for inhibition terms. + num_pool = c(num_pool, seq(max(num_pool)+1, max(num_pool)+length(svar)+1)) #get numbers for svar. + + num_pool = unname(sapply(num_pool, function(x) ifelse(nchar(x)==1, paste('0', x, sep=''), x))) #convert single digit to double digit. + num_pool = unname(sapply(num_pool, function(x) ifelse(nchar(x)==2, paste('0', x, sep=''), x))) #convert double digit to triple digit. + num_pool = unname(sapply(num_pool, function(x) ifelse(nchar(x)==3, paste('0', x, sep=''), x))) #convert triple digit to quadruple digit. + + names(num_pool) = term_pool } - term_pool = c(svar, dvar) - term_pool = c('0', term_pool, '!0', paste('!', term_pool, sep='')) #add in inh terms. - - #Generate index for activation terms. - num_pool = seq(1, length(svar)+1) #get numbers for svar. - num_pool = c(num_pool, as.vector(replicate(2, seq(max(num_pool)+1, max(num_pool)+(length(dvar)/2))))) #get numbers for both forward and reverse dvar. - - #Generate index for inhibition terms. - num_pool = c(num_pool, seq(max(num_pool)+1, max(num_pool)+length(svar)+1)) #get numbers for svar. - num_pool = c(num_pool, as.vector(replicate(2, seq(max(num_pool)+1, max(num_pool)+(length(dvar)/2))))) #get numbers for both forward and reverse dvar. - - num_pool = unname(sapply(num_pool, function(x) ifelse(nchar(x)==1, paste('0', x, sep=''), x))) #convert single digit to double digit. - num_pool = unname(sapply(num_pool, function(x) ifelse(nchar(x)==2, paste('0', x, sep=''), x))) #convert double digit to triple digit. - num_pool = unname(sapply(num_pool, function(x) ifelse(nchar(x)==3, paste('0', x, sep=''), x))) #convert triple digit to quadruple digit. - - names(num_pool) = term_pool - stopifnot(all(!is.na(names(num_pool)))) stopifnot(all(!is.na(term_pool))) diff --git a/R/data_desc.R b/R/data_desc.R index ec8744d..2fbbb5c 100644 --- a/R/data_desc.R +++ b/R/data_desc.R @@ -31,24 +31,6 @@ NULL #' @usage data(bon_istate) NULL -#' @title Initial state from Moignard et al. -#' -#' @description -#' An intial state obtained from data in Moignard et al, determined by taking colMeans over unique rows, and rounding the means to 0-1. -#' Values for genes that are missing in Moignard et al, but are present in Bonzanni et al, are determined by taking values from the original initial state supplied in Bonzanni et al. -#' It contains a set of Boolean values for 20 genes. -#' -#' @format -#' A data frame with 1 row and 20 columns. -#' -#' Rows: each row consists of 1 set of Boolean state. -#' Columns: each column is for 1 gene/variable. -#' -#' @docType data -#' @name bon_moig_istate -#' @usage data(bon_moig_istate) -NULL - #' @title Myeloid Boolean Model from Krumsiek et al. #' #' @description @@ -82,47 +64,47 @@ NULL #' @usage data(krum_istate) NULL -#' @title Raw single cell qRT-PCR expression data from Moignard et al. +#' @title Raw single cell qRT-PCR expression data from Wilson et al. #' #' @description #' A raw single cell expression data obtained from multiple cell types. #' #' @format -#' A data frame with 597 rows and 18 columns. +#' A data frame with 1626 rows and 44 columns. #' #' Rows: each row consists of raw expression values from 1 cell. #' Columns: each column is for 1 gene/variable. #' #' @docType data -#' @name moig_raw_data -#' @usage data(moig_raw_data) +#' @name wilson_raw_data +#' @usage data(wilson_raw_data) NULL -#' @title Discretised single cell qRT-PCR expression data from Moignard et al. +#' @title Raw single cell RNAseq expression data from Wilson et al. #' #' @description -#' A discretised single cell expression data obtained from multiple cell types. +#' A raw single cell expression data obtained from multiple cell types. #' #' @format -#' A data frame with 597 rows and 18 columns. +#' A data frame with 96 rows and 38498 columns. #' -#' Rows: each row consists of discretised expression values from 1 cell. +#' Rows: each row consists of raw expression values from 1 cell. #' Columns: each column is for 1 gene/variable. #' #' @docType data -#' @name moig_data -#' @usage data(moig_data) +#' @name wilson_raw_rnaseq +#' @usage data(wilson_raw_rnaseq) NULL -#' @title Estimated parameters from Wilson et al. data +#' @title Example Boolean Models used in the vignette #' #' @description -#' A list of parameters (based on log normal distribution) estimated from Wilson et al. single-cell qPCR expression data. +#' 3 Boolean models used in the examples of the vignette. #' #' @format -#' A list with 4 numeric vectors, all_mu1, all_mu2, all_sig1, all_sig2. Note that each element in the vector is estimated from a single gene. +#' Each Boolean model is a BoolModel object. #' #' @docType data -#' @name real_param -#' @usage data(real_param) +#' @name example_models +#' @usage data(example_models) NULL \ No newline at end of file diff --git a/R/general.R b/R/general.R index d1a3cf4..3569cfd 100644 --- a/R/general.R +++ b/R/general.R @@ -15,6 +15,27 @@ vcat = function(string, bool) invisible() } +#' @title Check if containing AND terms +#' +#' @description +#' This function checks if a particular Boolean model contains AND terms. +#' +#' @param bmodel BoolModel object. +check_and = function(bmodel) +{ + and_bool = F + + if(any(grepl('&', bmodel@rule_act))) + { + and_bool = T + } else if(any(grepl('&', bmodel@rule_inh))) + { + and_bool = T + } + + return(and_bool) +} + #' @title Extract Boolean terms #' #' @description @@ -99,26 +120,6 @@ match_term = function(t1, t2, mode='logic') } } -#' @title Check for matching states -#' -#' @description -#' This function finds a match between two df of states. Returns a row index vector indicating for each row of mstate, what is the corresponding row in xstate. If a match cannot be found, a 0 will be return. -#' Only columns that are present in both df will be used in comparison. Note that the row index starts from 1 (as in R), not from 0 (as in cpp). -#' -#' @param mstate data frame. It should be a state(row) x gene(column) df. colnames will be used in comparison. -#' @param xstate data frame. It should be a state(row) x gene(column) df. colnames will be used in comparison. -match_state = function(mstate, xstate) -{ - #Filtering the columns in mstate and xstate. - same_col = intersect(colnames(mstate), colnames(xstate)) - fmstate = mstate[, same_col] - fxstate = xstate[, same_col] - - ind = match_state_loop(as.matrix(fmstate), as.matrix(fxstate)) - - return(ind) #zeroes are present due to mismatching in cpp code. -} - #' @title Pick a random minimum value #' #' @description @@ -167,191 +168,6 @@ filter_dflist = function(x, y, uniq_bool=T) } } -#' @title Check if the Boolean model violates constraints. -#' -#' @description -#' This function checks if the Boolean model violates contraints. Return logical value. -#' (1) Each gene rule should not have more terms than max_varperrule. -#' (2) The same term should not occur twice in the same rule. -#' -#' @param bmodel S4 BoolModel object. -#' @param max_varperrule integer. Maximum number of terms per rule (combining both act and inh rule). Note that this number must not be smaller than number of variables. Default to 6. -#' -#' @export -check_bmodel = function(bmodel, max_varperrule) -{ - check_bool = F - - act_rule = lapply(bmodel@rule_act, function(x) unlist(strsplit(x, '&'))) - inh_rule = lapply(bmodel@rule_inh, function(x) unlist(strsplit(x, '&'))) - - #(1) Check 1 : The same term should not occur twice in the same rule. - check_bool = check_bool | any(sapply(act_rule, function(x) any(duplicated(x)))) - check_bool = check_bool | any(sapply(inh_rule, function(x) any(duplicated(x)))) - - #(2) Check 2 : Each gene rule should not have more terms than max_varperrule. - act_rule = sapply(act_rule, function(x) unique(x)) - act_rule = sapply(act_rule, function(x) x[!(x %in% '0')]) #remove zeroes. - - inh_rule = sapply(inh_rule, function(x) unique(x)) - inh_rule = sapply(inh_rule, function(x) x[!(x %in% '0')]) #remove zeroes. - - check_bool = check_bool | any(sapply(act_rule, function(x) length(x)>max_varperrule)) - check_bool = check_bool | any(sapply(inh_rule, function(x) length(x)>max_varperrule)) - - if(check_bool) - { - return(FALSE) - } else - { - return(TRUE) - } -} - -#' @title Obtain parameters for bimodal distribution from real data -#' -#' @description -#' This function obtains parameters for bimodal distribution. Returns 4 parameters: mu1, mu2, sig1, sig2. -#' -#' @param x matrix. Input expression data. Col-genes, row-samples. -#' @param data_type character. Specify data types: qpcr, rnaseq. -#' -#' @export -param_bimodal = function(x, data_type='qpcr') -{ - require(MASS) - - #(1) Initialise data. - tmp = initialise_raw_data(x, data_type) - x_con = tmp[[1]] #continuous - x_bin = tmp[[2]] #discrete - - #rescale the data to remove zeroes. - x_con = x_con + 0.0001 - - all_mu1 = c() - all_mu2 = c() - all_sig1 = c() - all_sig2 = c() - for(i in 1:ncol(x_bin)) - { - #(2) Extract the parameters for the two modal distributions. - #First modal - low expression, 0s. Second modal - high expression, 1s. - x_lowmode = x_con[x_bin[,i]!=1, i] - x_highmode = x_con[x_bin[,i]==1, i] - - #(3) Estimate parameters - param1 = MASS::fitdistr(x_lowmode, 'lognormal') - param2 = MASS::fitdistr(x_highmode, 'lognormal') - - #For checking. - #hist(rlnorm(1000, param1$estimate[1], param1$estimate[2])) - #hist(rlnorm(1000, param2$estimate[1], param2$estimate[2])) - - all_mu1 = c(all_mu1, param1$estimate[1]) - all_mu2 = c(all_mu2, param2$estimate[1]) - all_sig1 = c(all_sig1, param1$estimate[2]) - all_sig2 = c(all_sig2, param2$estimate[2]) - } - - return(list(all_mu1=all_mu1, all_mu2=all_mu2, all_sig1=all_sig1, all_sig2=all_sig2)) -} - - -#' @title Generate random real numbers from binary values -#' -#' @description -#' This function generates random real numbers from binary values, with supplied parameters. Returns a vector of real values. -#' -#' @param x logical or 0/1 numeric matrix. Col-genes, row-samples. -#' @param param list of parameters given by param_bimodal(). -#' -#' @export -bin_to_real = function(x, param) -{ - require(MASS) - - #(1) Convert logical to numeric. - x = x + 0 - - #(2) Estimate the distribution for the parameters. - mu1_dist = MASS::fitdistr(-param$all_mu1, 'lognormal') - mu2_dist = MASS::fitdistr(-param$all_mu2, 'lognormal') - sig1_dist = MASS::fitdistr(param$all_sig1, 'lognormal') - sig2_dist = MASS::fitdistr(param$all_sig2, 'lognormal') - - y = matrix(NA, ncol=ncol(x), nrow=nrow(x)) - for(i in 1:ncol(x)) - { - #(3) Generating random values from the distribution. - mu1_est = -rlnorm(1, mu1_dist$estimate[1], mu1_dist$estimate[2]) - mu2_est = -rlnorm(1, mu2_dist$estimate[1], mu2_dist$estimate[2]) - sig1_est = rlnorm(1, sig1_dist$estimate[1], sig1_dist$estimate[2]) - sig2_est = rlnorm(1, sig2_dist$estimate[1], sig2_dist$estimate[2]) - - #(4) For each gene, generate random expression values using the obtained random parameters. - for(j in 1:nrow(x)) - { - if(x[j,i]==0) - { - y[j,i] = rlnorm(1, mu1_est, sig1_est) - - if(y[j,i] > 1) - { - y[j,i] = 1 - } else if(y[j,i] < 0) - { - stop('Error in generating continuous values.') - } - } else - { - y[j,i] = rlnorm(1, mu2_est, sig2_est) - - if(y[j,i] > 1) - { - y[j,i] = 1 - } else if(y[j,i] < 0) - { - stop('Error in generating continuous values.') - } - } - } - } - - return(y) -} - -#' @title Check for equivalent models -#' -#' @description -#' This function checks if the two models have the same rules. Return a logical value. Only TRUE if each rule for each gene is the same. -#' -#' @param bmodel1 S4 BoolModel object. -#' @param bmodel2 S4 BoolModel object. -#' @param inter_bool logical. Indicate whether to consider AND terms. -#' @param max_varperrule integer. Maximum number of terms per rule (combining both act and inh rule). Note that this number must not be smaller than number of variables. Default to 6. -#' -#' @export -equi_model = function(bmodel1, bmodel2, inter_bool, max_varperrule) -{ - stopifnot(length(bmodel1@target)==length(bmodel2@target)) - stopifnot(get_encodings(bmodel1, inter_bool)==get_encodings(bmodel2, inter_bool)) - - ind = get_encodings(bmodel1, inter_bool) - - dist = model_dist(bmodel1, bmodel2, inter_bool, max_varperrule) - - if(dist==0) - { - match = T - } else - { - match = F - } - - return(match) -} - #' @title Calculate distance between Boolean models #' #' @description @@ -359,13 +175,12 @@ equi_model = function(bmodel1, bmodel2, inter_bool, max_varperrule) #' #' @param x S4 BoolModel object. Test model. #' @param y S4 BoolModel object. Reference model. -#' @param inter_bool logical. Indicate whether to consider AND terms. #' @param max_varperrule integer. Maximum number of terms per rule (combining both act and inh rule). Note that this number must not be smaller than number of variables. Default to 6. #' #' @export -model_dist = function(x, y, inter_bool, max_varperrule) +model_dist = function(x, y, max_varperrule) { - set_diff = unlist(model_setdiff(x, y, inter_bool, max_varperrule)) + set_diff = unlist(model_setdiff(x, y, max_varperrule)) #Calculate total dist. t_dist = length(set_diff) @@ -381,17 +196,16 @@ model_dist = function(x, y, inter_bool, max_varperrule) #' #' @param x S4 BoolModel object. Test model. #' @param y S4 BoolModel object. Reference model. -#' @param inter_bool logical. Indicate whether to consider AND terms. #' @param max_varperrule integer. Maximum number of terms per rule (combining both act and inh rule). Note that this number must not be smaller than number of variables. Default to 6. #' @param directed logical. If TRUE, return the difference in terms with respect to x. #' #' @export -model_setdiff = function(x, y, inter_bool, max_varperrule, directed=F) +model_setdiff = function(x, y, max_varperrule, directed=F) { stopifnot(length(x@target) == length(y@target)) - stopifnot(get_encodings(x, inter_bool)==get_encodings(y, inter_bool)) + stopifnot(get_encodings(x)==get_encodings(y)) - ind = get_encodings(x, inter_bool) + ind = get_encodings(x) x1 = compress_bmodel(x, ind, max_varperrule) x2 = compress_bmodel(y, ind, max_varperrule) diff --git a/R/methods.R b/R/methods.R index 0fb4c9a..5a132a1 100644 --- a/R/methods.R +++ b/R/methods.R @@ -62,6 +62,46 @@ writeBM = function(bmodel, file, gene.names=F, rownames=F) write.csv(out_df, file=file, quote=F, row.names=F) } +#' @title Plot Boolean Model +#' +#' @description +#' This method plots the network underlying Boolean models by using igraph for quick visualisation. +#' +#' @param bmodel S4 BoolModel object. +#' @param makePlot logical. Whether to make plot or just return the object. Default to T. +#' @param ... Additional parameters to plot.igraph. +#' +#' @export +plotBM = function(bmodel, makePlot=T, ...) +{ + require(igraph) + + #Convert to amat. + am = bm_to_amat(bmodel) + + #Convert into a graph. + g = graph.adjacency(am, mode='directed', weighted=T) + + #Setup edge colour for plotting. + #Activation = black, inhibition = red + E(g)$color = sapply(E(g)$weight, function(x) ifelse(x==1, 'black', 'red')) + + #Setup other colours. + V(g)$frame.color = "white" + V(g)$color = rgb(255, 165, 0, 200, maxColorValue = 255) + + #Setup vertex font size. + V(g)$label.cex = 1.5 + + if(makePlot) + { + #Make the plot. + plot(g, layout=layout_in_circle, ...) + } + + invisible(g) +} + #' @title Convert BoolModel into adjacency matrix #' #' @description diff --git a/R/model_modification.R b/R/model_modification.R index 974320d..0199d3b 100644 --- a/R/model_modification.R +++ b/R/model_modification.R @@ -5,7 +5,9 @@ #' #' @param bm S4 BoolModel object. #' @param index integer. Specifying rule of which gene to modify. If NULL, modifies all rules in the model. Defaults to NULL. -#' @param overlap_gene character vector. Specify which genes are present in both model and data inputs. Only needed when index=NULL. +#' @param overlap_gene character vector. Specify which genes are present in both model and data inputs. +#' +#' @export minmod_model = function(bm, index=NULL, overlap_gene=NULL) { if(is.null(index)) @@ -46,6 +48,8 @@ minmod_model = function(bm, index=NULL, overlap_gene=NULL) #' @param index integer. Specifying rule of which gene to modify. minmod_internal = function(bm, index) { + and_bool = check_and(bm) + arule = bm@rule_act[[index]] irule = bm@rule_inh[[index]] @@ -75,6 +79,7 @@ minmod_internal = function(bm, index) } } } + dellist_arule[sapply(dellist_arule, length)==0] = list('0') #if there is any empty term at the end, add in '0' #Deletion of inh rule. dellist_irule = list() @@ -102,38 +107,45 @@ minmod_internal = function(bm, index) } } } + dellist_irule[sapply(dellist_irule, length)==0] = list('0') #if there is any empty term at the end, add in '0' #Addition of act rule. (single) pos_actterm = bm@target_var[!bm@target_var %in% unlist(strsplit(c(arule, irule), '&'))] - addlist_arule = list() - if(arule[1] == '0') + if(length(pos_actterm) != 0) { - for(i in 1:length(pos_actterm)) + addlist_arule = list() + if(arule[1] == '0') { - addlist_arule = c(addlist_arule, list(pos_actterm[i])) - } - } else - { - for(i in 1:length(pos_actterm)) + for(i in 1:length(pos_actterm)) + { + addlist_arule = c(addlist_arule, list(pos_actterm[i])) + } + } else { - addlist_arule = c(addlist_arule, list(c(arule, pos_actterm[i]))) + for(i in 1:length(pos_actterm)) + { + addlist_arule = c(addlist_arule, list(c(arule, pos_actterm[i]))) + } } - } - - #Addition of act rule. (double) - if(arule[1] != '0') - { - for(i in 1:length(pos_actterm)) + + if(and_bool) { - for(j in 1:length(arule)) + #Addition of act rule. (double) + if(arule[1] != '0') { - if(grepl('&', arule[j])) - { - next - } else + for(i in 1:length(pos_actterm)) { - tmp = sprintf('%s&%s', pos_actterm[i], arule[j]) - addlist_arule = c(addlist_arule, list(c(arule[-j], tmp))) + for(j in 1:length(arule)) + { + if(grepl('&', arule[j])) + { + next + } else + { + tmp = sprintf('%s&%s', pos_actterm[i], arule[j]) + addlist_arule = c(addlist_arule, list(c(arule[-j], tmp))) + } + } } } } @@ -141,35 +153,42 @@ minmod_internal = function(bm, index) #Addition of inh rule. (single) pos_inhterm = bm@target_var[!bm@target_var %in% unlist(strsplit(c(arule, irule), '&'))] - addlist_irule = list() - if(irule[1] == '0') + #pos_inhterm = pos_inhterm[!is.na(pos_inhterm)] + if(length(pos_inhterm)!=0) { - for(i in 1:length(pos_inhterm)) + addlist_irule = list() + if(irule[1] == '0') { - addlist_irule = c(addlist_irule, list(pos_inhterm[i])) - } - } else - { - for(i in 1:length(pos_inhterm)) + for(i in 1:length(pos_inhterm)) + { + addlist_irule = c(addlist_irule, list(pos_inhterm[i])) + } + } else { - addlist_irule = c(addlist_irule, list(c(irule, pos_inhterm[i]))) + for(i in 1:length(pos_inhterm)) + { + addlist_irule = c(addlist_irule, list(c(irule, pos_inhterm[i]))) + } } - } - - #Addition of inh rule. (double) - if(irule[1] != '0') - { - for(i in 1:length(pos_inhterm)) + + if(and_bool) { - for(j in 1:length(irule)) + #Addition of inh rule. (double) + if(irule[1] != '0') { - if(grepl('&', irule[j])) - { - next - } else + for(i in 1:length(pos_inhterm)) { - tmp = sprintf('%s&%s', pos_inhterm[i], irule[j]) - addlist_irule = c(addlist_irule, list(c(irule[-j], tmp))) + for(j in 1:length(irule)) + { + if(grepl('&', irule[j])) + { + next + } else + { + tmp = sprintf('%s&%s', pos_inhterm[i], irule[j]) + addlist_irule = c(addlist_irule, list(c(irule[-j], tmp))) + } + } } } } @@ -226,14 +245,19 @@ minmod_internal = function(bm, index) #' @title Add extra genes to a Boolean model #' #' @description -#' This function adds extra genes to a Boolean model. Input model must be in data frame format, output model will be BoolModel object. +#' This function adds extra genes to a Boolean model. Return a list of BoolModel object and an initial state. #' -#' @param in_model data frame with 2 columns, which are targets and factors #' @param in_gene character vector. Genes to be added into the model. +#' @param in_model data frame or BoolModel object. If it is a data frame, it must have 2 columns, which are targets and update functions. #' #' @export -grow_bmodel = function(in_model, in_gene) +grow_bmodel = function(in_gene, in_model) { + if(class(in_model)=='BoolModel') + { + in_model = bm_to_df(in_model) + } + #Generate a new data frame to be added into the model df. empty_func = '(0) &! (0)' in_row = data.frame(in_gene, empty_func) diff --git a/R/output_format.R b/R/output_format.R index a3b871e..af4fa57 100644 --- a/R/output_format.R +++ b/R/output_format.R @@ -1,13 +1,15 @@ -#' @title Output a Boolean Model into Cytoscape readable format +#' @title Output a Boolean Model into Cytoscape & Gephi readable format #' #' @description -#' This function outputs a Boolean Model in a format that is readable by Cytoscape. Return invisibly the edges (with edge attributes) and node attributes. (i.e. list of 2 dfs) +#' This function outputs a Boolean Model in a format that is readable by Cytoscape and Gephi. Return invisibly the edges (with edge attributes) and node attributes. (i.e. list of 2 dfs) #' #' @param bmodel S4 BoolModel object. -#' @param filepath character vector. Specify path (AND NOT file name). Default to current working directory, i.e. getwd(). Set to NULL to disable file output. +#' @param path character. Specify path (AND NOT file name). Default to current working directory, i.e. getwd(). Set to NULL to disable file output. +#' @param file character. Specify file name. Default to NULL for default file names. +#' @param and_node logical. Specify AND as an individual node. Default to T. #' #' @export -outcyto_model = function(bmodel, filepath=getwd()) +outgraph_model = function(bmodel, path=getwd(), file=NULL, and_node=T) { edge_vec = character() #setup output vector. @@ -38,50 +40,64 @@ outcyto_model = function(bmodel, filepath=getwd()) s_irule[sapply(s_irule, function(x) length(x)==0)] = '0' d_irule[sapply(d_irule, function(x) length(x)==0)] = '0' - #Start writing rules out for single terms. - for(i in 1:length(bmodel@target)) - { - edge_vec = c(edge_vec, paste(s_arule[[i]], 'activates', bmodel@target[i], sep=',')) - edge_vec = c(edge_vec, paste(s_irule[[i]], 'inhibits', bmodel@target[i], sep=',')) - } - - #Write rules out for double terms. - tmp_and = paste('and', seq(1, sum(grepl('&', unlist(d_arule)))+sum(grepl('&', unlist(d_irule)))), sep='_') - ind = 1 - for(i in 1:length(bmodel@target)) + if(and_node) { - #Write arule. - if(d_arule[[i]][1]!='0') + #Start writing rules out for single terms. + for(i in 1:length(bmodel@target)) { - tmp_rule = strsplit(d_arule[[i]], '&') - - for(j in 1:length(tmp_rule)) + edge_vec = c(edge_vec, paste(s_arule[[i]], 'activates', bmodel@target[i], sep=',')) + edge_vec = c(edge_vec, paste(s_irule[[i]], 'inhibits', bmodel@target[i], sep=',')) + } + + #Write rules out for double terms. + tmp_and = paste('and', seq(1, sum(grepl('&', unlist(d_arule)))+sum(grepl('&', unlist(d_irule)))), sep='_') + ind = 1 + for(i in 1:length(bmodel@target)) + { + #Write arule. + if(d_arule[[i]][1]!='0') { - #Join coproteins with ANDs. - edge_vec = c(edge_vec, paste(tmp_rule[[j]], 'activates', tmp_and[ind], sep=',')) + tmp_rule = strsplit(d_arule[[i]], '&') - #Join ANDs with target genes. - edge_vec = c(edge_vec, paste(tmp_and[ind], 'activates', bmodel@target[i], sep=',')) + for(j in 1:length(tmp_rule)) + { + #Join coproteins with ANDs. + edge_vec = c(edge_vec, paste(tmp_rule[[j]], 'activates', tmp_and[ind], sep=',')) + + #Join ANDs with target genes. + edge_vec = c(edge_vec, paste(tmp_and[ind], 'activates', bmodel@target[i], sep=',')) + + ind = ind + 1 + } + } + + #Write irule. + if(d_irule[[i]][1]!='0') + { + tmp_rule = strsplit(d_irule[[i]], '&') - ind = ind + 1 + for(j in 1:length(tmp_rule)) + { + #Join coproteins with ANDs. + edge_vec = c(edge_vec, paste(tmp_rule[[j]], 'activates', tmp_and[ind], sep=',')) #note that this should be activates. + + #Join ANDs with target genes. + edge_vec = c(edge_vec, paste(tmp_and[ind], 'inhibits', bmodel@target[i], sep=',')) + + ind = ind + 1 + } } } - - #Write irule. - if(d_irule[[i]][1]!='0') + } else + { + #Start writing rules out for both single and double terms. + for(i in 1:length(bmodel@target)) { - tmp_rule = strsplit(d_irule[[i]], '&') + edge_vec = c(edge_vec, paste(s_arule[[i]], 'activates', bmodel@target[i], sep=',')) + edge_vec = c(edge_vec, paste(s_irule[[i]], 'inhibits', bmodel@target[i], sep=',')) - for(j in 1:length(tmp_rule)) - { - #Join coproteins with ANDs. - edge_vec = c(edge_vec, paste(tmp_rule[[j]], 'activates', tmp_and[ind], sep=',')) #note that this should be activates. - - #Join ANDs with target genes. - edge_vec = c(edge_vec, paste(tmp_and[ind], 'inhibits', bmodel@target[i], sep=',')) - - ind = ind + 1 - } + edge_vec = c(edge_vec, paste(d_arule[[i]], 'activates', bmodel@target[i], sep=',')) + edge_vec = c(edge_vec, paste(d_irule[[i]], 'inhibits', bmodel@target[i], sep=',')) } } @@ -91,20 +107,42 @@ outcyto_model = function(bmodel, filepath=getwd()) #Convert the vector into a matrix. edge_df = data.frame(do.call(rbind, strsplit(edge_vec, ','))) - colnames(edge_df) = c('start_node', 'interaction', 'end_node') - - #Generating node attributes. (to distinguish gene nodes from AND nodes) - node_vec = c(bmodel@target, tmp_and) - node_df = data.frame(node_names=node_vec, node_types=ifelse(grepl('and', node_vec), 'ands', 'genes')) + colnames(edge_df) = c('Source', 'Directed', 'Target') + if(and_node) + { + #Generating node attributes. (to distinguish gene nodes from AND nodes) + node_vec = c(bmodel@target, tmp_and) + node_df = data.frame(Id=node_vec, node_types=ifelse(grepl('and', node_vec), 'ands', 'genes')) + } + #Output into files. - if(!is.null(filepath)) + if(!is.null(path)) { - write.csv(edge_df, file=paste(filepath, '/cytoscape_edges.csv', sep=''), quote=F) - write.csv(node_df, file=paste(filepath, '/cytoscape_nodes.csv', sep=''), quote=F) + if(is.null(file)) + { + write.csv(edge_df, file=paste(path, '/edges.csv', sep=''), quote=F, row.names=F) + if(and_node) + { + write.csv(node_df, file=paste(path, '/nodes.csv', sep=''), quote=F, row.names=F) + } + } else + { + write.csv(edge_df, file=paste(path, '/', file, '_edges.csv', sep=''), quote=F, row.names=F) + if(and_node) + { + write.csv(node_df, file=paste(path, '/', file, '_nodes.csv', sep=''), quote=F, row.names=F) + } + } } - invisible(list(edge_df, node_df)) + if(and_node) + { + invisible(list(edge_df, node_df)) + } else + { + invisible(list(edge_df)) + } } #' @title Output a Boolean Model into Genysis readable format @@ -113,10 +151,11 @@ outcyto_model = function(bmodel, filepath=getwd()) #' This function outputs a Boolean Model in a format that is readable by Genysis. Return invisibly the formatted vector. #' #' @param bmodel S4 BoolModel object. -#' @param filepath character vector. Specify path (AND NOT file name). Default to current working directory, i.e. getwd(). Set to NULL to disable file output. -#' +#' @param path character. Specify path (AND NOT file name). Default to current working directory, i.e. getwd(). Set to NULL to disable file output. +#' @param file character. Specify file name. Default to NULL for default file names. +#' #' @export -outgenysis_model = function(bmodel, filepath=getwd()) +outgenysis_model = function(bmodel, path=getwd(), file=NULL) { gene = bmodel@target arule = bmodel@rule_act @@ -150,10 +189,15 @@ outgenysis_model = function(bmodel, filepath=getwd()) } #Output into files. - if(!is.null(filepath)) + if(!is.null(path)) { - exist_files = list.files(path=filepath, pattern='^genysis_input_[0-9]+.txt') - filename = sprintf('genysis_input_%s.txt', length(exist_files)+1) + if(is.null(file)) + { + filename = sprintf('genysis_input.txt') + } else + { + filename = sprintf('%s_genysis_input.txt', file) + } fcon = file(filename, open='w') writeLines(out_vec, fcon) @@ -163,10 +207,10 @@ outgenysis_model = function(bmodel, filepath=getwd()) invisible(out_vec) } -#' @title Generate state transition graph readable by Cytoscapes +#' @title Generate state transition graph #' #' @description -#' This function generates a state transition graph using a Boolean model and its state space. Each node represent a state. All nodes in this graph is linked by an edge only if the 2 states have different value in only 1 gene. The output is readable by Cytoscape. +#' This function generates a state transition graph using a Boolean model and its state space. Each node represent a state. All nodes in this graph is linked by an edge only if the 2 states have different value in only 1 gene. The output is readable by Cytoscape and Gephi. #' #' @param mstate data frame. It should be a state(row) x gene(column) df. #' @param bmodel S4 BoolModel object. @@ -175,7 +219,7 @@ outgenysis_model = function(bmodel, filepath=getwd()) #' @param filepath character vector. Specify path (AND NOT file name). Default to current working directory, i.e. getwd(). Set to NULL to disable file output. #' #' @export -outcyto_stategraph = function(mstate, bmodel, directed=F, record.both=F, filepath=getwd()) +outstate_graph = function(mstate, bmodel, directed=F, record.both=F, filepath=getwd()) { cat(sprintf('Generating state transition network...\n')) @@ -215,8 +259,8 @@ outcyto_stategraph = function(mstate, bmodel, directed=F, record.both=F, filepat } cat('.\n') - net_all = data.frame(start_node=character(1), interaction=character(1), - end_node=character(1), stringsAsFactors=F) #Both 1 and stringsAsFactors are essential, but 1 will give an empty first row. + net_all = data.frame(Source=character(1), Directed=character(1), + Target=character(1), stringsAsFactors=F) #Both 1 and stringsAsFactors are essential, but 1 will give an empty first row. for(i in 1:nrow(mstate)) { if(length(adj_cells[[i]] != 0)) #To exclude cell that does not have partner. @@ -237,8 +281,8 @@ outcyto_stategraph = function(mstate, bmodel, directed=F, record.both=F, filepat if(record.both) { - nonnet_all = data.frame(start_node=character(1), interaction=character(1), - end_node=character(1), stringsAsFactors=F) #Both 1 and stringsAsFactors are essential, but 1 will give an empty first row. + nonnet_all = data.frame(Source=character(1), Directed=character(1), + Target=character(1), stringsAsFactors=F) #Both 1 and stringsAsFactors are essential, but 1 will give an empty first row. for(i in 1:nrow(mstate)) { if(length(nonadj_cells[[i]] != 0)) #To exclude cell that does not have partner. @@ -260,8 +304,8 @@ outcyto_stategraph = function(mstate, bmodel, directed=F, record.both=F, filepat #Output into files. if(!is.null(filepath)) { - write.csv(net_all, paste(filepath, '/cytoscape_statespace_edges.txt', sep=''), quote=F, row.names=F) - write.csv(nonnet_all, paste(filepath, '/cytoscape_notstatespace_edges.txt', sep=''), quote=F, row.names=F) + write.csv(net_all, paste(filepath, '/statespace_edges.txt', sep=''), quote=F, row.names=F) + write.csv(nonnet_all, paste(filepath, '/notstatespace_edges.txt', sep=''), quote=F, row.names=F) } invisible(list(net_all, nonnet_all)) @@ -270,7 +314,7 @@ outcyto_stategraph = function(mstate, bmodel, directed=F, record.both=F, filepat #Output into files. if(!is.null(filepath)) { - write.csv(net_all, paste(filepath, '/cytoscape_statespace_edges.txt', sep=''), quote=F, row.names=F) + write.csv(net_all, paste(filepath, '/statespace_edges.txt', sep=''), quote=F, row.names=F) } invisible(net_all) diff --git a/R/rand_model.R b/R/rand_model.R index 07d7764..db07224 100644 --- a/R/rand_model.R +++ b/R/rand_model.R @@ -7,9 +7,9 @@ #' @param x character vector. A vector of all single terms to be used. #' @param np integer. Number of gene variables in a rule. NOT max_varperrule here. #' @param tar_ind numerical. Indicate which gene is the rule for. Used in preventing self-loop. -#' @param ibool logical. Indicates whether to include AND terms or not. Default to F. +#' @param and_bool logical. Indicates whether to include AND terms or not. #' @param self_loop logical. Indicates whether to allow self_loop. Default to F. -gen_singlerule = function(x, np, tar_ind, ibool=F, self_loop=F) +gen_singlerule = function(x, np, tar_ind, and_bool, self_loop=F) { #Convert x to the form of 'v1s'. if(!(all(grepl('v[0-9]+s', x)))) @@ -54,7 +54,7 @@ gen_singlerule = function(x, np, tar_ind, ibool=F, self_loop=F) rule_act = c() - if(ibool) + if(and_bool) { #Determine which single variables to combine into double variables. ra_ind = as.logical(replicate(rnum_act,round(runif(1)))) @@ -101,7 +101,7 @@ gen_singlerule = function(x, np, tar_ind, ibool=F, self_loop=F) tmp_rinh = sample(x[!(x %in% unlist(strsplit(rule_act, '&')))], rnum_inh) #exclude terms already used in rule_act. } - if(ibool) + if(and_bool) { #Determine which single variables to combine into double variables. ri_ind = as.logical(replicate(rnum_inh, round(runif(1)))) @@ -145,12 +145,12 @@ gen_singlerule = function(x, np, tar_ind, ibool=F, self_loop=F) #' #' @param var character vector. A vector of single genes/variables to be used in the model. #' @param mvar integer. Maximum number of variables in act or inh rule. Default to length(var). -#' @param inter_bool logical. Indicates whether to include AND terms or not. Default to F. +#' @param and_bool logical. Indicates whether to include AND terms or not. #' @param self_loop logical. Indicates whether to allow self_loop. Default to F. #' #' @details #' The number of terms in a function for a gene is modelled by power-law distribution. -gen_one_rmodel = function(var, mvar=length(var), inter_bool=F, self_loop=F) +gen_one_rmodel = function(var, mvar=length(var), and_bool, self_loop=F) { require(poweRlaw) @@ -164,7 +164,7 @@ gen_one_rmodel = function(var, mvar=length(var), inter_bool=F, self_loop=F) num_partner = poweRlaw::rpldis(length(var), xmin=2, alpha=3) #xmin = the minimum value of resulting random integer, alpha = scaling factor of the distribution. According to literature, for gene network, this should be 3. (or 2 mvar] = mvar #power law distribution can gives very high number, therefore must cap it. - arule = sapply(1:length(num_partner), function(x) gen_singlerule(var, num_partner[x], x, inter_bool, self_loop)) + arule = sapply(1:length(num_partner), function(x) gen_singlerule(var, num_partner[x], x, and_bool, self_loop)) arule = apply(arule, 1, c) #arule is a list of lists, with list[[1]] = all act rules, list[[2]] = all inh rules. bmodel = BoolModel(target=var, target_var=paste('v',seq(1,length(var)),'s', sep=''), rule_act=arule[[1]], rule_inh=arule[[2]]) @@ -181,10 +181,10 @@ gen_one_rmodel = function(var, mvar=length(var), inter_bool=F, self_loop=F) #' @param steps integer. Specify the number of steps between the two Boolean models. If steps=0, give completely random starting model. #' @param num_genes integer. Number of genes in the Boolean models. #' @param max_varperrule integer. Maximum number of terms per rule (combining both act and inh rule). Note that this number must not be smaller than number of variables. Default to 6. -#' @param inter_bool logical. Indicate whether to consider AND terms. +#' @param and_bool logical. Indicate whether to consider AND terms. #' #' @export -gen_randata = function(n, steps, num_genes, max_varperrule, inter_bool) +gen_randata = function(n, steps, num_genes, max_varperrule, and_bool) { var = paste('v', seq(1, num_genes), 's', sep='') @@ -202,7 +202,7 @@ gen_randata = function(n, steps, num_genes, max_varperrule, inter_bool) istate = initialise_data(istate) #Setting the starting and ending models. - bmodel_pair = gen_two_rmodel(var, steps, max_varperrule, inter_bool) + bmodel_pair = gen_two_rmodel(var, steps, max_varperrule, and_bool) bmodel_start = bmodel_pair[[1]] bmodel_end = bmodel_pair[[2]] @@ -237,10 +237,9 @@ gen_randata = function(n, steps, num_genes, max_varperrule, inter_bool) #' @param steps integer. Specify the number of steps between the two Boolean models. If steps=0, give completely random starting model. #' @param num_genes integer. Number of genes in the Boolean models. #' @param max_varperrule integer. Maximum number of terms per rule (combining both act and inh rule). Note that this number must not be smaller than number of variables. Default to 6. -#' @param inter_bool logical. Indicate whether to consider AND terms. #' #' @export -gen_randata_bn = function(n, steps, num_genes, max_varperrule, inter_bool) +gen_randata_bn = function(n, steps, num_genes, max_varperrule) { if (!requireNamespace("bnlearn", quietly = TRUE)) { stop("Package bnlearn needed for this function to work. Please install it.", @@ -434,7 +433,7 @@ gen_two_rmodel_dag = function(var, steps, mvar=length(var), in_amat=NULL, acycli #' @param var character vector. A vector of single genes/variables to be used in the model. #' @param steps integer. Number of steps apart between the two models. If steps=0, give completely random starting model. #' @param mvar integer. Maximum number of variables in act or inh rule. Default to length(var). -#' @param inter_bool logical. Indicates whether to include AND terms or not. Default to F. +#' @param and_bool logical. Indicates whether to include AND terms or not. Default to F. #' @param in_bmodel BoolModel object. The starting model supplied. #' @param self_loop logical. Indicates whether to allow self_loop. Default to F. #' @@ -442,7 +441,7 @@ gen_two_rmodel_dag = function(var, steps, mvar=length(var), in_amat=NULL, acycli #' The number of terms in a function for a gene is modelled by power-law distribution. #' #' @export -gen_two_rmodel = function(var, steps, mvar=length(var), inter_bool=F, in_bmodel=NULL, self_loop=F) +gen_two_rmodel = function(var, steps, mvar=length(var), and_bool=F, in_bmodel=NULL, self_loop=F) { if(mvar > length(var)) { @@ -451,7 +450,7 @@ gen_two_rmodel = function(var, steps, mvar=length(var), inter_bool=F, in_bmodel= if(is.null(in_bmodel)) { - bmodel1 = gen_one_rmodel(var, mvar, inter_bool, self_loop) + bmodel1 = gen_one_rmodel(var, mvar, and_bool, self_loop) } else { if(class(in_bmodel)!='BoolModel') @@ -465,14 +464,15 @@ gen_two_rmodel = function(var, steps, mvar=length(var), inter_bool=F, in_bmodel= if(steps==0) { - bmodel2 = gen_one_rmodel(var, mvar, inter_bool, self_loop) + bmodel2 = gen_one_rmodel(var, mvar, and_bool, self_loop) } else { cur_model = bmodel1 bmodel2 = bmodel1 - while(length(unlist(model_setdiff(cur_model, bmodel1, inter_bool, mvar))) steps) + # if(length(unlist(model_setdiff(cur_model, bmodel1, mvar))) > steps) # { # browser() # stop('Error in code.') @@ -531,12 +531,12 @@ gen_two_rmodel = function(var, steps, mvar=length(var), inter_bool=F, in_bmodel= next_model = sample(minmod_model(cur_model, rule_dind)$dellist, 1)[[1]] } - stopifnot(length(unlist(model_setdiff(cur_model, next_model, inter_bool, mvar)))==1) + stopifnot(length(unlist(model_setdiff(cur_model, next_model, mvar)))==1) cur_model = next_model } bmodel2 = cur_model - stopifnot(length(unlist(model_setdiff(bmodel2, bmodel1, inter_bool, mvar)))==steps) + stopifnot(length(unlist(model_setdiff(bmodel2, bmodel1, mvar)))==steps) } return(list(bmodel1, bmodel2)) diff --git a/R/score_calculation.R b/R/score_calculation.R index 502293d..5501305 100644 --- a/R/score_calculation.R +++ b/R/score_calculation.R @@ -71,8 +71,7 @@ m_score = function(x, bmodel, max_varperrule, detail=F) calc_mscore = function(bmodel, istate, fcdata, overlap_gene, max_varperrule, detail=F) { #(1) Simulate each of these models. - tmp = simulate_model(bmodel, istate) - mdata = tmp + mdata = simulate_model(bmodel, istate) #(2) Perform gene filtering on model state space. fmdata = filter_dflist(mdata, overlap_gene) @@ -84,13 +83,67 @@ calc_mscore = function(bmodel, istate, fcdata, overlap_gene, max_varperrule, det } #(3) Score each model state wrt to data state. - #return pairwise scores between each model and data states. - score_matrix = rcpp_man_dist(fmdata, fcdata) #The first must be the model state. This returns a matrix of row=data, col=model. - #score_matrix = rcpp_ham_dist(fmdata, fcdata) + score_matrix = man_dist(fcdata, fmdata) #The first must be the data state. This returns a matrix of row=data, col=model. - final_score = m_score(score_matrix, bmodel, max_varperrule, detail=detail) #return a matrix (1x2) of two model scores, penalised score & unpenalised score. the lower the better. + #(4) Calculate score for distance between states + y = mean(apply(score_matrix, 2, min)) #best - return(final_score) + #(5) Calculate penalty term + #(A) To penalise having too low or too high number of model states, when compared to the number of data states. + #Ideally, the number of model states >= the number of data states. + #abs(number of model states - number of data states) + za = abs(ncol(score_matrix) - nrow(score_matrix)) / (nrow(score_matrix) * length(bmodel@target)) #best + + #(B) To penalise having too many variables in the rules. + var_len = list() #combine act and inh rules for each variable. + for(i in 1:length(bmodel@target)) + { + var_len = c(var_len, list(c(bmodel@rule_act[[i]], bmodel@rule_inh[[i]]))) + } + + #calculate number and fraction of each variable. + var_len = sapply(var_len, function(x) x[!grepl('0', x)]) #to remove '0' + num_var = sapply(var_len, function(x) length(strsplit(paste(x, collapse=''), 'v')[[1]])-1 ) #to count the number of v[0-9]s terms. e.g. v1s&v2s will be counted as 2 terms. + num_var[num_var<0] = 0 #if the rule for the variable is completely empty, has to set the negative values to 0. + + frac_var = (num_var-max_varperrule) + zb_ind = num_var > max_varperrule + zb = sum(frac_var[zb_ind]) + + #(6 Calculate final score. + #Specify the constants for each penalty term. + a = 1 + b = 1 + + f = y + a*za + b*zb #f ranges from 0 to infinity. + + if(detail) + { + output = c(f, y, za, zb) + names(output) = c('f', 'y', 'za', 'zb') + } else + { + output = c(f) + names(output) = c('f') + } + + return(output) +} + +#' @title Calculates pairwise Manhattan distances between two matrices +#' +#' @description +#' This function calculates pairwise Manhattan distances between two matrices. +#' +#' @param x matrix +#' @param y matrix +man_dist = function(x, y) +{ + z = matrix(0, nrow = nrow(x), ncol = nrow(y)) + for (k in 1:nrow(y)) { + z[, k] <- colSums(abs(t(x) - y[k, ])) + } + return(z) } #' @title Calculate true positive, true negative, false positive and false negative diff --git a/R/search.R b/R/search.R index f296717..4812212 100644 --- a/R/search.R +++ b/R/search.R @@ -1,57 +1,230 @@ -#' @title Training Model +#' @title Training Model (using simulated annealing) #' #' @description #' This function performs model training to find the best model, using information from data. It requires an initial state supplied to perform the search, and an initial model can also be supplied to be included in the initial population. #' Note that if a model is supplied, and the genes in the model is different from the genes in the data, only the genes overlapping between model and data will be retained for further analysis. #' -#' @param bmodel Boolean model in data frame. If NULL, use a random Boolean model. Default to NULL. -#' @param edata list of 2 data frames. Initialised continuous and discretised expression data. Each data frame should have state(row) x gene(column). -#' @param istate data frame. Must have only 1 row, which represents 1 initial state. -#' @param max_varperrule integer. Maximum number of terms per rule (combining both act and inh rule). Note that this number must not be smaller than number of variables. Default to 6. -#' @param tol numeric. Specify the tolerance in ending condition. Default to 1e-6. It cannot be lower than .Machine$double.eps ^ 0.5. -#' @param inter_bool logical. Indicate whether to consider AND terms. Default to TRUE. -#' @param verbose logical. Specifies whether to give detailed output. Default to F. -#' @param self_loop logical. Indicates whether to allow self_loop in random starting model. Only used if is.null(bmodel). Default to F. +#' @param edata data frame of expression data. Should have state(row) x gene(column). +#' @param bmodel Boolean model in data frame. If NULL, use a random Boolean model. Defaults to NULL. +#' @param istate data frame. Must have only 1 row, which represents 1 initial state. Defaults to NULL. +#' @param max_varperrule integer. Maximum number of terms per rule (combining both act and inh rule). Note that this number must be higher than number of genes. Defaults to 6. +#' @param and_bool logical. Whether to consider AND terms. IF bmodel is not NULL, defaults to whether AND interaction is included in bmodel. If bmodel is NULL, then defaults to TRUE. +#' @param self_loop logical. Whether to allow self_loop in random starting model. Only used if is.null(bmodel). Default to F. +#' @param restart integer. Number of restart from the best solution. Defaults to 0. +#' @param verbose logical. Whether to give detailed output to the screen. Defaults to F. #' #' @export -model_train = function(bmodel=NULL, edata, istate, max_varperrule=6, tol=1e-6, inter_bool, verbose=F, self_loop=F) +model_train_sa = function(edata, bmodel=NULL, istate=NULL, max_varperrule=6, and_bool=T, self_loop=F, restart=0, verbose=F) { + ##################Implement restart########################## + vcat('Preparing data for analysis.\n', verbose) - if(class(edata)!='list' | length(edata)!=2) + #Initialise expression data. + tmp_data = initialise_raw_data(edata) #returns a list of two data frames. + cdata = initialise_data(tmp_data[[1]]) #continuous data + ddata = initialise_data(tmp_data[[2]]) #discretised data + + #Initialise model. + if(is.null(bmodel)) + { + bmodel = gen_one_rmodel(colnames(edata), max_varperrule, and_bool, self_loop) + } else { - stop('edata: Supply two expression data frames in a list.') + if(class(bmodel) != 'BoolModel') + { + bmodel = initialise_model(bmodel) + } + + if(check_and(bmodel) != and_bool) + { + and_bool = check_and(bmodel) + } } - #Initialise input data. + #Initialise initial state. + if(is.null(istate)) + { + istate = rbinom(length(bmodel@target), 1, 0.5) + #Getting a random initial state. + while(mean(istate) > 0.9 | mean(istate) < 0.1) #do not want initial state that is too homogenous. + { + istate = rbinom(length(bmodel@target), 1, 0.5) + } + istate = data.frame(matrix(istate, nrow=1)) + colnames(istate) = bmodel@target + } istate = initialise_data(istate, aslogic=T) - cdata = initialise_data(edata[[1]]) - ddata = initialise_data(edata[[2]]) + + #Filtering expression data. + overlap_gene = intersect(colnames(cdata), y=bmodel@target) + nonoverlap_gene = bmodel@target[!(bmodel@target %in% overlap_gene)] + names(overlap_gene) = bmodel@target_var[bmodel@target %in% overlap_gene] + names(nonoverlap_gene) = bmodel@target_var[!(bmodel@target %in% overlap_gene)] + + fddata = filter_dflist(ddata, overlap_gene, F) + fcdata = filter_dflist(cdata, overlap_gene, F) + + fcdata = unique_raw_data(fddata, fcdata) #removes duplicates in continuous data. + fddata = unique(fddata) + + vcat('Start training.\n', verbose) + + #(3) Calling final combined search. + cur_score = NA + cur_model = bmodel + cur_step = 1 + cur_temp = 1 + min_temp = 0.00001 + alpha = 0.9 + max_ite = 100 #iterations in same step. + while(cur_temp > min_temp) + { + vcat(sprintf('Current iteration: %s.\n', cur_step), verbose) + + vcat('Stage 1: Exploring neighbouring models.\n', verbose) + mod_model = unlist(minmod_model(cur_model, overlap_gene=overlap_gene)) + vcat(sprintf('Total neighbouring models: %s.\n', length(mod_model)), verbose) + + vcat('Stage 2: Evaluating next model.\n', verbose) + cur_ite = 1 + while(cur_ite <= max_ite) + { + model_ind = sample(1:length(mod_model), 1) + next_model = mod_model[[model_ind]] + mod_model = mod_model[-model_ind] + + #print(printBM(next_model)) #debug + + next_score = calc_mscore(bmodel=next_model, istate=istate, fcdata=fcdata, overlap_gene=overlap_gene, max_varperrule=max_varperrule) + + #Breaking conditions. + if(length(mod_model) == 0) + { + cur_score = next_score + cur_model = next_model + + if(cur_score < best_score) #store best solution ever, regardless of the final ending point. + { + best_score = next_score + best_model = next_model + } + break + } + + if(is.na(cur_score)) + { + #For first iteration. + cur_score = next_score + cur_model = next_model + + best_score = next_score + best_model = next_model + } else + { + #For subsequent iteration. + accept_prob = exp((cur_score - next_score)/cur_temp) #if next solution is better than current solution, accept_prob always more than 1. + + if(accept_prob > runif(1)) #move forward if the prob is more than a random number between 0-1. + { + cur_score = next_score + cur_model = next_model + + #writeBM(cur_model, 'tmp_model.csv') #debug + + if(cur_score < best_score) #store best solution ever, regardless of the final ending point. + { + best_score = next_score + best_model = next_model + } + } + } + cur_ite = cur_ite + 1 + } + + cur_temp = cur_temp*alpha #Reduce subsequent temperature. + cur_step = cur_step + 1 + } + vcat(sprintf('Final iteration: %s.\n', cur_step), verbose) + + output = list(best_score=best_score, best_model=best_model, + cur_score=cur_score, cur_model=cur_model, overlap_gene=overlap_gene, nonoverlap_gene=nonoverlap_gene) + + return(output) +} + +#' @title Training Model +#' +#' @description +#' This function performs model training to find the best model, using information from data. It requires an initial state supplied to perform the search, and an initial model can also be supplied to be included in the initial population. +#' Note that if a model is supplied, and the genes in the model is different from the genes in the data, only the genes overlapping between model and data will be retained for further analysis. +#' +#' @param edata data frame of expression data. Should have state(row) x gene(column). +#' @param bmodel Boolean model in data frame. If NULL, use a random Boolean model. Defaults to NULL. +#' @param istate data frame. Must have only 1 row, which represents 1 initial state. Defaults to NULL. +#' @param max_varperrule integer. Maximum number of terms per rule (combining both act and inh rule). Note that this number must be higher than number of genes. Defaults to 6. +#' @param and_bool logical. Whether to consider AND terms. IF bmodel is not NULL, defaults to whether AND interaction is included in bmodel. If bmodel is NULL, then defaults to TRUE. +#' @param self_loop logical. Whether to allow self_loop in random starting model. Only used if is.null(bmodel). Default to F. +#' @param con_thre numerical. Threshold used to generating the final consensus model. Must be between 0 and 1. +#' @param tol numeric. Tolerance in ending condition. Default to 1e-6. It cannot be lower than .Machine$double.eps ^ 0.5. +#' @param verbose logical. Whether to give detailed output to the screen. Defaults to F. +#' @param detailed_output logical. Whether to return only the model inferred, or all the details obtained during optimisation. Defaults to F. +#' +#' @export +model_train = function(edata, bmodel=NULL, istate=NULL, max_varperrule=6, and_bool=T, self_loop=F, con_thre=0.3, tol=1e-6, verbose=F, detailed_output=F) +{ + vcat('Preparing data for analysis.\n', verbose) + + #Initialise expression data. + tmp_data = initialise_raw_data(edata) #returns a list of two data frames. + cdata = initialise_data(tmp_data[[1]]) #continuous data + ddata = initialise_data(tmp_data[[2]]) #discretised data #Initialise model. if(is.null(bmodel)) { - bmodel = gen_one_rmodel(colnames(istate), max_varperrule, inter_bool, self_loop) - } else if(class(bmodel) != 'BoolModel') + bmodel = gen_one_rmodel(colnames(edata), max_varperrule, and_bool, self_loop) + } else { - bmodel = initialise_model(bmodel) + if(class(bmodel) != 'BoolModel') + { + bmodel = initialise_model(bmodel) + } + + if(check_and(bmodel) != and_bool) + { + and_bool = check_and(bmodel) + } } + #Initialise initial state. + if(is.null(istate)) + { + istate = rbinom(length(bmodel@target), 1, 0.5) + #Getting a random initial state. + while(mean(istate) > 0.9 | mean(istate) < 0.1) #do not want initial state that is too homogenous. + { + istate = rbinom(length(bmodel@target), 1, 0.5) + } + istate = data.frame(matrix(istate, nrow=1)) + colnames(istate) = bmodel@target + } + istate = initialise_data(istate, aslogic=T) + #Filtering expression data. - stopifnot(colnames(edata[[1]])==colnames(edata[[2]])) - overlap_gene = intersect(colnames(edata[[1]]), y=bmodel@target) + overlap_gene = intersect(colnames(cdata), y=bmodel@target) nonoverlap_gene = bmodel@target[!(bmodel@target %in% overlap_gene)] names(overlap_gene) = bmodel@target_var[bmodel@target %in% overlap_gene] names(nonoverlap_gene) = bmodel@target_var[!(bmodel@target %in% overlap_gene)] - + fddata = filter_dflist(ddata, overlap_gene, F) fcdata = filter_dflist(cdata, overlap_gene, F) - + fcdata = unique_raw_data(fddata, fcdata) #removes duplicates in continuous data. fddata = unique(fddata) vcat('Start training.\n', verbose) - + #(3) Calling final combined search. best_model = c() best_score = c() @@ -77,10 +250,7 @@ model_train = function(bmodel=NULL, edata, istate, max_varperrule=6, tol=1e-6, i } vcat('Stage 1: Exploring neighbouring models.\n', verbose) - mod_model = foreach(i=1:length(mod_model)) %dopar% { - c(mod_model[[i]], unlist(minmod_model(mod_model[[i]], overlap_gene=overlap_gene))) - } - mod_model = unlist(mod_model) + mod_model = sample(unlist(minmod_model(mod_model[[i]], overlap_gene=overlap_gene)), 1) vcat(sprintf('Total neighbouring models: %s.\n', length(mod_model)), verbose) if(length(mod_model)>1000000) @@ -140,96 +310,34 @@ model_train = function(bmodel=NULL, edata, istate, max_varperrule=6, tol=1e-6, i vcat(sprintf('Final iteration: %s.\n', cur_step), verbose) vcat('Stage 4: Performing consensus analysis.\n', verbose) - consensus = model_consensus(best_model, inter_bool=inter_bool, max_varperrule=max_varperrule) + consensus = model_consensus(best_model, max_varperrule=max_varperrule) + res_con = consensus[consensus > con_thre] + final_model = decompress_bmodel(as.numeric(names(res_con)), get_encodings(bmodel), gene=bmodel@target) - output = list(consensus=consensus, best_model=best_model, best_score=best_score, ite_score=all_best_score, overlap_gene=overlap_gene, nonoverlap_gene=nonoverlap_gene) - return(output) -} - -#' @title Simplifying Model -#' -#' @description -#' This method takes in a model and remove redundant terms wrt to a single initial state. -#' Note that this model simplification is random, and the simplified model is not guaranteed to be the simplest model possible. It is only guaranteed to be a simpler model that can give the same state space as the orignal input model. -#' -#' @param bmodel S4 BoolModel object. -#' @param istate data frame. Must have only 1 row, which represents 1 initial state. -#' @param inter_bool logical. Indicate whether to consider AND terms. -#' @param max_varperrule integer. Maximum number of terms per rule (combining both act and inh rule). Note that this number must not be smaller than number of variables. Default to 6. -#' @param verbose logical. Specifies whether to give detailed output. Default to F. -model_simplify = function(bmodel, istate, inter_bool, max_varperrule, verbose=F) -{ - vcat('Stage 1: Calculating score of initial model.\n', verbose) - #Get the states of the original model. - overlap_gene = bmodel@target - fcdata = simulate_model(bmodel, istate) - fcdata = fcdata+0 #convert logical to numeric. - - ori_score = calc_mscore(bmodel, istate, fcdata, overlap_gene, max_varperrule, simplify_bool=T) - stopifnot(ori_score==0) - - next_bmodel = bmodel - ite = 1 - while(TRUE) + if(detailed_output) { - cat(sprintf('Simplification iteration: %s\n', ite)) - #Generate list of minimally deleted models. - - vcat('Stage 2: Exploring neighbouring models.\n', verbose) - - mod_model = c(next_bmodel, minmod_model(next_bmodel, ibool=inter_bool, overlap_gene=overlap_gene)$del_list) - #Breaking condition. - if(length(mod_model) == 1) #model can no longer be simplified. - { - final_bmodel = mod_model[[1]] - break - } - vcat(sprintf('Total neighbouring models: %s.\n', length(mod_model)), verbose) - - vcat('Stage 3: Simulating and calculating scores for models.\n', verbose) - model_res = foreach(i=1:length(mod_model), .combine='c') %dopar% { - model_score = calc_mscore(bmodel=mod_model[[i]], istate=istate, fcdata=fcdata, overlap_gene=overlap_gene, max_varperrule=max_varperrule, simplify_bool=T) - names(model_score)=i - model_score - } - - all_final_score = unname(model_res) - - stopifnot(!is.null(model_res)) - stopifnot(length(all_final_score)==length(mod_model)) - - #Breaking condition. - if(!any(all_final_score[-1] == 0)) #model can no longer be simplified. - { - final_bmodel = mod_model[[1]] - break - } - - #Pick a random equivalent model for next iteration. - best_ind = which.random.min(all_final_score) - next_bmodel = mod_model[[best_ind]] - - ite = ite + 1 + output = list(consensus=consensus, final_model=final_model, best_model=best_model, + best_score=best_score, ite_score=all_best_score, overlap_gene=overlap_gene, nonoverlap_gene=nonoverlap_gene) + } else + { + output = final_model } - return(final_bmodel) + return(output) } -#' @title Intersection of input genes +#' @title Intersection of genes #' #' @description -#' This function finds the intersection of input genes and provide a score for them. Return a consensus model or a vector of scores. +#' This function finds the intersection of genes and provide a score for them. Return a consensus model or a vector of scores. #' #' @param bmodel_list list of BoolModel. -#' @param inter_bool logical. Indicate whether to consider AND terms. #' @param max_varperrule integer. Maximum number of terms per rule (combining both act and inh rule). Note that this number must not be smaller than number of variables. Default to 6. #' @param format character. Specifies which format to return. Possible values: 'vec', 'df'. Default to 'vec'. -#' -#' @export -model_consensus = function(bmodel_list, inter_bool, max_varperrule, format='vec') +model_consensus = function(bmodel_list, max_varperrule, format='vec') { #(1) Convert all bmodels to encoded forms. - encoding = get_encodings(bmodel_list[[1]], inter_bool) + encoding = get_encodings(bmodel_list[[1]]) encmodel_list = lapply(bmodel_list, function(x) compress_bmodel(x, encoding, max_varperrule)) #(2) Check and remove duplicated models. diff --git a/README.md b/README.md deleted file mode 100644 index a13fc13..0000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ -# booltrainer diff --git a/booltrainer.Rproj b/booltrainer.Rproj new file mode 100644 index 0000000..8ecf4c0 --- /dev/null +++ b/booltrainer.Rproj @@ -0,0 +1,18 @@ +Version: 1.0 + +RestoreWorkspace: Default +SaveWorkspace: Default +AlwaysSaveHistory: Default + +EnableCodeIndexing: Yes +UseSpacesForTab: Yes +NumSpacesForTab: 2 +Encoding: UTF-8 + +RnwWeave: knitr +LaTeX: pdfLaTeX + +BuildType: Package +PackageUseDevtools: Yes +PackageInstallArgs: --no-multiarch --with-keep.source +PackageRoxygenize: rd,namespace diff --git a/data/bon_moig_istate.rda b/data/bon_moig_istate.rda deleted file mode 100644 index cd909b3552c7d678dec1c2627abe1f787ef5af2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246 zcmV>0_i`q-LzlL-ZavO^*_7<03CZM4RK%l_lu%3`<4h(VdP{mx@9Q;!6T=Ic wqO?~9*-ZYkqM|%tumg4{Y}b|Rtq4>(63YQ!U#SW6ad!NPZ))*22s;A+09?Iq6aWAK diff --git a/data/bon_sstate.rda b/data/bon_sstate.rda deleted file mode 100644 index f9e727d0512f89e72c319d86ce8c9a73c3652c4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmV+*0pI=~iwFP!000001C^5hYJ)Hk$4{fM*s&k%Jqj&l>;d)!`>X$zG)66pNl8-H zzWi96jU>U=_TbFjCtuGyxv$UlvRD@YkOE2*NRbV*)IJi(0Nby}*5CL=j`T3>U?{knd=DeaW`J>04tn{BFxTW7mwzBcA#|M-sCf-T4eX_>ac z3v>(6L&Q{l4l`!t(!~|uErwXuF3xLWNRSL~Gz~kt3w01jr$U-?$91(I%I3Ny<$K&C zq63!g8ZnL3$9$z8eW*S^P(wEQ5{#B3F_r&bC{Plg3_ mwxx{o0AX7&2CD!(i0>eOtrZam?pFu+?fef!)#{+g0{{Rzjg8F! diff --git a/data/bon_wilson_istate.rda b/data/bon_wilson_istate.rda deleted file mode 100644 index aed1c92ad3c41ffda3c5d907fa19f560f7bb146c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 383 zcmV-_0f7D=iwFP!000001JzUAPQxG+W}}^M7e?cI%#`{Que|XIyxN@s3N2YF4dB-K z)INcc#U0x1PF9m<8U|}UY-|ZwwNJ=#t4r`Xp93)#$gzt1Wm(y#Z2?MR<#S0 za-MpD5WWtEo6s+|!lw@e?IawbpXrb7@7Vgk+W&igPkr9+V^qTOexrF2UJE`H~XwhL_5N zw%*h+5-qsVJyCrcw2JA*x~(JJ#K0RV;#HevNAgIF=kPR1%eok9YYUx0Leth74v&`F zwRfNS;oTdf%It#>d9)tH>K13`$go#&cd01<_rVeTi7H36xxw*8V d3=iZ}Yu58&d4ge-h2eACzW`vPd9V2e000V;y;J}I diff --git a/data/bonkrum_geneid_map.rda b/data/bonkrum_geneid_map.rda deleted file mode 100644 index 8622a3dabb819f44f1adcd037f7ea2c9ec26f3f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 304 zcmV-00nh#)iwFP!0000016@(gZiFBZrl?IcY0|Xsu~9_Sd!L}Ey%|(w?J647bkkEG zxld4wTS0dZ4Bt01-~7P)+Yxz34*&px1tEZzf;Lp<0ocG*_eLZYr%USl&||;FT$A7ax;Y@gw6>(ENUz0EHd%)3F@^++V^24m%;aBNb@JFrJP`K*q>V5TZOH`X{?q_yftSlUi z%KiD>uT}V|`Gsryly^ZtyFy_FH7+Y0)%alyYTAVqPPjGUZdLSTc-7XbrHW^k$4J6S zRIKa1MG^bRMqUqs4e{0_pxVB7S^X>~tB_9l@{m7O5#q=QK`GpRXkcCBZA65bLK6u! rkzncmG!amWfL3~8>f0&&b&65<$LD?Jc*Nayzp3^W02ELb1d1}GvD@H-6 z^EwI=JeJHtB9XVPn9^iTRBE$UXK0>G`GchVd3dYu9Q E08q(z>;M1& diff --git a/data/krum_wilson_istate.rda b/data/krum_wilson_istate.rda deleted file mode 100644 index 5363ea3614cfbb698fec9666d48fa1a1ffb4de11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 408 zcmV;J0cZXniwFP!000001GQ93Zi6robpoVK7FE^WBNC<`b=6Hz&{cMkF*dl^fNUor zJ#|k|)ui49D&@LLr*E?_H@^YPk{8 z)YVcLODsbuxObM=jhoK%^$WrCFOJZ8{ZF+YtADKCvHF+Z&$;=j`5dnQE8eMkm+P;+ zn-f(;G2_53>MqOgWSBOV@9;HEIl(q5U;$-mL%@-KtSWCXJk~oh$tqq`A+XH)eM?pQP06kFnJ7kU)f3SlgA%?ffoi0OTc3Ev zncr$vwm9*mwiGHDHfifqZFHt$IMArkHH8vJdR2M9z);YO3~%~#GX+jT<;p0cDfRhU z%AY-E7BUOg8-Cb@R1yPS2$QqS6>HA5YtRGtsjfHkVdH{f)cx+iyYU0Jl=cub1^@uA C!@Xqy diff --git a/data/moig_raw_data.rda b/data/moig_raw_data.rda deleted file mode 100644 index 353b3fce3673b25950f8db2cf07a9029f19c7e3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65398 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 diff --git a/man/bin_to_real.Rd b/man/bin_to_real.Rd deleted file mode 100644 index c30e481..0000000 --- a/man/bin_to_real.Rd +++ /dev/null @@ -1,17 +0,0 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand -% Please edit documentation in R/general.R -\name{bin_to_real} -\alias{bin_to_real} -\title{Generate random real numbers from binary values} -\usage{ -bin_to_real(x, param) -} -\arguments{ -\item{x}{logical or 0/1 numeric matrix. Col-genes, row-samples.} - -\item{param}{list of parameters given by param_bimodal().} -} -\description{ -This function generates random real numbers from binary values, with supplied parameters. Returns a vector of real values. -} - diff --git a/man/bon_moig_istate.Rd b/man/bon_moig_istate.Rd deleted file mode 100644 index 00e8acc..0000000 --- a/man/bon_moig_istate.Rd +++ /dev/null @@ -1,19 +0,0 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand -% Please edit documentation in R/data_desc.R -\docType{data} -\name{bon_moig_istate} -\alias{bon_moig_istate} -\title{Initial state from Moignard et al.} -\format{A data frame with 1 row and 20 columns. - -Rows: each row consists of 1 set of Boolean state. -Columns: each column is for 1 gene/variable.} -\usage{ -data(bon_moig_istate) -} -\description{ -An intial state obtained from data in Moignard et al, determined by taking colMeans over unique rows, and rounding the means to 0-1. -Values for genes that are missing in Moignard et al, but are present in Bonzanni et al, are determined by taking values from the original initial state supplied in Bonzanni et al. -It contains a set of Boolean values for 20 genes. -} - diff --git a/man/check_and.Rd b/man/check_and.Rd new file mode 100644 index 0000000..d638251 --- /dev/null +++ b/man/check_and.Rd @@ -0,0 +1,15 @@ +% Generated by roxygen2 (4.1.1): do not edit by hand +% Please edit documentation in R/general.R +\name{check_and} +\alias{check_and} +\title{Check if containing AND terms} +\usage{ +check_and(bmodel) +} +\arguments{ +\item{bmodel}{BoolModel object.} +} +\description{ +This function checks if a particular Boolean model contains AND terms. +} + diff --git a/man/check_bmodel.Rd b/man/check_bmodel.Rd deleted file mode 100644 index 49e14d2..0000000 --- a/man/check_bmodel.Rd +++ /dev/null @@ -1,19 +0,0 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand -% Please edit documentation in R/general.R -\name{check_bmodel} -\alias{check_bmodel} -\title{Check if the Boolean model violates constraints.} -\usage{ -check_bmodel(bmodel, max_varperrule) -} -\arguments{ -\item{bmodel}{S4 BoolModel object.} - -\item{max_varperrule}{integer. Maximum number of terms per rule (combining both act and inh rule). Note that this number must not be smaller than number of variables. Default to 6.} -} -\description{ -This function checks if the Boolean model violates contraints. Return logical value. -(1) Each gene rule should not have more terms than max_varperrule. -(2) The same term should not occur twice in the same rule. -} - diff --git a/man/equi_model.Rd b/man/equi_model.Rd deleted file mode 100644 index 8406803..0000000 --- a/man/equi_model.Rd +++ /dev/null @@ -1,21 +0,0 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand -% Please edit documentation in R/general.R -\name{equi_model} -\alias{equi_model} -\title{Check for equivalent models} -\usage{ -equi_model(bmodel1, bmodel2, inter_bool, max_varperrule) -} -\arguments{ -\item{bmodel1}{S4 BoolModel object.} - -\item{bmodel2}{S4 BoolModel object.} - -\item{inter_bool}{logical. Indicate whether to consider AND terms.} - -\item{max_varperrule}{integer. Maximum number of terms per rule (combining both act and inh rule). Note that this number must not be smaller than number of variables. Default to 6.} -} -\description{ -This function checks if the two models have the same rules. Return a logical value. Only TRUE if each rule for each gene is the same. -} - diff --git a/man/example_models.Rd b/man/example_models.Rd new file mode 100644 index 0000000..7355b88 --- /dev/null +++ b/man/example_models.Rd @@ -0,0 +1,14 @@ +% Generated by roxygen2 (4.1.1): do not edit by hand +% Please edit documentation in R/data_desc.R +\docType{data} +\name{example_models} +\alias{example_models} +\title{Example Boolean Models used in the vignette} +\format{Each Boolean model is a BoolModel object.} +\usage{ +data(example_models) +} +\description{ +3 Boolean models used in the examples of the vignette. +} + diff --git a/man/gen_one_rmodel.Rd b/man/gen_one_rmodel.Rd index 79695ce..5cdbfea 100644 --- a/man/gen_one_rmodel.Rd +++ b/man/gen_one_rmodel.Rd @@ -4,14 +4,14 @@ \alias{gen_one_rmodel} \title{Generate a random Boolean model} \usage{ -gen_one_rmodel(var, mvar = length(var), inter_bool = F, self_loop = F) +gen_one_rmodel(var, mvar = length(var), and_bool, self_loop = F) } \arguments{ \item{var}{character vector. A vector of single genes/variables to be used in the model.} \item{mvar}{integer. Maximum number of variables in act or inh rule. Default to length(var).} -\item{inter_bool}{logical. Indicates whether to include AND terms or not. Default to F.} +\item{and_bool}{logical. Indicates whether to include AND terms or not.} \item{self_loop}{logical. Indicates whether to allow self_loop. Default to F.} } diff --git a/man/gen_randata.Rd b/man/gen_randata.Rd index 988fc93..cdc0960 100644 --- a/man/gen_randata.Rd +++ b/man/gen_randata.Rd @@ -4,7 +4,7 @@ \alias{gen_randata} \title{Generate sets of random data} \usage{ -gen_randata(n, steps, num_genes, max_varperrule, inter_bool) +gen_randata(n, steps, num_genes, max_varperrule, and_bool) } \arguments{ \item{n}{integer. Number of sets of random data required.} @@ -15,7 +15,7 @@ gen_randata(n, steps, num_genes, max_varperrule, inter_bool) \item{max_varperrule}{integer. Maximum number of terms per rule (combining both act and inh rule). Note that this number must not be smaller than number of variables. Default to 6.} -\item{inter_bool}{logical. Indicate whether to consider AND terms.} +\item{and_bool}{logical. Indicate whether to consider AND terms.} } \description{ This function generates specified sets of random data, which include initial states, two Boolean models (starting and destination), and continuous+discrete data of the destination model. diff --git a/man/gen_randata_bn.Rd b/man/gen_randata_bn.Rd index 3c0f84f..d673660 100644 --- a/man/gen_randata_bn.Rd +++ b/man/gen_randata_bn.Rd @@ -4,7 +4,7 @@ \alias{gen_randata_bn} \title{Generate sets of random data} \usage{ -gen_randata_bn(n, steps, num_genes, max_varperrule, inter_bool) +gen_randata_bn(n, steps, num_genes, max_varperrule) } \arguments{ \item{n}{integer. Number of sets of random data required.} @@ -14,8 +14,6 @@ gen_randata_bn(n, steps, num_genes, max_varperrule, inter_bool) \item{num_genes}{integer. Number of genes in the Boolean models.} \item{max_varperrule}{integer. Maximum number of terms per rule (combining both act and inh rule). Note that this number must not be smaller than number of variables. Default to 6.} - -\item{inter_bool}{logical. Indicate whether to consider AND terms.} } \description{ (Requires bnlearn) This function generates specified sets of random data, which include initial states, two Boolean models (starting and destination), and continuous+discrete data of the destination model. diff --git a/man/gen_singlerule.Rd b/man/gen_singlerule.Rd index 2744119..2968654 100644 --- a/man/gen_singlerule.Rd +++ b/man/gen_singlerule.Rd @@ -4,7 +4,7 @@ \alias{gen_singlerule} \title{Generate random act and inh rule for a single gene} \usage{ -gen_singlerule(x, np, tar_ind, ibool = F, self_loop = F) +gen_singlerule(x, np, tar_ind, and_bool, self_loop = F) } \arguments{ \item{x}{character vector. A vector of all single terms to be used.} @@ -13,7 +13,7 @@ gen_singlerule(x, np, tar_ind, ibool = F, self_loop = F) \item{tar_ind}{numerical. Indicate which gene is the rule for. Used in preventing self-loop.} -\item{ibool}{logical. Indicates whether to include AND terms or not. Default to F.} +\item{and_bool}{logical. Indicates whether to include AND terms or not.} \item{self_loop}{logical. Indicates whether to allow self_loop. Default to F.} } diff --git a/man/gen_two_rmodel.Rd b/man/gen_two_rmodel.Rd index 4840900..9ccfb22 100644 --- a/man/gen_two_rmodel.Rd +++ b/man/gen_two_rmodel.Rd @@ -4,7 +4,7 @@ \alias{gen_two_rmodel} \title{Generate two random Boolean models with a specified number of steps apart} \usage{ -gen_two_rmodel(var, steps, mvar = length(var), inter_bool = F, +gen_two_rmodel(var, steps, mvar = length(var), and_bool = F, in_bmodel = NULL, self_loop = F) } \arguments{ @@ -14,7 +14,7 @@ gen_two_rmodel(var, steps, mvar = length(var), inter_bool = F, \item{mvar}{integer. Maximum number of variables in act or inh rule. Default to length(var).} -\item{inter_bool}{logical. Indicates whether to include AND terms or not. Default to F.} +\item{and_bool}{logical. Indicates whether to include AND terms or not. Default to F.} \item{in_bmodel}{BoolModel object. The starting model supplied.} diff --git a/man/get_encodings.Rd b/man/get_encodings.Rd index 41f9a9f..f09f216 100644 --- a/man/get_encodings.Rd +++ b/man/get_encodings.Rd @@ -4,12 +4,10 @@ \alias{get_encodings} \title{Get corresponding encodings for compression or decompression.} \usage{ -get_encodings(bmodel, inter_bool) +get_encodings(bmodel) } \arguments{ \item{bmodel}{S4 BoolModel object.} - -\item{inter_bool}{logical. Indicate whether to consider AND terms.} } \description{ This function gets all possible terms (single or double terms) and their corresponding encodings. diff --git a/man/grow_bmodel.Rd b/man/grow_bmodel.Rd index 12c4e68..2599274 100644 --- a/man/grow_bmodel.Rd +++ b/man/grow_bmodel.Rd @@ -4,14 +4,14 @@ \alias{grow_bmodel} \title{Add extra genes to a Boolean model} \usage{ -grow_bmodel(in_model, in_gene) +grow_bmodel(in_gene, in_model) } \arguments{ -\item{in_model}{data frame with 2 columns, which are targets and factors} - \item{in_gene}{character vector. Genes to be added into the model.} + +\item{in_model}{data frame or BoolModel object. If it is a data frame, it must have 2 columns, which are targets and update functions.} } \description{ -This function adds extra genes to a Boolean model. Input model must be in data frame format, output model will be BoolModel object. +This function adds extra genes to a Boolean model. Return a list of BoolModel object and an initial state. } diff --git a/man/man_dist.Rd b/man/man_dist.Rd new file mode 100644 index 0000000..f2be266 --- /dev/null +++ b/man/man_dist.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2 (4.1.1): do not edit by hand +% Please edit documentation in R/score_calculation.R +\name{man_dist} +\alias{man_dist} +\title{Calculates pairwise Manhattan distances between two matrices} +\usage{ +man_dist(x, y) +} +\arguments{ +\item{x}{matrix} + +\item{y}{matrix} +} +\description{ +This function calculates pairwise Manhattan distances between two matrices. +} + diff --git a/man/match_state.Rd b/man/match_state.Rd deleted file mode 100644 index cdcbcf4..0000000 --- a/man/match_state.Rd +++ /dev/null @@ -1,18 +0,0 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand -% Please edit documentation in R/general.R -\name{match_state} -\alias{match_state} -\title{Check for matching states} -\usage{ -match_state(mstate, xstate) -} -\arguments{ -\item{mstate}{data frame. It should be a state(row) x gene(column) df. colnames will be used in comparison.} - -\item{xstate}{data frame. It should be a state(row) x gene(column) df. colnames will be used in comparison.} -} -\description{ -This function finds a match between two df of states. Returns a row index vector indicating for each row of mstate, what is the corresponding row in xstate. If a match cannot be found, a 0 will be return. -Only columns that are present in both df will be used in comparison. Note that the row index starts from 1 (as in R), not from 0 (as in cpp). -} - diff --git a/man/match_state_loop.Rd b/man/match_state_loop.Rd deleted file mode 100644 index c1a00cd..0000000 --- a/man/match_state_loop.Rd +++ /dev/null @@ -1,17 +0,0 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand -% Please edit documentation in R/RcppExports.R -\name{match_state_loop} -\alias{match_state_loop} -\title{Find a match between two data frames.} -\usage{ -match_state_loop(mstate, xstate) -} -\arguments{ -\item{mstate}{data frame. It should be a state(row) x gene(column) df.} - -\item{xstate}{data frame. It should be a state(row) x gene(column) df.} -} -\description{ -(&&&Not for public use&&&)This function finds a match between two df of states. Used in match_state(). Return an row index vector indicating which row of mstate matches the rows in xstate. -} - diff --git a/man/minmod_model.Rd b/man/minmod_model.Rd index ac9dc93..13ea234 100644 --- a/man/minmod_model.Rd +++ b/man/minmod_model.Rd @@ -11,7 +11,7 @@ minmod_model(bm, index = NULL, overlap_gene = NULL) \item{index}{integer. Specifying rule of which gene to modify. If NULL, modifies all rules in the model. Defaults to NULL.} -\item{overlap_gene}{character vector. Specify which genes are present in both model and data inputs. Only needed when index=NULL.} +\item{overlap_gene}{character vector. Specify which genes are present in both model and data inputs.} } \description{ This function generates all possible boolean models minimally modified. Returns a lists of 2 lists, deleted models and added models diff --git a/man/model_consensus.Rd b/man/model_consensus.Rd index 3011357..e77c7c1 100644 --- a/man/model_consensus.Rd +++ b/man/model_consensus.Rd @@ -2,20 +2,18 @@ % Please edit documentation in R/search.R \name{model_consensus} \alias{model_consensus} -\title{Intersection of input genes} +\title{Intersection of genes} \usage{ -model_consensus(bmodel_list, inter_bool, max_varperrule, format = "vec") +model_consensus(bmodel_list, max_varperrule, format = "vec") } \arguments{ \item{bmodel_list}{list of BoolModel.} -\item{inter_bool}{logical. Indicate whether to consider AND terms.} - \item{max_varperrule}{integer. Maximum number of terms per rule (combining both act and inh rule). Note that this number must not be smaller than number of variables. Default to 6.} \item{format}{character. Specifies which format to return. Possible values: 'vec', 'df'. Default to 'vec'.} } \description{ -This function finds the intersection of input genes and provide a score for them. Return a consensus model or a vector of scores. +This function finds the intersection of genes and provide a score for them. Return a consensus model or a vector of scores. } diff --git a/man/model_dist.Rd b/man/model_dist.Rd index 4f37692..f785b0f 100644 --- a/man/model_dist.Rd +++ b/man/model_dist.Rd @@ -4,15 +4,13 @@ \alias{model_dist} \title{Calculate distance between Boolean models} \usage{ -model_dist(x, y, inter_bool, max_varperrule) +model_dist(x, y, max_varperrule) } \arguments{ \item{x}{S4 BoolModel object. Test model.} \item{y}{S4 BoolModel object. Reference model.} -\item{inter_bool}{logical. Indicate whether to consider AND terms.} - \item{max_varperrule}{integer. Maximum number of terms per rule (combining both act and inh rule). Note that this number must not be smaller than number of variables. Default to 6.} } \description{ diff --git a/man/model_setdiff.Rd b/man/model_setdiff.Rd index 7d8fce1..2fa5646 100644 --- a/man/model_setdiff.Rd +++ b/man/model_setdiff.Rd @@ -4,15 +4,13 @@ \alias{model_setdiff} \title{Find the set difference between two Boolean models} \usage{ -model_setdiff(x, y, inter_bool, max_varperrule, directed = F) +model_setdiff(x, y, max_varperrule, directed = F) } \arguments{ \item{x}{S4 BoolModel object. Test model.} \item{y}{S4 BoolModel object. Reference model.} -\item{inter_bool}{logical. Indicate whether to consider AND terms.} - \item{max_varperrule}{integer. Maximum number of terms per rule (combining both act and inh rule). Note that this number must not be smaller than number of variables. Default to 6.} \item{directed}{logical. If TRUE, return the difference in terms with respect to x.} diff --git a/man/model_simplify.Rd b/man/model_simplify.Rd deleted file mode 100644 index a9ef270..0000000 --- a/man/model_simplify.Rd +++ /dev/null @@ -1,24 +0,0 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand -% Please edit documentation in R/search.R -\name{model_simplify} -\alias{model_simplify} -\title{Simplifying Model} -\usage{ -model_simplify(bmodel, istate, inter_bool, max_varperrule, verbose = F) -} -\arguments{ -\item{bmodel}{S4 BoolModel object.} - -\item{istate}{data frame. Must have only 1 row, which represents 1 initial state.} - -\item{inter_bool}{logical. Indicate whether to consider AND terms.} - -\item{max_varperrule}{integer. Maximum number of terms per rule (combining both act and inh rule). Note that this number must not be smaller than number of variables. Default to 6.} - -\item{verbose}{logical. Specifies whether to give detailed output. Default to F.} -} -\description{ -This method takes in a model and remove redundant terms wrt to a single initial state. -Note that this model simplification is random, and the simplified model is not guaranteed to be the simplest model possible. It is only guaranteed to be a simpler model that can give the same state space as the orignal input model. -} - diff --git a/man/model_train.Rd b/man/model_train.Rd index fc2fe63..6511567 100644 --- a/man/model_train.Rd +++ b/man/model_train.Rd @@ -4,25 +4,30 @@ \alias{model_train} \title{Training Model} \usage{ -model_train(bmodel = NULL, edata, istate, max_varperrule = 6, tol = 1e-06, - inter_bool, verbose = F, self_loop = F) +model_train(edata, bmodel = NULL, istate = NULL, max_varperrule = 6, + and_bool = T, self_loop = F, con_thre = 0.3, tol = 1e-06, + verbose = F, detailed_output = F) } \arguments{ -\item{bmodel}{Boolean model in data frame. If NULL, use a random Boolean model. Default to NULL.} +\item{edata}{data frame of expression data. Should have state(row) x gene(column).} -\item{edata}{list of 2 data frames. Initialised continuous and discretised expression data. Each data frame should have state(row) x gene(column).} +\item{bmodel}{Boolean model in data frame. If NULL, use a random Boolean model. Defaults to NULL.} -\item{istate}{data frame. Must have only 1 row, which represents 1 initial state.} +\item{istate}{data frame. Must have only 1 row, which represents 1 initial state. Defaults to NULL.} -\item{max_varperrule}{integer. Maximum number of terms per rule (combining both act and inh rule). Note that this number must not be smaller than number of variables. Default to 6.} +\item{max_varperrule}{integer. Maximum number of terms per rule (combining both act and inh rule). Note that this number must be higher than number of genes. Defaults to 6.} -\item{tol}{numeric. Specify the tolerance in ending condition. Default to 1e-6. It cannot be lower than .Machine$double.eps ^ 0.5.} +\item{and_bool}{logical. Whether to consider AND terms. IF bmodel is not NULL, defaults to whether AND interaction is included in bmodel. If bmodel is NULL, then defaults to TRUE.} -\item{inter_bool}{logical. Indicate whether to consider AND terms. Default to TRUE.} +\item{self_loop}{logical. Whether to allow self_loop in random starting model. Only used if is.null(bmodel). Default to F.} -\item{verbose}{logical. Specifies whether to give detailed output. Default to F.} +\item{con_thre}{numerical. Threshold used to generating the final consensus model. Must be between 0 and 1.} -\item{self_loop}{logical. Indicates whether to allow self_loop in random starting model. Only used if is.null(bmodel). Default to F.} +\item{tol}{numeric. Tolerance in ending condition. Default to 1e-6. It cannot be lower than .Machine$double.eps ^ 0.5.} + +\item{verbose}{logical. Whether to give detailed output to the screen. Defaults to F.} + +\item{detailed_output}{logical. Whether to return only the model inferred, or all the details obtained during optimisation. Defaults to F.} } \description{ This function performs model training to find the best model, using information from data. It requires an initial state supplied to perform the search, and an initial model can also be supplied to be included in the initial population. diff --git a/man/model_train_sa.Rd b/man/model_train_sa.Rd new file mode 100644 index 0000000..d83130e --- /dev/null +++ b/man/model_train_sa.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2 (4.1.1): do not edit by hand +% Please edit documentation in R/search.R +\name{model_train_sa} +\alias{model_train_sa} +\title{Training Model (using simulated annealing)} +\usage{ +model_train_sa(edata, bmodel = NULL, istate = NULL, max_varperrule = 6, + and_bool = T, self_loop = F, restart = 0, verbose = F) +} +\arguments{ +\item{edata}{data frame of expression data. Should have state(row) x gene(column).} + +\item{bmodel}{Boolean model in data frame. If NULL, use a random Boolean model. Defaults to NULL.} + +\item{istate}{data frame. Must have only 1 row, which represents 1 initial state. Defaults to NULL.} + +\item{max_varperrule}{integer. Maximum number of terms per rule (combining both act and inh rule). Note that this number must be higher than number of genes. Defaults to 6.} + +\item{and_bool}{logical. Whether to consider AND terms. IF bmodel is not NULL, defaults to whether AND interaction is included in bmodel. If bmodel is NULL, then defaults to TRUE.} + +\item{self_loop}{logical. Whether to allow self_loop in random starting model. Only used if is.null(bmodel). Default to F.} + +\item{restart}{integer. Number of restart from the best solution. Defaults to 0.} + +\item{verbose}{logical. Whether to give detailed output to the screen. Defaults to F.} +} +\description{ +This function performs model training to find the best model, using information from data. It requires an initial state supplied to perform the search, and an initial model can also be supplied to be included in the initial population. +Note that if a model is supplied, and the genes in the model is different from the genes in the data, only the genes overlapping between model and data will be retained for further analysis. +} + diff --git a/man/moig_data.Rd b/man/moig_data.Rd deleted file mode 100644 index ff6152d..0000000 --- a/man/moig_data.Rd +++ /dev/null @@ -1,17 +0,0 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand -% Please edit documentation in R/data_desc.R -\docType{data} -\name{moig_data} -\alias{moig_data} -\title{Discretised single cell qRT-PCR expression data from Moignard et al.} -\format{A data frame with 597 rows and 18 columns. - -Rows: each row consists of discretised expression values from 1 cell. -Columns: each column is for 1 gene/variable.} -\usage{ -data(moig_data) -} -\description{ -A discretised single cell expression data obtained from multiple cell types. -} - diff --git a/man/outcyto_model.Rd b/man/outcyto_model.Rd deleted file mode 100644 index fe31101..0000000 --- a/man/outcyto_model.Rd +++ /dev/null @@ -1,17 +0,0 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand -% Please edit documentation in R/output_format.R -\name{outcyto_model} -\alias{outcyto_model} -\title{Output a Boolean Model into Cytoscape readable format} -\usage{ -outcyto_model(bmodel, filepath = getwd()) -} -\arguments{ -\item{bmodel}{S4 BoolModel object.} - -\item{filepath}{character vector. Specify path (AND NOT file name). Default to current working directory, i.e. getwd(). Set to NULL to disable file output.} -} -\description{ -This function outputs a Boolean Model in a format that is readable by Cytoscape. Return invisibly the edges (with edge attributes) and node attributes. (i.e. list of 2 dfs) -} - diff --git a/man/outgenysis_model.Rd b/man/outgenysis_model.Rd index ed5a17a..8c0a9cc 100644 --- a/man/outgenysis_model.Rd +++ b/man/outgenysis_model.Rd @@ -4,12 +4,14 @@ \alias{outgenysis_model} \title{Output a Boolean Model into Genysis readable format} \usage{ -outgenysis_model(bmodel, filepath = getwd()) +outgenysis_model(bmodel, path = getwd(), file = NULL) } \arguments{ \item{bmodel}{S4 BoolModel object.} -\item{filepath}{character vector. Specify path (AND NOT file name). Default to current working directory, i.e. getwd(). Set to NULL to disable file output.} +\item{path}{character. Specify path (AND NOT file name). Default to current working directory, i.e. getwd(). Set to NULL to disable file output.} + +\item{file}{character. Specify file name. Default to NULL for default file names.} } \description{ This function outputs a Boolean Model in a format that is readable by Genysis. Return invisibly the formatted vector. diff --git a/man/outgraph_model.Rd b/man/outgraph_model.Rd new file mode 100644 index 0000000..c3edd9d --- /dev/null +++ b/man/outgraph_model.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2 (4.1.1): do not edit by hand +% Please edit documentation in R/output_format.R +\name{outgraph_model} +\alias{outgraph_model} +\title{Output a Boolean Model into Cytoscape & Gephi readable format} +\usage{ +outgraph_model(bmodel, path = getwd(), file = NULL, and_node = T) +} +\arguments{ +\item{bmodel}{S4 BoolModel object.} + +\item{path}{character. Specify path (AND NOT file name). Default to current working directory, i.e. getwd(). Set to NULL to disable file output.} + +\item{file}{character. Specify file name. Default to NULL for default file names.} + +\item{and_node}{logical. Specify AND as an individual node. Default to T.} +} +\description{ +This function outputs a Boolean Model in a format that is readable by Cytoscape and Gephi. Return invisibly the edges (with edge attributes) and node attributes. (i.e. list of 2 dfs) +} + diff --git a/man/outcyto_stategraph.Rd b/man/outstate_graph.Rd similarity index 82% rename from man/outcyto_stategraph.Rd rename to man/outstate_graph.Rd index 0ceabb9..0ec40fe 100644 --- a/man/outcyto_stategraph.Rd +++ b/man/outstate_graph.Rd @@ -1,10 +1,10 @@ % Generated by roxygen2 (4.1.1): do not edit by hand % Please edit documentation in R/output_format.R -\name{outcyto_stategraph} -\alias{outcyto_stategraph} -\title{Generate state transition graph readable by Cytoscapes} +\name{outstate_graph} +\alias{outstate_graph} +\title{Generate state transition graph} \usage{ -outcyto_stategraph(mstate, bmodel, directed = F, record.both = F, +outstate_graph(mstate, bmodel, directed = F, record.both = F, filepath = getwd()) } \arguments{ @@ -19,6 +19,6 @@ outcyto_stategraph(mstate, bmodel, directed = F, record.both = F, \item{filepath}{character vector. Specify path (AND NOT file name). Default to current working directory, i.e. getwd(). Set to NULL to disable file output.} } \description{ -This function generates a state transition graph using a Boolean model and its state space. Each node represent a state. All nodes in this graph is linked by an edge only if the 2 states have different value in only 1 gene. The output is readable by Cytoscape. +This function generates a state transition graph using a Boolean model and its state space. Each node represent a state. All nodes in this graph is linked by an edge only if the 2 states have different value in only 1 gene. The output is readable by Cytoscape and Gephi. } diff --git a/man/param_bimodal.Rd b/man/param_bimodal.Rd deleted file mode 100644 index f96000d..0000000 --- a/man/param_bimodal.Rd +++ /dev/null @@ -1,17 +0,0 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand -% Please edit documentation in R/general.R -\name{param_bimodal} -\alias{param_bimodal} -\title{Obtain parameters for bimodal distribution from real data} -\usage{ -param_bimodal(x, data_type = "qpcr") -} -\arguments{ -\item{x}{matrix. Input expression data. Col-genes, row-samples.} - -\item{data_type}{character. Specify data types: qpcr, rnaseq.} -} -\description{ -This function obtains parameters for bimodal distribution. Returns 4 parameters: mu1, mu2, sig1, sig2. -} - diff --git a/man/plotBM.Rd b/man/plotBM.Rd new file mode 100644 index 0000000..5028161 --- /dev/null +++ b/man/plotBM.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2 (4.1.1): do not edit by hand +% Please edit documentation in R/methods.R +\name{plotBM} +\alias{plotBM} +\title{Plot Boolean Model} +\usage{ +plotBM(bmodel, makePlot = T, ...) +} +\arguments{ +\item{bmodel}{S4 BoolModel object.} + +\item{makePlot}{logical. Whether to make plot or just return the object. Default to T.} + +\item{...}{Additional parameters to plot.igraph.} +} +\description{ +This method plots the network underlying Boolean models by using igraph for quick visualisation. +} + diff --git a/man/rcpp_ham_dist.Rd b/man/rcpp_ham_dist.Rd deleted file mode 100644 index 3e91fcb..0000000 --- a/man/rcpp_ham_dist.Rd +++ /dev/null @@ -1,17 +0,0 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand -% Please edit documentation in R/RcppExports.R -\name{rcpp_ham_dist} -\alias{rcpp_ham_dist} -\title{Calculating Hamming pairwise scores between model and data states.} -\usage{ -rcpp_ham_dist(x_df, y_df) -} -\arguments{ -\item{x_df}{matrix. It should be logical matrix of model states.} - -\item{y_df}{matrix. It should be logical matrix of data states.} -} -\description{ -This function calculates the pairwise scores between each row of model and data states. The score is calculated using a custom binary distance measure. -} - diff --git a/man/rcpp_m_score.Rd b/man/rcpp_m_score.Rd deleted file mode 100644 index d29e7d1..0000000 --- a/man/rcpp_m_score.Rd +++ /dev/null @@ -1,15 +0,0 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand -% Please edit documentation in R/RcppExports.R -\name{rcpp_m_score} -\alias{rcpp_m_score} -\title{Inner core for m_score()} -\usage{ -rcpp_m_score(x_df) -} -\arguments{ -\item{x_df}{matrix. Matrix with columns ranked wrt each row.} -} -\description{ -This function takes in a df with columns ranked wrt each row, and try to assign each row to a unique column without repetition. -} - diff --git a/man/rcpp_man_dist.Rd b/man/rcpp_man_dist.Rd deleted file mode 100644 index 4f5b249..0000000 --- a/man/rcpp_man_dist.Rd +++ /dev/null @@ -1,17 +0,0 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand -% Please edit documentation in R/RcppExports.R -\name{rcpp_man_dist} -\alias{rcpp_man_dist} -\title{Calculating pairwise scores between model and data states.} -\usage{ -rcpp_man_dist(x_df, y_df) -} -\arguments{ -\item{x_df}{matrix. It should be numerical matrix of model states.} - -\item{y_df}{matrix. It should be numerical matrix of data states.} -} -\description{ -This function calculates the pairwise scores between each row of model and data states. The score is calculated using a custom binary distance measure. -} - diff --git a/man/real_param.Rd b/man/real_param.Rd deleted file mode 100644 index f971605..0000000 --- a/man/real_param.Rd +++ /dev/null @@ -1,14 +0,0 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand -% Please edit documentation in R/data_desc.R -\docType{data} -\name{real_param} -\alias{real_param} -\title{Estimated parameters from Wilson et al. data} -\format{A list with 4 numeric vectors, all_mu1, all_mu2, all_sig1, all_sig2. Note that each element in the vector is estimated from a single gene.} -\usage{ -data(real_param) -} -\description{ -A list of parameters (based on log normal distribution) estimated from Wilson et al. single-cell qPCR expression data. -} - diff --git a/man/moig_raw_data.Rd b/man/wilson_raw_data.Rd similarity index 62% rename from man/moig_raw_data.Rd rename to man/wilson_raw_data.Rd index 76cd91f..f3e2fa5 100644 --- a/man/moig_raw_data.Rd +++ b/man/wilson_raw_data.Rd @@ -1,15 +1,15 @@ % Generated by roxygen2 (4.1.1): do not edit by hand % Please edit documentation in R/data_desc.R \docType{data} -\name{moig_raw_data} -\alias{moig_raw_data} -\title{Raw single cell qRT-PCR expression data from Moignard et al.} -\format{A data frame with 597 rows and 18 columns. +\name{wilson_raw_data} +\alias{wilson_raw_data} +\title{Raw single cell qRT-PCR expression data from Wilson et al.} +\format{A data frame with 1626 rows and 44 columns. Rows: each row consists of raw expression values from 1 cell. Columns: each column is for 1 gene/variable.} \usage{ -data(moig_raw_data) +data(wilson_raw_data) } \description{ A raw single cell expression data obtained from multiple cell types. diff --git a/man/wilson_raw_rnaseq.Rd b/man/wilson_raw_rnaseq.Rd new file mode 100644 index 0000000..3c94553 --- /dev/null +++ b/man/wilson_raw_rnaseq.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2 (4.1.1): do not edit by hand +% Please edit documentation in R/data_desc.R +\docType{data} +\name{wilson_raw_rnaseq} +\alias{wilson_raw_rnaseq} +\title{Raw single cell RNAseq expression data from Wilson et al.} +\format{A data frame with 96 rows and 38498 columns. + +Rows: each row consists of raw expression values from 1 cell. +Columns: each column is for 1 gene/variable.} +\usage{ +data(wilson_raw_rnaseq) +} +\description{ +A raw single cell expression data obtained from multiple cell types. +} + diff --git a/src/BoolTraineR.dll b/src/BoolTraineR.dll new file mode 100644 index 0000000000000000000000000000000000000000..27ff8e12838144cd46fcf8fc0c27f1438fd58500 GIT binary patch literal 822272 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

F&;Dyu$SBHhSm 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

xX`Xfp!Tf;fs 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

p`?X5pUPD( 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 literal 0 HcmV?d00001 diff --git a/src/RcppExports.cpp b/src/RcppExports.cpp index 0597841..7e0bd3a 100644 --- a/src/RcppExports.cpp +++ b/src/RcppExports.cpp @@ -5,53 +5,6 @@ using namespace Rcpp; -// match_state_loop -Rcpp::NumericVector match_state_loop(Rcpp::NumericMatrix mstate, Rcpp::NumericMatrix xstate); -RcppExport SEXP BoolTraineR_match_state_loop(SEXP mstateSEXP, SEXP xstateSEXP) { -BEGIN_RCPP - Rcpp::RObject __result; - Rcpp::RNGScope __rngScope; - Rcpp::traits::input_parameter< Rcpp::NumericMatrix >::type mstate(mstateSEXP); - Rcpp::traits::input_parameter< Rcpp::NumericMatrix >::type xstate(xstateSEXP); - __result = Rcpp::wrap(match_state_loop(mstate, xstate)); - return __result; -END_RCPP -} -// rcpp_man_dist -Rcpp::NumericVector rcpp_man_dist(Rcpp::NumericMatrix x_df, Rcpp::NumericMatrix y_df); -RcppExport SEXP BoolTraineR_rcpp_man_dist(SEXP x_dfSEXP, SEXP y_dfSEXP) { -BEGIN_RCPP - Rcpp::RObject __result; - Rcpp::RNGScope __rngScope; - Rcpp::traits::input_parameter< Rcpp::NumericMatrix >::type x_df(x_dfSEXP); - Rcpp::traits::input_parameter< Rcpp::NumericMatrix >::type y_df(y_dfSEXP); - __result = Rcpp::wrap(rcpp_man_dist(x_df, y_df)); - return __result; -END_RCPP -} -// rcpp_ham_dist -Rcpp::NumericVector rcpp_ham_dist(Rcpp::LogicalMatrix x_df, Rcpp::LogicalMatrix y_df); -RcppExport SEXP BoolTraineR_rcpp_ham_dist(SEXP x_dfSEXP, SEXP y_dfSEXP) { -BEGIN_RCPP - Rcpp::RObject __result; - Rcpp::RNGScope __rngScope; - Rcpp::traits::input_parameter< Rcpp::LogicalMatrix >::type x_df(x_dfSEXP); - Rcpp::traits::input_parameter< Rcpp::LogicalMatrix >::type y_df(y_dfSEXP); - __result = Rcpp::wrap(rcpp_ham_dist(x_df, y_df)); - return __result; -END_RCPP -} -// rcpp_m_score -Rcpp::IntegerVector rcpp_m_score(Rcpp::IntegerMatrix x_df); -RcppExport SEXP BoolTraineR_rcpp_m_score(SEXP x_dfSEXP) { -BEGIN_RCPP - Rcpp::RObject __result; - Rcpp::RNGScope __rngScope; - Rcpp::traits::input_parameter< Rcpp::IntegerMatrix >::type x_df(x_dfSEXP); - __result = Rcpp::wrap(rcpp_m_score(x_df)); - return __result; -END_RCPP -} // rcpp_validate Rcpp::NumericVector rcpp_validate(Rcpp::NumericMatrix inf_mat, Rcpp::NumericMatrix true_mat); RcppExport SEXP BoolTraineR_rcpp_validate(SEXP inf_matSEXP, SEXP true_matSEXP) { diff --git a/src/RcppExports.o b/src/RcppExports.o new file mode 100644 index 0000000000000000000000000000000000000000..91c46976e0793479d9241ce5b955de52cd61acd7 GIT binary patch literal 73650 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 W8BIHQ&k+--el_2ec{#K%_ -#include -#include -#include -#include -#include -#include -#include -#include -#include - -using namespace std; - -//internal C++ functions. not exported. -bool all_cpp(Rcpp::LogicalVector x) { - /*#Function to test for equality between two vectors.*/ - - return is_true(Rcpp::all(x==TRUE)); //#is_true is used to return a bool type. all() is an Rcpp sugar. -} - -//external C++ functions. exported. -//' @title Find a match between two data frames. -//' -//' @description -//' (&&&Not for public use&&&)This function finds a match between two df of states. Used in match_state(). Return an row index vector indicating which row of mstate matches the rows in xstate. -//' -//' @param mstate data frame. It should be a state(row) x gene(column) df. -//' @param xstate data frame. It should be a state(row) x gene(column) df. -// [[Rcpp::export]] //#must be called in front of each C++ function to be exported. -Rcpp::NumericVector match_state_loop(Rcpp::NumericMatrix mstate, Rcpp::NumericMatrix xstate) { - int nrow_ms = mstate.nrow(); - int nrow_xs = xstate.nrow(); - Rcpp::NumericVector ind(nrow_ms); //#must specify length if using vector. - - int turn = 0; - for(auto i=0; i -#include -#include -#include -#include #include -#include -#include -#include #include #include //for std::invalid_argument -#include //for std::abs(float) -#include //for std::accumulate using namespace std; //external C++ functions. exported. -//Rcpp::NumericVector rcpp_test(Rcpp::NumericVector x) { -// std::vector y = Rcpp::as >(x); -// return(Rcpp::wrap(y)); -//} - -//' @title Calculating pairwise scores between model and data states. -//' -//' @description -//' This function calculates the pairwise scores between each row of model and data states. The score is calculated using a custom binary distance measure. -//' -//' @param x_df matrix. It should be numerical matrix of model states. -//' @param y_df matrix. It should be numerical matrix of data states. -// [[Rcpp::export]] -Rcpp::NumericVector rcpp_man_dist(Rcpp::NumericMatrix x_df, Rcpp::NumericMatrix y_df) { - int xdf_row = x_df.nrow(); - int ydf_row = y_df.nrow(); - - if(x_df.ncol() != y_df.ncol()) { - throw std::invalid_argument( "Two input matrices should have the same number of columns." ); - } - - std::vector tmpout(xdf_row * ydf_row); - int ind = 0; - for(auto i=0; i x = Rcpp::as >(xr); - std::vector y = Rcpp::as >(yr); - std::vector z; - - //Calculate the distance between the two vectors. (Manhattan distance) - //Calculates the absolute distance between two of each variables. - std::transform(x.begin(), x.end(), y.begin(), std::back_inserter(z), - [](double x, double y) { return std::abs(x-y); }); - - //Get the sum of all differences. - double o = std::accumulate(z.begin(), z.end(), 0.0); - - //Add the value to the output vector. - tmpout[ind] = o; - ind += 1; - - //std::copy(x.begin(), x.end(), std::ostream_iterator(std::cout, ",")); - //Rcpp::Rcout << std::endl; - } - } - - //Convert Cpp vector into R matrix. - Rcpp::NumericVector output = Rcpp::wrap(tmpout); - output.attr("dim") = Rcpp::Dimension(ydf_row, xdf_row); - - return output; -} - -//' @title Calculating Hamming pairwise scores between model and data states. -//' -//' @description -//' This function calculates the pairwise scores between each row of model and data states. The score is calculated using a custom binary distance measure. -//' -//' @param x_df matrix. It should be logical matrix of model states. -//' @param y_df matrix. It should be logical matrix of data states. -// [[Rcpp::export]] -Rcpp::NumericVector rcpp_ham_dist(Rcpp::LogicalMatrix x_df, Rcpp::LogicalMatrix y_df) { - int xdf_row = x_df.nrow(); - int ydf_row = y_df.nrow(); - - std::vector m_vec(xdf_row * ydf_row); - - int ind = 0; - for(auto i=0; i x = Rcpp::as >(xr); - std::vector y = Rcpp::as >(yr); - - //std::copy(x.begin(), x.end(), std::ostream_iterator(std::cout, ",")); - //Rcpp::Rcout << "After conversion!" << std::endl; - - //Calculate the summation of x and y between each element. - std::vector z; - if(x.size() == y.size()) { - for(unsigned k=0; k x = Rcpp::as >(xr); - - //Obtain the position for the minimum value. - std::vector::iterator min_val = std::min_element(std::begin(x), std::end(x)); //return the first minimum element. Note that the input result should not contain multiple minimum. - yr[i] = std::distance(std::begin(x), min_val); - - //Check if the value is already present, then pick the next min. - Rcpp::IntegerVector unique_yr = Rcpp::unique(yr); - Rcpp::IntegerVector sub_i = Rcpp::seq_len(i); - Rcpp::IntegerVector test_yr = yr[sub_i]; - bool dup_check = Rcpp::as(Rcpp::any(Rcpp::duplicated(test_yr))); - int ind = 2; //start with finding 2nd min value. - // if the model state space is smaller than data state space, it is not possible to assign a unique model state to each data state. - while (dup_check && unique_yr.size() < xdf_col && ind < xdf_row) { - //Rcpp::Rcout << i << " : " << ind << std::endl; - //Rcpp::Rcout << dup_check << std::endl; - //std::copy(yr.begin(), yr.end(), std::ostream_iterator(Rcpp::Rcout, " ")); - //Rcpp::Rcout << std::endl; - - std::vector::iterator alt_val = std::find(std::begin(x), std::end(x), ind); //find 2nd minimum. - yr[i] = std::distance(std::begin(x), alt_val); - - sub_i = Rcpp::seq_len(i); - test_yr = yr[sub_i]; - dup_check = Rcpp::as(Rcpp::any(Rcpp::duplicated(test_yr))); - unique_yr = Rcpp::unique(yr); - ind += 1; //for next iteration, look for the 3rd (and subsequent) values. - } - - //Checking results. - sub_i = Rcpp::seq_len(i); - test_yr = yr[sub_i]; - dup_check = Rcpp::as(Rcpp::any(Rcpp::duplicated(test_yr))); - if(xdf_col >= xdf_row && dup_check) { //if there are more columns than rows, there should not be any duplicated values. - throw std::invalid_argument( "Duplicated values are still present." ); - } - } - - return yr + 1; //change C++ positions to R positions. -} - //' @title Calculating validation scores between two adjacency matrices //' //' @description diff --git a/src/score_calculation.o b/src/score_calculation.o new file mode 100644 index 0000000000000000000000000000000000000000..ff2f0b118a0cae13820843434af75ef2dbdbed3c GIT binary patch literal 50392 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 literal 0 HcmV?d00001 diff --git a/src/simulation.o b/src/simulation.o new file mode 100644 index 0000000000000000000000000000000000000000..06fd1bdfc8357effc61926fc3dcaad4ebf0baa05 GIT binary patch literal 160874 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 + %\VignetteIndexEntry{Using BoolTraineR to reconstruct asynchronous Boolean models} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r, echo=FALSE} +library('BoolTraineR') +``` + +# Brief introduction + +`BoolTraineR` is a model learning algorithm for reconstructing and training asynchronous Boolean models using single-cell expression data. Refer to the paper for more details on the concepts behind the algorithm. This vignette serves as a tutorial to demonstrate example workflows that can be adapted to individual cases experienced by users. + +Running `BoolTraineR` is straightforward. However, note that depending on the (1) size of single-cell expression data and (2) complexity of Boolean model, `BoolTraineR` may take a long time to complete the computation. In such cases, it is advisable to use the built-in parallel processing capability of `BoolTraineR`. This can be easily achieved by using `doParallel` package, as illustrated in the example. + +Note that the examples presented in this vignette are different from the results presented in our paper. The examples presented here have been simplified to speed up the processing time. + +# Installation + +`BoolTraineR` can be installed from CRAN. + +```{r, eval = FALSE} +install.packages('BoolTraineR') +``` + +Or from Github for the latest version. + +```{r, eval = FALSE} +install_github("cheeyeelim/booltrainer") +``` + +Also install `doParallel` package if you intend to use parallel processing. + +# Input data format + +Depending on the analysis, only 3 types of data will ever be needed. The format of the data required is discussed below. + +1. Expression data. +A matrix with genes on the columns, and cells on the row. + +The expression data should be preprocessed as in any standard sequencing data processing pipelines, which includes quality control filtering and normalisation. + +Use `initialise_raw_data` to convert expression data into a suitable format for model inference. + +```{r, eval=FALSE} +data(wilson_raw_data) +round(wilson_raw_data[1:5,1:5], 4) + +edata = initialise_raw_data(wilson_raw_data) +``` +```{r, echo=FALSE} +data(wilson_raw_data) +knitr::kable(round(wilson_raw_data[1:5,1:5], 4)) +``` + +2. Initial Boolean model. +A data frame with two columns, targets and update functions. + +Note that if an update function contains both activation and inhibition genes, they must be expressed with a separate clause containing only activation genes, and a separate clause containing only inhibition genes. (See the update functions of Gata1 and Gata2 for examples) + +Use `initialise_model` to convert the input Boolean model into a BoolModel object. + +```{r, eval=FALSE} +data(krum_bmodel) +head(krum_bmodel) + +bmodel = initialise_model(krum_bmodel) +``` +```{r, echo=FALSE} +data(krum_bmodel) +knitr::kable(head(krum_bmodel)) +``` + +3. Initial state. + +A single row data frame with genes as the columns. The expression state of each gene must be in binarised form, i.e. 0s and 1s. + +Note that all the genes that are present in the initial Boolean model must also be present here. + +```{r, eval=FALSE} +data(krum_istate) +head(krum_istate) +``` +```{r, echo=FALSE} +data(krum_istate) +knitr::kable(head(krum_istate)) +``` + +# Output format + +BoolTraineR supports several output formats for Boolean models, as shown below. + +* `outgraph_model` - Outputs a Boolean model in a tab-delimited file with each line being an edge (i.e. gene interaction). This function also outputs a node attribute file, which can be used to distinguish gene and AND nodes in a graph plotting software. This format is readable by both Cytoscape and Gephi. +* `outgenysis_model` - Outputs a Boolean model in a space-delimited file with each line being an edge (i.e. gene interaction). This format is readable by genYsis (used for steady state analysis). +* `writeBM` - Outputs a Boolean model in a comma-delimited file similar in format to the input file format (i.e. two columns: genes and update functions). + +BoolTraineR can also output a state transition graph. + +* `outstate_graph` - Outputs a state space of a Boolean model simulated with an initial state. This format is readable by both Cytoscape and Gephi. + +# Useful functions in BoolTraineR + +Besides training Boolean models, BoolTraineR can be used for simulating a Boolean model asynchronously and calculate the score of a Boolean model with respect to a data. + +* `model_train` - Core function in `BoolTraineR` that performs Boolean model inference. +* `simulate_model` - Simulate a Boolean model asynchronously using an initial state, and return its state space. +* `calc_mscore` - Calculate a distance score for a Boolean model with respect to an expression data. +* `model_dist` - Calculate the number of genes in the update functions that differ between two Boolean models. +* `model_setdiff` - Show the genes in the update functions that differ between two Boolean models. + +# Example workflows + +Three example workflows will be discussed in this vignette: (1) Inferring model without an initial model, (2) Inferring model with an initial model, (3) Extending model with more genes. The two workflows are largely similar, which only differ in the data preparation step. + +## Inferring model without an initial model + +This workflow is intended for use on inferring a Boolean model without an initial model. + +When no initial model is used, BoolTraineR will reconstruct gene interactions from a list of user-specified genes. If the number of genes in the expression data is low (e.g. in qPCR), it is also possible to use all the genes in the expression data. + +### Full workflow + +Full workflow is included here for easy referencing. Each step is discussed in further details below. + +```{r, eval=FALSE, tidy=TRUE} +set.seed(0) #use to ensure reproducibility. remove in actual use. + +#(1) Setup paths and environment. +library(BoolTraineR) + +#If intending to use parallel processing, uncomment the following lines. +#library(doParallel) +#num_core = 4 #specify the number of cores to be used. +#doParallel::registerDoParallel(cores=num_core) + +#(2) Load data. +data(wilson_raw_data) #load a data frame of expression data. +edata = wilson_raw_data + +#(3) Filter cell types. +cell_ind = grepl('cmp', rownames(edata)) | grepl('gmp', rownames(edata)) | grepl('mep', rownames(edata)) #select cells to be included. +edata = edata[cell_ind,] + +#(4) Filter genes. +gene_ind = c('fli1', 'gata1', 'gata2', 'gfi1', 'scl', 'sfpi1') #select genes to be included. +edata = edata[, gene_ind] + +#(5) Inferring Boolean model. +final_model = model_train(edata, max_varperrule=4, verbose=T) + +#(6) Visualise the Boolean model generated. +plotBM(final_model) +``` + +### Initial setup + +The first step is to load the `BoolTraineR` package. If you are intending to use parallel processing, you will also need to load the `doParallel` package. Then specify how many cores you intend to use using `registerDoParallel` from the `doParallel` package. + +```{r} +set.seed(0) #use to ensure reproducibility. remove in actual use. + +#(1) Setup paths and environment. +library(BoolTraineR) + +#If intending to use parallel processing, uncomment the following lines. +#library(doParallel) +#num_core = 4 #specify the number of cores to be used. +#doParallel::registerDoParallel(cores=num_core) +``` + +### Data preparation + +Only the expression data is needed for inferring a Boolean model without an initial model. + +To load the data into R, use `read.table` or `read.csv`. In this example, we are using the example data included with the package, so we are accessing it by using `data`. + +```{r, eval=FALSE} +#(2) Load data. +data(wilson_raw_data) #load a data frame of expression data. +edata = wilson_raw_data +``` + +Once data is loaded, filter the cell types or genes to be included in the analysis if needed. It is advisable to reduce the number of genes to be included if the computation takes too long to complete. + +```{r, tidy=TRUE , eval=FALSE} +#(3) Filter cell types. +cell_ind = grepl('cmp', rownames(edata)) | grepl('gmp', rownames(edata)) | grepl('mep', rownames(edata)) #select cells to be included. +edata = edata[cell_ind,] + +#(4) Filter genes. +gene_ind = c('fli1', 'gata1', 'gata2', 'gfi1', 'scl', 'sfpi1') #select genes to be included. +edata = edata[, gene_ind] +``` + +### Run model training + +To reconstruct a Boolean model from an expression data, run `model_train`. + +In this example, `model_train` takes a few seconds to be completed on a single core. If this steps take a very long time to complete, do consider using the parallel processing option as described above. + +You will receive a BoolModel object at the end of the model training process. The BoolModel object can be visualise quickly using `plotBM`, which is based on `igraph` package. For easier manipulation, output the Boolean model using `outgraph_model` and display it with Cytoscape or Gephi. + +```{r, eval=FALSE} +#(5) Inferring Boolean model. +final_model = model_train(edata, max_varperrule=4, verbose=T) + +#(6) Visualise the Boolean model generated. +plotBM(final_model) +``` +```{r, echo=FALSE, fig.show='hold', message=FALSE, dpi=75, fig.width=6, fig.height=6} +data(example_models) +plotBM(emodel1) +``` + +## Inferring model with an initial model + +This workflow is intended for use on inferring a Boolean model with an initial model. + +When an initial model is used, note that only genes that are both present in the initial model and expression data will be used for reconstructing gene interactions. Any genes in the initial model that do not have corresponding expression values in the data will keep their original gene interactions as specified in the initial model without any modifications. + +### Full workflow + +Full workflow is included here for easy referencing. Each step is discussed in further details below. + +```{r, eval=FALSE, tidy=TRUE} +set.seed(0) #use to ensure reproducibility. remove in actual use. + +#(1) Setup paths and environment. +library(BoolTraineR) + +#If intending to use parallel processing, uncomment the following lines. +#library(doParallel) +#num_core = 4 #specify the number of cores to be used. +#doParallel::registerDoParallel(cores=num_core) + +#(2) Load data. +data(krum_bmodel) #load a data frame of Boolean model. +data(krum_istate) #load a data frame of initial state. +data(wilson_raw_data) #load a data frame of expression data. + +bmodel = initialise_model(krum_bmodel) +istate = krum_istate +edata = wilson_raw_data + +#(3) Filter cell types. +cell_ind = grepl('cmp', rownames(edata)) | grepl('gmp', rownames(edata)) | grepl('mep', rownames(edata)) #select cells to be included. +edata = edata[cell_ind,] + +#(4) Inferring Boolean model. +final_model = model_train(edata, bmodel, istate, max_varperrule=4, verbose=T) + +#(5) Visualise the Boolean model generated. +plotBM(final_model) +``` + +### Initial setup + +The first step is to load the `BoolTraineR` package. If you are intending to use parallel processing, you will also need to load the `doParallel` package. Then specify how many cores you intend to use using `registerDoParallel` from the `doParallel` package. + +```{r} +set.seed(0) #use to ensure reproducibility. remove in actual use. + +#(1) Setup paths and environment. +library(BoolTraineR) + +#If intending to use parallel processing, uncomment the following lines. +#library(doParallel) +#num_core = 4 #specify the number of cores to be used. +#doParallel::registerDoParallel(cores=num_core) +``` + +### Data preparation + +3 pieces of data are needed to infer a Boolean model with an initial model: an expression data, an initial Boolean model and an initial state. + +To load the data into R, use `read.table` or `read.csv`. In this example, we are using the example data included with the package, so we are accessing it by using `data`. + +`initialise_model` converts the data frame containing the Boolean model into a BoolModel object. + +```{r, eval=FALSE} +#(2) Load data. +data(krum_bmodel) #load a data frame of Boolean model. +data(krum_istate) #load a data frame of initial state. +data(wilson_raw_data) #load a data frame of expression data. + +bmodel = initialise_model(krum_bmodel) +istate = krum_istate +edata = wilson_raw_data +``` + +Once data is loaded, filter the cell types or genes to be included in the analysis if needed. It is advisable to reduce the number of genes to be included if the computation takes too long to complete. In this example, genes are not filtered as all genes that are present in both expression data and Boolean model are used automatically. + +```{r, tidy=TRUE , eval=FALSE} +#(3) Filter cell types. +cell_ind = grepl('cmp', rownames(edata)) | grepl('gmp', rownames(edata)) | grepl('mep', rownames(edata)) #select cells to be included. +edata = edata[cell_ind,] +``` + +### Run model training + +To reconstruct a Boolean model from an expression data, run `model_train`. + +In this example, `model_train` takes a few seconds to be completed on a single core. If this steps take a very long time to complete, do consider using the parallel processing option as described above. + +You will receive a BoolModel object at the end of the model training process. The BoolModel object can be visualise using `plotBM`, which is based on `igraph` package. For easier manipulation, output the Boolean model using `outgraph_model` and display it with Cytoscape or Gephi. + +```{r, eval=FALSE} +#(4) Inferring Boolean model. +final_model = model_train(edata, bmodel, istate, max_varperrule=4, verbose=T) + +#(5) Visualise the Boolean model generated. +plotBM(final_model) +``` +```{r, echo=FALSE, fig.show='hold', message=FALSE, dpi=75, fig.width=6, fig.height=6} +data(example_models) +plotBM(emodel2) +``` + +## Extending model with more genes + +This workflow is intended for use on extending an initial Boolean model with additional genes. + +When an initial model is used, note that only genes that are both present in the initial model and expression data will be used for reconstructing gene interactions. Any genes in the initial model that do not have corresponding expression values in the data will keep their original gene interactions as specified in the initial model without any modifications. + +### Full workflow + +Full workflow is included here for easy referencing. Each step is discussed in further details below. + +*Note that this example takes a few minutes to run on a single core. The use of parallel processing is recommended.* + +```{r, eval=FALSE, tidy=TRUE} +set.seed(0) #use to ensure reproducibility. remove in actual use. + +#(1) Setup paths and environment. +library(BoolTraineR) + +#If intending to use parallel processing, uncomment the following lines. +#library(doParallel) +#num_core = 4 #specify the number of cores to be used. +#doParallel::registerDoParallel(cores=num_core) + +#(2) Load data. +data(krum_bmodel) #load a data frame of Boolean model. +data(krum_istate) #load a data frame of initial state. +data(wilson_raw_data) #load a data frame of expression data. + +bmodel = initialise_model(krum_bmodel) +istate = krum_istate +edata = wilson_raw_data + +#(3) Filter cell types. +cell_ind = grepl('cmp', rownames(edata)) | grepl('gmp', rownames(edata)) | grepl('mep', rownames(edata)) #select cells to be included. +edata = edata[cell_ind,] + +#(4) Adding extra genes to the initial Boolean model. +#extra_genes = setdiff(colnames(wilson_raw_data), bmodel@target) #to view available genes to be added. +print(extra_genes) #to view available genes to be added. +add_gene = 'ldb1' #genes to be added: ldb1 +grown_bmodel = grow_bmodel(add_gene, bmodel) + +#(5) Estimating initial state for the extra genes. +tmp_data = initialise_raw_data(wilson_raw_data)[[1]] #preprocess data. +tmp_istate = mean(tmp_data[grepl('cmp', rownames(tmp_data)), add_gene]) #estimating initial state from CMPs. +tmp_istate = matrix(round(tmp_istate), nrow=1) +colnames(tmp_istate) = add_gene +grown_istate = cbind(istate, tmp_istate) +grown_istate = initialise_data(grown_istate) + +#(6) Inferring Boolean model. +final_model = model_train(edata, grown_bmodel, grown_istate, max_varperrule=4, verbose=T) + +#(7) Visualise the Boolean model generated. +plotBM(final_model) +``` + +### Initial setup + +The first step is to load the `BoolTraineR` package. If you are intending to use parallel processing, you will also need to load the `doParallel` package. Then specify how many cores you intend to use using `registerDoParallel` from the `doParallel` package. + +```{r} +set.seed(0) #use to ensure reproducibility. remove in actual use. + +#(1) Setup paths and environment. +library(BoolTraineR) + +#If intending to use parallel processing, uncomment the following lines. +#library(doParallel) +#num_core = 4 #specify the number of cores to be used. +#doParallel::registerDoParallel(cores=num_core) +``` + +### Data preparation + +3 pieces of data are needed to infer a Boolean model with an initial model: an expression data, an initial Boolean model and an initial state. + +To load the data into R, use `read.table` or `read.csv`. In this example, we are using the example data included with the package, so we are accessing it by using `data`. + +`initialise_model` converts the data frame containing the Boolean model into a BoolModel object. + +```{r, eval=FALSE} +#(2) Load data. +data(krum_bmodel) #load a data frame of Boolean model. +data(krum_istate) #load a data frame of initial state. +data(wilson_raw_data) #load a data frame of expression data. + +bmodel = initialise_model(krum_bmodel) +istate = krum_istate +edata = wilson_raw_data +``` + +Once data is loaded, filter the cell types or genes to be included in the analysis if needed. It is advisable to reduce the number of genes to be included if the computation takes too long to complete. In this example, genes are not filtered as all genes that are present in both expression data and Boolean model are used automatically. + +```{r, tidy=TRUE , eval=FALSE} +#(3) Filter cell types. +cell_ind = grepl('cmp', rownames(edata)) | grepl('gmp', rownames(edata)) | grepl('mep', rownames(edata)) #select cells to be included. +edata = edata[cell_ind,] +``` + +### Add extra genes to the initial Boolean model + +Extra genes can be added to the initial model using `grow_bmodel`. The function will add extra genes into the initial model with empty update functions. + +```{r, eval=FALSE} +#(4) Adding extra genes to the initial Boolean model. +#extra_genes = setdiff(colnames(wilson_raw_data), bmodel@target) #to view available genes to be added. +add_gene = 'ldb1' #genes to be added: ldb1 +grown_bmodel = grow_bmodel(add_gene, bmodel) +``` + +### Estimate initial state for the extra genes + +Initial state needs to be modify to include the initial expression of the extra genes. The initial state of the extra genes can be set manually, or it can be estimated from the data if the data contain multiple cell types with known relationships. In this example, CMPs are known to be at developmental upstream of erythro-myeloid differentiation, therefore initial state can be estimated by taking the average expression of the extra genes in CMPs. + +```{r, eval=FALSE} +#(5) Estimating initial state for the extra genes. +tmp_data = initialise_raw_data(wilson_raw_data)[[1]] #preprocess data. +tmp_istate = mean(tmp_data[grepl('cmp', rownames(tmp_data)), add_gene]) #estimating initial state from CMPs. +tmp_istate = matrix(round(tmp_istate), nrow=1) +colnames(tmp_istate) = add_gene +grown_istate = cbind(istate, tmp_istate) +grown_istate = initialise_data(grown_istate) +``` + +### Run model training + +To reconstruct a Boolean model from an expression data, run `model_train`. + +In this example, `model_train` takes a few minutes to be completed on a single core. If this steps take a very long time to complete, do consider using the parallel processing option as described above. + +You will receive a BoolModel object at the end of the model training process. The BoolModel object can be visualise using `plotBM`, which is based on `igraph` package. For easier manipulation, output the Boolean model using `outgraph_model` and display it with Cytoscape or Gephi. + +*Note that this example takes a long time to run. The use of parallel processing is recommended.* + +```{r, eval=FALSE} +#(6) Inferring Boolean model. +final_model = model_train(edata, grown_bmodel, grown_istate, max_varperrule=4, verbose=T) + +#(7) Visualise the Boolean model generated. +plotBM(final_model) +``` +```{r, echo=FALSE, fig.show='hold', message=FALSE, dpi=75, fig.width=6, fig.height=6} +data(example_models) +plotBM(emodel3) +``` diff --git a/vignettes/booltrainer.html b/vignettes/booltrainer.html new file mode 100644 index 0000000..aad23b7 --- /dev/null +++ b/vignettes/booltrainer.html @@ -0,0 +1,594 @@ + + + + + + + + + + + + + + +Using BoolTraineR to reconstruct asynchronous Boolean models + + + + + + + + + + + + + + + + +

+ + + +
+

1 Brief introduction

+

BoolTraineR is a model learning algorithm for reconstructing and training asynchronous Boolean models using single-cell expression data. Refer to the paper for more details on the concepts behind the algorithm. This vignette serves as a tutorial to demonstrate example workflows that can be adapted to individual cases experienced by users.

+

Running BoolTraineR is straightforward. However, note that depending on the (1) size of single-cell expression data and (2) complexity of Boolean model, BoolTraineR may take a long time to complete the computation. In such cases, it is advisable to use the built-in parallel processing capability of BoolTraineR. This can be easily achieved by using doParallel package, as illustrated in the example.

+

Note that the examples presented in this vignette are different from the results presented in our paper. The examples presented here have been simplified to speed up the processing time.

+
+
+

2 Installation

+

BoolTraineR can be installed from CRAN.

+
install.packages('BoolTraineR')
+

Or from Github for the latest version.

+
install_github("cheeyeelim/booltrainer")
+

Also install doParallel package if you intend to use parallel processing.

+
+
+

3 Input data format

+

Depending on the analysis, only 3 types of data will ever be needed. The format of the data required is discussed below.

+
    +
  1. Expression data. A matrix with genes on the columns, and cells on the row.
  2. +
+

The expression data should be preprocessed as in any standard sequencing data processing pipelines, which includes quality control filtering and normalisation.

+

Use initialise_raw_data to convert expression data into a suitable format for model inference.

+
data(wilson_raw_data)
+round(wilson_raw_data[1:5,1:5], 4)
+
+edata = initialise_raw_data(wilson_raw_data)
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bptfcbfa2t3hcsf1rdnmt3aeif2b1
lmpp_0021.02612.39442.68471.66362.0203
lmpp_0032.64961.78001.68211.59412.7736
lmpp_00410.30800.58894.2653-0.55650.0026
lmpp_0070.54191.863110.84680.17571.0873
lmpp_0080.92092.66372.85492.19652.3663
+
    +
  1. Initial Boolean model. A data frame with two columns, targets and update functions.
  2. +
+

Note that if an update function contains both activation and inhibition genes, they must be expressed with a separate clause containing only activation genes, and a separate clause containing only inhibition genes. (See the update functions of Gata1 and Gata2 for examples)

+

Use initialise_model to convert the input Boolean model into a BoolModel object.

+
data(krum_bmodel)
+head(krum_bmodel)
+
+bmodel = initialise_model(krum_bmodel)
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
targetsfactors
gata2gata2 & ! ((gata1 & fog1) | sfpi1)
gata1(gata1 | gata2 | fli1) & ! sfpi1
fog1gata1
eklfgata1 & ! fli1
fli1gata1 & ! eklf
sclgata1 & ! sfpi1
+
    +
  1. Initial state.
  2. +
+

A single row data frame with genes as the columns. The expression state of each gene must be in binarised form, i.e. 0s and 1s.

+

Note that all the genes that are present in the initial Boolean model must also be present here.

+
data(krum_istate)
+head(krum_istate)
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cjuncebpafli1gata1gata2eklfsfpi1gfi1sclegrnabfog1
initial_state01001010000
+
+
+

4 Output format

+

BoolTraineR supports several output formats for Boolean models, as shown below.

+
    +
  • outgraph_model - Outputs a Boolean model in a tab-delimited file with each line being an edge (i.e. gene interaction). This function also outputs a node attribute file, which can be used to distinguish gene and AND nodes in a graph plotting software. This format is readable by both Cytoscape and Gephi.
  • +
  • outgenysis_model - Outputs a Boolean model in a space-delimited file with each line being an edge (i.e. gene interaction). This format is readable by genYsis (used for steady state analysis).
  • +
  • writeBM - Outputs a Boolean model in a comma-delimited file similar in format to the input file format (i.e. two columns: genes and update functions).
  • +
+

BoolTraineR can also output a state transition graph.

+
    +
  • outstate_graph - Outputs a state space of a Boolean model simulated with an initial state. This format is readable by both Cytoscape and Gephi.
  • +
+
+
+

5 Useful functions in BoolTraineR

+

Besides training Boolean models, BoolTraineR can be used for simulating a Boolean model asynchronously and calculate the score of a Boolean model with respect to a data.

+
    +
  • model_train - Core function in BoolTraineR that performs Boolean model inference.
  • +
  • simulate_model - Simulate a Boolean model asynchronously using an initial state, and return its state space.
  • +
  • calc_mscore - Calculate a distance score for a Boolean model with respect to an expression data.
  • +
  • model_dist - Calculate the number of genes in the update functions that differ between two Boolean models.
  • +
  • model_setdiff - Show the genes in the update functions that differ between two Boolean models.
  • +
+
+
+

6 Example workflows

+

Three example workflows will be discussed in this vignette: (1) Inferring model without an initial model, (2) Inferring model with an initial model, (3) Extending model with more genes. The two workflows are largely similar, which only differ in the data preparation step.

+
+

6.1 Inferring model without an initial model

+

This workflow is intended for use on inferring a Boolean model without an initial model.

+

When no initial model is used, BoolTraineR will reconstruct gene interactions from a list of user-specified genes. If the number of genes in the expression data is low (e.g. in qPCR), it is also possible to use all the genes in the expression data.

+
+

6.1.1 Full workflow

+

Full workflow is included here for easy referencing. Each step is discussed in further details below.

+
set.seed(0)  #use to ensure reproducibility. remove in actual use.
+
+# (1) Setup paths and environment.
+library(BoolTraineR)
+
+# If intending to use parallel processing, uncomment the following lines.
+# library(doParallel) num_core = 4 #specify the number of cores to be used.
+# doParallel::registerDoParallel(cores=num_core)
+
+# (2) Load data.
+data(wilson_raw_data)  #load a data frame of expression data.
+edata = wilson_raw_data
+
+# (3) Filter cell types.
+cell_ind = grepl("cmp", rownames(edata)) | grepl("gmp", rownames(edata)) | grepl("mep", 
+    rownames(edata))  #select cells to be included.
+edata = edata[cell_ind, ]
+
+# (4) Filter genes.
+gene_ind = c("fli1", "gata1", "gata2", "gfi1", "scl", "sfpi1")  #select genes to be included.
+edata = edata[, gene_ind]
+
+# (5) Inferring Boolean model.
+final_model = model_train(edata, max_varperrule = 4, verbose = T)
+
+# (6) Visualise the Boolean model generated.
+plotBM(final_model)
+
+
+

6.1.2 Initial setup

+

The first step is to load the BoolTraineR package. If you are intending to use parallel processing, you will also need to load the doParallel package. Then specify how many cores you intend to use using registerDoParallel from the doParallel package.

+
set.seed(0) #use to ensure reproducibility. remove in actual use.
+
+#(1) Setup paths and environment.
+library(BoolTraineR)
+
+#If intending to use parallel processing, uncomment the following lines. 
+#library(doParallel)
+#num_core = 4 #specify the number of cores to be used.
+#doParallel::registerDoParallel(cores=num_core)
+
+
+

6.1.3 Data preparation

+

Only the expression data is needed for inferring a Boolean model without an initial model.

+

To load the data into R, use read.table or read.csv. In this example, we are using the example data included with the package, so we are accessing it by using data.

+
#(2) Load data.
+data(wilson_raw_data) #load a data frame of expression data.
+edata = wilson_raw_data
+

Once data is loaded, filter the cell types or genes to be included in the analysis if needed. It is advisable to reduce the number of genes to be included if the computation takes too long to complete.

+
# (3) Filter cell types.
+cell_ind = grepl("cmp", rownames(edata)) | grepl("gmp", rownames(edata)) | grepl("mep", 
+    rownames(edata))  #select cells to be included.
+edata = edata[cell_ind, ]
+
+# (4) Filter genes.
+gene_ind = c("fli1", "gata1", "gata2", "gfi1", "scl", "sfpi1")  #select genes to be included.
+edata = edata[, gene_ind]
+
+
+

6.1.4 Run model training

+

To reconstruct a Boolean model from an expression data, run model_train.

+

In this example, model_train takes a few seconds to be completed on a single core. If this steps take a very long time to complete, do consider using the parallel processing option as described above.

+

You will receive a BoolModel object at the end of the model training process. The BoolModel object can be visualise quickly using plotBM, which is based on igraph package. For easier manipulation, output the Boolean model using outgraph_model and display it with Cytoscape or Gephi.

+
#(5) Inferring Boolean model.
+final_model = model_train(edata, max_varperrule=4, verbose=T)
+
+#(6) Visualise the Boolean model generated.
+plotBM(final_model)
+

+
+
+
+

6.2 Inferring model with an initial model

+

This workflow is intended for use on inferring a Boolean model with an initial model.

+

When an initial model is used, note that only genes that are both present in the initial model and expression data will be used for reconstructing gene interactions. Any genes in the initial model that do not have corresponding expression values in the data will keep their original gene interactions as specified in the initial model without any modifications.

+
+

6.2.1 Full workflow

+

Full workflow is included here for easy referencing. Each step is discussed in further details below.

+
set.seed(0)  #use to ensure reproducibility. remove in actual use.
+
+# (1) Setup paths and environment.
+library(BoolTraineR)
+
+# If intending to use parallel processing, uncomment the following lines.
+# library(doParallel) num_core = 4 #specify the number of cores to be used.
+# doParallel::registerDoParallel(cores=num_core)
+
+# (2) Load data.
+data(krum_bmodel)  #load a data frame of Boolean model.
+data(krum_istate)  #load a data frame of initial state.
+data(wilson_raw_data)  #load a data frame of expression data.
+
+bmodel = initialise_model(krum_bmodel)
+istate = krum_istate
+edata = wilson_raw_data
+
+# (3) Filter cell types.
+cell_ind = grepl("cmp", rownames(edata)) | grepl("gmp", rownames(edata)) | grepl("mep", 
+    rownames(edata))  #select cells to be included.
+edata = edata[cell_ind, ]
+
+# (4) Inferring Boolean model.
+final_model = model_train(edata, bmodel, istate, max_varperrule = 4, verbose = T)
+
+# (5) Visualise the Boolean model generated.
+plotBM(final_model)
+
+
+

6.2.2 Initial setup

+

The first step is to load the BoolTraineR package. If you are intending to use parallel processing, you will also need to load the doParallel package. Then specify how many cores you intend to use using registerDoParallel from the doParallel package.

+
set.seed(0) #use to ensure reproducibility. remove in actual use.
+
+#(1) Setup paths and environment.
+library(BoolTraineR)
+
+#If intending to use parallel processing, uncomment the following lines. 
+#library(doParallel)
+#num_core = 4 #specify the number of cores to be used.
+#doParallel::registerDoParallel(cores=num_core)
+
+
+

6.2.3 Data preparation

+

3 pieces of data are needed to infer a Boolean model with an initial model: an expression data, an initial Boolean model and an initial state.

+

To load the data into R, use read.table or read.csv. In this example, we are using the example data included with the package, so we are accessing it by using data.

+

initialise_model converts the data frame containing the Boolean model into a BoolModel object.

+
#(2) Load data.
+data(krum_bmodel) #load a data frame of Boolean model.
+data(krum_istate) #load a data frame of initial state.
+data(wilson_raw_data) #load a data frame of expression data.
+
+bmodel = initialise_model(krum_bmodel)
+istate = krum_istate
+edata = wilson_raw_data
+

Once data is loaded, filter the cell types or genes to be included in the analysis if needed. It is advisable to reduce the number of genes to be included if the computation takes too long to complete. In this example, genes are not filtered as all genes that are present in both expression data and Boolean model are used automatically.

+
# (3) Filter cell types.
+cell_ind = grepl("cmp", rownames(edata)) | grepl("gmp", rownames(edata)) | grepl("mep", 
+    rownames(edata))  #select cells to be included.
+edata = edata[cell_ind, ]
+
+
+

6.2.4 Run model training

+

To reconstruct a Boolean model from an expression data, run model_train.

+

In this example, model_train takes a few seconds to be completed on a single core. If this steps take a very long time to complete, do consider using the parallel processing option as described above.

+

You will receive a BoolModel object at the end of the model training process. The BoolModel object can be visualise using plotBM, which is based on igraph package. For easier manipulation, output the Boolean model using outgraph_model and display it with Cytoscape or Gephi.

+
#(4) Inferring Boolean model.
+final_model = model_train(edata, bmodel, istate, max_varperrule=4, verbose=T)
+
+#(5) Visualise the Boolean model generated.
+plotBM(final_model)
+

+
+
+
+

6.3 Extending model with more genes

+

This workflow is intended for use on extending an initial Boolean model with additional genes.

+

When an initial model is used, note that only genes that are both present in the initial model and expression data will be used for reconstructing gene interactions. Any genes in the initial model that do not have corresponding expression values in the data will keep their original gene interactions as specified in the initial model without any modifications.

+
+

6.3.1 Full workflow

+

Full workflow is included here for easy referencing. Each step is discussed in further details below.

+

Note that this example takes a few minutes to run on a single core. The use of parallel processing is recommended.

+
set.seed(0)  #use to ensure reproducibility. remove in actual use.
+
+# (1) Setup paths and environment.
+library(BoolTraineR)
+
+# If intending to use parallel processing, uncomment the following lines.
+# library(doParallel) num_core = 4 #specify the number of cores to be used.
+# doParallel::registerDoParallel(cores=num_core)
+
+# (2) Load data.
+data(krum_bmodel)  #load a data frame of Boolean model.
+data(krum_istate)  #load a data frame of initial state.
+data(wilson_raw_data)  #load a data frame of expression data.
+
+bmodel = initialise_model(krum_bmodel)
+istate = krum_istate
+edata = wilson_raw_data
+
+# (3) Filter cell types.
+cell_ind = grepl("cmp", rownames(edata)) | grepl("gmp", rownames(edata)) | grepl("mep", 
+    rownames(edata))  #select cells to be included.
+edata = edata[cell_ind, ]
+
+# (4) Adding extra genes to the initial Boolean model. extra_genes =
+# setdiff(colnames(wilson_raw_data), bmodel@target) #to view available genes
+# to be added.
+print(extra_genes)  #to view available genes to be added.
+add_gene = "ldb1"  #genes to be added: ldb1
+grown_bmodel = grow_bmodel(add_gene, bmodel)
+
+# (5) Estimating initial state for the extra genes.
+tmp_data = initialise_raw_data(wilson_raw_data)[[1]]  #preprocess data.
+tmp_istate = mean(tmp_data[grepl("cmp", rownames(tmp_data)), add_gene])  #estimating initial state from CMPs.
+tmp_istate = matrix(round(tmp_istate), nrow = 1)
+colnames(tmp_istate) = add_gene
+grown_istate = cbind(istate, tmp_istate)
+grown_istate = initialise_data(grown_istate)
+
+# (6) Inferring Boolean model.
+final_model = model_train(edata, grown_bmodel, grown_istate, max_varperrule = 4, 
+    verbose = T)
+
+# (7) Visualise the Boolean model generated.
+plotBM(final_model)
+
+
+

6.3.2 Initial setup

+

The first step is to load the BoolTraineR package. If you are intending to use parallel processing, you will also need to load the doParallel package. Then specify how many cores you intend to use using registerDoParallel from the doParallel package.

+
set.seed(0) #use to ensure reproducibility. remove in actual use.
+
+#(1) Setup paths and environment.
+library(BoolTraineR)
+
+#If intending to use parallel processing, uncomment the following lines. 
+#library(doParallel)
+#num_core = 4 #specify the number of cores to be used.
+#doParallel::registerDoParallel(cores=num_core)
+
+
+

6.3.3 Data preparation

+

3 pieces of data are needed to infer a Boolean model with an initial model: an expression data, an initial Boolean model and an initial state.

+

To load the data into R, use read.table or read.csv. In this example, we are using the example data included with the package, so we are accessing it by using data.

+

initialise_model converts the data frame containing the Boolean model into a BoolModel object.

+
#(2) Load data.
+data(krum_bmodel) #load a data frame of Boolean model.
+data(krum_istate) #load a data frame of initial state.
+data(wilson_raw_data) #load a data frame of expression data.
+
+bmodel = initialise_model(krum_bmodel)
+istate = krum_istate
+edata = wilson_raw_data
+

Once data is loaded, filter the cell types or genes to be included in the analysis if needed. It is advisable to reduce the number of genes to be included if the computation takes too long to complete. In this example, genes are not filtered as all genes that are present in both expression data and Boolean model are used automatically.

+
# (3) Filter cell types.
+cell_ind = grepl("cmp", rownames(edata)) | grepl("gmp", rownames(edata)) | grepl("mep", 
+    rownames(edata))  #select cells to be included.
+edata = edata[cell_ind, ]
+
+
+

6.3.4 Add extra genes to the initial Boolean model

+

Extra genes can be added to the initial model using grow_bmodel. The function will add extra genes into the initial model with empty update functions.

+
#(4) Adding extra genes to the initial Boolean model.
+#extra_genes = setdiff(colnames(wilson_raw_data), bmodel@target) #to view available genes to be added.
+add_gene = 'ldb1' #genes to be added: ldb1
+grown_bmodel = grow_bmodel(add_gene, bmodel)
+
+
+

6.3.5 Estimate initial state for the extra genes

+

Initial state needs to be modify to include the initial expression of the extra genes. The initial state of the extra genes can be set manually, or it can be estimated from the data if the data contain multiple cell types with known relationships. In this example, CMPs are known to be at developmental upstream of erythro-myeloid differentiation, therefore initial state can be estimated by taking the average expression of the extra genes in CMPs.

+
#(5) Estimating initial state for the extra genes.
+tmp_data = initialise_raw_data(wilson_raw_data)[[1]] #preprocess data.
+tmp_istate = mean(tmp_data[grepl('cmp', rownames(tmp_data)), add_gene]) #estimating initial state from CMPs.
+tmp_istate = matrix(round(tmp_istate), nrow=1)
+colnames(tmp_istate) = add_gene
+grown_istate = cbind(istate, tmp_istate)
+grown_istate = initialise_data(grown_istate)
+
+
+

6.3.6 Run model training

+

To reconstruct a Boolean model from an expression data, run model_train.

+

In this example, model_train takes a few minutes to be completed on a single core. If this steps take a very long time to complete, do consider using the parallel processing option as described above.

+

You will receive a BoolModel object at the end of the model training process. The BoolModel object can be visualise using plotBM, which is based on igraph package. For easier manipulation, output the Boolean model using outgraph_model and display it with Cytoscape or Gephi.

+

Note that this example takes a long time to run. The use of parallel processing is recommended.

+
#(6) Inferring Boolean model.
+final_model = model_train(edata, grown_bmodel, grown_istate, max_varperrule=4, verbose=T)
+
+#(7) Visualise the Boolean model generated.
+plotBM(final_model)
+

+
+
+
+ + + + + + + + diff --git a/vignettes/booltrainer.md b/vignettes/booltrainer.md new file mode 100644 index 0000000..532c74c --- /dev/null +++ b/vignettes/booltrainer.md @@ -0,0 +1,494 @@ +- [Brief introduction](#brief-introduction) +- [Installation](#installation) +- [Input data format](#input-data-format) +- [Output format](#output-format) +- [Useful functions in BoolTraineR](#useful-functions-in-booltrainer) +- [Example workflows](#example-workflows) + - [Inferring model without an initial model](#inferring-model-without-an-initial-model) + - [Full workflow](#full-workflow) + - [Initial setup](#initial-setup) + - [Data preparation](#data-preparation) + - [Run model training](#run-model-training) + - [Inferring model with an initial model](#inferring-model-with-an-initial-model) + - [Full workflow](#full-workflow-1) + - [Initial setup](#initial-setup-1) + - [Data preparation](#data-preparation-1) + - [Run model training](#run-model-training-1) + - [Extending model with more genes](#extending-model-with-more-genes) + - [Full workflow](#full-workflow-2) + - [Initial setup](#initial-setup-2) + - [Data preparation](#data-preparation-2) + - [Add extra genes to the initial Boolean model](#add-extra-genes-to-the-initial-boolean-model) + - [Estimate initial state for the extra genes](#estimate-initial-state-for-the-extra-genes) + - [Run model training](#run-model-training-2) + +Brief introduction +================== + +`BoolTraineR` is a model learning algorithm for reconstructing and training asynchronous Boolean models using single-cell expression data. Refer to the paper for more details on the concepts behind the algorithm. This vignette serves as a tutorial to demonstrate example workflows that can be adapted to individual cases experienced by users. + +Running `BoolTraineR` is straightforward. However, note that depending on the (1) size of single-cell expression data and (2) complexity of Boolean model, `BoolTraineR` may take a long time to complete the computation. In such cases, it is advisable to use the built-in parallel processing capability of `BoolTraineR`. This can be easily achieved by using `doParallel` package, as illustrated in the example. + +Note that the examples presented in this vignette are different from the results presented in our paper. The examples presented here have been simplified to speed up the processing time. + +Installation +============ + +`BoolTraineR` can be installed from CRAN. + +``` r +install.packages('BoolTraineR') +``` + +Or from Github for the latest version. + +``` r +install_github("cheeyeelim/booltrainer") +``` + +Also install `doParallel` package if you intend to use parallel processing. + +Input data format +================= + +Depending on the analysis, only 3 types of data will ever be needed. The format of the data required is discussed below. + +1. Expression data. A matrix with genes on the columns, and cells on the row. + +The expression data should be preprocessed as in any standard sequencing data processing pipelines, which includes quality control filtering and normalisation. + +Use `initialise_raw_data` to convert expression data into a suitable format for model inference. + +``` r +data(wilson_raw_data) +round(wilson_raw_data[1:5,1:5], 4) + +edata = initialise_raw_data(wilson_raw_data) +``` + +| | bptf| cbfa2t3h| csf1r| dnmt3a| eif2b1| +|-----------|--------:|---------:|--------:|--------:|-------:| +| lmpp\_002 | 1.0261| 2.3944| 2.6847| 1.6636| 2.0203| +| lmpp\_003 | 2.6496| 1.7800| 1.6821| 1.5941| 2.7736| +| lmpp\_004 | 10.3080| 0.5889| 4.2653| -0.5565| 0.0026| +| lmpp\_007 | 0.5419| 1.8631| 10.8468| 0.1757| 1.0873| +| lmpp\_008 | 0.9209| 2.6637| 2.8549| 2.1965| 2.3663| + +1. Initial Boolean model. A data frame with two columns, targets and update functions. + +Note that if an update function contains both activation and inhibition genes, they must be expressed with a separate clause containing only activation genes, and a separate clause containing only inhibition genes. (See the update functions of Gata1 and Gata2 for examples) + +Use `initialise_model` to convert the input Boolean model into a BoolModel object. + +``` r +data(krum_bmodel) +head(krum_bmodel) + +bmodel = initialise_model(krum_bmodel) +``` + +| targets | factors | +|:--------|:-----------------------------------| +| gata2 | gata2 & ! ((gata1 & fog1) | sfpi1) | +| gata1 | (gata1 | gata2 | fli1) & ! sfpi1 | +| fog1 | gata1 | +| eklf | gata1 & ! fli1 | +| fli1 | gata1 & ! eklf | +| scl | gata1 & ! sfpi1 | + +1. Initial state. + +A single row data frame with genes as the columns. The expression state of each gene must be in binarised form, i.e. 0s and 1s. + +Note that all the genes that are present in the initial Boolean model must also be present here. + +``` r +data(krum_istate) +head(krum_istate) +``` + +| | cjun| cebpa| fli1| gata1| gata2| eklf| sfpi1| gfi1| scl| egrnab| fog1| +|----------------|-----:|------:|-----:|------:|------:|-----:|------:|-----:|----:|-------:|-----:| +| initial\_state | 0| 1| 0| 0| 1| 0| 1| 0| 0| 0| 0| + +Output format +============= + +BoolTraineR supports several output formats for Boolean models, as shown below. + +- `outgraph_model` - Outputs a Boolean model in a tab-delimited file with each line being an edge (i.e. gene interaction). This function also outputs a node attribute file, which can be used to distinguish gene and AND nodes in a graph plotting software. This format is readable by both Cytoscape and Gephi. +- `outgenysis_model` - Outputs a Boolean model in a space-delimited file with each line being an edge (i.e. gene interaction). This format is readable by genYsis (used for steady state analysis). +- `writeBM` - Outputs a Boolean model in a comma-delimited file similar in format to the input file format (i.e. two columns: genes and update functions). + +BoolTraineR can also output a state transition graph. + +- `outstate_graph` - Outputs a state space of a Boolean model simulated with an initial state. This format is readable by both Cytoscape and Gephi. + +Useful functions in BoolTraineR +=============================== + +Besides training Boolean models, BoolTraineR can be used for simulating a Boolean model asynchronously and calculate the score of a Boolean model with respect to a data. + +- `model_train` - Core function in `BoolTraineR` that performs Boolean model inference. +- `simulate_model` - Simulate a Boolean model asynchronously using an initial state, and return its state space. +- `calc_mscore` - Calculate a distance score for a Boolean model with respect to an expression data. +- `model_dist` - Calculate the number of genes in the update functions that differ between two Boolean models. +- `model_setdiff` - Show the genes in the update functions that differ between two Boolean models. + +Example workflows +================= + +Three example workflows will be discussed in this vignette: (1) Inferring model without an initial model, (2) Inferring model with an initial model, (3) Extending model with more genes. The two workflows are largely similar, which only differ in the data preparation step. + +Inferring model without an initial model +---------------------------------------- + +This workflow is intended for use on inferring a Boolean model without an initial model. + +When no initial model is used, BoolTraineR will reconstruct gene interactions from a list of user-specified genes. If the number of genes in the expression data is low (e.g. in qPCR), it is also possible to use all the genes in the expression data. + +### Full workflow + +Full workflow is included here for easy referencing. Each step is discussed in further details below. + +``` r +set.seed(0) #use to ensure reproducibility. remove in actual use. + +# (1) Setup paths and environment. +library(BoolTraineR) + +# If intending to use parallel processing, uncomment the following lines. +# library(doParallel) num_core = 4 #specify the number of cores to be used. +# doParallel::registerDoParallel(cores=num_core) + +# (2) Load data. +data(wilson_raw_data) #load a data frame of expression data. +edata = wilson_raw_data + +# (3) Filter cell types. +cell_ind = grepl("cmp", rownames(edata)) | grepl("gmp", rownames(edata)) | grepl("mep", + rownames(edata)) #select cells to be included. +edata = edata[cell_ind, ] + +# (4) Filter genes. +gene_ind = c("fli1", "gata1", "gata2", "gfi1", "scl", "sfpi1") #select genes to be included. +edata = edata[, gene_ind] + +# (5) Inferring Boolean model. +final_model = model_train(edata, max_varperrule = 4, verbose = T) + +# (6) Visualise the Boolean model generated. +plotBM(final_model) +``` + +### Initial setup + +The first step is to load the `BoolTraineR` package. If you are intending to use parallel processing, you will also need to load the `doParallel` package. Then specify how many cores you intend to use using `registerDoParallel` from the `doParallel` package. + +``` r +set.seed(0) #use to ensure reproducibility. remove in actual use. + +#(1) Setup paths and environment. +library(BoolTraineR) + +#If intending to use parallel processing, uncomment the following lines. +#library(doParallel) +#num_core = 4 #specify the number of cores to be used. +#doParallel::registerDoParallel(cores=num_core) +``` + +### Data preparation + +Only the expression data is needed for inferring a Boolean model without an initial model. + +To load the data into R, use `read.table` or `read.csv`. In this example, we are using the example data included with the package, so we are accessing it by using `data`. + +``` r +#(2) Load data. +data(wilson_raw_data) #load a data frame of expression data. +edata = wilson_raw_data +``` + +Once data is loaded, filter the cell types or genes to be included in the analysis if needed. It is advisable to reduce the number of genes to be included if the computation takes too long to complete. + +``` r +# (3) Filter cell types. +cell_ind = grepl("cmp", rownames(edata)) | grepl("gmp", rownames(edata)) | grepl("mep", + rownames(edata)) #select cells to be included. +edata = edata[cell_ind, ] + +# (4) Filter genes. +gene_ind = c("fli1", "gata1", "gata2", "gfi1", "scl", "sfpi1") #select genes to be included. +edata = edata[, gene_ind] +``` + +### Run model training + +To reconstruct a Boolean model from an expression data, run `model_train`. + +In this example, `model_train` takes a few seconds to be completed on a single core. If this steps take a very long time to complete, do consider using the parallel processing option as described above. + +You will receive a BoolModel object at the end of the model training process. The BoolModel object can be visualise quickly using `plotBM`, which is based on `igraph` package. For easier manipulation, output the Boolean model using `outgraph_model` and display it with Cytoscape or Gephi. + +``` r +#(5) Inferring Boolean model. +final_model = model_train(edata, max_varperrule=4, verbose=T) + +#(6) Visualise the Boolean model generated. +plotBM(final_model) +``` + +![](booltrainer_files/figure-markdown_github/unnamed-chunk-15-1.png) + +Inferring model with an initial model +------------------------------------- + +This workflow is intended for use on inferring a Boolean model with an initial model. + +When an initial model is used, note that only genes that are both present in the initial model and expression data will be used for reconstructing gene interactions. Any genes in the initial model that do not have corresponding expression values in the data will keep their original gene interactions as specified in the initial model without any modifications. + +### Full workflow + +Full workflow is included here for easy referencing. Each step is discussed in further details below. + +``` r +set.seed(0) #use to ensure reproducibility. remove in actual use. + +# (1) Setup paths and environment. +library(BoolTraineR) + +# If intending to use parallel processing, uncomment the following lines. +# library(doParallel) num_core = 4 #specify the number of cores to be used. +# doParallel::registerDoParallel(cores=num_core) + +# (2) Load data. +data(krum_bmodel) #load a data frame of Boolean model. +data(krum_istate) #load a data frame of initial state. +data(wilson_raw_data) #load a data frame of expression data. + +bmodel = initialise_model(krum_bmodel) +istate = krum_istate +edata = wilson_raw_data + +# (3) Filter cell types. +cell_ind = grepl("cmp", rownames(edata)) | grepl("gmp", rownames(edata)) | grepl("mep", + rownames(edata)) #select cells to be included. +edata = edata[cell_ind, ] + +# (4) Inferring Boolean model. +final_model = model_train(edata, bmodel, istate, max_varperrule = 4, verbose = T) + +# (5) Visualise the Boolean model generated. +plotBM(final_model) +``` + +### Initial setup + +The first step is to load the `BoolTraineR` package. If you are intending to use parallel processing, you will also need to load the `doParallel` package. Then specify how many cores you intend to use using `registerDoParallel` from the `doParallel` package. + +``` r +set.seed(0) #use to ensure reproducibility. remove in actual use. + +#(1) Setup paths and environment. +library(BoolTraineR) + +#If intending to use parallel processing, uncomment the following lines. +#library(doParallel) +#num_core = 4 #specify the number of cores to be used. +#doParallel::registerDoParallel(cores=num_core) +``` + +### Data preparation + +3 pieces of data are needed to infer a Boolean model with an initial model: an expression data, an initial Boolean model and an initial state. + +To load the data into R, use `read.table` or `read.csv`. In this example, we are using the example data included with the package, so we are accessing it by using `data`. + +`initialise_model` converts the data frame containing the Boolean model into a BoolModel object. + +``` r +#(2) Load data. +data(krum_bmodel) #load a data frame of Boolean model. +data(krum_istate) #load a data frame of initial state. +data(wilson_raw_data) #load a data frame of expression data. + +bmodel = initialise_model(krum_bmodel) +istate = krum_istate +edata = wilson_raw_data +``` + +Once data is loaded, filter the cell types or genes to be included in the analysis if needed. It is advisable to reduce the number of genes to be included if the computation takes too long to complete. In this example, genes are not filtered as all genes that are present in both expression data and Boolean model are used automatically. + +``` r +# (3) Filter cell types. +cell_ind = grepl("cmp", rownames(edata)) | grepl("gmp", rownames(edata)) | grepl("mep", + rownames(edata)) #select cells to be included. +edata = edata[cell_ind, ] +``` + +### Run model training + +To reconstruct a Boolean model from an expression data, run `model_train`. + +In this example, `model_train` takes a few seconds to be completed on a single core. If this steps take a very long time to complete, do consider using the parallel processing option as described above. + +You will receive a BoolModel object at the end of the model training process. The BoolModel object can be visualise using `plotBM`, which is based on `igraph` package. For easier manipulation, output the Boolean model using `outgraph_model` and display it with Cytoscape or Gephi. + +``` r +#(4) Inferring Boolean model. +final_model = model_train(edata, bmodel, istate, max_varperrule=4, verbose=T) + +#(5) Visualise the Boolean model generated. +plotBM(final_model) +``` + +![](booltrainer_files/figure-markdown_github/unnamed-chunk-21-1.png) + +Extending model with more genes +------------------------------- + +This workflow is intended for use on extending an initial Boolean model with additional genes. + +When an initial model is used, note that only genes that are both present in the initial model and expression data will be used for reconstructing gene interactions. Any genes in the initial model that do not have corresponding expression values in the data will keep their original gene interactions as specified in the initial model without any modifications. + +### Full workflow + +Full workflow is included here for easy referencing. Each step is discussed in further details below. + +*Note that this example takes a few minutes to run on a single core. The use of parallel processing is recommended.* + +``` r +set.seed(0) #use to ensure reproducibility. remove in actual use. + +# (1) Setup paths and environment. +library(BoolTraineR) + +# If intending to use parallel processing, uncomment the following lines. +# library(doParallel) num_core = 4 #specify the number of cores to be used. +# doParallel::registerDoParallel(cores=num_core) + +# (2) Load data. +data(krum_bmodel) #load a data frame of Boolean model. +data(krum_istate) #load a data frame of initial state. +data(wilson_raw_data) #load a data frame of expression data. + +bmodel = initialise_model(krum_bmodel) +istate = krum_istate +edata = wilson_raw_data + +# (3) Filter cell types. +cell_ind = grepl("cmp", rownames(edata)) | grepl("gmp", rownames(edata)) | grepl("mep", + rownames(edata)) #select cells to be included. +edata = edata[cell_ind, ] + +# (4) Adding extra genes to the initial Boolean model. extra_genes = +# setdiff(colnames(wilson_raw_data), bmodel@target) #to view available genes +# to be added. +print(extra_genes) #to view available genes to be added. +add_gene = "ldb1" #genes to be added: ldb1 +grown_bmodel = grow_bmodel(add_gene, bmodel) + +# (5) Estimating initial state for the extra genes. +tmp_data = initialise_raw_data(wilson_raw_data)[[1]] #preprocess data. +tmp_istate = mean(tmp_data[grepl("cmp", rownames(tmp_data)), add_gene]) #estimating initial state from CMPs. +tmp_istate = matrix(round(tmp_istate), nrow = 1) +colnames(tmp_istate) = add_gene +grown_istate = cbind(istate, tmp_istate) +grown_istate = initialise_data(grown_istate) + +# (6) Inferring Boolean model. +final_model = model_train(edata, grown_bmodel, grown_istate, max_varperrule = 4, + verbose = T) + +# (7) Visualise the Boolean model generated. +plotBM(final_model) +``` + +### Initial setup + +The first step is to load the `BoolTraineR` package. If you are intending to use parallel processing, you will also need to load the `doParallel` package. Then specify how many cores you intend to use using `registerDoParallel` from the `doParallel` package. + +``` r +set.seed(0) #use to ensure reproducibility. remove in actual use. + +#(1) Setup paths and environment. +library(BoolTraineR) + +#If intending to use parallel processing, uncomment the following lines. +#library(doParallel) +#num_core = 4 #specify the number of cores to be used. +#doParallel::registerDoParallel(cores=num_core) +``` + +### Data preparation + +3 pieces of data are needed to infer a Boolean model with an initial model: an expression data, an initial Boolean model and an initial state. + +To load the data into R, use `read.table` or `read.csv`. In this example, we are using the example data included with the package, so we are accessing it by using `data`. + +`initialise_model` converts the data frame containing the Boolean model into a BoolModel object. + +``` r +#(2) Load data. +data(krum_bmodel) #load a data frame of Boolean model. +data(krum_istate) #load a data frame of initial state. +data(wilson_raw_data) #load a data frame of expression data. + +bmodel = initialise_model(krum_bmodel) +istate = krum_istate +edata = wilson_raw_data +``` + +Once data is loaded, filter the cell types or genes to be included in the analysis if needed. It is advisable to reduce the number of genes to be included if the computation takes too long to complete. In this example, genes are not filtered as all genes that are present in both expression data and Boolean model are used automatically. + +``` r +# (3) Filter cell types. +cell_ind = grepl("cmp", rownames(edata)) | grepl("gmp", rownames(edata)) | grepl("mep", + rownames(edata)) #select cells to be included. +edata = edata[cell_ind, ] +``` + +### Add extra genes to the initial Boolean model + +Extra genes can be added to the initial model using `grow_bmodel`. The function will add extra genes into the initial model with empty update functions. + +``` r +#(4) Adding extra genes to the initial Boolean model. +#extra_genes = setdiff(colnames(wilson_raw_data), bmodel@target) #to view available genes to be added. +add_gene = 'ldb1' #genes to be added: ldb1 +grown_bmodel = grow_bmodel(add_gene, bmodel) +``` + +### Estimate initial state for the extra genes + +Initial state needs to be modify to include the initial expression of the extra genes. The initial state of the extra genes can be set manually, or it can be estimated from the data if the data contain multiple cell types with known relationships. In this example, CMPs are known to be at developmental upstream of erythro-myeloid differentiation, therefore initial state can be estimated by taking the average expression of the extra genes in CMPs. + +``` r +#(5) Estimating initial state for the extra genes. +tmp_data = initialise_raw_data(wilson_raw_data)[[1]] #preprocess data. +tmp_istate = mean(tmp_data[grepl('cmp', rownames(tmp_data)), add_gene]) #estimating initial state from CMPs. +tmp_istate = matrix(round(tmp_istate), nrow=1) +colnames(tmp_istate) = add_gene +grown_istate = cbind(istate, tmp_istate) +grown_istate = initialise_data(grown_istate) +``` + +### Run model training + +To reconstruct a Boolean model from an expression data, run `model_train`. + +In this example, `model_train` takes a few minutes to be completed on a single core. If this steps take a very long time to complete, do consider using the parallel processing option as described above. + +You will receive a BoolModel object at the end of the model training process. The BoolModel object can be visualise using `plotBM`, which is based on `igraph` package. For easier manipulation, output the Boolean model using `outgraph_model` and display it with Cytoscape or Gephi. + +*Note that this example takes a long time to run. The use of parallel processing is recommended.* + +``` r +#(6) Inferring Boolean model. +final_model = model_train(edata, grown_bmodel, grown_istate, max_varperrule=4, verbose=T) + +#(7) Visualise the Boolean model generated. +plotBM(final_model) +``` + +![](booltrainer_files/figure-markdown_github/unnamed-chunk-29-1.png) diff --git a/vignettes/booltrainer.pdf b/vignettes/booltrainer.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3e317d7c9a5f286dc49e5761067f49d95a523fd9 GIT binary patch literal 306947 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

qj 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