FASTA “kombajn”#FASTA to zdecydowanie najpopularniejszy format pliku służący do reprezentowania sekwencji nukleotydowych i aminokwasowych w formie cyfrowej. W dużym uproszczeniu format składa się z linii zawierających opis sekwencji (zaczynających się znakiem większości “>”) oraz z linii zawierających jednoliterowe skróty nazw nukleotydów/aminokwasów tworzących sekwencję (litery mogą być przedzielane spacjami i liczbami), przy czym te pierwsze nie są obowiązkowe. W jednym pliku może znajdować się jedna lub więcej sekwencji. Kliknij
TUTAJ /*(w przyszłości damy odsyłacz do naszego kompendium

)*/, aby dowiedzieć się więcej o formacie FASTA. Przykłady:
>gi|568815587:6259611-6272127 Homo sapiens chromosome 11, GRCh38.p2 Primary Assembly (fragment)
GGGAACCGGACCCGGGCCGGGGGCTTCCCTGTGCCGCCCGGGGGCGCCTCTCCTCAACAGCAGCAGTGTG
GGCAACCTCAGCTGCGAGCCCCCTCGCATTCGCGGAGCCGGGACACGAGGTGGGTGCCTCCCTCAGCCCC
CCCCACAAGCTATTTCTCACTGTACCCCAGAACACTAATAGAGTCCCCCCAACGAGCTCCACACTACCTT
CTCAAACGTCCACACCGTGCCTCTCATAGTACTCCCTCAGCCCCCAAACAGCTCCCCTCACACCTTCACC
CCCACAGCCTACAACTTCATCACAGCTTCACACCACCTGGTCGGAACTCCTTCACATCCTGGTCCCCTGA
ATACACCTAGAGCCCCTGCT
>sp|Q7XTE8|14332_ORYSJ 14-3-3-like protein GF14-B OS=Oryza sativa subsp. japonica GN=GF14B PE=1 SV=2
1 MSAQAELSRE ENVYMAKLAE QAERYEEMVE FMEKVAKTVD SEELTVEERN LLSVAYKNVI
61 GARRASWRII SSIEQKEESR GNEDRVTLIK DYRGKIETEL TKICDGILKL LESHLVPSST
121 APESKVFYLK MKGDYYRYLA EFKTGAERKD AAENTMVAYK AAQDIALAEL PPTHPIRLGL
181 ALNFSVFYYE ILNSPDRACN LAKQAFDEAI SELDTLSEES YKDSTLIMQL LRDNLTLWTS
241 DISEDTAEEI REAPKRDSSE GQ
>sp|Q8JG70|AA2DA_DANRE Alpha-2Da adrenergic receptor OS=Danio rerio GN=adra2da PE=3 SV=1
1 MSVTPTANST EEAANITASP RLWPYTEPAS AIIILVVSLI ILLTIVGNVL VIVAVLTSRA
61 LRAPQNLFLV SLACADILVA TLVIPFSLAN EIMGYWYFGS TWCAFYLALD VLFCTSSIVH
121 LCAISLDRYW SVTKAVRYNL KRTPRRIKCM IAVVWLISAV ISFPPLIMTK HDEKECLIND
181 ETWYILSSCA VSFFAPGLIM ITVYCKIYRV AKQRSSTVFV AKNGLERQPS QSETCFVRKD
241 KFEKESPSSN SSESAQRQEE LDDIDLEESA ASDSRARGSR FSKRRRVEGE RRGPQRSCRV
301 SWAAHQEPGS RQQQLASKSK VAQMREKRFT FVLAVVMGVF VLCWFPFFFT YSLQAVCGER
361 CGPPEALFKL FFWIGYCNSS VNPIIYTIFN RDFRKAFKKV VCWSAQRT
>sp|Q08C93|ABD12_DANRE Monoacylglycerol lipase ABHD12 OS=Danio rerio GN=abhd12 PE=2 SV=1
1 MRKRKGSADH DSSFTATLTD GSSDLKQCHK GTDADTDPGG SGKEMGRRCR RGGLMWRLRR
61 ILIWLLGIYI AIPVIIKVCP SIQAKLVFLN FVRVPYFIDL KRPQDQGMNH THNFYLQPEE
121 GINIGVWHTV PAGMWREAQA KDAEWYEKSF QSSHPVILYL HGNAGTRGGD HRVQLYKVLS
181 SLGYHVVTFD YRGWGDSEGS PSERGMTSDA LFLYQWIKQR IGPKPLYIWG HSLGTGVATN
241 LVRRLCDRGT PPDALILESP FTNIREEAKS HPFSMVYRYL PGFDWFFLDA ISANDIRFAS
301 DENVNHISCP VLILHAEDDT VVPFQLGKKL YDLAAQSKSL NGHKVQFIPF SSSLGYRHKF
361 IYKSPQLPNI LSDFLRAPHP HG
Napisz program, który wczyta plik w formacie FASTA (na potrzeby zadania przyjmijmy, że w pliku znajduje się jedna sekwencja jądrowego, eukariotycznego DNA nieprzedzielona spacjami/liczbami - tak jak w pierwszym przykładzie) i go zanalizuje, tj.:
-Obliczy #GC-content (w przypadku niedokładnie określonego nukleotydu (litery innej niż A/C/G/T) należy go pominąć),
-Znajdzie wszystkie potencjalne #kodony start i stop (przyjmijmy, że są to odpowiednio ATG oraz TAG, TAA, TGA), tj. pozycje pierwszych nukleotydów w kodonie,
-Znajdzie wszystkie potencjalne #TATA-box’y (sekwencje ‘TATAAA’), tj. pozycje pierwszej tyminy w box’ie,
-Znajdzie wszystkie wystąpienia sekwencji A$TT$CC$A, gdzie $ to dowolny nukleotyd (może być nieokreślony), tj. pozycje pierwszej adeniny w tej sekwencji,
-Znajdzie pozycje wszystkich niedokładnie określonych nukleotydów,
-Poda ilość nukleotydów w sekwencji.
Wpisz dane wynikowe do odpowiednich rubryk w poniższej tabeli.