Relatively recently, GenomicFeatures::makeTxDbFromEnsembl stopped working for Human. I'm using 1.54.1, but the relevant code hasn't haven in 1.56 or in txdbmaker
txdb <- GenomicFeatures::makeTxDbFromEnsembl('homo_sapiens')
Error: Failed to connect: Unknown database 'homo_sapiens_core_112_37'
The issue appears to be in GenomicFeatures:::.lookup_dbname_fix. It loads the cor_dirs from the FTP which contains ...core_37 and core_38
core_dirs <- Ensembl_listMySQLCoreDirs(mysql_url, release = release)
.... "homo_sapiens_core_112_37". "homo_sapiens_core_112_38" ....
It then uses match to pick the first value, which is homo_sapiens_core_112_37:
i <- match(prefix, substr(core_dirs, 1L, nchar(prefix)))
But this is not a valid database for makeTxDbFromEnsembl. Replacing the DB with homo_sapiens_core_112_38 manually, or replacing the above line with the following to choose the later value fixes the issue
i <- max(which(prefix == substr(core_dirs, 1L, nchar(prefix))))