[Bioc-devel] Compatibility of Bioconductor with tidyverse S3 classes/methods

stefano m@ng|o|@@te|@no @end|ng |rom gm@||@com
Thu Feb 6 23:45:36 CET 2020


Hello,

I have a package (ttBulk) under review. I have been told to replace the S3
system to S4. My package is based on the class tbl_df and must be fully
compatible with tidyverse methods (inheritance). After some tests and
research I understood that tidyverse ecosystem is not compatible with S4
classes.

 For example, several methos do not apparently handle S4 objects based on
S3 tbl_df

```library(tidyverse)setOldClass("tbl_df")
setClass("test2", contains = "tbl_df")
my <- new("test2",  tibble(a = 1))
my %>%  mutate(b = 3)

   a b
1 1 3
```

 ```my <- new("test2",  tibble(a = rnorm(100), b = 1))
my %>% nest(data = -b)
Error: `x` must be a vector, not a `test2` object
Run `rlang::last_error()` to see where the error occurred.
```

Could you please advise whether a tidyverse based package can be hosted on
Bioconductor, and if S4 classes are really mandatory? I need to understand
if I am forced to submit to CRAN instead (although Bioconductor would be a
good fit, sice I try to interface transcriptional analysis tools to tidy
universe)


Thanks a lot.
Stefano

	[[alternative HTML version deleted]]



More information about the Bioc-devel mailing list