Strony: [1]
  Drukuj  
Autor Wątek: Parser FASTY  (Przeczytany 1883 razy)
maciosz
Administrator
Hero Member
*****
Wiadomości: 725


5564019
Zobacz profil Email
« : Grudnia 19, 2014, 06:15:03 »

Parser FASTY

Użytkownik dostaje plik FASTA, ma zwrócić np. listę liter. Albo coś dalej z nią zrobić, np. wyliczyć GC-content, albo sprawdzić czy występuje tam sekwencja ATTATA czy coś takiego. Chodzi raczej o wprowadzenie umiejętności wczytywania z pliku. Może też być przy okazji umiejętność zapisywania do pliku: czyli wczytaj FASTĘ, zrób sekwencję komplementarną i zapisz do pliku jako FASTA.
« Ostatnia zmiana: Marca 15, 2015, 10:24:23 wysłane przez maciosz » Zapisane

Chaos zawsze pokonuje porządek, gdyż jest lepiej zorganizowany.
Terry Pratchett
pjankowski
Student
Full Member
***
Wiadomości: 237



Zobacz profil Email
« Odpowiedz #1 : Lutego 15, 2015, 07:44:44 »

Pomyślałem, że można by rozwinąć pomysł i zrobić taki "mini-kombajn" do fasty.
User dostaje od nas plik z sekwencją (w przyszłości będzie można pomyśleć o jakimś generatorze, albo przynajmniej o losowaniu spośród 1000 w bazie) i musi wyliczyć GC-content, znaleźć TATA-box'y, kodony startu i stopu, ilość niedokładnie określonych nukleotydów itd., a potem zapisać wyniki w ściśle określony sposób do pliku.

Także generalnie:
REZERWACJA

Analogiczne zadanie będzie (edit:) można poczynić do formatu .pdb
« Ostatnia zmiana: Marca 01, 2015, 10:40:21 wysłane przez pjankowski » Zapisane
maciosz
Administrator
Hero Member
*****
Wiadomości: 725


5564019
Zobacz profil Email
« Odpowiedz #2 : Lutego 16, 2015, 10:34:45 »

Zacny pomysł Uśmiech Podoba mi się fraza kombajn do fasty Chichot

Uprzedzam że do pdb może być ciężej, bo to jakiś stuknięty format z mnóstwem reguł, z jakimiś spacjami zamiast tabów których musi być dokładnie ileśtam, a połowa plików w pdb-ie i tak tych wymogów nie spełnia.
Zapisane

Chaos zawsze pokonuje porządek, gdyż jest lepiej zorganizowany.
Terry Pratchett
pjankowski
Student
Full Member
***
Wiadomości: 237



Zobacz profil Email
« Odpowiedz #3 : Lutego 19, 2015, 12:17:04 »

To prawda PDB jest trochę "ciekawszym" formatem, ale jak się odfiltruje wszystkie linikji, które nie zaczynają się od "ATOM", to nawet idzie coś z tego wyliczyć Uśmiech

Ostatnio trafiłem na oficjalny manual do .pdb - miał ponad 150 stron  Chichot
« Ostatnia zmiana: Lutego 19, 2015, 12:21:25 wysłane przez pjankowski » Zapisane
pjankowski
Student
Full Member
***
Wiadomości: 237



Zobacz profil Email
« Odpowiedz #4 : Marca 15, 2015, 12:44:55 »

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 Mrugnięcie)*/, aby dowiedzieć się więcej o formacie FASTA. Przykłady:

Kod:
>gi|568815587:6259611-6272127 Homo sapiens chromosome 11, GRCh38.p2 Primary Assembly (fragment)
GGGAACCGGACCCGGGCCGGGGGCTTCCCTGTGCCGCCCGGGGGCGCCTCTCCTCAACAGCAGCAGTGTG
GGCAACCTCAGCTGCGAGCCCCCTCGCATTCGCGGAGCCGGGACACGAGGTGGGTGCCTCCCTCAGCCCC
CCCCACAAGCTATTTCTCACTGTACCCCAGAACACTAATAGAGTCCCCCCAACGAGCTCCACACTACCTT
CTCAAACGTCCACACCGTGCCTCTCATAGTACTCCCTCAGCCCCCAAACAGCTCCCCTCACACCTTCACC
CCCACAGCCTACAACTTCATCACAGCTTCACACCACCTGGTCGGAACTCCTTCACATCCTGGTCCCCTGA
ATACACCTAGAGCCCCTGCT

Kod:
>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.
« Ostatnia zmiana: Marca 15, 2015, 01:12:52 wysłane przez pjankowski » Zapisane
maciosz
Administrator
Hero Member
*****
Wiadomości: 725


5564019
Zobacz profil Email
« Odpowiedz #5 : Marca 15, 2015, 10:19:57 »

Spoko. Może być problem z tą tabelką, ale to najwyżej się to zmieni w oddzielone średnikami czy co. Może przydałby się wtedy też przykład jak może wyglądać wynik (np. że znalezienie kodonów start polega na wypisaniu listy pozycji pierwszego nukleotydu w kodonie), ale to już wyjdzie w praniu jak zadanie będzie w serwisie i tester będzie chciał je zrobić.
Zapisane

Chaos zawsze pokonuje porządek, gdyż jest lepiej zorganizowany.
Terry Pratchett
pjankowski
Student
Full Member
***
Wiadomości: 237



Zobacz profil Email
« Odpowiedz #6 : Marca 15, 2015, 10:25:03 »

Celowo wstrzymałem się od wypisywania dokładnego schematu podawania wyniku, bo to będzie bardzo zależało od tego jak będzie wyglądał serwis.
Zapisane
maciosz
Administrator
Hero Member
*****
Wiadomości: 725


5564019
Zobacz profil Email
« Odpowiedz #7 : Marca 15, 2015, 10:30:57 »

Jasne, tak tylko zaznaczam. Dlatego też już ikonka zmieniła się w kciuk w górę Mrugnięcie
Zapisane

Chaos zawsze pokonuje porządek, gdyż jest lepiej zorganizowany.
Terry Pratchett
Strony: [1]
  Drukuj  
 
Skocz do:  


SimplePortal 2.3.1 © 2008-2009, SimplePortal