1 Interpret Pythonu Interpret Pythonu sa typicky spustí volaním programu python, ale je lepšie využit nejaké vývojové prostredie. Takýchto vývojových

Podobné dokumenty
Vzorové riešenia úlohy 4.1 Bodovanie Úvod do TI 2010 Dôvod prečo veľa z Vás malo málo bodov bolo to, že ste sa nepokúsili svoje tvrdenia dokázať, prič

Metódy dokazovanie v matematike 1 Základné pojmy Matematika exaktná veda vybudovaná DEDUKTÍVNE ZÁKLADNÉ POJMY základy každej matematickej teórie sú in

Prenosový kanál a jeho kapacita

GEODETICKÝ A KARTOGRAFICKÝ ÚSTAV BRATISLAVA Chlumeckého 4, Bratislava II Obsah 1. Export údajov ZBGIS do CAD formá

Microsoft PowerPoint - SLIDES_02DTD.ppt

SAEAUT SNMP OPC Server

Microsoft Word - prirucka_katedry_nova

Informačné technológie

03_ControlFlow.dvi

FAQ

História

Import absencí z ASC

Matej Kendera - PDF, word, lucene, java

Axióma výberu

Používateľská príručka POUŽÍVATEĽSKÁ PRÍRUČKA Generátor XML dávok pre Informačný systém kontrolných známok z MS Excel šablóny Dátum: Verzia

Matematický model činnosti sekvenčného obvodu 7 MATEMATICKÝ MODEL ČINNOSTI SEKVENČNÉHO OBVODU Konečný automat predstavuje matematický model sekvenčnéh

Relačné a logické bázy dát

Snímka 1

iot business hub whitepaper isdd_em_New.pdf

30440_Enek_szlovak_2016._ofi.indd

Algoritmizácia a programovanie - Štruktúrované údajové typy

Pokrocilé programovanie XI - Diagonalizácia matíc

Microsoft Word - skripta3b.doc

enum

dFlex Nitra spol. s r.o.

Manuál pre nastavenie tlače z VRP tlačiarní bluetooth Bluetooth Manuál pre nastavenie tlače z VRP tlačiarní -1-

1

Microsoft Word - 06b976f06a0Matice - Uzivatelska Dokumentacia

NÁRODNÉ POROVNÁVACIE SKÚŠKY BIO T MÁJA I 2019 Dátum konania skúšky: 1. mája 2019 Max možné skóre: 39 Počet riešitelov testa: 357 Max dosiahnuté skóre:

Microsoft Word - manual_ESS_2010

Microsoft Word - Argumentation_presentation.doc

Cvičenie 9 Riešené príklady 1. Príklad min f(x 1, x 2 ) = x x x 1 s.t. x 1 80 x 1 + x Pre riešenie úlohy vykonáme nasledujúce kroky

ECDL Syllabus V50 SK-V01

DediĊnosť

NÁVRH UČEBNÝCH OSNOV PRE 1

Analýza sociálnych sietí Geografická lokalizácia krajín EU

Objektovo orientované programovanie

2.5. Dotyčnica krivky, dotykový kužeľ. Nech f je krivka a nech P V (f) (t.j. m P (f) 1). Ak m P (f) = r a l je taká priamka, že I P (f, l) > r, potom

Manuál aplikácie eoev

Súkromné gymnázium, Česká 10, Bratislava INFORMATIKA

Návod na vytvorenie kvalifikovaného elektronického podpisu prostredníctvom občianskeho preukazu s čipom Dátum zverejnenia: Verzia: 1 Dátu

Microsoft Word - o06_Príručka k inštalácii a registrácii OverKupon_v4.doc

Správa súborov Súbory Adresáre Kódovanie znakov Narábanie so súbormi a adresármi v Pythone Autor: Peter Tomcsányi Niektoré práva vyhradené v zmysle li

Poznámky k cvičeniu č. 2

Algoritmizácia a programovanie - Príkazy

