I just noticed in the newsletter [1] that Martin fixed this in R-devel / R 3.2
> methods(class="GenomicRanges") [1] != [ [<- %in% < ... thanks Martin! [1] http://www.bioconductor.org/help/newsletters/2015_April/#new-and-noteworthy On Sat, Dec 6, 2014 at 5:32 PM, Michael Lawrence <lawrence.mich...@gene.com> wrote: > > > On Sat, Dec 6, 2014 at 9:23 AM, Wolfgang Huber <whu...@embl.de> wrote: > >> >> Also some interest on our side to contribute. >> Perhaps in particular the rendering a useful index (or graph) of man >> pages on the fly in HTML / graphically. >> >> > Great, that's the sort of thing I had in mind. > > >> Is it too ambitious to “learn” which methods are most important for >> objects of a particular class from analysing (running) a large code base >> (or even injecting a hook to that effect into a user’s R)? >> >> > It's a good idea and one that Eclipse and other IDEs use for > auto-completion. We'd just have to find the right codebase, i.e., something > with a lot of end-user analysis code, instead of infrastructure. > > Wolfgang >> >> >> >> >> >> >> > On Dec 6, 2014, at 1:19 GMT+1, Michael Love < >> michaelisaiahl...@gmail.com> wrote: >> > >> > nice. I will play around with this. thanks Gabe! >> > >> > On Fri, Dec 5, 2014 at 6:37 PM, Gabe Becker <becker.g...@gene.com> >> wrote: >> >> Hey guys, >> >> >> >> Surgically removed from promptClass: >> >> >> >> classInSig <- function(g, where, cl) { >> >> cl %in% unique(unlist(findMethods(g, where)@signatures)) >> >> } >> >> genWithClass <- function(cl, where) { >> >> allgen <- getGenerics(where = where) >> >> ok <- as.logical(unlist(lapply(allgen, classInSig, cl = cl, >> >> where = where))) >> >> allgen[ok] >> >> } >> >> >> >>> genWithClass("IRanges", find(classMetaName("IRanges"))) >> >> [1] "c" "coerce" "end<-" "gaps" >> "intersect" >> >> [6] "isNormal" "names<-" "names" "pgap" >> >> "pintersect" >> >> [11] "psetdiff" "punion" "reduce" "reverse" >> "setdiff" >> >> [16] "start<-" "start" "threebands" "union" >> >> "updateObject" >> >> [21] "update" "width<-" "width" >> >> >> >> >> >> For semantic guessing of which ones will be useful, I've got nothing >> (for >> >> now). >> >> >> >> ~G >> >> >> >> On Fri, Dec 5, 2014 at 11:28 AM, Michael Lawrence >> >> <lawrence.mich...@gene.com> wrote: >> >>> >> >>> Cool. I see hypertext as being useful here, because the generics and >> >>> classes form an intricate and sometimes ambiguous web, especially when >> >>> multiple inheritance and dispatch are involved. I think we should >> first >> >>> build better tooling for introspecting S4 and for graph-based >> modeling and >> >>> analysis of S4 architecture. For example, could we statically detect >> >>> whether a dispatch ambiguity exists, knowing all of the methods and >> >>> classes? And based on that build one or more end-user UIs? >> >>> >> >>> >> >>> >> >>> On Fri, Dec 5, 2014 at 11:05 AM, Michael Love >> >>> <michaelisaiahl...@gmail.com> >> >>> wrote: >> >>> >> >>>> On Thu, Dec 4, 2014 at 4:01 PM, Michael Lawrence >> >>>> <lawrence.mich...@gene.com> wrote: >> >>>>> >> >>>>> I think this gets at the heart of at least one of the usability >> issues >> >>>> in Bioconductor: interface discoverability. Many simpler command line >> >>>> tools >> >>>> have a single-faceted interface for which it is easy to enumerate a >> list >> >>>> of >> >>>> features. There's definitely room for better ways to interrogate our >> >>>> object-oriented APIs, but it's challenging. Essentially we need a way >> >>>> for >> >>>> the user to ask "what can I do with this object?". Yes, we need >> better >> >>>> introspection utilities, but we also need to integrate the query with >> >>>> documentation. In other words, we need a more dynamic, more fluid >> help >> >>>> system, oriented around S4. >> >>>>> >> >>>> >> >>>> I would be interested in working on this. A minimal goal for me is a >> >>>> function that just returns a character vector of the names of the >> >>>> generics defined for the object. Filtering that down to give methods >> >>>> which are "likely relevant" using the documentation will definitely >> be >> >>>> a bigger challenge. >> >>>> >> >>>> >> >>>>> >> >>>>> >> >>>>> >> >>>>> On Thu, Dec 4, 2014 at 9:56 AM, Michael Love < >> >>>> michaelisaiahl...@gmail.com> wrote: >> >>>>>> >> >>>>>> I was thinking about a request from someone at Bioc2014 (I can't >> >>>>>> remember at the moment) >> >>>>>> >> >>>>>> As an end-user, if I have an object x, how can I *quickly* recall >> the >> >>>>>> main methods for that? As in, without breaking my flow and going to >> >>>>>> ?myClass or help("myClass-class"). Suppose x is a GRanges, how can >> I >> >>>>>> remember that there is a method called narrow() which works on x? >> >>>>>> >> >>>>>> showMethods(classes=class(x)) will print out a huge list for many >> >>>>>> complex Bioc classes. And printTo=FALSE turns this huge list into >> an >> >>>>>> unhelpful character vector, e.g.: >> >>>>>> >> >>>>>> head(showMethods(classes="GRanges",printTo=FALSE),8) >> >>>>>> [1] "" "Function \".asSpace\":" >> >>>>>> [3] " <not an S4 generic function>" "" >> >>>>>> [5] "Function \".linkToCachedObject<-\":" " <not an S4 generic >> >>>> function>" >> >>>>>> [7] "" "Function >> >>>>>> \".replaceSEW\":" >> >>>>>> >> >>>>>> any ideas? >> >>>>>> >> >>>>>> _______________________________________________ >> >>>>>> Bioc-devel@r-project.org mailing list >> >>>>>> https://stat.ethz.ch/mailman/listinfo/bioc-devel >> >>>>> >> >>>>> >> >>>> >> >>> >> >>> [[alternative HTML version deleted]] >> >>> >> >>> _______________________________________________ >> >>> Bioc-devel@r-project.org mailing list >> >>> https://stat.ethz.ch/mailman/listinfo/bioc-devel >> >> >> >> >> >> >> >> >> >> -- >> >> Computational Biologist >> >> Genentech Research >> > >> > _______________________________________________ >> > Bioc-devel@r-project.org mailing list >> > https://stat.ethz.ch/mailman/listinfo/bioc-devel >> >> _______________________________________________ >> Bioc-devel@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/bioc-devel >> > > [[alternative HTML version deleted]] _______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel