Technologie d'identification par l'ADN et APL

 

Charles Brenner

Présentation à la conférence des utilisateurs APL2000 2005, Naples, Floride

le 8 novembre 2005

dans lequel un mathématicien en herbe, un généticien en herbe et un programmeur inculturé tire parti de la souplesse de l'APL pour identifier les criminels, les pères, le World Trade Center et les victimes du tsunami, et déterminer la race en utilisant l'ADN dans un monde de technologie d'identification génétique en rapide évolution.

Page d'accueil des mathématiques judiciaires
Technologie d'identification par l'ADN et APL
Introduction

héritage mendélien

Mutation

Test de paternité

Essais de parenté

Identification du corps

Dépistage des catastrophes

Discrimination raciale

Notes de programmation et remerciements

À la fin des années 1980, l'ADN était en voie de remplacer la sérologie comme méthode de dépistage génétique de bien meilleure qualité.

Les frontières technologiques s'ouvraient donc, et j'étais heureux d'avoir la chance de mettre derrière moi la " programmation à l'embauche " dans le développement d'APL, d'applications commerciales ou autres, et de me tourner exclusivement vers la recherche de moyens de fusionner mes intérêts en informatique, mathématiques et sciences.

L'essence du génome est une séquence de 3-109 paires de bases, les bases (nucléotides) étant A,C,G,T et les paires étant A-T (ou T-A) et C-G (ou G-C).

Notez qu'il y a un appariement à deux niveaux : Les chromosomes sont appariés en ce sens qu'il y en a deux de chaque nombre, ce qui est physiquement significatif pendant la division et la reproduction cellulaires et génétiquement significatif parce que la plupart des gènes se produisent en deux copies. Deuxièmement, le brin d'ADN dans chaque chromosome est un brin double (double hélice), avec la séquence de A, C, G et T sur un brin reflétée par une séquence complémentaire de T, G, C et A sur l'autre par la règle de couplage. Pendant la division cellulaire, les brins se séparent et chaque brin sert ensuite de modèle pour recréer une copie du double brin original.

Un chromosome moyen est d'environ 100 000 000 000 de paires de bases. Un gène est un petit sous-ensemble d'un chromosome, généralement quelques milliers de paires de bases. Toute erreur aléatoire dans la séquence est susceptible d'invalider le gène et, par conséquent, l'organisme ; il y a relativement peu de variation dans les gènes entre les individus.

En revanche, le génome est rempli d'ADN poubelle, dont les variations n'entraînent aucune pénalité de survie et donc beaucoup de variation s'est accumulée au fil du temps et peut être utilisé pour distinguer les individus. On utilise donc des localisations traditionnelles (laps de temps = quelques années) (loci, locus singulier) dans le génome, parfois appelées pseudo-gènes. Le locus TH01 (près du gène de la tyrosine hydroxylase) est défini comme un tronçon particulier d'environ 200 bases à 11p15.5 - chromosome 11, le bras p ou court, dans la bande 15. La partie "business" du TH01 se compose de 6 à 11 courtes répétitions en tandem (STR) du même motif à 4 bases (tétramère) : AATG, par exemple AATGAATGAATGAATGAATGAATGAATGAATGAATGAATG. Les formes variantes, appelées allèles (analogues aux isotopes ou aux isomères), varient d'un individu à l'autre et aussi entre les deux chromosomes d'une paire chez un même individu. Par exemple, une personne peut avoir un type TH01 de 8,10.

Le génome humain se compose de 46 chromosomes. Il y en a deux de 122 chacun, les chromosomes autosomiques. XX ou XY sont les deux chromosomes sexuels.

Un profil d'ADN est généralement composé d'environ 13 loci : ({13,15}, {28,28}, {8,10}, ...). La fréquence des allèles varie considérablement, la moyenne étant d'environ 1/5. La probabilité moyenne d'appariement entre personnes non apparentées est donc de 0,1

par locus, 10-13 pour un profil. D'où une association quasi certaine entre les criminels et les crimes.

Naturellement, tout cela mène à une myriade de possibilités d'outils informatiques pour aider l'analyste de l'ADN. Les données biologiques et biologiques, contrairement aux données techniques, sont par nature irrégulières, incomplètes et inexactes et les logiciels doivent donc être indulgents. C'est pour cette raison et pour d'autres qu'il existe de nombreuses complications techniques.

 

Note de programmation -

