[Bioc-devel] Why should Bioconductor developers re-use core classes?

Levi Waldron lwaldron.research at gmail.com
Wed Oct 18 20:46:03 CEST 2017

> On Wed, Oct 18, 2017 at 10:26 AM, Ryan Thompson <rct at thompsonclan.org>
> wrote:
>> I think the main reason for reusing/subclassing core classes that users
>> can
>> appreciate is that it makes it much easier for users to integrate multiple
>> packages into a single workflow. Only the most basic of pipelines uses
>> just
>> a single Bioconductor package. For instance, an "edgeR" pipeline obviously
>> uses the edgeR package, but it likely also uses several other packages,
>> like sva, RUV, variancePartition, etc. The more these different packages
>> operate on the same core data structures, the less work the user has to do
>> to use them together. And to bring that back around to an incentive for
>> developers, making your package interoperate with other packages more
>> easily means that users will be more likely to use your package.
My impression is that the interoperability argument may already be more
widely appreciated, because in the pipeline example you can have several
packages operating on the same data class. It seems less obvious when you
are doing something different that requires defining a new class, why you
should extend an existing class to meet your needs. Although I guess your
point extends to interoperability with other packages providing methods for
the parent class, and the ability to use coercion methods defined for the
parent class, which I didn't mention...

	[[alternative HTML version deleted]]

More information about the Bioc-devel mailing list