High-Throughput RNA-seq model fit
Installation
- method A:
To install the latest version of HTRfit, run the following in your R console :
if (!requireNamespace("remotes", quietly = TRUE))
install.packages("remotes")
remotes::install_git("https://gitbio.ens-lyon.fr/aduvermy/HTRfit")
- method B:
You also have the option to download a release directly from the HTRfit release page. Once you've downloaded the release, simply untar the archive. After that, open your R console and execute the following command, where HTRfit-v1.0.0 should be replaced with the path to the untarred folder:
## -- Example using the HTRfit-v1.0.0 release
install.packages('/HTRfit-v1.0.0', repos = NULL, type='source')
When dependencies are met, installation should take a few minutes.
CRAN packages dependencies
The following depandencies are required:
## -- required
install.packages(c('car', 'parallel', 'data.table', 'ggplot2', 'gridExtra', 'glmmTMB', 'magrittr', 'MASS', 'plotROC', 'reshape2', 'rlang', 'stats', 'utils', 'BiocManager'))
BiocManager::install('S4Vectors', update = FALSE)
## -- optional
BiocManager::install('DESeq2', update = FALSE)
Docker
We have developed Docker images to simplify the package's utilization. For an optimal development and coding experience with the Docker container, we recommend using Visual Studio Code (VSCode) along with the DevContainer extension. This setup provides a convenient and isolated environment for development and testing.
- Install VSCode
- Install Docker on your system and on VSCode
- Launch the HTRfit container directly from VSCode
- Install the DevContainer extension for VSCode.
- Launch a remote window connected to the running Docker container.
- Enjoy HTRfit !
HTRfit simulation workflow
In this modeling framework, counts denoted as
The fitted mean
init_variable()
or add_interaction()
. If basal gene expressions are provided, the Furthermore, the coefficients
Getting started
## -- init a design
input_var_list <- init_variable( name = "varA", mu = 0, sd = 0.29, level = 60) %>%
init_variable( name = "varB", mu = 0.27, sd = 0.6, level = 2) %>%
add_interaction( between_var = c("varA", "varB"), mu = 0.44, sd = 0.89)
## -- simulate RNAseq data
mock_data <- mock_rnaseq(input_var_list,
n_genes = 30,
min_replicates = 10,
max_replicates = 10,
basal_expression = 5 )
## -- prepare data & fit a model with mixed effect
data2fit = prepareData2fit(countMatrix = mock_data$counts,
metadata = mock_data$metadata,
normalization = F)
l_tmb <- fitModelParallel(formula = kij ~ varB + (varB | varA),
data = data2fit,
group_by = "geneID",
family = glmmTMB::nbinom2(link = "log"),
log_file = "log.txt",
n.cores = 1)
## -- evaluation
resSimu <- simulationReport(mock_data,
list_tmb = l_tmb,
coeff_threshold = 0.27,
alt_hypothesis = "greater")