Agenda záverečnej práce pedagóg Celá agenda týkajúca sa záverečnej práce je dostupná v obrazovke Záverečná práca (menu Agenda pedagóga -> Záverečné pr

Finančné riaditeľstvo Slovenskej republiky 15/ORP/2019/IM Práca s dostupnými reportami - rola Administrátor/Účtovník Informácia je určená pre podnikat

Microsoft Word - BBL125_227_229_Multilingual_User_Manuel_SK.doc

Obsah tejto príručky Microsoft Prechod na program Access 2010 z programu Access 2003 Vzhľad programu Microsoft Access 2010 sa výrazne odlišuje od prog

Tue Oct 3 22:05:51 CEST Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, kto

Centrum vedecko-technických informácií, Odbor pre hodnotenie vedy, Oddelenie pre hodnotenie publikačnej činnosti Vyhľadávanie a práca so záznamami - C

Navigácia po úvodnej stránke elektronickej schránky Dátum zverejnenia: Verzia: 10 Dátum aktualizácie: Navigácia po úvodnej st

Vnútorná reprezentácia údajových typov

VSDC Free Video Editor stručný návod na používanie Link na sťahovanie softvéru: K prog

Katalóg cieľových požiadaviek k maturitnej skúške

Sirius II Sprievodca inštaláciou a návod na použitie Sirius II - sprievodca inštaláciou a návod na použitie (verzia 3) 1

ŤAHÁK PRAKTICKÁ ČASŤ Prerekvizity: LINUX: WINDOWS: Inštalácia Oracle VirtualBoxu a vytvorenie virtuálneho stroja /návod nižšie/ Operačný system Window

Microsoft PowerPoint - OOP_prednaska_10.pptx

test z informatiky - hardvér Test vytvoril Stanislav Horváth Vstupno - výstupné zariadenia Otázka č.1: Aké zariadenie je na obrázku? (1 bod) a) vstupn

Operačná analýza 2

IT NEWS

Balíčkovanie FreeSWITCH-u pre Debian Autor: Zdenko Holeša, InžProjekt 1, KIS FRI ŽU Predkompilované balíčky Predkompilované balíčky existujú pre Debia

8 Cvičenie 1.1 Dokážte, že pre ľubovoľné body X, Y, Z platí X + Y Z = Z + Y X. 1.2 Dokážte, že pre ľubovoľné body A, B, D, E, F, G afinného priestoru

Prevádzka

Manuál pre nastavenie tlače z VRP Bluetooth, USB tlačiarne Bluetooth, USB tlačiarne Manuál pre nastavenie tlače -1-

Snímka 1

Pokrocilé spracovanie obrazu - Fourierová transformácia

Manažment v Tvorbe Softvéru 2018/2019

Multithreading a komunikácia medzi procesmi a threadmi, Časová závislosť, kritická sekcia a vzájomné vylúčenie, súvislosti medzi týmito pojmami Riešen

Reálnosť využitia RFID technológie pre identifikáciu poštových prepraviek (a ďalšie súvislosti)

Microsoft Word - Manažment_tagov_tim24_tema12_2017.docx

PowerPoint-Präsentation

gis5 prifuk

Microsoft Word - 8.cvicenie.doc

Spustenie založenej VM mimo vmware ESX

Bezpečnosť IT infraštruktúry Riadenie prístupu v operačných systémoch RNDr. Jaroslav Janáček, PhD. Katedra informatiky

Paralelné algoritmy, cast c. 2

Popis textového formátu a xsd schémy na zasielanie údajov podľa 27 ods. 2 písm. f) zákona (formu na zaslanie údajov si zvolí odosielateľ údajov) Texto

OPIdS - finančné riadenie

Snímka 1

Úroveň strojového kódu procesor Intel Pentium Pamäťový operand Adresovanie pamäte Priama nepriama a indexovaná adresa Práca s jednorozmerným poľom Pra

Informačný systém pre externú časť a písomnú formu internej časti maturitnej skúšky Informačný systém pre EČ a PFIČ maturitnej skúšky Užívateľská prír

aplikácia do mobilého telefónu na stiahnutie digitálneho tachografu

User:Peter.Michalec

TSS GROUP A.S. UŽÍVATEL SKÝ MANUÁL EČV 2: Basic a Light Plate recognition software Október 2015 V Dubnica nad Váhom, dňa Róbert Sokol

midterm2014_1

Programujeme krok za krokom prvú mobilnú aplikáciu v AI2

INTERNET BANKING Ako zrealizovať hromadný prevod VŠETKO, ČO JE MOŽNÉ with.vub.sk, Bank of

V jedinej lekcii Meno: 1 Ako reagujete na profesionálne médiá? Pracujte vo dvojiciach a pripravte sa na hranie rolí. Označte sa ako Osoba A a Osoba B.

Rozdeľovanie IT zákaziek UX Peter Kulich

Snímka 1

Riesenie_zasielkovna

