I seem to have hit an S4 method caching issue on R 3.5.1 / Bioconductor 3.8 that appears to be specific to Linux. I can reproduce this issue on the Bioc 3.8 release AMI as well as a VM running Red Hat Linux. Running the same version of R/Bioconductor on macOS with the same versions of my toolchain doesn't reproduce this issue described below:
My basejump package (see develop branch for latest code) defines an S4 generic
plotHeatmap(), along with corresponding method support for SummarizedExperiment. My bcbioRNASeq package depends on basejump, and therefore inherits the SummarizedExperiment method. When I attach basejump and call
plotHeatmap() on a SummarizedExperiment, the SE method is current and works as expected. However, when I attach bcbioRNASeq, a cached version of the inherited S4 method for SummarizedExperiment (exported from basejump), is incorrectly loaded, and my function doesn't work as expected.
R on Linux doesn't seem to be updating the method cache as expected, whereas this works fine on macOS. I've tried digging around in the documentation for the methods package, specifically Methods_Details, which suggests
resetGeneric() as a potential solution, but I can't seem to figure out how to clear the method cache.