[Bioc-devel] adding a validity method to a class

Steve Lianoglou mailinglist.honeypot at gmail.com
Thu Mar 31 19:54:55 CEST 2011


Hi,

On Thu, Mar 31, 2011 at 1:42 PM, Paul Shannon
<pshannon at systemsbiology.org> wrote:
> I have defined a rather lengthy validity function for CytoscapeWindowClass.
>
> In my testing, I create incomplete or broken instances of the class.
>
> I get the results I want when I call the validity function like this, for example:
>
>  > RCytoscape:::validCytoscapeWindow (cw.broken)
>   You must provide an 'edgeType' edge attribute, which will be mapped to Cytoscape's 'interaction' edge attribute.
>   [1] FALSE
>
> But when, following the example in the graphNEL source code, I try to assign this function to the 'validity' slot of the class, the function is not found.
>
> The class definition:
>
>  setClass ("CytoscapeWindowClass",
>            representation = representation (title="character",
>                                             window.id='character',
>                                             graph="graph"),
>            contains='CytoscapeConnectionClass',
>            prototype = prototype (title="R graph",
>                                  graph=new ("graphNEL", edgemode='directed'),
>                                   uri="http://localhost:9000"),
>            validity=function(obj) validCytoscapeWindow (obj)
>            #validity=function(obj) RCytoscape:::validCytoscapeWindow (obj)   # I also tried this
>            )
>
> Calling 'validObject (cw)' should invoke 'validCytoscapeWindow' but does not.
>
> Can anyone explain what I am doing wrong?

What if you do:

setClass(...
   validity=validCytoscapeWindow
)

Or define your class first w/o the `validity` argument, then set it
after like so:

setValidity("CytoscapeWindowClass", validCytoscapeWindow)

Maybe?

-steve

-- 
Steve Lianoglou
Graduate Student: Computational Systems Biology
 | Memorial Sloan-Kettering Cancer Center
 | Weill Medical College of Cornell University
Contact Info: http://cbio.mskcc.org/~lianos/contact



More information about the Bioc-devel mailing list