Wiki SparseMethods4Snp¶
- Wiki SparseMethods4Snp
Developpement¶
Récuperer une version du dépot SVN¶
svn co https://forge-dga.jouy.inra.fr/svn/pls SparseMethod4PlsDev
ou sans contrôle SVN :
svn export https://forge-dga.jouy.inra.fr/svn/pls SparseMethod4PlsDev
Spécifications¶
Spécifications de l'implementation
Generation de l'environnement de compilation¶
aclocal autoconf automake -a -c
Generer les Makefiles¶
mkdir release cd release ../configure --prefix=<path-to-install>
Generer les Makefiles environnement CTIG¶
mkdir release cd release export LDFLAGS=-L/bao/dev/lib/lapack/3.5.0/lib/ source /bao/dev/env/env-gcc-4.8.2.sh ../configure --prefix=<path-to-install>
en mode debug (dans le cadre d'un développement)
mkdir debug cd debug ../configure --prefix=<path-to-install> --enable-debug
Obtenir une version simple précision
mkdir release32 cd release32 ../configure --prefix=<path-to-install> --disable-double
L'option prefix est utilisé pour l'installation du logiciel sur la machine (make install).Il n'est pas obligatoire pour dans le cadre d'un développement.
Compilation¶
make
Les exécutables sont dans le répertoire ./src.
Installation dans le répertoire contenu dans l'option --prefix¶
make install
Creer une distribution¶
make dist
Execution des tests de non régression¶
un script ./check.sh
exécute un ensemble de tests se situant dans le répertoire testdev.
Le script s'arrete avec une erreur si le comportement est inattendu
Pour executer les tests, il faut initialiser le PATH avec les executables prealablement compilé
exemple :
export PATH=<repertoire-dev>/SparseMethod4PlsDev/release/src/:$PATH ./check.sh
Utilisation sur l'exemple fourni¶
QTLMAS 2011 DATASET¶
Ce jeux de données a été généré avec logiciel LDSO (Ytournel, F. (2008). Linkage disequilibrium and QTL fine mapping in a selected
population. PhD thesis, Station de Génétique Quantitative et Appliquée, INRA.) pour le workshop QTLMAS 2011(Rennes).
- Une population "outbreed" est simulée sur 1000 générations de 1000 individus suivies de 30 générations de 150 individus.
- 9990 marqueurs SNP sont distribués sur cinq chromosomes.
- Chaque chromosome a une longueur de 1 Morgan et porte 1998 marqueurs uniformément distribués (1 SNP tous les 0.05 cM).
Les données correspondent à la dernière génération de ce pédigré, à savoir, 3000 individus issues de 20 pères accouplés à 10 dames chacun.
Ce jeux de donnée et les résultats (position des QTL, True Breeding Value) sont librement téléchargeables sur le site du workshop et
accessible depuis ce répertoire.
https://colloque4.inra.fr/qtlmas
- typage_ap : Le fichier de génotype de la population de référence (1500 individus) au format AIPL.
- typage_val : Le fichier de génotype de la population de validation (500 individus) au format AIPL.
- pheno_ap.txt : Le fichier de performance de la population de référence.
- pheno_val.txt : Le fichier de performance de la population de validation.
- typage_pred : Le fichier de génotype des animaux à prédire (1000 individus).
- tbv.txt : Les prédictions QTLMas 2011.
Utilisation de la commande pls4snp¶
Construction des variables latentes avec la PLS et la population de reference¶
pls4snp --geno typage_ap --format-geno aipl --pheno pheno_ap.txt --pls --ncomp 20
Validation avec la population de validation¶
pls4snp --geno typage_val --format-geno aipl --pheno pheno_val.txt --valid --binary pls.bin
Generation des VIP avec le H optimal¶
pls4snp --vip --binary pls.bin --H 7 --out vip.txt
Generation des predictions du fichier typage_pred¶
pls4snp --geno typage_pred --format-geno aipl --predict --binary pls.bin --H 7 --out bv.txt
Exemple Fortran¶
gfortran -o exe pls.f90 -L<path-pls4snp>/lib -L<path-lib-lapack> -lpls4snp -lstdc++ -llapack
Si la compilation se fait dans le répertoire d installation :
gfortran -o exe pls.f90 -L../../../../lib -lpls4snp -lstdc++ -llapack
puis executez :
./exe
Exemple C++¶
g++ -D DT=double -o exe pls.cpp -I<path-pls4snp>/include -L<path-pls4snp>/lib -lpls4snp -llapack
Si la compilation se fait dans le répertoire d installation :
g++ -D DT=double -o exe pls.cpp -I../../../../include -L../../../../lib -lpls4snp -llapack
puis executez :
./exe
Note : La macro définit la precision des flottant définit dans le programme. Par défaut celui-ci est 'double'. si vous avez toute
fois installer l'outils en simple précision (./configure --disable-double), il faudra définir définir cette macro à DT=float
Utilisation de la commande glmnet4snp¶
Construction des variables avec GLMNET et la population de reference¶
glmnet4snp --elnet --family gaussian --alpha 0.5 --lambda-min 0 --nlambda 500 --geno typage_ap --format-geno aipl --pheno pheno_ap.txt --header-pheno --remove-minmaf 0.03
Validation avec la population de validation¶
glmnet4snp --valid --geno typage_val --format-geno aipl --pheno pheno_val.txt --header-pheno --binary glmnet.bin
Generation des effets SNP¶
glmnet4snp --lambda --binary glmnet.bin --out RES_EFF.txt --ilmu 93
Generation des predictions du fichier typage_pred¶
glmnet4snp --predict --binary glmnet.bin --geno typage_val --format-geno aipl --out PHENO_PRED.txt --ilmu 93