J'ai utilisé les paquets topGO in R pour analyser l'enrichissement en gènes avec le code suivant:
sampleGOdata <- new("topGOdata", description = "Simple session", ontology = "BP",
allGenes = geneList, geneSel = topDiffGenes, nodeSize = 10,
annot = annFUN.db, affyLib = affyLib)
resultFisher <- runTest(sampleGOdata, algorithm = "classic", statistic = "fisher")
allRes <- GenTable(sampleGOdata, classicFisher = resultFisher, orderBy = "fisher",
ranksOf = "classicFisher",topNodes = 10)
Je veux voir et changer la fonction RunTest
et la fonction GenTable
pour changer le ResultTable
, mais je ne sais pas comment afficher la fonction. Avec la getAnywhere("GenTable")
je ne reçois pas le code dur que je veux.
getAnywhere("GenTable")
Un seul objet correspondant à ‘GenTable’ a été trouvé
Il a été trouvé dans les endroits suivants
package:topGO namespace:topGO
avec valeur
function (object, ...) standardGeneric("GenTable") <environment: 0x16a30c10> attr(,"generic") [1] "GenTable" attr(,"generic")attr(,"package") [1] "topGO" attr(,"package") [1] "topGO" attr(,"group") list() attr(,"valueClass") character(0) attr(,"signature") [1] "object" attr(,"default") `NULL` attr(,"skeleton") function (object, ...) stop("invalid call in method dispatch to \"GenTable\" (no default method)", domain = NA)(object, ...) attr(,"class") [1] "standardGeneric" attr(,"class")attr(,"package") [1] "methods"
Comment puis-je faire ceci?
Utilisez getMethod()
et spécifiez la signature. Dans votre cas, cela pourrait être par exemple:
getMethod("GenTable","topGOdata")
pour afficher la méthode GenTable pour les objets topGOdata. Dans ce cas, il n'y a qu'une méthode définie pour les objets topGOdata. S'il existe des méthodes avec des signatures différentes, showMethods()
vous indiquera lesquelles. Dans ton cas :
showMethods("GenTable")
# Function: GenTable (package topGO)
# object="topGOdata"
Vous pouvez obtenir le code de la signature souhaitée en le spécifiant dans la fonction getMethod()
.
Je sais que c’est une vieille question, mais par souci d’exhaustivité pour les futurs chercheurs, il existe également une fonction appelée
selectMethod
cela varie de getMethod en ce que vous pouvez utiliser l'héritage. Voici comment j'ai trouvé le source d'une fonction générique comportant plusieurs signatures.
Notez qu'à partir de la version R 2.11.0
, il faut utiliser findMehtods()
. Voici un extrait du changelog.
getMethods()
est maintenant obsolète, son utilisation interne est remplacée parfindMethods()
et d’autres modifications. La création d'objets à partir de la classe"MethodsList"
est également déconseillée.