Čo sú pojmové mapy 1 Charakterizácia pojmových máp pojmové mapy sú diagramy, ktoré vyjadrujú podstatné vzťahy medzi pojmami vo forme tvrdení. Tvrdenia

Microsoft Word - 11_Distribuované spracovanie dát nad MapReduce architektúrou _Hadoop a Hive_

Microsoft Word - zapis-predmetov-AiS

Združenie obcí - regionálne vzdelávacie centrum samosprávy v Nitre Fraňa Mojtu 18, Nitra IČO: DIČ: IBAN: SK

(Microsoft Word Zadanie na s\372\235a\236 KROS DESIGN AWARD .doc)

Prepis:

1 Interpret Pythonu Interpret Pythonu sa typicky spustí volaním programu python, ale je lepšie využit nejaké vývojové prostredie. Takýchto vývojových prostredí je vol ne k dispozícii niekol ko. IDLE je relatívne jednoduché prostredie, ale funguje totožne pod UNIX-like systémami i Windows. Bohatšie prostredia sú Eclipse a Eric4. Na cvičení budeme používat IDLE. Na začiatku práce je vhodné nastavit aktuálny adresár import os os.chdir( ~/BioInf ) Tiež sa môže hodit úprava cesty, podl a ktorej Python hl adá súbory pre import import sys sys.path #vypise zoznam prehladavanych adresarov Do cesty je možné pridat (na začiatok) adresár, kde budú naše moduly sys.path.insert(0, ~/BioInf/Modules ) 2 Jednoduché manipulácie s DNA sekvenciami Biologické sekvencie je najjednoduchšie reprezentovat ako textové ret azce. Naprogramujte nasledujúce funkcie: 1. DnaComplement(dna) vráti ret azec DNA komplementárny k ret azcu dna. >>> DnaComplement( ACGTAATCGT ) CATGCCGATG 2. Reverse(seq) vráti sekvenciu seq zapísanú odzadu. >>> Reverse( ACGTAATCGT ) TGCTAATGCA 3. DnaReverseComplement(dna) vráti ret azec DNA komplementárny k obrátenému ret azcu dna. >>> DnaReverseComplement( ACGTAATCGT ) GTAGCCGTAC 4. MotifPos(mot,seq) vráti zoznam pozícií, kde sa v sekvencii seq vyskytuje podret azec mot (nazývaný motív, angl. motif). >>> MotifPos( CGT, ACGTAATCGT ) [1, 7] 1

V Pyhtone je vytváranie ret azca postupným pridávaním po jednom znaku vel mi neefektívne. Pri pridaní každého znaku sa vytvorí nový ret azec. Ret azec je možné previest na zoznam jednoznakových ret azcov a naspät. >>> s= abc s >>> print s abc s >>> l=list(s) >>> print l [ a, B, c,, s ] >>> ss=.join(l) >>> print ss abc s Okrem prevodu string zoznam je možné urobit cyklus priamo po znakoch ret azca: for c in thestring: processchar(c) Tzv. list comprehension tiež umožňuje efektívne prejst všetky znaky ret azca (alebo prvky zoznamu): results = [ processchar(c) for c in thestring ] Rovnako efektívne funguje tzv. mapovanie results = map(processchar,thestring) Ak potrebujeme zistit množinu znakov, ktoré sa v ret azci vyskytujú, tak to efektívne urobí prevod na množinu >>> s=set( acgtctaatggactdactttggaagtcccccctgactactcta.upper()) >>> print s set([ A, C, T, G, D ]) >>> dnachars = set([ A, C, G, T ]) >>> if s-dnachars: print Nie je to DNA else: print Je to DNA Nie je to DNA Rýchle funguje aj nahradzovanie v ret azcoch 2

