Les calculs des intervalles de confiance¶
Le module source:trunk/src/analyse/m_qtlmap_calcul_ic.f95 implémente l'ensemble des méthodes décrite par la suite.
Le module définit une fonction publique "point d'entré" qui permet de router vers la bonne méthode selon l'option donnée en ligne de commande --ci:
subroutine computingIC(dataset,lrtsol,listincsol,opt_qtl) type(QTLMAP_DATASET) , intent(in) :: dataset integer ,intent(in) :: opt_qtl type(TYPE_LRT_SOLUTION) ,dimension(dataset%phenoModel%ncar,opt_qtl) , intent(inout) :: lrtsol type(TYPE_INCIDENCE_SOLUTION) ,dimension(dataset%phenoModel%ncar,opt_qtl+1) , intent(in) :: listincsol
dataset
est le jeu de données utilisateur (QTLMAP_DATASET)lrtsol
est l'objet mémorisant le calcul du maximum de vraisemblance (TYPE_LRT_SOLUTION)listincsol
est l'objet mémorisant la valeur des estimations des paramètres au maximul de vraisemblance (TYPE_INCIDENCE_SOLUTION)
attention, il existe une seconde option qui influe sur les méthodes de boostrap pour le calcul d'intervalle de confiance : --ci-nsim qui permet de paramétrer le nombre de simulation.
Par défaut on execute systematiquement un drop off et le calcul Hengde Li. L'utilisateur obtient ces deux résultats dans le fichier resultat principale
L'option "confidence intervalle" passée en argument de qtlmap, OPT_CI, permet d'obtenir la liste des méthodes à appliquer sur son analyse.
if ( dataset%cli%key_exist(dataset%cli%OPT_CI) ) then call dataset%cli%get_key_list_values(dataset%cli%OPT_CI,10,values,nargs) if (nargs==0) then nargs=1 values(nargs) = trim(str(DROP_OFF_CI)) nargs=2 values(nargs) = trim(str(HENGDE_LI_CI)) end if else nargs=1 values(nargs) = trim(str(DROP_OFF_CI)) nargs=2 values(nargs) = trim(str(HENGDE_LI_CI)) end if
Méthode du Drop off¶
subroutine drop_off(dataset,iarg,opt_calcul,opt_qtl,lrtsol) type(QTLMAP_DATASET) , intent(in) :: dataset integer , intent(in) :: iarg,opt_calcul,opt_qtl type(TYPE_LRT_SOLUTION) ,target ,dimension(dataset%phenoModel%ncar,opt_qtl) , intent(inout) :: lrtsol
code du programme : source:trunk/src/analyse/m_qtlmap_calcul_ic.f95#L133
Méthode Hengde Li¶
subroutine hengde_li(dataset,iarg,nsim,opt_calcul,opt_qtl,cli_haplo,lrtsol,& listincsolFromAnalyse,hdam,biq,interaction) type(QTLMAP_DATASET) , intent(in) :: dataset integer , intent(in) :: iarg,nsim,opt_calcul integer , intent(in) :: opt_qtl,cli_haplo logical , intent(in) :: biq,interaction type(TYPE_LRT_SOLUTION) ,dimension(dataset%phenoModel%ncar,opt_qtl) , intent(inout) :: lrtsol type(TYPE_INCIDENCE_SOLUTION) ,dimension(dataset%phenoModel%ncar,opt_qtl+1) , intent(in) :: listincsolFromAnalyse logical , intent(in) :: hdam
Description de l'algo dans Li J Genet 2011.pdf page 358
code du programme : source:trunk/src/analyse/m_qtlmap_calcul_ic.f95#L482
Les Méthodes boostrap¶
La méthode generique boostrap implémente deux variantes de boostrap- simple, tirage avec remise d'un tableau de ND individus
- gardant la structure familliale : garde les effectif intra famille de pere-mere avec NDMIN suffisamment grand ou, le cas écheant, intra famille de père seulement
Le role de la subroutine boostrap est d'éviter la réecriture des morceaux de code redondant pour toutes les calculs d'intervalles de confiances via une méthode de boostrap
Pour toutes les simulations :
- Simulation d'un jeu de données
- Appel generique d'une fonction de boostrap
- Calcul des phases/PDD
- analyse (dépendant de opt_calcul)
- Enregistrement du max LRT et pos max
- Libération de la mémoire
Boostrap¶
subroutine create_dataset_full_sample
Boostrap gardant la structure familiale¶
subroutine create_dataset_sib_family_sample