currocam / HMMERutils

A bunch of convenient functions to search for homologous sequences using the HMMER API, annotate them taxonomically, calculate physicochemical properties and facilitate exploratory analysis of homologous sequence data.
3 stars 0 forks source link

[BUG] Bind rows error when a search doesn't return any result #26

Closed currocam closed 1 year ago

currocam commented 1 year ago

Cuando una se hace una búsqueda con más de una sequencia o base de datos y alguna combinación no genera ningún resultado de vuelta salta una excepción por incompatibilidad de tipos cuando se juntan las filas.

Ejemplo para reproducir

protein.sequence <- "https://rest.uniprot.org/uniprotkb/search?compressed=true&format=fasta&query=%28proteome%3AUP000001104%29&size=500" |>
    readAAStringSet()
hmmdbs <- c("pfam", "tigrfam", "gene3d", "superfamily", "pirsf", "treefam")
data <- search_hmmscan(seq = protein.sequence, hmmdbs)
    extract_from_hmmer()

Error in dplyr::bind_rows(): ! Can't combine ..1$algorithm and ..4$algorithm .

Diría que el problema está aquí: la functión map devuelve un vector de tablas que hay que combinar en una solo si los tipos son compatibles.

https://github.com/currocam/HMMERutils/blob/master/R/search_hmmscan.R#L32-L44