#' @importFrom basilisk BasiliskEnvironment
env_macs2 <- BasiliskEnvironment("env_macs2", pkgname="ClientPackage",
packages=c("macs2==2.2.7.1", "python==3.8"),
channels=c("bioconda", "conda-forge"))
env_macs <- BasiliskEnvironment("env_macs", pkgname="ClientPackage",
packages=c("macs==1.4.3", "python==2.7"),
channels=c("bioconda", "conda-forge"))
#' Test function
#'
#' Does nothing but test that we can load modules from different virtual environments.
#'
#' @return A list of names of objects exposed in each module.
#' @export
#' @importFrom reticulate import
#' @importFrom basilisk basiliskStart basiliskRun basiliskStop BasiliskEnvironment
#' @importFrom basilisk.utils activateEnvironment deactivateEnvironment
test <- function() {
cl <- basiliskStart(env_macs2)
macs2.v <- basiliskRun(cl, function() {
outtie <- system2('macs2', args = c('--version'), stdout = TRUE)
return(outtie)
})
basiliskStop(cl)
cl <- basiliskStart(env_macs)
macs.v <- basiliskRun(cl, function() {
outtie <- system2('macs', args = c('--version'), stdout = TRUE)
return(outtie)
})
basiliskStop(cl)
list(macs=macs.v, macs2=macs2.v)
}