Dans R, comment définir une classe S4 en fonction de la classe d'un autre objet

StackOverflow https://stackoverflow.com/questions/2359444

  •  23-09-2019
  •  | 
  •  

Question

J'ai besoin de créer un objet de type Shortreadq à partir de la bibliothèque Shortread de BioConductor.

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

Le créneau de qualité doit être un objet héritant de QualityScore, dont je peux facilement déterminer à partir d'un autre objet Shortreadq que je souhaite imiter.

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

Quelle est la meilleure façon d'utiliser ces informations ("sfastqquality") dans l'argument du contrator?

newObject<-ShortReadQ(sread=...,
             quality=SFastqQuality(...), 
             id=...)
Était-ce utile?

La solution 3

Merci pour vos réponses. Ils me conduisent à une solution qui fonctionne

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

Autres conseils

Est-ce que cela fait ce que vous voulez?

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

Vous voudrez peut-être la fonction Get:

a <- get(class(object))
a(...)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top