[Bioc-devel] How to define S4 method for class from another package
Stephen Martin Pederson
@tephen@peder@on @end|ng |rom @de|@|de@edu@@u
Wed Apr 3 16:17:12 CEST 2019
Hi Martin,
Thanks for the help. Everything was working, despite missing methods for signature = "ANY" (which is now fixed).
It was just the feedback given when submitting & when I sought clarification to ease my confusion, that was confirmed as the interpretation. I've just re-implemented that particular one using S3 dispatch using the functions getGcDistn.default, getGcDistn.character, getGcDistn.DNAStringSet, based on a modification of your reply here: https://stackoverflow.com/questions/12100856/combining-s4-and-s3-methods-in-a-single-function.
The original discussion which made me think it's not permissable is here: https://github.com/Bioconductor/Contributions/issues/985#issuecomment-468003572
Thanks again,
Steve
________________________________
From: Martin Morgan <mtmorgan.bioc using gmail.com>
Sent: Thursday, 4 April 2019 12:18 AM
To: Stephen Martin Pederson; bioc-devel using r-project.org
Subject: Re: [Bioc-devel] How to define S4 method for class from another package
Lots of package do this so probably you're missing a step, e.g., import(Biostrings) or importClassesFrom(Biostrings, DNAStringSet).
What makes you think it's not permissible?
Martin
On 4/3/19, 1:19 AM, "Bioc-devel on behalf of Stephen Martin Pederson" <bioc-devel-bounces using r-project.org on behalf of stephen.pederson using adelaide.edu.au> wrote:
Hi,
I'm really struggling with how to use an S4 class defined in another package, where I would like to define a method for it in my package. By way of simple example, I'd like to use a DNAStringSet to define an expected GC distribution based on a given fragment size. I had defined the method
setMethod("getGcDistn", "DNAStringSet", function(myArgs){myBody})
after using setGeneric() to define the generic getGcDistn.
When submitting to BioC, I was advised that this is not permissable & I'm trying to figure out what is the best etiquette & best practice. I haven't really turned up much guidance through numerous searches. Do I just write a standard function which checks the class and executes the code as required without using S4 dispatch?
(Disclaimer: I'm very easily confused by the simplest things)
Thanks in advance,
Steve
[[alternative HTML version deleted]]
_______________________________________________
Bioc-devel using r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel
[[alternative HTML version deleted]]
More information about the Bioc-devel
mailing list