Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

model p values , adjusted or not ? #150

Open
kiwipeel opened this issue Dec 17, 2024 · 3 comments
Open

model p values , adjusted or not ? #150

kiwipeel opened this issue Dec 17, 2024 · 3 comments
Assignees
Labels
question Further information is requested

Comments

@kiwipeel
Copy link

Hi,

What are the p values we get after running run_ulm, consensus , mlm etc. ? Are those p adjusted or not ?

# question
@PauBadiaM
Copy link
Member

Hi @kiwipeel,
The p-values obtained depend on the method. For ulm and mlm, it is the p-value of the coefficient fitted in the linear model, for the consensus score it is the mean p-value across methods. In all cases p-values are not corrected, we leave that to the user.

@kiwipeel
Copy link
Author

kiwipeel commented Dec 17, 2024

Hi @PauBadiaM . Thank you for your answer.

I am doing psedobulk pathway activity analysis and use the DEGs I got after doing condition A_celltypeX vs. Condition B_celltypeX. So I am running the codes for each cell type seperalty and get p values for each celltype.

Sould I do p value correction on p values obtained from each cell type results or should I combine all results, all p values in a dataframe and then to the p value adjustment?

Which p value correction method is best for correction consensus p values?

I am using the code below

results <- decouple(
  mat = deg,           ###loop code uses different DEGs or each celltype 
  network = net,
  .source = "source",
  .target = "target",
  statistics = c( "wsum", "ulm","mlm"),
  args = list(
    wsum = list(.mor = "weight", times = 1000,.likelihood = "likelihood"),
    ulm = list(.mor = "weight",.likelihood = "likelihood"),
    mlm = list(.mor = "weight",.likelihood = "likelihood")
  ),consensus_stats = c("mlm", "ulm" , "norm_wsum"),
  consensus_score = TRUE,
  minsize = 5
)

contrast_acts  <- subset(results, subset = results$statistic == "consensus" )

@PauBadiaM
Copy link
Member

Hi @kiwipeel,

Sorry for the delayed response. Personally I would just use ulm instead of the consensus, as it can underperform if there is co-linearity in your net as mlm scores will be noisier. I would correct p-values inside each cell-type contrast, using the BH correction method but any other would be acceptable. Hope this is helpful!

@PauBadiaM PauBadiaM self-assigned this Jan 10, 2025
@PauBadiaM PauBadiaM added the question Further information is requested label Jan 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants