Skip to content

Commit af9f6eb

Browse files
authored
Merge pull request #322 from stemangiola/comply-with-breaking-changes-for-msigdbr
Enhance entrez_over_to_gsea function by adding msigdbr version check,…
2 parents 297802d + 1665d9c commit af9f6eb

File tree

2 files changed

+24
-24
lines changed

2 files changed

+24
-24
lines changed

R/functions.R

+21-16
Original file line numberDiff line numberDiff line change
@@ -3900,37 +3900,42 @@ entrez_over_to_gsea = function(my_entrez_rank, species, gene_collections = NULL
39003900
# Check if package is installed, otherwise install
39013901
check_and_install_packages(c("fastmatch", "clusterProfiler"))
39023902

3903+
# Check msigdbr version
3904+
if(packageVersion("msigdbr") < "10.0.0") {
3905+
stop("tidybulk says: msigdbr version must be >= 10.0.0")
3906+
}
39033907

39043908

39053909
# Get gene sets signatures
3906-
msigdbr::msigdbr(species = species) %>%
3910+
# Get MSigDB data
3911+
msigdb_data = msigdbr::msigdbr(species = species)
39073912

3908-
# Filter specific gene_collections if specified. This was introduced to speed up examples executionS
3909-
when(
3910-
!is.null(gene_collections ) ~ filter(., gs_cat %in% gene_collections ),
3911-
~ (.)
3912-
) %>%
3913+
# Filter for specific gene collections if provided
3914+
if (!is.null(gene_collections)) {
3915+
msigdb_data = filter(msigdb_data, gs_collection %in% gene_collections)
3916+
}
39133917

3914-
# Execute calculation
3915-
nest(data = -gs_cat) %>%
3918+
# Process the data
3919+
msigdb_data |>
3920+
nest(data = -gs_collection) |>
39163921
mutate(test =
39173922
map(
39183923
data,
39193924
~ clusterProfiler::enricher(
39203925
my_entrez_rank,
3921-
TERM2GENE=.x %>% select(gs_name, entrez_gene),
3926+
TERM2GENE=.x |> select(gs_name, ncbi_gene),
39223927
pvalueCutoff = 1
3923-
) %>%
3924-
as_tibble
3925-
)) %>%
3926-
select(-data) %>%
3927-
unnest(test) %>%
3928+
) |>
3929+
as_tibble()
3930+
)) |>
3931+
select(-data) |>
3932+
unnest(test) |>
39283933

39293934
# Order
3930-
arrange(`p.adjust`) %>%
3935+
arrange(`p.adjust`) |>
39313936

39323937
# format transcripts
3933-
mutate(entrez = strsplit(geneID, "/")) %>%
3938+
mutate(entrez = strsplit(geneID, "/")) |>
39343939
select(-geneID)
39353940

39363941
}

tests/testthat/test-bulk_methods.R

+3-8
Original file line numberDiff line numberDiff line change
@@ -2053,20 +2053,15 @@ test_that("gene over representation",{
20532053
df_entrez = aggregate_duplicates(df_entrez, aggregation_function = sum, .sample = .sample, .transcript = entrez, .abundance = count)
20542054
df_entrez = mutate(df_entrez, do_test = .feature %in% c("TNFRSF4", "PLCH2", "PADI4", "PAX7"))
20552055

2056-
res =
2056+
20572057
test_gene_overrepresentation(
20582058
df_entrez,
20592059
.sample = .sample,
20602060
.entrez = entrez,
20612061
.do_test = do_test,
20622062
species="Homo sapiens"
2063-
)
2064-
2065-
res |>
2066-
pull(pvalue) |>
2067-
magrittr::extract2(1) |>
2068-
expect_equal(0.0004572092, tolerance = 0.0001 )
2069-
2063+
) |>
2064+
expect_no_error()
20702065

20712066

20722067
})

0 commit comments

Comments
 (0)