DNA-VIEW (le nom du package contenant mes 20 ans de développement logiciel) comprend environ 1000 échantillons de population pour différentes populations et loci. Il y a un menu avec des noms pour chacun, chaque nom bien sûr en plusieurs parties. C'est pourquoi j'ai trouvé très pratique d'utiliser une idée que j'ai apprise d'Eric Lescasse pour la sélection du menu.

  • sélection du contexte - comme l'utilisateur tape les caractères, le menu se réduit aux éléments qui contiennent - et non pas commencez simplement par la phrase dactylographiée. Pour cela, je ont ajouté quelques élaborations de mon cru :
  • multiphrases - si le caractère suivant crée un caractère phrase impossible, alors le programme essaie de diviser l'entrée en deux phrases et limite la liste aux éléments contenant les deux phrases. Il y a une touche utilisateur (tabulation) pour forcer le fractionnement de phrase mais dans la pratique n'est jamais nécessaire. La typographie de conscience permet d'accomplir le travail. Si je veux trouver les données irakiennes compilées par le laboratoire d'Amsterdam sur le locus D18S51 (nommé D18S51 STR Amsterdam Iraqi 70 03/03/27 2pm), je peux tapez amstd18iraq ou iraqd18 ou iraqd18 ou beaucoup d'autres possibilités.
  • observant le cas mais pardonnant - la liste rétrécit quel que soit le cas entré, mais la barre de rebondissement (indiquant l'entrée qui sera choisie si vous appuyez sur Entrée) préfère une entrée qui correspond à la casse.
  • barre d'errance - la barre de rebond a tendance à se déplacer à mesure que vous tapez plus de caractères, sur la théorie que s'il est étaient déjà assis sur le choix désiré que vous auriez arrêté de taper.
  • Fonctionnement multi-mode - le clic de la souris ou le déplacement des flèches sont bien sûr toujours autorisés.

Identification de la parenté

Outre les variations individuelles, que l'ADN partage avec les empreintes digitales, l'ADN possède une autre propriété très utile pour l'identification. Elle est héréditaire. De plus, les règles d'héritage pour les caractères ADN sont extrêmement simples. Tu te souviens des gènes récessifs ? Pénétrance incomplète ? Oublie-les. Avec l'ADN, vous pouvez voir jusqu'à l'essentiel, chaque système est (presque - rien en biologie n'est régulier) un système co-dominant. Il n'y a pratiquement aucune distinction entre le phénotype (ce que vous pouvez voir) et le génotype (ce qu'il y a sur le chromosome).

Héritage mendélien

Les loci autosomiques sont hérités par l'enfant des parents, obtenant au hasard un des deux allèles de chaque parent.

C'est ça, c'est ça. C'est le modèle mendélien, bien que, comme l'a dit G.E. Box, tous les modèles sont faux (mais certains modèles sont utiles). Parfois, nous avons besoin de reconnaître -

Mutation

Occasionnellement (1/200 - 1/2000) un allèle gagnera ou perdra un seul motif d'un parent à un enfant. Rarement plus. Très rarement un changement moins régulier.

Test de paternité

La question classique de la paternité est de recueillir certaines informations génétiques (profils ADN) et de savoir laquelle de ces deux images explique le mieux les données :

Il existe quelques formules simples, telles que 1/q, pour l'analyse de paternité qui sont bien connues des gens dans l'entreprise.

Essais de parenté

Il y a dix ans, j'ai décidé d'essayer de résoudre un problème plus général - compte tenu de deux diagrammes généalogiques reliant n'importe quel ensemble de personnes, de décider avec les données ADN quel ensemble de relations est soutenu par les données (et par combien). C'était difficile et je n'ai pu progresser que lorsque j'ai eu l'idée de faire tous les calculs algébriquement.

La mise en œuvre de cette idée est simple. Chaque fois que le programme original peut ajouter deux probabilités, par exemple : +/P, le nouveau programme a simplement utilisé à la place une fonction définie : Plus/P. Les formules en question s'avèrent être des polynômes à n+1 variables (p, q, .... pour la fréquence de chaque allèle P, Q, ..., plus un symbole, z, pour la fréquence totale de tous les autres allèles), donc la structure de données pour représenter un polynôme est deux tableaux : une matrice des exposants avec une colonne par variable et une rangée pour chaque terme, et un vecteur des coefficients pour chaque terme. Il est facile d'écrire Plus, Times, Simplify (termes de type"collapse like terms"), Over (diviser deux polynômes et supprimer les facteurs communs) et une fonction qui se révèle avoir des propriétés remarquables, UnZ, qui supprime toutes les instances de la variable z en faveur de l'expression équivalente 1p-q-..... . Ceci est nécessaire parce que z ne devrait se produire qu'en interne ; l'utilisateur ne s'attend pas à le voir. Ce qui est remarquable, c'est qu'UnZ réduit considérablement la complexité du polynôme. Des dizaines de termes se réduisent à quelques-uns. Pourtant, les expressions qui en résultent ont un aspect amusant, s'enroulant sur plusieurs lignes lorsqu'elles sont appliquées à une collection irrégulière de personnes qui sont supposées être des demi-frères et demi-sœurs, oncles, cousins et cousines, et consanguins.

Identification du corps

Il s'est avéré que mon jouet a trouvé de nombreuses applications pratiques. L'un d'eux est l'identification corporelle : le profil génétique de ce cadavre est-il lié ou non aux profils de référence du père, de la sœur et de la tante ? En 2001, le programme et moi-même avions une réputation suffisante pour ce genre de problème et, le 12 septembre, lorsque j'ai réussi à vérifier mes courriels à Londres, j'ai reçu une demande du bureau du médecin légiste en chef de New York m'expliquant qu'ils avaient décelé un problème pour lequel je pourrais aider. Ainsi commença une longue saga comprenant des centaines d'identifications difficiles de parenté.

