Specifications¶
Dépendances logiciels pour le dev¶
- Le programme est écrit en C++ et utilise la librairie Lapack.
- La partie GLMNET est une interface C++ au source écrit en fortran du package glmnet : http://cran.r-project.org/web/packages/glmnet/index.html
- utilisation de la suite autotools/automake pour la generation des makefiles
Composition du répertoire¶
- doc : documentation écrite en LATEX
- examples : example d'execution de pls4snp et glmnet4snp sur un jeux de données exemple QTLMas
- ext : source externe au projet (glmnet.f90)
- man : man d'utilisation des executable
- R : scripts d'origine pour la PLS
- src : les sources du programme
- testdev : tests de non regression
Sources¶
Sources communs à Pls4Snp et Glmnet4Snp¶
Classe | Description |
Common | routine d'interface à lapack + routines basiques (statistiques basiques, manipulation de chaîne) |
Cli | Classe en charge des options/arguments en entrée des deux programmes |
DataGen | Classe comportant les données utilisateurs (phenotype+genotype) |
CalculDataGen | Classe calculant des informations ou modifiant les valeurs d'un objet DataGen |
Convert | Classe template pour transformer un string en type et vice versa |
FactoryData | Classe en charge de la construction d'un objet DataGen à partir de la lecture des fichiers utilisateurs |
Flow d'exécution du programme Glmnet4Snp¶
Le programme comporte 4 principales fonctionnalités glmnet, predict, valid, effect.
- on s'assure de la bonne utilisation des options dans le source principal (main) (utilisation de la classe cli)
- La classe command est dédié à la lecture/ecriture des données et des résultats de l'utilisateurs. Il contrôle également le flow d'execution de la fonctionnalité.
- la classe WorkGlmnet implémente les fonctionnalités : écriture et lecture du fichier binaire contenant la solution, appel au programme fortran elnet (du package glmnet/R), calcul des predictions.