|
35 | 35 | dbname
|
36 | 36 | }
|
37 | 37 |
|
38 |
| -.fix_numeric_cols <- function(df) |
39 |
| -{ |
40 |
| - col_idx <- which(sapply(df, is.numeric)) |
41 |
| - df[col_idx] <- lapply(df[col_idx], as.integer) |
42 |
| - df |
43 |
| -} |
44 |
| - |
45 |
| -.RMySQL_select <- function(dbconn, columns, from) |
| 38 | +.dbselect <- function(dbconn, columns, from) |
46 | 39 | {
|
47 | 40 | SQL <- sprintf("SELECT %s FROM %s", paste0(columns, collapse=","), from)
|
48 |
| - ## Not sure systematic conversion of numeric to int is actually a |
49 |
| - ## good idea (risk of overflow?) |
50 |
| - .fix_numeric_cols(suppressWarnings(dbGetQuery(dbconn, SQL))) |
| 41 | + dbGetQuery(dbconn, SQL) |
51 | 42 | }
|
52 | 43 |
|
53 | 44 | .seq_region_columns <- c(
|
|
69 | 60 | )
|
70 | 61 | columns <- c(paste0("transcript.", transcript_columns), "gene.stable_id")
|
71 | 62 | from <- "transcript LEFT JOIN gene USING(gene_id)"
|
72 |
| - transcripts <- .RMySQL_select(dbconn, columns, from) |
| 63 | + transcripts <- .dbselect(dbconn, columns, from) |
73 | 64 | colnames(transcripts) <- c("tx_id",
|
74 | 65 | "tx_name",
|
75 | 66 | "seq_region_id",
|
|
93 | 84 | "seq_end", # relative to last exon
|
94 | 85 | "transcript_id"
|
95 | 86 | )
|
96 |
| - .RMySQL_select(dbconn, columns, "translation") |
| 87 | + .dbselect(dbconn, columns, "translation") |
97 | 88 | }
|
98 | 89 |
|
99 | 90 | ### 'has_cds' must be a logical vector.
|
|
161 | 152 | )
|
162 | 153 | columns <- c("transcript_id", "rank", exon_columns)
|
163 | 154 | from <- "exon_transcript INNER JOIN exon USING(exon_id)"
|
164 |
| - splicings <- .RMySQL_select(dbconn, columns, from) |
| 155 | + splicings <- .dbselect(dbconn, columns, from) |
165 | 156 | colnames(splicings) <- c("tx_id",
|
166 | 157 | "exon_rank",
|
167 | 158 | "exon_id",
|
|
185 | 176 | ## extract this value from Ensembl
|
186 | 177 | id0 <- 6L
|
187 | 178 | columns <- c("seq_region_id", "attrib_type_id", "value")
|
188 |
| - seq_region_attrib <- .RMySQL_select(dbconn, columns, "seq_region_attrib") |
| 179 | + seq_region_attrib <- .dbselect(dbconn, columns, "seq_region_attrib") |
189 | 180 | seq_region_attrib$seq_region_id[seq_region_attrib$attrib_type_id == id0]
|
190 | 181 | }
|
191 | 182 |
|
|
213 | 204 | setdiff(seq_region_columns, using_column),
|
214 | 205 | setdiff(coord_system_columns, using_column))
|
215 | 206 | from <- "seq_region INNER JOIN coord_system USING(coord_system_id)"
|
216 |
| - seq_region <- .RMySQL_select(dbconn, "*", from) |
| 207 | + seq_region <- .dbselect(dbconn, "*", from) |
217 | 208 | stopifnot(identical(colnames(seq_region), joined_columns))
|
218 | 209 | colnames(seq_region)[6:9] <- paste0("coord_system_",
|
219 | 210 | colnames(seq_region)[6:9])
|
@@ -259,14 +250,15 @@ makeTxDbFromEnsembl <- function(organism="Homo sapiens",
|
259 | 250 | circ_seqs=DEFAULT_CIRC_SEQS,
|
260 | 251 | server="ensembldb.ensembl.org")
|
261 | 252 | {
|
262 |
| - if (!requireNamespace("RMySQL", quietly=TRUE)) |
263 |
| - stop(wmsg("Couldn't load the RMySQL package. You need to install ", |
264 |
| - "the RMySQL package in order to use makeTxDbFromEnsembl().")) |
| 253 | + if (!requireNamespace("RMariaDB", quietly=TRUE)) |
| 254 | + stop(wmsg("Couldn't load the RMariaDB package. ", |
| 255 | + "You need to install the RMariaDB package ", |
| 256 | + "in order to use makeTxDbFromEnsembl().")) |
265 | 257 |
|
266 | 258 | dbname <- .lookup_dbname(organism, release=release)
|
267 |
| - dbconn <- dbConnect(RMySQL::MySQL(), dbname=dbname, |
268 |
| - username="anonymous", |
269 |
| - host=server) |
| 259 | + dbconn <- dbConnect(RMariaDB::MariaDB(), dbname=dbname, |
| 260 | + username="anonymous", |
| 261 | + host=server) |
270 | 262 | on.exit(dbDisconnect(dbconn))
|
271 | 263 |
|
272 | 264 | transcripts <- .fetch_Ensembl_transcripts(dbconn)
|
|
0 commit comments