Ошибка при загрузке собственных данных с использованием ViSEA GO create_topGO - PullRequest
0 голосов
/ 08 января 2020

У меня проблемы с созданием топового GO объекта с использованием моих собственных данных. Интересно, может ли кто-нибудь помочь мне с этим!

Я следую нескольким учебникам и шагам, упомянутым в оригинальной статье ViSEA GO. Вот фрагменты из учебника и их ссылки.

Из публикации : ViSEA GO предлагает все статистические тесты и алгоритмы, разработанные в пакете Bioconductor top GO R, с учетом топология GO графа с использованием ViSEA GO :: create_top GO - метод данных с последующим верхним GO :: runTestmethod.

в разделе ' Функциональное GO обогащение 'в учебнике , следующий фрагмент кода используется для генерации верхнего объекта GO.

# create topGOdata for BP
BP<-ViSEAGO::create_topGOdata(
    geneSel=selection,
    allGenes=background,
    gene2GO=myGENE2GO, 
    ont="BP",
    nodeSize=5
)

Я также ссылался на топ GO' s учебник , чтобы убедиться, что мои типы данных верны. Тем не менее, есть некоторые ошибки, с которыми мне трудно иметь дело.

Для моих данных у меня есть следующий код.

> ##################
> # create topGOdata for BP
> BP<-ViSEAGO::create_topGOdata(
+   geneSel=geneList_g1,
+   allGenes=topDiffGenes(geneList_g1),
+   gene2GO=myGENE2GO, 
+   ont="BP",
+   nodeSize=5
+ )

#error message:
allGenes contain genes redondancy.
duplicate elements were removed.
Error in .local(.Object, ...) : allGenes must be a factor with 2 levels

В моем случае, geneList_g1 - это именованное число с символами гена и значениями p (длина 23 гена, дифференциально выраженных как показано ниже) ). Изучаемый организм - Mus musculus.

> dput(geneList_g1)
c(Klf4 = 0.596, Pdk2 = 0.278, Pink1 = 0.192, Hsp90ab1 = 0.142, 
Cdkn1a = 0.132, App = 0.0197, Lep = 0.0165, Igf1 = 0.00138, Bcl6 = 0.001, 
Pfkm = 0.000264, Rbp4 = 0.000175, Pck1 = 0.000162, Adipoq = 9.13e-05, 
B2m = 1.63e-05, Pde4d = 1.8e-06, Ppargc1a = 1.04e-07, Igfbp4 = 1.01e-07, 
Apod = 5.52e-08, Foxo1 = 7.05e-12, Ide = 1.29e-12, Nr1d1 = 7.68e-17, 
Apoe = 1.48e-25, Pdk4 = 4.5e-57)

Используя другую команду для создания объекта top GO, я получаю следующую ошибку.

> mysampleGOdata <- new("topGOdata",
+                     description = "my Simple session",
+                     ontology = "BP",
+                     allGenes = geneList_g1,
+                     geneSel = topDiffGenes,
+                     nodeSize = 1,
+                     annot = annFUN.db,
+                     affyLib = affyLib)

Building most specific GOs .....
    ( 0 GO terms found. )

Build GO DAG topology ..........
    ( 0 GO terms and 0 relations. )
Error in if (is.na(index) || index < 0 || index > length(nd)) stop("vertex is not in graph: ",  : 
  missing value where TRUE/FALSE needed

Любая помощь очень ценится !! Заранее спасибо! :)

1 Ответ

0 голосов
/ 08 января 2020

Вам необходимо предоставить аннотацию коррекции и в вашем случае вектор TRUE / FALSE. Итак, для начала:

geneList_g1 = c(Klf4 = 0.596, Pdk2 = 0.278, Pink1 = 0.192, Hsp90ab1 = 0.142, 
Cdkn1a = 0.132, App = 0.0197, Lep = 0.0165, Igf1 = 0.00138, Bcl6 = 0.001, 
Pfkm = 0.000264, Rbp4 = 0.000175, Pck1 = 0.000162, Adipoq = 9.13e-05, 
B2m = 1.63e-05, Pde4d = 1.8e-06, Ppargc1a = 1.04e-07, Igfbp4 = 1.01e-07, 
Apod = 5.52e-08, Foxo1 = 7.05e-12, Ide = 1.29e-12, Nr1d1 = 7.68e-17, 
Apoe = 1.48e-25, Pdk4 = 4.5e-57)

Загрузка библиотек, org.Mm.eg.db - это пометка мыши:

library(org.Mm.eg.db)
library(topGO)

И мы делаем:

UNI=keys(org.Mm.eg.db, keytype ='SYMBOL')
geneList <- factor(as.integer(UNI %in% names(geneList_g1)))
names(geneList) = UNI

If you have a background of other genes, you basically use UNI as your list of genes tested, and follow up with geneList:

mysampleGOdata <- new("topGOdata",
                     description = "my Simple session",
                     ontology = "BP",
                     allGenes = geneList,
                     nodeSize = 1,
                     annot = annFUN.org,
                     mapping="org.Mm.eg.db", 
                     ID = "SYMBOL")

resultFisher <- runTest(mysampleGOdata, algorithm = "classic", statistic = "fisher")

 head(GenTable(mysampleGOdata,fisher=resultFisher),1)
       GO.ID                      Term Annotated Significant
1 GO:0006006 glucose metabolic process       194          12
  Expected  fisher
1     0.19 1.0e-19
...