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

Hervé Pagès hpages at fhcrc.org
Thu Mar 31 21:08:02 CEST 2011


Hi Paul,

On 03/31/2011 10:42 AM, Paul Shannon 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.

                         ^^
Are you calling validObject() on 'cw' or on 'cw.broken'?

It should work:

   setClass("A", representation(blob="raw"),
                 validity=function(object) cat("Hi!\n"))

Then:

   > a <- new("A")
   > validObject(a)
   Hi!
   [1] TRUE

Cheers,
H.

>
> Can anyone explain what I am doing wrong?
>
> Thanks!
>
>   - Paul
>
> _______________________________________________
> Bioc-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel


-- 
Hervé Pagès

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

E-mail: hpages at fhcrc.org
Phone:  (206) 667-5791
Fax:    (206) 667-1319



More information about the Bioc-devel mailing list