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

Calculating TF scores and inference on SEURAT clusters #46

Closed EAC-T closed 3 years ago

EAC-T commented 3 years ago

Hi everyone,

Thank you a lot for the package, I followed the tutorial where we re-did the clustering with TF, I got interesting results however I want to keep my initial SEURAT clustering and do the TF activity score and the rest on them,

How would I do that?

Thank you a lot,

christianholland commented 3 years ago

Hi,

please apologise, I initially misunderstood your question. Of course you can keep your Seurat clustering based on gene expression data. Just calculate the TF activities but simply skip the clustering step based on TF activities.

## We read Dorothea Regulons for Human:
dorothea_regulon_human <- get(data("dorothea_hs", package = "dorothea"))

## We obtain the regulons based on interactions with confidence level A, B and C
regulon <- dorothea_regulon_human %>%
    dplyr::filter(confidence %in% c("A","B","C"))

## We compute Viper Scores 
pbmc <- run_viper(pbmc, regulon,
                  options = list(method = "scale", minsize = 4, 
                                 eset.filter = FALSE, cores = 1, 
                                 verbose = FALSE))
EAC-T commented 3 years ago

Hi @christianholland , Ok, It's just that the tutorial I think was structured around reclustering based on TF which is interesting. If I skip this part, and go to the next section "TF activity per cell population" I should be able to do it right? is there a way to visualize a TF on top of the umap instead of using a heatmap? Sorry, I'm very new to coding and trying to find my way though

Thank you a lot

christianholland commented 3 years ago

Yes there are several ways for instance box/violoin plots or general bar plots. I can recommend to check this website https://www.data-to-viz.com to get an overview of which type of visualisation is suitable for your data.

EAC-T commented 3 years ago

@christianholland , sorry to bother you again, I did what you said and when I got to this step: viper_scores_df <- GetAssayData(pbmc, slot = "scale.data", assay = "dorothea") %>% data.frame(check.names = F) %>% t()

it didn't work, the scale.data slot is empty, I had to chose slot="data",

would you know why? should I scale it somehow for downstream analysis?

Thank you,