Detect Genotype Incompatibility:

Cet outil développé en Python a pour objectif de détecter des discordances de génotypages entre deux fichiers de génotypes.

Fichiers input:

Ce programme fonctionne avec deux fichiers de génotypages au format ".tped" de Plink.
Ce format peut-être obtenu par l'option '--recode transpose' de Plink (https://www.cog-genomics.org/plink2/formats#tped).

Le format tped ne contient pas d'en-tête.
Il contient une ligne par variant et 2N+4 colonnes où N correspond au nombre d'individus. Les colonnes sont séparées par des espaces.
Les quatre premières colonnes correspondent au nom du chromosome, identifiant du SNP, position du SNP en distance génétique (cM), position du SNP en distance physique (bp)
Les 5 & 6 correspondent aux allèles du premier individu, les colonnes 7 & 8 correspondent aux allèles du second individu...

ex:
1 AX-75456096 0 28190 G G G G G G
1 AX-80834308 0 33323 G C G C G G
1 AX-75466906 0 36297 T C T C T C
1 AX-75473490 0 39462 G A G A A A
1 AX-75476077 0 40557 G A G A G A

Important: Les deux fichiers de génotypages doivent contenir les même marqueurs et individus et être organisés dans le même ordre.

Fichiers output:

En sortie, 3 fichiers sont renvoyés.
  • Un fichier log rappelant les noms et caractéristiques des fichiers de génotypages utilisés, ainsi que les seuils utilisés pour décider de la présence d'une inversion ou d'une incompatibilité d'allèles à un SNP donné, ainsi que les caractéristiques de chaque SNP possédant des génotypages différents d'un fichier à l'autre.
    Ex:

Analysis parameters:

First genotype file: typ1.tped
Samples: 90; Markers: 290230
Second genotype file: typ2.tped
Samples: 90; Markers: 290230

Inversion and exclusion threshold is set to 50%.

##########################################################

AX-75456096 2 genotype(s) incompatible(s) / 90 genotypes sans NA. 0 inversion de brin / 52 genotypes homozygotes communs.
AX-75183735 0 genotype(s) incompatible(s) / 90 genotypes sans NA. 47 inversion(s) de brin visible(s) / 47 genotypes homozygotes communs.
AX-75465441 3 possibles alleles ['A', 'C'] & ['C', 'T']
AX-75184125 2 genotype(s) incompatible(s) / 90 genotypes sans NA. 42 inversion(s) de brin visible(s) / 42 genotypes homozygotes communs.
....

  • Un fichier "SNP_to_flip.txt" contenant les identifiants des SNP pour lesquels une inversion de brin a été détectée sur plus de 50% des individus homozygotes.
  • Un fichier "SNP_to_exclude.txt" contenant les identifiants des SNP pour lesquels une incohérence de génotypage a été détectée sur plus de 50% des individus.

Fonctionnement du programme:

  • Pour chaque SNP le programme identifie les allèles présents dans chacun des fichiers.
    Si trois allèles sont possibles, par exemple [T, G] dans le premier fichier et [T, C] dans le deuxième fichier, alors le SNP est considéré comme incohérent et son nom est écrit dans le fichier "SNP_to_exclude.txt".
  • Si ce n'est pas le cas, le programme récupère les génotypes du premier individu dans les deux fichiers de génotypage les compare et détermine si

Il y a inversion de brin pour le calling des allèles.

Génotype [T,T] dans le premier fichier et [A,A] dans le deuxième fichier
Génotype [T,C] dans le premier fichier et [A,G] dans le deuxième fichier

Ils sont incohérents.

Génotype [T,T] dans le premier fichier et [C,C] dans le deuxième fichier.
Génotype [T,C] dans le premier fichier et [T,T] dans le deuxième fichier.

  • Lorsque les génotypes de tous les individus ont été comparés pour le SNP en cours d'analyse, le programme écrit le nom du SNP dans le fichier "SNP_to_exclude.txt" si le taux d'incohérence est supérieur au seuil fixé de 50% ou écrit le nom du SNP dans le fichier "SNP_to_flip.txt" si le taux d'inversion est supérieur au seuil fixé de 50%.

Utilisation:

python Detect_Genotype_Incompatibility.py [-o OUTPUT] Path_to_first_genotype Path_to_second_genotype.
L'option -o permet de choisir le répertoire de sortie.

Le programme ainsi que des fichiers d'exemples sont disponibles ici: https://forge-dga.jouy.inra.fr/projects/detect_genotype_incompatibility/files