🟠 ԴՆԹ նույնականացում
ԴՆԹ ինֆորմացիան թույլ է տալիս միարժեքորեն նույնականացնել յուրաքանչյուր անհատի։ Այս մեթոդը լայնորեն օգտագործվում է գրեթե բոլոր երկրների արթարադատության համակարգերում։
Նախորդ խնդրում մենք դիտարկեցինք բիոինֆորմատիկայի հիմնական գաղափարները։ ԴՆԹ ներկայացվում է A T G C նուկլեոտիդների հաջորդականությամբ և 99.6% մարդկանց մոտ այդ շղթաները նույնական են։ Բացի SNP կետերից, մարդկանց ԴՆԹ շղթաներում տարբերությունները շատ հաճախ նաև հանդիպում են նաև այսպես կոչված STR (short tandem repeats) հաջորդականություններում։ STR-ները դրանք ԴՆԹ նուկլեոտիդների կարճ հաջորդականություններ են, որոնք հաջորդաբար կրկնվում են ԴՆԹ շղթայի այս կամ այն հատվածներում։


ԱՄՆ հետաքննությունների դաշնային բյուրոի CODIS ԴՆԹ տվյալների բազան նույնականացման համար օգտագործում են միչև 20 տարբեր STR-ներ, ինչը սխալմունքի հավանականությունը մոտեցնում է զրոյի։
Խնդրի պարզության համար կարող ենք համարել, որ ԴՆԹ տվյալների բազան գտնվում է ֆայլում, իսկ նույնականացումը կատարվում է ընդհամենը 3 STR ների համընկմամբ։ Մուտքային Ֆայլը ունի հետևյալ ֆորմատը՝
Ֆայլի յուրաքանչյուր տող պարունակում է անհատ մարդու STR-ների մասին ինֆորմացիա։
Առաջին տողում գրված է
name,surnameբառերը, որոնց հաջորդում են3STR հաջորդականությունների անուններ (օրինակ AGAT, AATG, TATC, GATA և այլն)
name,surname,AGAT,AATG,TATC
Alice,Cooper,28,42,14
Bob,Wasovski,17,22,19
Charlie,Chaplin,36,18,25STR կրկնությունների տվյալների բազայի օրինակ։
Բերված օրինակում, Alice Cooper անունով մարդու ԴՆԹ-ում AGAT STR-ը կրկնվում է 28 անգամ, AATG STR-ը 42, իսկ TATC STR -ը 14 անգամ։ Bob Wasovski անունով մարդու մոտ նույն երեք STR-ները հանդիպում են համապատասխանաբար 17, 22 և 19 անգամ։ Charlie Chaplin անունով մարդու մոտ նույն STR-ները հանդիպում են համապատասխանաբար 36, 18, 25 անգամ։
Դե ինչ, եկե՛ք գրենք ծրագիր, որը կօգնի նույնականացնել անհատին։ Ծրագիրը, որպես մուտք ստանում է՝
Տվյալների բազայի ֆայլը՝ dnaBase.txt անունով։
Տեքստային , որտեղ պահվում է փնտրվող մարդու ԴՆԹ շղթան` dnaToMatch.txt անունով։
AGACGGGTTACCATGACTATCTATCTATCTATCTATCTATCTATCTATCACGTACGTACGTATCGAGATAGATA
Փնտրվող ԴՆԹ շղթայում, յուրաքանչյուր STR -ի համար (տվյալների բազայի առաջին տող) ծրագիրը պետք է հաշվի դրա ամենաերկար հաջորդական կրկնության քանակը։
Եթե բոլոր երեք STR-ների ամենաերկար հաջորդական կրկնության քանակը համընկնում է տվյալների բազայի որևէ տողի հետ, ծրագիրը էկրանին պետք է տպի համապատասխան մարդու անունը և ազգանունը։
Եթե կրկնություների քանակը չի համընկնում ոչ մի տողի հետ, ծրագիրը պետք է էկրանին տպի “
No Match” տողը։
Օրինակ, եթե ունենք հետևյալ բազայի ֆայլը՝
name,surname,AGAT,AATG,TATC
Armen,Karapetyan,5,2,8
Karen,Poghosyan,3,7,4
Gohar,Davtyan,6,1,5dnaBase
ապա, AACCCTGCGCGCGCGCGATCTATCTATCTATCTATCCAGCATTAGCTAGCATCAAGATAGATAGATGAATTTCGAAATGAATGAATGAATGAATGAATGAATG ԴՆԹ համատասխանում է Կարեն Պողոսյանին, քանի որ՝
AGATSTR-ը հաջորդական կրկնվում է3անգամ։

AATGSTR-ը հաջորդական կրկնվում է7անգամ։

TATCSTR-ը հաջորդական կրկնվում է4անգամ։

Հուշում 1
Constraints
Time limit: 0.2 seconds
Memory limit: 512 MB
Output limit: 1 MB