Hi Christian,

This has not much to do with roxygen. 'R CMD check' complains that your
"counts" method doesn't have the arguments that your man page says it
has. Your method is defined with arguments (object, ...) but the \usage
section in the man page says it has arguments (object, type, readGroup,
dataset). You would get the same warning if you were documenting an
ordinary function with the incorrect argument list in the \usage
section. So you need to change one or the other. Either you define the
method with something like

  setMethod("counts", "SNPhood",
    function(object, type, readGroup, dataset) {
      ...
    }
  )

or you put counts(object, ...) in the \usage section of your man page.

Personally I have a strong preference for the former because:
  (a) Arguments are easier to document for you and easier to discover
      for the user (s/he'll see them when s/he does
      selectMethod("counts", "SNPhood")).
  (b) Because the method does not have the ellipsis in its arguments,
      then calling the method with a mis-spelled argument is an error
      (as it should). Otherwise the mis-spelled argument is silently
      ignored which can have disastrous consequences.

Hope this helps,
H.


On 09/20/2015 10:23 AM, Christian Arnold wrote:
Hi all,

I am currently producing the documentation for a new hopefully
soon-to-be-submitted Bioconductor package and I am facing some
difficulties with R CMD check.
In summary: I want to dispatch the existing generic for "counts" to make
it usable with my object of type SNPhood as well.

The original prototype from BiocGenerics:

standardGeneric for "counts" defined from package "BiocGenerics"

function (object, ...)



I am calling, as you can see, an internal function for this. Currently,
because of its original prototype, I use:

setMethod("counts", "SNPhood", function(object, ...) {.getCounts(object,
...)})



However, in my case, I want to use an extended prototype to specify
which counts exactly should be extracted.

.getCounts <- function(SNPhood.o, type, readGroup = NULL, dataset =
NULL, ...)



Everything works, but I want to document the additional arguments
properly. However, with roxygen 2, I am not sure how to achieve that
without producing warnings.

I am using:

#' @usage counts (object, type, readGroup, dataset)

#' @template object

#' @param type bla

#' @template readGroup

#' @template dataset


This produces:

* checking for code/documentation mismatches ... WARNING
Codoc mismatches from documentation object 'counts,SNPhood-method':
counts
   Code: function(object, ...)
   Docs: function(object, type, readGroup, dataset)
   Argument names in code not in docs:
     ...
   Argument names in docs not in code:
     type readGroup dataset
   Mismatches in argument names:
     Position: 2 Code: ... Docs: type



So, what is the recommended way here? I could write an own "new" counts
function, but I thought if a generics already exists, I should use it
because this is exactly what my function does also...


Thanks,
Christian


--
Hervé Pagès

Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M1-B514
P.O. Box 19024
Seattle, WA 98109-1024

E-mail: hpa...@fredhutch.org
Phone:  (206) 667-5791
Fax:    (206) 667-1319

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to