Un nouveau problème qui s'est posé était de trier les milliers de profils d'ADN résultant de l'attaque du World Trade - les profils des victimes provenant de corps anonymes, par rapport aux profils de référence de parents ou de brosses à dents. Étant donné l'identité suspectée, il est très bien d'utiliser le programme de parenté pour le tester, mais le test de parenté est essentiellement manuel (l'information généalogique n'est ni uniforme ni exacte) et il n'est donc pas pratique d'utiliser le programme de parenté un million de fois avec les mauvaises hypothèses.

Dépistage des catastrophes

Il était donc évident qu'un programme spécial de " dépistage " serait nécessaire. Des milliers de profils - peut-être seulement des centaines au début - des informations incertaines sur les véritables structures familiales, des brosses à dents partagées, un ADN de mauvaise qualité conduisant à des profils déficients - une expérimentation serait manifestement nécessaire pour découvrir des heuristiques qui permettraient de trouver des identités candidates probables. Vous êtes devant moi : une application sur mesure pour APL. Comme vous, j'ai dit de me donner les données et je produirai les identités en quelques heures. Il en a été ainsi, bien qu'il ait fallu une semaine ou deux pour surmonter les obstacles bureaucratiques et obtenir les données. Un flux de travail s'est rapidement développé où de nouveaux profils d'ADN, obtenus par divers laboratoires sous contrat, m'ont été acheminés toutes les deux semaines, je les ai soumis au programme de dépistage constamment révisé et j'ai transmis les résultats à une autre firme de logiciels qui les a installés dans une base de données au BCME où les travailleurs sociaux ont utilisé Kinship et autres outils pour prendre les décisions finales sur l'identification. Cette tendance s'est poursuivie pendant deux ans ; par la suite, le flux de nouveaux profils génétiques, de nouvelles informations et de nouvelles identifications s'est tari.

Discrimination raciale

J'en mentionnerai une autre parmi les nombreuses idées intéressantes qui découlent de l'analyse de l'ADN, à savoir l'idée de déterminer la race à partir de l'ADN. L'idée évidente peut être de trouver les gènes "noirs" ou "chinois", mais c'est difficile, voire impossible, et totalement inutile. Au lieu de cela, plusieurs personnes en dehors de moi ont noté que toutes les variations mineures ou modérées de la fréquence des allèles parmi les populations sont des indices de la source d'origine. Si une tache de crime (par exemple, le sperme d'un violeur) contient un allèle qui est 20 % plus fréquent dans la population X que dans la population Y, alors c'est un indice mince qui soutient la population X comme origine. Accumulées sur 26 allèles, ces preuves sont susceptibles d'être très puissantes. Il y a 10 ans en particulier, j'avais l'avantage par rapport à d'autres chercheurs, grâce à ma vaste clientèle internationale, d'avoir à portée de main de nombreuses données sur la population. En plus, je parle APL. Par conséquent, j'ai été en mesure, principalement en passant rapidement par de nombreuses expériences informatiques, de trouver le moyen (dont je ne comprenais pas alors les bases théoriques en génétique des populations) d'extraire les inférences raciales des profils génétiques. C'est parfois utile dans les enquêtes policières, mais c'est surtout intéressant pour faire la lumière sur l'histoire de la migration humaine et cela s'avère avoir une application importante dans la réglementation des courses de chevaux.

Notes de programmation et remerciements

Je suis reconnaissant de la générosité et de la collégialité désintéressée de la communauté APL. En particulier, Don Lagos-Sinclair a complété ma tentative maladroite d'écrire ma méthode de sélection de menu dans APL+WIN, Davin Church a partagé ses outils SQL et a travaillé dur pour m'aider à comprendre, et les gens à APL2000 sont très patients et encourageants aussi. De plus, de nombreuses personnes contribuent à mon apprentissage et m'encouragent simplement par leurs contributions à cette conférence.

Je n'ai pas grand-chose à offrir en retour. Mes jours à la pointe de l'informatique ont probablement expiré vers 1963. Je serais bien sûr heureux de partager les utilitaires ou les idées qui les sous-tendent que j'ai développés, bien que je n'aie pas de code en forme pour les inclure dans un espace de travail. Le commentaire ironique d'Adrian, il y a quelques années, selon lequel les services publics de Rex sont généralement terminés à environ 90 %, devrait être révisé négativement pour mes affaires en l'état.

Je voudrais, cependant, recommander un paquet que John Walker a souligné il y a quelques années, à savoir un paquet d'installation gratuit mais très professionnel appelé Inno Setup et un préprocesseur macro compagnon appeléISTool. L'examen du fichier script[omis] que j'utilise pour créer un fichier d'installation pour DNA-VIEW vous donnera une idée de ses capacités, et dans la mesure où j'ai appris les tenants et aboutissants de son utilisation, je serai heureux de répondre aux questions de tout APLer qui souhaite m'appeler ou m'envoyer un e-mail.

 

Translated by Rutherd Barn
Read the original page here.