Skip to content

Instantly share code, notes, and snippets.

@oganm
Created February 7, 2024 23:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save oganm/c9f450e56cf1c480609ee12836cf6e44 to your computer and use it in GitHub Desktop.
Save oganm/c9f450e56cf1c480609ee12836cf6e44 to your computer and use it in GitHub Desktop.
alcoholic gemma
devtools::load_all()
library(magrittr)
datasets <- get_datasets(uris = 'http://purl.obolibrary.org/obo/MONDO_0000408')
relevant_terms <- attributes(datasets)$filter %>% stringr::str_extract_all('http.*?(?=,|\\))') %>% {.[[1]]}
relevant_terms %<>% c('http://purl.obolibrary.org/obo/CHEBI_16236')
dataset_contrasts <- datasets$experiment.shortName %>%
lapply(function(x){
out = get_dataset_differential_expression_analyses(x)
}) %>% do.call(rbind,.)
relevant_contrasts <- dataset_contrasts %>% dplyr::filter(sapply(experimental.factors,function(x){
any(x$value.URI %in% relevant_terms | x$object.URI %in% relevant_terms)
}))
differentials <- relevant_contrasts$result.ID %>% lapply(function(x){
get_differential_expression_values(resultSet = x)[[1]]
})
condition_diffs <- seq_along(differentials) %>% lapply(function(i){
# iterate over the differentials
diff = differentials[[i]]
# get the contrast information about the differential
contrast = relevant_contrasts[i,]
p_vals = diff[[paste0('contrast_',contrast$contrast.ID,"_pvalue")]]
log2fc = diff[[paste0('contrast_',contrast$contrast.ID,"_log2fc")]]
genes = diff$GeneSymbol
data.frame(genes,p_vals,log2fc)
})
names(condition_diffs) = paste0(relevant_contrasts$experiment.ID,'.',
relevant_contrasts$result.ID,'.',
relevant_contrasts$contrast.ID)
condition_diffs %<>% lapply(function(x){
x$p_adj <- x$p_vals %>% p.adjust('fdr')
return(x)
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment