2010-03-01 7 views
1

Je dois créer un objet de type ShortReadQ à partir de la bibliothèque ShortRead de Bioconductor.Dans R, comment définir une classe S4 basée sur la classe d'un autre objet

ShortReadQ 'signature(sread = "DNAStringSet", quality = 
      "QualityScore", id = "BStringSet")' 

La fente de la qualité doit être un objet héritant de QualityScore, dont je peux facilement déterminer d'un autre objet ShortReadQ que je veux imiter.

> class(quality(anotherObject)) 
[1] "SFastqQuality" 
attr(,"package") 
[1] "ShortRead" 

Quelle est la meilleure façon d'utiliser cette information ("SFastqQuality") dans l'argument contructor?

newObject<-ShortReadQ(sread=..., 
      quality=SFastqQuality(...), 
      id=...) 
+0

Je ne comprends pas la question. Vous pouvez soit essayer de clarifier votre question, soit essayer l'aide de bioconducteur: http://www.bioconductor.org/docs/postingGuide.html. – Shane

+0

Je veux obtenir le nom de classe d'un objet donné et l'utiliser dans le constructeur d'un nouvel objet. Quelle est la meilleure façon de le faire? –

Répondre

0

Merci pour vos réponses. ils me mènent à une solution qui fonctionne

newObject<-ShortReadQ(sread=..., 
      quality=new(Class=class(quality(anotherObject)),theFirstParameter=...), 
      id=...) 
1

Cela fait-il ce que vous voulez?

quality = new(class(old.quality.obj)[[1]])) 
0

Vous voudrez peut-être la fonction get:

a <- get(class(object)) 
a(...) 
Questions connexes