Taxa to include

incl.taxa <- c(
  "Roseburia intestinalis",
  "Roseburia faecis",
  "Fusicatenibacter saccharivorans",
  "Bacteroides ovatus",
  "Eubacterium rectale",
  "Anaerostipes hadrus",
  "Faecalibacterium prausnitzii",
  "Prevotella histicola"
)
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] 27
nrow(dfp) # signatures
## [1] 53
library(bugSigSimple)
res <- bugSigSimple::createTaxonTable(dfp, n=1000) |>
  select(c(1, 2, 4, 5))
regfilter <- paste(incl.taxa, collapse = "|")
res.filter <- filter(res, grepl(regfilter, res$`Taxon Name`))

All PD results

DT::datatable(res)

Limited to incl.taxa

DT::datatable(res.filter)
sigs <- getSignatures(dfp, tax.id.type = "taxname")
writeGMT(sigs, gmt.file = "~/Downloads/PDsignatures.txt")