saezlab / dorothea

R package to access DoRothEA's regulons
https://saezlab.github.io/dorothea/
GNU General Public License v3.0
132 stars 26 forks source link

run_viper input #31

Closed ojziff closed 3 years ago

ojziff commented 3 years ago

Dear team,

Thank you for this excellent package.

I am trying to use run_viper function with the dorothea regulons on two different datasets and look for overlap between the two datasets.

For the gene_expression input to run_viper, is this expecting normalised counts? I was planning to use the [http://bioconductor.org/packages/devel/bioc/vignettes/DESeq2/inst/doc/DESeq2.html#variance-stabilizing-transformation](variance stabilised values from DESeq2) for this - is this correct?

Because I am interested in the enrichment similarities between two datasets would you advise that the input should contain the gene counts for all samples from both datasets together like:

tf_activities <- run_viper(assay(vsd_datasets1and2), regulons, options =  list(method = "scale", minsize = 25, eset.filter = FALSE, cores = 4)) 

Or should I perform run_viper separately for both datasets? and then merge output matrices i.e.:

tf_activities.dataset1 <- run_viper(assay(vsd_dataset1), regulons,options =  list(method = "scale", minsize = 25, eset.filter = FALSE, cores = 4))
tf_activities.dataset2 <- run_viper(assay(vsd_dataset2), regulons,options =  list(method = "scale", minsize = 25, eset.filter = FALSE, cores = 4))
tf_activities..merged <- as_tibble(tf_activities.dataset1, rownames = "TF") %>% full_join(as_tibble(tf_activities.dataset2, rownames = "TF"), by = "TF")

Presumably if together is better then i should run DESeq2 vst function on all samples together too?

Many thanks for your help! Oliver

christianholland commented 3 years ago

Dear Oliver,

Regarding your first question: Indeed the run_viper() function requires normalised gene expression data

Regarding your second question: If you would like to compare both datasets I would recommend to normalise the sample all-together and then apply viper on the combined matrix. However, please note that we are not the developer of the underlying viper() function. We are just providing a wrapper to use it with our dorothea regulons. You might consider to address this question to the viper developers.

Best wishes, Christian