我正在编写一个名为 S4 的类,Expression并希望包含一个 S4 对象DESeq2 = "DESeqDataSet"作为插槽:
setClass(
Class = "Expression",
representation = representation (
species = "character",
edgeR = "DGEList",
DESeq2 = "DESeqDataSet",
lengths = "matrix",
individuals = "vector",
treatments = "vector",
id = "vector",
samples = "vector",
sample_prep = "vector",
genome_type = "vector",
molecule_type = "vector",
blast_hit = "vector",
rRNA = "vector",
protein = "vector"
))
Run Code Online (Sandbox Code Playgroud)
但是,当我检查包裹时,我收到以下警告:
Found the following significant warnings:
Warning: undefined slot classes in definition of "Expression": DESeq2(class "DESeqDataSet")
Run Code Online (Sandbox Code Playgroud)
该类工作正常(即,现在有错误),但我想修复我们代码中的所有警告。
带有DESeqDataSet对象(DESeq2,也是我们给插槽的名称)的包被导入到包DESCRIPTION文件中。我是否需要做其他事情才能使其内容可用于插槽?例如,我曾经setOldClass()让 S3 类可用于 S4 插槽。
这是引发警告的 travis-ci 构建示例 - https://travis-ci.org/caseywdunn/agalmar/builds/138564256
类定义需要导入,就像函数、泛型和方法一样。所以在 NAMESPACE 文件中说
importClassesFrom("DESeq2", "DESeqDataSet")
Run Code Online (Sandbox Code Playgroud)
我相信 roxygen2 符号是 @importClassesFrom DESeq2 DESeqDataSet
| 归档时间: |
|
| 查看次数: |
529 次 |
| 最近记录: |