[R] Documenting S4 Methods
    Dario Strbenac 
    D.Strbenac at garvan.org.au
       
    Wed Aug 25 05:00:03 CEST 2010
    
    
  
I'm in the process of converting some S3 methods to S4 methods.
I have this function :
setGeneric("enrichmentCalc", function(rs, organism, seqLen, ...){standardGeneric("enrichmentCalc")})
setMethod("enrichmentCalc", c("GenomeDataList", "BSgenome"), function(rs, organism, seqLen, ...) {
         ...          ...             ...
})
setMethod("enrichmentCalc", c("GenomeData", "BSgenome"), function(rs, organism, seqLen=NULL, do.warn=FALSE) {
       ...            ...             ...
})
setMethod("enrichmentCalc", c("GRanges", "BSgenome"), function(rs, organism, seqLen=NULL) {
       ...            ...             ...
}
and a part of my Rd file is :
\name{enrichmentCalc}
\docType{methods}
\alias{enrichmentCalc,GenomeDataList,BSgenome-method}
\alias{enrichmentCalc,GenomeData,BSgenome-method}
\alias{enrichmentCalc,GRanges,BSgenome-method}
...                ...                   ...
\usage{
  enrichmentCalc(rs, organism, seqLen, ...)
  enrichmentCalc(rs, organism, seqLen=NULL, do.warn=FALSE)
  enrichmentCalc(rs, organism, seqLen=NULL)
}
...                ...                    ...
Can anyone suggest why I'm seeing this error :
* checking for code/documentation mismatches ... WARNING
Codoc mismatches from documentation object 'enrichmentCalc':
enrichmentCalc
  Code: function(rs, organism, seqLen, ...)
  Docs: function(rs, organism, seqLen = NULL, do.warn = FALSE)
  Argument names in code not in docs:
    ...
  Argument names in docs not in code:
    do.warn
  Mismatches in argument names:
    Position: 4 Code: ... Docs: do.warn
  Mismatches in argument default values:
    Name: 'seqLen' Code:  Docs: NULL
enrichmentCalc
  Code: function(rs, organism, seqLen, ...)
  Docs: function(rs, organism, seqLen = NULL)
  Argument names in code not in docs:
    ...
  Mismatches in argument default values:
    Name: 'seqLen' Code:  Docs: NULL
* checking Rd \usage sections ... WARNING
Objects in \usage without \alias in documentation object 'enrichmentCalc':
  enrichmentCalc
Also, what is the difference between
...          ...          ...
\docType{methods}
...          ...          ...
\alias{methodName,class-method}
...          ...          ...
\usage{methodName(arg1)}
...          ...          ...
and
...          ...          ...
\alias{methodName,class-method}
...          ...          ...
\usage
{
    \S4method{methodName}{class}(arg1)
}
...          ...          ...
I've seen both ways used for S4 methods and don't know what is the underlying difference.
I haven't been able to find any good tutorials for the new S4 architecture (written post 2006), so I'm not sure where to start with S4.
Thanks,
       Dario.
--------------------------------------
Dario Strbenac
Research Assistant
Cancer Epigenetics
Garvan Institute of Medical Research
Darlinghurst NSW 2010
Australia
    
    
More information about the R-help
mailing list