Skip to content

Conversation

@ChangqingW
Copy link

Fixes a BiocParallel error (specifically a dplyr::full_join incompatible types error) that occurs when a eqClassCount have only one row.

The column eqClassById is normally a list-column, but when there is only one row in the tibble, it gets simplified in to a atomic integer vector, making it incompatible to full_join with the minEquiRC tibble:

Tracing addEmptyRC(eqClassCount, annotations) on entry
Called from: eval(expr, p) 
 Browse[1]> eqClassCount
# A tibble: 1 × 4
  eqClassById GENEID                 nobs rcWidth
        <int> <chr>                 <int>   <int>
1          -2 ENSMUSG00000025290.17     1     514 
 Error: BiocParallel errors
  1 remote errors, element index: 2
  2 unevaluated and other errors
  first remote error:
Error in full_join(eqClassCount, minEquiRC, by = c("eqClassById", "GENEID", : Can't join `x$eqClassById` with `y$eqClassById` due to incompatible types. 

Added a line to force it into a list column.

@ChangqingW
Copy link
Author

I had a look and turned out it was probably because one of my test cases has only 1 read. I guess this is a very extreme edge case that doesn't really matter...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant