Je cherche à faire tourner le package SNPassoc sur différents fichiers.
Cela marche pour un fichier de taille 147 obs (jusqu'à 200 obs) et 99 variables mais quand je cherche à faire tourner avec des fichiers plus grands (500 ou 800 obs) j'ai le message d'erreur suivant.
Error in fisher.test(dep, var.co) : FEXACT error 40.
Out of workspace.
D'après ce que j'arrive à trouver sur internet, il s'agit d'un pb d'espace mémoire (car il essaie de faire un test exact de Fisher avec trop de données).
Cela m'étonne un peu car c'est un package fait pour la génétique...
Je précise que j'ai déjà vu le lien https://stackoverflow.com/questions/14498719/r-loop-over-fisher-test-error-message
qui préconise d'augmenter la mémoire pour le test de Fisher mais comme c'est un package je ne sais pas et je ne préférerai pas avoir à aller le modifier...
J'ai essayé
- d'augmenter manuellement l'espace mémoire de R
- de changer le working directory, et essayé sur différents ordinateurs.
- de supprimer le workspace ("clear workspace")
mais cela ne marche pas mieux.
Y a-t-il une solution simple à ce pb? Auriez-vous des idées ?
Je vous mets ci-dessous le code R.
Celui qui marche :
Code : Tout sélectionner
library(SNPassoc)
> TamEx<-read.table("E_Tox_72SNP_147.txt",header=TRUE, sep="\t", fill=TRUE)
> datSNPTamEx<-setupSNP(TamEx,28:99,sep="")
> tous<-WGassociation(Exeme, data=datSNPTamEx, model="all")
> summary(tous)
Code : Tout sélectionner
SNPs (n) Genot error Monomorphic Significant* (n)
72 0 1.4 1 1.4
*Number of statistically significant associations at level 1e-06
> print(tous)
comments codominant dominant recessive overdominant log-additive
rs4073054 - 0.10769 0.03829 0.29275 0.22842 0.04509
rs2307418 - 0.90868 0.75353 0.79649 0.71239 0.80206
rs2307424 - 0.00002 0.19121 0.00000 0.37250 0.00359
....
Celui qui ne marche pas :
Code : Tout sélectionner
> datSNPTamTox<-setupSNP(TamTox,44:135,sep="")
> tous<-WGassociation(Endo, data=datSNPTamTox, model="all")
Error in fisher.test(dep, var.co) : FEXACT error 40.
Out of workspace.
Code : Tout sélectionner
Merci d'avance pour l'aide que vous pourrez m'apporter.