Ich habe einen Vektor von GOIDs, die spezifische GO-IDs sind, die von einer Anreicherungsanalyse ausgegeben werden. Ich möchte meine GOIDs nach ihrem übergeordneten GOID-Begriff gruppieren. Ich habe GOstats verwendet, um meine Anreicherungsanalyse durchzuführen, und ich habe festgestellt, dass es einen ducedTermGraph gibt, der ein graphNEL-Objekt direkter Kinder und direkter Eltern der von Ihnen abgefragten GOIDs ausgibt. Wenn Sie parent=TRUE und children=FALSE setzen, enthält Ihr Diagramm nur übergeordnete Knoten, die sich auf Ihre GOID-Abfrage beziehen.
Wie kann ich jedoch die Knotennamen dieser übergeordneten Knoten extrahieren??? Siehe Code unten:
gene.ids <- c(51141, 84968, 140850, 388289, 406994, 677828, 693217, 100287428,
100505685, 100506540, 101926966, 101927244, 101928659)
require(RnBeads)
uids <- rnb.get.annotation("genes")
uids <- sort(unique(as.numeric(na.omit(unlist(sapply(unlist(uids)$entrezID,
function(i) strsplit(i, split=";")))))))
params <- new("GOHyperGParams", annotation = "org.Hs.eg.db", geneIds = gene.ids,
universeGeneIds = uids, ontology = "BP", conditional = TRUE,
testDirection = "over")
res <-tryCatch({ hyper.genes <- hyperGTest(params) }, error = function(ee) { print("Errorfests.") })
go.ids <- summary(hyper.genes)[,"GOBPID"]
result <- inducedTermGraph(hyper.genes, id=go.ids, children=FALSE, parents=TRUE)
nAttrs <- list()
z <- attributes(result)$nodes
names(z) <- nodes(result)
nAttrs$label <- z
plot(result, nodeAttrs=nAttrs)
Um den obigen Kommentar von @RickBeeloo zu beantworten, habe ich beschlossen, eine Antwort mit einem detaillierten Code einzufügen. Um die Vorfahren eines Genontologie- Begriffs (GO) mit dem Bioconductor- Paket zu erhalten GO.db
, benötigen wir grundsätzlich einen Aufruf des AnnDbBimap
Objekts für die adäquate Ontologie. Wenn wir es zum Beispiel für Molecular Function (MF) wollen, würden wir GOMFANCESTOR
es wie im Beispiel verwenden:
library(GO.db)
terms <- c("GO:0008022","GO:0001071")
as.list(GOMFANCESTOR[terms])
$`GO:0008022`
[1] "GO:0005515" "GO:0003674" "GO:0005488" "all"
$`GO:0001071`
[1] "GO:0003674" "all"
Ähnliche Objekte können für den biologischen Prozess (BP) und das zelluläre Kompartiment (CC) verwendet werden: GOBPANCESTOR
und GOCCANCESTOR
. Die einzige Einschränkung besteht darin, dass Sie Begriffe aus verschiedenen Ontologien (dh alle BP, MF oder CC) nicht mischen können. Es gibt ähnliche Optionen, um die untergeordneten Elemente eines bestimmten GO-Begriffs (z. B. GOCCCHILDREN
) zu erhalten. Die Beschreibung der einzelnen Begriffe erhalten Sie mit:
Term(GOTERM[terms])
GO:0008022 GO:0001071
"protein C-terminus binding" "nucleic acid binding transcription factor activity"
Alle verfügbaren Mappings können mit folgendem Aufruf aufgelistet werden GO()
:
GO()
Quality control information for GO:
This package has the following mappings:
GOBPANCESTOR has 28477 mapped keys (of 28477 keys)
GOBPCHILDREN has 16829 mapped keys (of 28477 keys)
GOBPOFFSPRING has 16829 mapped keys (of 28477 keys)
GOBPPARENTS has 28477 mapped keys (of 28477 keys)
GOCCANCESTOR has 3897 mapped keys (of 3897 keys)
GOCCCHILDREN has 1317 mapped keys (of 3897 keys)
GOCCOFFSPRING has 1317 mapped keys (of 3897 keys)
GOCCPARENTS has 3897 mapped keys (of 3897 keys)
GOMFANCESTOR has 10021 mapped keys (of 10021 keys)
GOMFCHILDREN has 2046 mapped keys (of 10021 keys)
GOMFOFFSPRING has 2046 mapped keys (of 10021 keys)
GOMFPARENTS has 10021 mapped keys (of 10021 keys)
GOOBSOLETE has 2012 mapped keys (of 2012 keys)
GOTERM has 42396 mapped keys (of 42396 keys)
Additional Information about this package:
DB schema: GO_DB
DB schema version: 2.1
Date for GO data: 20160305
$
im Ergebnis (zB $
GO:0008022``). Die Namen sind die IDs der ursprünglichen GO-Terme in der Variablen terms
. Jede Zeile zeigt die Vorfahren der entsprechenden ID. Zum Beispiel erhalten Sie für GO:0008022
(erste ID in Begriffen"GO:0005515" "GO:0003674" "GO:0005488" "all"
) Folgendes: .Es stellt sich heraus, wenn Sie die font.size im graphNEL-Objekt festlegen, können Sie die Knotennamen im Diagramm des ducedTermGraph sehen.
Das Festlegen von font.size auf> 20 hat bei mir funktioniert!
James
ddiez
KingBoomie
ddiez
$
und auf eine solche Variable zugreifen. 3) GOMFPARENTS ist keine Funktion, daher()
funktioniert die Verwendung auch nicht.