>>> s= dactttggaagtcccccctgac >>> print s, \n,s.replace( Cc, * ) dactttggaagtcccccctgac dactttggaagt*cc*tgac Pre transformácie, kde sa jeden znak nahradzuje jedným znakom je výhodná funkcia translate, ktorá však vyžaduje tabul ku vektor 256 znakov ktorá udáva na i-tej pozícii znak, na ktorý sa má previest znak s ordinálnou hodnotou i. Takú tabul ku vie pripravit funkcia maketrans. Napríklad nahradenie všetkých znakov G na a, I na a a e na a. >>> import string >>> s= GbrIke,dGbrIke >>> tr = string.maketrans( GIe, aaa ) >>> string.translate(s,tr) abraka,dabraka Otočenie ret azca sa dá dosiahnut efektívne rozšíreným operátorom indexovania >>> s= abraka >>> s[::-1] akarba 3 Kódovanie proteínov v DNA Štandardný kód amínokyselín v DNA je nasledujúca tabul ka: TTT F TTC F TTA L TTG L TCT S TCC S TCA S TCG S TAT Y TAC Y TGT C TGC C TGG W CTT L CTC L CTA L CTG L CCT P CCC P CCA P CCG P CAT H CAC H CAA Q CAG Q CGT R CGC R CGA R CGG R ATT I ATC I ATA I ATG M ACT T ACC T ACA T ACG T AAT N AAC N AAA K AAG K AGT S AGC S AGA R AGG R GTT V GTC V GTA V GTG V GCT A GCC A GCA A GCG A GAT D GAC D GAA E GAG E GGT G GGC G GGA G GGG G K nej je treba ešte poznat množinu štartovacích kodónov {TAA, TAG, TGA}, ktorými môže gén začínat, a množinu stop-kodónov {TTG, CTG, ATG}, ktorými gén končí. Ale existujú i d alšie kódy. Napríklad v mitochondriálnej DNA stavovcov (čes. obratlovce) funguje tabul ka: 3

TTT F TTC F TTA L TTG L TCT S TCC S TCA S TCG S TAT Y TAC Y TGT C TGC C TGA W TGG W CTT L CTC L CTA L CTG L CCT P CCC P CCA P CCG P CAT H CAC H CAA Q CAG Q CGT R CGC R CGA R CGG R ATT I ATC I ATA M ATG M ACT T ACC T ACA T ACG T AAT N AAC N AAA K AAG K AGT S AGC S GTT V GTC V GTA V GTG V GCT A GCC A GCA A GCG A GAT D GAC D GAA E GAG E GGT G GGC G GGA G GGG G s množinou štartovacích kodónov {TAA, TAG, AGA, AGG} a množinou stop-kodónov {ATT, ATC, ATA, ATG, GTG}. Takýchto tabuliek sa v bioinformatike používa viac než 10. Jedna z vhodných reprezentácií takejto tabul ky v Pythone je slovník. Štandardná tabul ka sa dá napríklad reprezentovat ako trojica (slovnik_kodonov,start_kodony,stop_kodony). Štandardná kódovacia tabul ka sa potom vytvorí nasledovne: std_table = ({ TTT : F, TTC : F, TTA : L, TTG : L, TCT : S, TCC : S, TCA : S, TCG : S, TAT : Y, TAC : Y, TGT : C, TGC : C, TGG : W, CTT : L, CTC : L, CTA : L, CTG : L, CCT : P, CCC : P, CCA : P, CCG : P, CAT : H, CAC : H, CAA : Q, CAG : Q, CGT : R, CGC : R, CGA : R, CGG : R, ATT : I, ATC : I, ATA : I, ATG : M, ACT : T, ACC : T, ACA : T, ACG : T, AAT : N, AAC : N, AAA : K, AAG : K, AGT : S, AGC : S, AGA : R, AGG : R, GTT : V, GTC : V, GTA : V, GTG : V, GCT : A, GCC : A, GCA : A, GCG : A, GAT : D, GAC : D, GAA : E, GAG : E, GGT : G, GGC : G, GGA : G, GGG : G }, ( TAA, TAG, TGA ), ( TTG, CTG, ATG ) ) Úlohy: 1. Napíšte funkciu PrintCodonTab(table=std_table), ktorá vypíše tabul ku kódov amínokyselín pomocou trojíc báz v DNA a zoznamy štartovacích a stop-kodónov. Ked je parameter s tabul kou vynechaný, tak má použit štandardnú tabul ku. Tabul ku vypíšte prehl adne, príkaz 4

