ITI0140:Ülesanne 5
Still a better love story than Twilight
Tudeng Bella istub geneetika praktikumis ja valmistab ette tunnitööd. Mõtted on tal aga eelmisel õhtul toimunud maagilisel kohtingul Eeduga, mil Verekeskuses töötav hurmur näitas näitsikule kohalikku loodust. Tähelepanematusest aga kleebib Bella valed sildid geneetika praktikumis kasutatud tuubidele, kus on erinevatest organismides eraldatud draculin'i geen. Paanikas ja ajahädas otsustab Bella abi küsida bioinformaatik Jakobilt, kes kirjutaks talle programmi, mis kiirelt tuvastab, millise järjestusega geen tuubis kuulub millisele organismile.
Sinu ülesandeks on kirjutada programm, mis võtab failist "EX05_DNA" DNA järjestused, transkribeerib neist RNA ning neist omakorda transleerib valgu kasutades molekulaarbioloogia põhiseadusi (RNA transkribeerib vastasahelalt tRNA kujule). Valgujärjestuste korral tuleb arvestada aminohapete nimetuste ühetähelisi akronüüme (näiteks seriin - S, lüsiin - K jne). Saadud valgujärjestuste vastsed organismide ladinakeelsed nimed tuleb leida failist "EX05_Protein.csv" ja salvestada saadud tulemused "dictionary"sse, kus võti (key) on organismi ladinakeelne nimi ja väärtus (value) on arv, mitu korda esines tema DNA-d failis "EX05_DNA.txt".
Tehilised nõuded
Kogu lahendus peab olema failis EX05.py, mis tuleb panna kataloogi EX05. See tähendab, et fail asub salves kohal EX05/EX05.py
Programmis tuleb kasutada vähemalt nimetatud funktsioone muutmata kujul:
read_dna_data_from_file(filename) => string dna transcribe_dna_to_rna(dna) => string rna translate_rna_to_protein(rna) => string protein determine_species(classification_file) => dict of species and count
Näide:
read_dna_data_from_file(filename) => 'TCCTGAAG' transcribe_dna_to_rna(dna) => 'AUGUUUAAA' translate_rna_to_protein(rna) => 'KLDVVD' determine_species(classification_file) => {'Homo sapiens':5,'Mus musculus':3...}