Einschließen eines S4-Objekts aus einem vorhandenen Paket als Slot in eine neue S4-Klasse
Ich schreibe eine S4-Klasse namensExpression
und möchte ein S4-Objekt einbinden,DESeq2 = "DESeqDataSet"
als Slot:
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"
))
Wenn ich das Paket überprüfe, erhalte ich die folgende Warnung:
Found the following significant warnings:
Warning: undefined slot classes in definition of "Expression": DESeq2(class "DESeqDataSet")
Die Klasse funktioniert einwandfrei (dh es gibt jetzt Fehler), aber ich möchte alle Warnungen in unserem Code korrigieren.
Das Paket mit demDESeqDataSet
Objekt DESeq2
, auch der Name, den wir dem Slot gegeben haben) wird in das Paket @ importieDESCRIPTION
Datei. Muss ich etwas anderes tun, um den Inhalt für die Verwendung in einem Slot verfügbar zu machen? Zum Beispiel habe ich @ verwendsetOldClass()
, um S3-Klassen für die Verwendung in S4-Slots verfügbar zu machen.
Hier ist ein Beispiel für einen Travis-Ci-Build, der die Warnung auslöst -https: //travis-ci.org/caseywdunn/agalmar/builds/13856425
Der vollständige Code, der das Problem verursacht, befindet sich unterhttps: //github.com/caseywdunn/agalmar/blob/a7c4013fcb5c924cfd6e1aa8e99f182ceec6fe20/R/utility_functions.