I made a little R-package a while ago that plots the S4-classes and how they inherit from each other across a set of R-packages.
Here are the S4-classes from the "core" Bioconductor packages:
Pretty complicated! From a development point of view it's pretty interesting to see which methods you would inherit, but from an end-user point of view, you would definetely need to point out the key packages (it's hard to see that most things converge on the way down at the Annotated class)
Here's the S4-classes for SummarizedExperiment and friends:
Much simpler graph: It's clear that most packages just extend RangedSummarizedExperiment.
Here's the S4-classes for DelayedArray and friends (including my own BigArray package)
Here all new classes seem to follow the same pattern, probably because they are all using the same guide for extending DelayedArray!
I made a little R-package a while ago that plots the S4-classes and how they inherit from each other across a set of R-packages.
Here are the S4-classes from the "core" Bioconductor packages:
Pretty complicated! From a development point of view it's pretty interesting to see which methods you would inherit, but from an end-user point of view, you would definetely need to point out the key packages (it's hard to see that most things converge on the way down at the Annotated class)
Here's the S4-classes for SummarizedExperiment and friends:
Much simpler graph: It's clear that most packages just extend RangedSummarizedExperiment.
Here's the S4-classes for DelayedArray and friends (including my own BigArray package)
Here all new classes seem to follow the same pattern, probably because they are all using the same guide for extending DelayedArray!