library(bugsigdbr)
library(dplyr)
df <- importBugSigDB(version = "devel", cache = TRUE)
## Using cached version from 2025-07-19 15:29:21
dfp <- filter(df, grepl("Parkinson", df$Condition) &
                grepl("healthy|control", df$`Group 0 name`, ignore.case=TRUE) &
                !grepl("Parkinson's disease patients", df$`Group 0 name`, ignore.case=TRUE) &
                `Host species` == "Homo sapiens" &
                grepl("Faecalibacterium", df$`MetaPhlAn taxon names`)
              )
length(unique(dfp$Study)) # studies
## [1] 26
nrow(dfp) # signatures
## [1] 52
library(bugSigSimple)
res <- bugSigSimple::createTaxonTable(dfp, n=40) |>
  select(c(1, 2, 4, 5))
res <- filter(res, grepl("Blautia|Roseburia|Faecalibacterium|Fusicatenibacter saccharivorans|Anaerostipes hadrus|Bacteroides ovatus|Eubacterium rectale", res$`Taxon Name`))
kableExtra::kable(res)
Taxon Name Taxonomic Level increased_signatures decreased_signatures
Faecalibacterium genus 2 36
Roseburia genus 0 21
Faecalibacterium prausnitzii species 0 13
Blautia genus 0 12
Blautia wexlerae species 0 6
Roseburia intestinalis species 0 6
Roseburia inulinivorans species 0 6
Roseburia faecis species 0 5
Faecalibacterium sp. UBA1819 species 4 0
Roseburia hominis species 0 3
sigs <- getSignatures(dfp, tax.id.type = "taxname")
writeGMT(sigs, gmt.file = "~/Downloads/PDsignatures.txt")