Organisation et Génération des informations génétique (phases/proba de transmission/reconstruction d'haplotype) : les objets spt et shp

Type structuré "Probabilités de transmission des segments parentaux et Phases parentales"

type ,public :: PDD_BUILD
       real (kind=dp)   ,dimension(:,:,:,:),pointer   ,public :: pdd    => null()
       integer          ,dimension(:,:)    ,pointer   ,public :: ngenom => null()
       integer          ,dimension(:,:)    ,pointer   ,public :: ngend  => null()
       integer          ,dimension(:,:)    ,pointer   ,public :: ndesc  => null()
       real (kind=dp)   ,dimension(:,:)    ,pointer   ,public :: probg  => null()
       logical          ,dimension(:,:)    ,pointer   ,public :: phasp  => null()
       logical          ,dimension(:,:)    ,pointer   ,public :: phasm  => null()
       real (kind=dp)   ,dimension(:,:,:,:),pointer   ,public :: prot   => null()
       integer(kind=KIND_PHENO),dimension(:,:,:,:),pointer   ,public :: genotyp => null()
       integer(kind=KIND_PHENO),dimension(:,:,:,:),pointer   ,public :: genotypm => null()
       logical  , dimension (:,:,:), pointer    ,public     :: reconstructed => null()

     contains

      procedure ,public :: copy    => copy_pdd_build
      procedure ,public :: release => release_pdd_build
      procedure ,public :: get_maxnbgenotypedam

end type PDD_BUILD

Codification des cas de transmissions des allèles parentaux

Pour simplifié l'accès à l'information des cas de transmissions des segments chromosomiques, on codifie (voir le tableau) les quatre possibilités de transmissions :

Sire \Dam All1 All2
All1 1 2
All2 3 4

Description des données membres

Structures concernants les phases parentales

  • phasp(ichr,ip) vrai si le génotype du père ip sur le chromosome ich est orienté
  • phasm(ichr,jm) vrai si le génotype de la mère jm sur le chromosome ich est orienté
  • ngenom(chr,jm)+1 donne une référence sur le premier génotype possible de la mère jm (référence dans GENEALOGY_BASE)
  • ngenom(chr,jm+1) donne une référence sur le dernier génotype possible de la mère jm (référence dans GENEALOGY_BASE)
  • probg(chr,igeno) donne la probabilité du genotype maternel référencé par igeno dans le tableau ngenom
  • ngend(chr,igeno)+1 donne le premier pour utiliser les tableaux pdd et ndesc
  • ndesc(chr,id) donne la correspondance de l'individu id dans le type GENEALOGY_BASE
Structure concernant les probabilités de transmissions des segments parentaux
  • le tableau prot(ich,ll,kd,icas) donne pour un individu kd référencé par la structure GENEALOGY_BASE, la probabilité du icas type de transmission au marqueur ll porté sur le chromosome ich
  • le tableau pdd(ich,id,icas,ipo) donne pour un individu id référencé par une valeur id du tableau ngend, la probabilité du icas type de transmission à la position ipo porté sur le chromosome ich
Parcours des génotypes possibles des mères et des probabilités de transmissions des segments parentaux des descendants
 do ip=1,dataset%genea%np     !// pour tous les peres du dispositif
  do jm=nmp(ip)+1,nmp(ip+1)   !// pour les mères associés au pere ip
   do igeno=spt%ngenom(chr,jm)+1,spt%ngenom(chr,jm+1) !// Pour tous les possibilités de génotype pour la mere jm sur le choromosome chr
     print *,probg(chr,igeno) !// est la probabilité du genotype courant de la mère jm
     do id=spt%ngend(chr,ig)+1,spt%ngend(chr,ig+1) !// Pour tous les indices associés aux descendants
        kd=spt%ndesc(chr,id)  !// kd est l'individus référencé par la structure GENEALOGY_BASE
        print *,pdd(chr,id,1,1) !// est la proba de transmission de l'individus kd sur la premiere position du chromosome chr
                                !//  d'avoir recu le 1er allele de son pere et le 1er allele de sa mere
     end do
   end do
  end do
 end do

Type structuré "haplotypes LDLA"