在R中,如何根据另一个对象的类设置S4类

时间:2010-03-01 22:08:01

标签: r s4 bioconductor

我需要从Bioconductor的ShortRead库中创建一个ShortReadQ类型的对象。

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

质量槽必须是继承自QualityScore的对象,我可以从另一个我希望模拟的ShortReadQ对象中轻松确定。

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

在构造函数参数中使用该信息(“SFastqQuality”)的最佳方法是什么?

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

3 个答案:

答案 0 :(得分:1)

这样做你想要的吗?

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

答案 1 :(得分:0)

您可能需要get函数:

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

答案 2 :(得分:0)

感谢您的回复。他们引导我找到一个有效的解决方案

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