From james.foadi at diamond.ac.uk  Wed Jul  7 17:16:50 2010
From: james.foadi at diamond.ac.uk (james.foadi at diamond.ac.uk)
Date: Wed, 7 Jul 2010 16:16:50 +0100
Subject: [Rd] how to define method for "+" function in a new class
References: <EXCHANGE417Ie8tlMaz00000c08@exchangegw1.rl.ac.uk>
	<4854F2500EA8C4478A508D2D92973E5202E812CC@EXCHANGE25.fed.cclrc.ac.uk>
Message-ID: <4854F2500EA8C4478A508D2D92973E5202E812CD@EXCHANGE25.fed.cclrc.ac.uk>

I don't know why a "3D" appears instead of a "(".
Please, interpret a "( whenever you see a "3D".

J

Dr James Foadi PhD
Membrane Protein Laboratory (MPL)
Diamond Light Source Ltd
Diamond House
Harewell Science and Innovation Campus
Chilton, Didcot
Oxfordshire OX11 0DE

Email    :  james.foadi at diamond.ac.uk
Alt Email:  j.foadi at imperial.ac.uk



-----Original Message-----
From: r-devel-bounces at r-project.org on behalf of james.foadi at diamond.ac.uk
Sent: Wed 07/07/2010 16:09
To: r-devel at r-project.org
Subject: [Rd] how to define method for "+" function in a new class
 


Dear R developers,
I have a new class, which I called "Molecule", and have tried to define =
a "+" operation for 2 objects of this class.
This is what I have written so far, although the method is not complete =
(I'm trying to look at it at intermediate stages):

setMethod(
          f=3D"+",
          signature(x=3D"Molecule",y=3D"Molecule"),
          definition=3Dfunction(x,y,...)
                     {
                      # Check both objects are correct
                      checkMolecule(x)
                      checkMolecule(y)

                      # Extract chains information
                      ch1 <- getMoleculeChains(x)
                      ch2 <- getMoleculeChains(y)
                      union_ch <- unique(c(ch1,ch2))
                      not_used <- .ALPHABET
                      for (i in seq(along =3D union_ch))
                      {
                       idx <- which(not_used !=3D union_ch[i])
                       if (length(idx) !=3D 0) not_used <- not_used[idx]
                      }

                      return(not_used)
                     }
         )


The definition of class Molecule is included earlier in the same file. =
When I source it, I get the following error message:

Error in match.call(fun, fcall) :=20
  unused argument(s) (x =3D "Molecule", y =3D "Molecule")


I can't see what's wrong in my method definition. Can anyone help me =
with this?

J

Dr James Foadi PhD
Membrane Protein Laboratory (MPL)
Diamond Light Source Ltd
Diamond House
Harewell Science and Innovation Campus
Chilton, Didcot
Oxfordshire OX11 0DE

Email    :  james.foadi at diamond.ac.uk
Alt Email:  j.foadi at imperial.ac.uk

-- 
This e-mail and any attachments may contain confidential...{{dropped:16}}



[Rd] how to define method for "+" function in a new class
james.foadi at diamond.ac.uk