Supporting the community
Matematica juridica Introducere Identificarea de rudenieNote de Programare si Confirmari |
Charles Brenner Prezentare la APL2000 User Conference, Naples, Florida in Noiembrie 8, 2005 | ||
In care un potential matematician, un geneticist si un programator necultivat folosesc agilitatea APL pentru a identifica infractorii, parintii, Centrul Comertului International si victimele tsunami si a determina rasa folosind ADN-ul intr-o lume a tehnologiei de identificare rapida a ADN-ului. |
Pana la sfarsitul anilor 1980 ADN-ul a fost bine sa inlocuiasca serologia ca o metoda mult mai superioara de testare genetica, noi frontiere tehnologice au fost, prin urmare, deschidere si am fost bucuros pentru sansa de a pune in spatele meu "programare pentru inchiriere" in dezvoltarea APL, Sau orice altceva si sa ma concentrez exclusiv pe gasirea unor modalitati de imbinare a intereselor mele in computere, matematica si stiinta.
The human genome consists of 46 chromosomes. There are two each of 1-22, the autosomal chromosomes. XX or XY are the two sex chromosomes. |
Esenta genomului este o secventa de 3 • 10(9) perechi de baze, bazele (nucleotidele) fiind A, C, G, T si perechile fiind A-T (sau T-A) si C-G.
Retineti ca exista pereche la doua niveluri: Cromozomii sunt imperecheati prin faptul ca exista doua din fiecare numar, care este semnificativ din punct de vedere fizic in timpul diviziunii si reproducerii celulare si semnificativ din punct de vedere genetic deoarece cele mai multe gene apar in doua copii. In al doilea rand, sirul ADN din fiecare cromozom este o dubla fire (dublu helix), cu secventa lui A, C, G si T pe o singura rama, oglindita de o secventa complementara de T, G, C si A, pe de alta parte Regula de imperechere. In timpul diviziunii celulare, firele sunt separate si fiecare singura fasie serveste apoi ca model pentru a recrea o copie a liniei duble originale.
|
|
Un cromozom mediu este de aproximativ 100.000.000 de perechi de baze lungi. O gena este un subgrup mic al unui cromozom, de obicei cateva mii de perechi de baze. Orice eroare aleatorie din secventa este de natura sa incapaciteze gena si la randul ei, organismul; In consecinta, exista o variatie relativ mica intre gene in randul indivizilor.
Prin contrast, genomul este plin cu ADN-ul nedorit, variatii in care nu poarta nici o pedeapsa de supraviețuire si prin urmare o multime de variatii s-au acumulat in timp si pot fi folosite pentru a distinge indivizii. Sunt folosite astfel locatii traditionale (timp span = cativa ani) in genomul numit uneori pseudogene. Locusul TH01 (aproape de gena pentru hidroxilaza tirozinei) este definit ca o intindere particulara de aproximativ 200 de baze la 11p15.5 - cromozomul 11, bratul scurt sau p, in banda 15. Partea "afaceri" a TH01 consta din 6 pana la 11 repetari tandem scurte (STR) ale aceluiasi motiv cu 4 baze (tetramer): AATG, de exemplu AATGAATGAATGAATGAATGAATG. Formele variante, numite alele (analogi izotopilor sau izomerilor) variaza intre indivizi si de asemenea intre cei doi cromozomi ai unei perechi in cadrul unui individ. De exemplu, o persoana poate avea un tip TH01 de 8,10.
Un profil ADN este in mod tipic de 13 sau mai multe locatii: ({13,15}, {28,28}, {8,10}, ...). Alelele variaza foarte mult in functie de frecventa, media fiind de aproximativ 1/5. Probabilitatea medie de potrivire intre persoanele necuprinse este, prin urmare, 0,1 pentru fiecare loc, 10-13 pentru un profil. Prin urmare, aproape asociatie de criminali cu infractiuni.
Desigur, toate acestea conduc la nenumarate oportunitati de instrumente informatice pentru a ajuta analistul DNA. Biologia si datele biologice, spre deosebire de datele de inginerie, sunt in mod inerent neregulate, incomplete si inexacte, iar software-ul trebuie, prin urmare, sa fie iertator. Din acest motiv si altele exista multe complicatii tehnice.
Note de Programare –
Vizualizarea ADN (Numele pachetului care contine 20 de ani de dezvoltare a software-ului meu) include 1000 de esantioane de populație pentru diferite populatii si locuri. Exista un meniu cu nume pentru fiecare, fiecare nume desigur multi-parte. Prin urmare, am gasit foarte convenabil sa folosesc o idee de la Eric Lescasse pentru meniu.
Pe langa variatia individuala, care ADN-ul imparte cu amprentele digitale, ADN-ul are o alta proprietate de mare utilitate pentru identificare. Este mostenit. In plus, regulile de mostenire pentru trasaturile ADN sunt extrem de simple. Amintiti-va genele recesive? Penetrare incompleta? Uita-i. Cu ADN-ul puteti vedea chiar pana la elementele de baza, fiecare sistem este (aproape - nimic in biologie este regulat) un sistem co-dominant. Nu exista practic nici o distinctie intre fenotip (ceea ce puteti vedea) si genotip (ceea ce este pe cromozom).
Sunt cateva formule simple, precum ar fi 1/q, Pentru analiza de paternitate, care este bine cunoscuta oamenilor in afaceri.
Implementarea acestei idei este simpla. Ori de cate ori programul original ar putea adauga doua probabilitati, de exemplu: + / P, noul program pur si simplu a folosit o functie definita: Plus / P. Formulele in cauza se dovedesc a fi polinoame in variabilele n + 1 (p, q, ... pentru frecventa fiecarei alele P, Q, ... plus un simbol z pentru frecventa totala a tuturor celorlalte Alele), prin urmare, structura de date pentru a reprezenta un polinom este două matrice: o matrice de exponenti cu o coloana per variabila si un rand pentru fiecare termen si un vector de coeficienti pentru fiecare termen. Este usor sa scrieti Plus, Times, Simplify (colaps ca termeni), Over (impartiti doua polinoame si eliminati factorii comuni) si o functie care se dovedeste a avea proprietati remarcabile, UnZ, care elimina toate instantele variabilei z in favoarea A expresiei echivalente 1-pq -.... Acest lucru este necesar deoarece z ar trebui sa aiba loc numai pe plan intern; Utilizatorul nu se aateapta sa-l vada. Ceea ce este remarcabil este ca UnZ reduce foarte mult complexitatea polinomului. Zeci de termeni se reduc la cateva. Totusi, expresiile rezultate sunt uimitoare, infasurandu-se la mai multe linii atunci cand sunt aplicate in colectia neregulata a persoanelor care sunt ipotezati sa fie semidecizi, unchi, veri si incestuosi.
O noua problema care a aparut a fost sa rezolvam mii de profiluri ADN care provin din atacul World Trade - profilurile victimelor de la organisme anonime, comparativ cu profilurile de referinta ale rudelor sau periutelor de dinti. Avand in vedere o identitate suspectata, este foarte bine sa folosim programul Kinship pentru al testa, dar testarea rudeniei este in mod inerent manuala (informatiile pedigree nu sunt nici uniforme si exacte) astfel incat nu este practic sa folositi programul de rudenie de un milion de ori cu ipoteze gresite.
Sunt recunoscator pentru generozitatea si colegialitatea altruista a comunitatii APL. In special, Don Lagos-Sinclair mi-a completat incercarea de a scrie metoda mea de selectie in APL + WIN, Biserica Davin a impartasit instrumentele SQL si a muncit din greu pentru a ma ajuta sa ințeleg, iar oamenii de la APL2000 sunt foarte rabdatori si incurajatori . In plus, exista multe persoane care contribuie si incurajeaza invatarea mea prin simpla contributie la aceasta conferinta.
Nu am multe de oferit in schimb. Zilele mele in fruntea alfabetizarii pe calculator probabil au expirat in jurul anului 1963. Desigur, as fi bucuros sa impartasesc utilitatile sau ideile din spatele lor pe care le-am dezvoltat, desi nu am nici un cod in forma ca pe un spatiu de lucru. Comentariul rau al lui Adrian, cu cativa ani in urma, ca utilitatile lui Rex sunt in mod obisnuit de aproximativ 90% complete ar trebui sa fie revizuite negativ pentru lucrurile mele in starea lor.
As dori totusi sa recomand un pachet pe care John Walker la subliniat cu cativa ani in urma si anume un pachet de instalare gratuit, dar foarte profesionist, numit Inno Setup si un preprocesor macro de companie numit ISTool. Examinarea fisierului de script [omis] pe care il folosesc pentru a crea un fisier de instalare pentru ADN-ul • VIEW va va oferi o idee despre capabilitatile sale si in masura in care am invatat unele dintre inauntru si afara de a le folosi, voi fi bucuros. Pentru a raspunde intrebarilor de la orice APLer care doreste sa-mi trimita sau sa-mi trimita un e-mail.
We believe in helping people and that matter to us more than anything else. Since the very beginning of our company, our team have been willing and wishing to help.