nestačí! print table 2. Napíšte funkciu Cod2Aa(codon,table=std_table), ktorá pre daný kodón codon vráti bud jednopísmenkový kód amínokyseliny alebo ret azec Stop, ak sa jedná o stop-kodón. Ked je parameter s tabul kou vynechaný, tak má použit štandardnú tabul ku. 3. Napíšte funkciu Aa2Cod(amino,table=std_table), ktorá pre daný jednopísmenkový kód amínokyseliny amino vráti zoznam kodónov, ktoré ju kódujú a pre amino= Stop vráti zoznam stop-kodónov. Ked je parameter s tabul kou vynechaný, tak má použit štandardnú tabul ku. 4. Napíšte funkciu Dna2Cod(dna,pos=0,table=std_table), ktorá pre daný ret azec DNA dna vráti ret azec proteínu, ktorý začína na pozícii pos a končí bud nejakým stop-kodónom alebo koncom ret azca DNA. Ked je parameter s tabul kou vynechaný, tak má použit štandardnú tabul ku. Poznámky: Na manipuláciu so slovníkmi sa hodia nasledujúce funkcie slovnik.has_key(kluc) vráti True, ked slovník obsahuje dvojicu s kl účom kluc, slovnik.keys() vráti zoznam všetkých kl účov v slovníku slovnik, slovnik[kluc] vráti hodnotu uloženú s kl účom kluc. 4 Načítanie bioinformatických sekvencií Formát súborov FASTA je vel mi jednoduchý. Jedná sa o textový súbor. Zápis sekvencie začína vždy hlavičkou. Hlavička je jednoriadkový popis začínajúci znakom > nasledovaným identifikátorom sekvencie (až do medzery alebo konca riadku). Za identifikátorom môže nasledovat l ubovol ný popis až do konca riadku. Po hlavičke nasleduje l ubovol ný počet riadkov obsahujúcich sekvenciu rozsekanú na kusy maximálne 80 znakov (často sa maximálna dĺžka riadku nedodržuje). Sekvencia končí bud s koncom súboru alebo hlavičkou d alšej sekvencie. Príklad súboru vo FASTA-formáte: >AtMg00665 nad5b nad5.2 GATATGATGATTGGTTTAGGTA >AtMg00513 nad5a nad5.1 ATGTATCTACTTATCGTATTTTTGCCCCTGCTCGGTAGTTCCGTAGCAGGTTTTTTCGGACGTTTTCTAGGATCA GAAGGAAGCGCTATAATGACCACTACGTGCGTTTCATTCTCTTCGATCTTATCTTTGATTGCTTTTTATGAAGTC GCACCGGGAGCTAGTGCTTGCTATCTAAGAATTGCTCCATGGATCTCATCGGAAATGTTTGATGCTTCTTGGGGC TTCTTGTTCGATAGCCCGACCGTAGTGATGTTAATTGTGGTTACATCCATAAGTAGCTTGGTCCATCTTTATTCC ATTTCATATATGTCCGAGGATCCGCATAGCCCTCGATTTATGTGTTATTTATCCATTCTTACTTTTTTTATGCCA... Základ spracovania textového súboru v Pythone môže byt takto jednoduchý: data = open( Arabidopsis.fasta ).read() 5

Celý textový súbor je načítaný do jediného ret azca. S takýmto ret azcom sa však dobre nepracuje. Podobne sa dá prečítat naraz celý binárny súbor. data = open( Subor.bin, rb ).read() Bezpečnejšie je však definovat inštanciu objektu pre súbor a ten po skončení práce zatvorit fileobj = open( Arabidopsis.fasta ) try: text = fileobj.read() finally: fileobj.close() Načítanie textového súboru sa robí obvykle pomocou metódy readlines(), ktorá vráti zoznam ret azcov obsahujúcich jednotlivé riadky súboru. Pozor, každý takto prečítaný riadok končí symbolom konca riadku \n. Ak súbor vo formáte FASTA obsahuje jedinú sekvenciu, tak sa táto sekvencia dá načítat nasledovne fileobj = open( Arabidopsis.fasta ) try: lines = fileobj.readlines() finally: fileobj.close() dna=.join(lines[1:]) dna = dna.replace( \n, ) Na postupné spracovanie textového súboru po riadkoch sa hodí cyklus cez prvky (riadky) súbora fileobj = open( Arabidopsis.fasta ) try: for line in fileobj: Process(line) finally: fileobj.close()... Režim práce so súborom druhý parameter funkcie open môže obsahovat napríklad ru čítanie textového súboru s univerzálnym rozpoznávaním konca riadku správne budú rozpoznané konce riadkov z DOSu/Windows ( r n ) ale i UNIXu ( r ). w zápis do textového súbora. wb zápis do binárneho súbora. 6

Naprogramujte nasledujúce funkciu: ReadFasta(FName,verbose=1) vráti slovník obsahujúci všetky sekvencie zo súboru s menom FName. Kl účom v slovníku budú identifikátory sekvencií. Pre verbose = 0 funkcia nič nepíše. Inak vypíše identifikátory načítaných sekvencií a ich dĺžky. 7