1 / 26

Specjalizowane języki programowania

Specjalizowane języki programowania. d r inż. Maciej Miłostan. Harmonogram zajęć. Wykłady i laboratoria odbywają się co drugi tydzień 7 wykładów (w tygodniach nieparzystych - „nad kreską”) 7/8 spotkań na laboratoriach (pierwsza grupa „nad kreską” / druga „pod kreską”)

psyche
Download Presentation

Specjalizowane języki programowania

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Specjalizowane języki programowania dr inż. Maciej Miłostan

  2. Harmonogram zajęć Wykłady i laboratoria odbywają się co drugi tydzień • 7 wykładów (w tygodniach nieparzystych - „nad kreską”) • 7/8spotkań na laboratoriach (pierwsza grupa „nad kreską” / druga „pod kreską”) • Lista tygodni: http://fc.put.poznan.pl/files/rozklady/tygodnie.pdf • Przedmiot kończy się zaliczeniem przed końcem semestru (tj. przed 25.01.2012)

  3. Zasady zaliczenia • Zgodnie z regulaminem studiów: • „Nieobecność studenta, nawet usprawiedliwiona, na więcej niż 1/3 zajęć, może być podstawą do niezaliczenia tych zajęć. Niewykonanie ćwiczeń określonych regulaminem laboratorium uniemożliwia zaliczenie zajęć laboratoryjnych.” • „Podstawą do zaliczenia wszystkich rodzajów ćwiczeń i wykładów niekończących się egzaminem są pozytywne wyniki bieżącej kontroli wiadomości. Formę tej kontroli określa prowadzący zajęcia i wystawia ocenę do końca semestru.” • „Studentowi, który w wyniku bieżącej kontroli wiadomości otrzymał ocenę niedostateczną, przysługuje prawo do jednego zaliczenia poprawkowego.” • Ergo: • Można opuścić maksimum dwa laboratoria • Na laboratoriach będą obowiązywały regularne sprawozdania z zajęć jako forma sprawdzania wiedzy

  4. Konsultacje i kontakt • Gdzie? • Centrum Wykładowo-Konferencyjne Politechniki Poznańskiej • Pokój 122 (na I piętrze) • Kiedy? • Poniedziałki od 8.13 do 9.43 Lub inny umówiony termin (np. w tygodniu parzystym przed laboratorium) • Informacje kontaktowe: Maciej.Milostan@cs.put.poznan.pl Tel.: +48-61-665-29-78

  5. Plan przedmiotu • Treści kształcenia Języki programowania ukierunkowane na specyficzne zastosowania, ze szczególnym uwzględnieniem przetwarzania ciągów znaków. Języki skryptowe. Perl. Python. Przetwarzanie danych tekstowych. • Efekty kształcenia - umiejętności i kompetencje Student zna wybrane specjalizowane języki programowania w stopniu umożliwiającym swobodne pisanie programów, ze szczególnym uwzględnieniem przetwarzania danych tekstowych, w tym sekwencji nukleotydowych i aminokwasowych.

  6. Plan zajęć • Informacje organizacyjne i wprowadzenie do przedmiotu • Języki skryptowe i przetwarzanie tekstów (1x) • Perl i BioPerl (3x) • Python i BioPython (2x + 1/2x) • Zaliczenie (1/2x)

  7. Motywacja • Współczesne eksperymenty generują duże ilości danych, które wymagają zautomatyzowanego przetwarzania i gromadzenia w rozmaitych bazach danych

  8. Motywacja • Istnieje wiele formatów przechowywania podobnych danych • Np. formaty sekwencji aminokwasowych i nukleotydowych: • PIR • FASTA • Sama sekwencja (baresequence) • Sekwencja z numeracją i spacjami

  9. Motywacja • Informacje z baz danych, w celu dalszej analizy, często muszą zostać pobrane i przekonwertowane do formatu kompatybilnego z wykorzystywaną aplikacją • Z plików danych musi zostać wyekstraktowana tylko część danych np. pojedynczy model białka z pliku PDB • Dane generowane przez różne aplikacje muszą zostać zagregowane

  10. Rodzaje danych biologicznych • Sekwencje, np. dane genomowe • Struktury przestrzenne • Drzewa filogenetyczne • Sieci / grafy – np. mapy interakcji białek, modelowanie oddziaływań • Szlaki metaboliczne • Dane z mikromacierzy i ekspresja genów • Dane obrazowe

  11. Źródło danych – rodzaje baz • Pochodzenie • Dane pochodzące bezpośrednio z eksperymentu • Dane wywiedzione z danych eksperymentalnych • Dane zagregowane • Jakość • Dane deponowane bezpośrednio • Dane deponowane przez „kuratorów” • Zarządzanie błędami – usuwanie błędnych danych lub ich znakowanie • Sprawdzanie błędów • Spójność, aktualizacje

  12. Organizacja danych • Pliki płaskie • Relacyjne bazy danych • Obiektowe bazy danych

  13. Dostępność danych • Dostępne (ang. available) publicznie bez restrykcji • Dostępne (ang. available), ale chronione prawami autorskimi • Dostępne (ang. accessible), ale bez możliwość pobrania • Dostępne dla środowiska akademickiego • Komercyjne

  14. Opiekunowie/kuratorzy baz • Duże instytucje publiczne (NCBI, EMBL) • Instytucje kwasi-akademickie (Swiss Institute of Bioinformatics) • Grupa akademicka lub naukowiec • Firma komercyjna

  15. Algorytmy i analizy • Proste operacje – wyszukiwanie ciągów znaków, zliczanie, itp. • Porównywanie sekwencji • Konstrukcja drzew (filogenetycznych) • Detekcja wzorców w sekwencjach • Modelowaniestruktur 3D z sekwencji • Wnioskowanie dot. mechanizmów regulacji komórkowej • Przewidywanie lub determinacja funkcji białek iszlaków metabolicznych • Asemblacjafragmentów DNA

  16. Języki skryptowe • Języki interpretowane • Zwykle nie wymagają kompilacji • Często stosują automatyczne typowanie • Przykłady: • Powłoka systemu linux/unix np. język skryptów Bash • Pliki wsadowe .bat • AWK (Zobacz: http://www.cs.put.poznan.pl/jnawrocki/ics/0203/02wpr5-awk.ppt) • Perl • Python • Ruby

  17. BioPerljest zbiorem modułów Perl-a Trzy paradygmaty projektowe w BioPerlu Separacja interfejsów od implementacji Dostarczenie bazowego wzorca (framework-u) dla odpowiednich operacjipoprzez generalizacię typowych procedur do pojedynczego modułu Wykorzystanie wzorców projektowych opracowanych przez ErichaGamma:metoda wytwórcza i wzorzec strategii Języki skryptowe

  18. Języki skryptowe • Biopythonjest zbiorem modułów Python • Kluczowe elementy projektu BioPython • tworzenie parserówdo danych biologicznych • Projektowanie interfejsów użytecznych w przetwarzaniu sekwencji

  19. Języki skryptowe • BioPHP dawniejGenePHP,„seeks to encourage the use of PHP as a “glue” language to bind web-based bioinformatics applications and databases” • Funkcje zaimplementowane wBioPHP • Odczyt danych biologicznych w formatachGenBank-u, Swissprot-a, Fasta, alignment-ówClustal-a (ALN) • Proste analizy sekwencji

  20. Ruby jest obiektowym językiem skryptowym Projekt BioRubyjest wspierany i finansowany przez Human Genome Center na Uniwersyteciew Tokyo Bioinformatics Center na Uniwersytecie w Kyoto Języki skryptowe

  21. XML iskładowanie danych • XML jest uniwersalnym i roszerzalnym formatem przechowywania i wymiany danych oraz dokumentów ustrukturalizowanych • Dwie inicjatywy godne odnotowania: • Bioinformatics Sequence Markup Language (BSML) • BIOpolymer Markup Language (BioML)

  22. Programowanie deklaratywne i funkcyjne • Przykład czysto funkcyjnego języka • Pod nazwa Biohaskell zbierane są wszelkie programy i biblioteki związane z zastosowaniem haskell-a w biologii.

  23. Programowanie deklaratywne i funkcyjne • Biomedical Logic Programming (Blip) • Zbiór modułów stworzonych z myślą o zastosowaniach bioinformatycznych i biomedycznych • Zintregrowany system zapytań • Zaimplementowane w SWI-Prolog

  24. Programowanie deklaratywne i funkcyjne • BioBikejest interaktywnym (z interfejsem web) środowiskiem programistycznym, które umożliwia biologom analizę systemów biologicznych poprzez połączenie wiedzy i danych poprzez bezpośrednie programowanie dokonywane przez użytkownika końcowego • Zaimplementowano przy użyciuBioLisp(Lisp z dodatkiemfunkcjonalności biologicznej)

  25. AWK - pRZYPOMNIENIE

  26. Przypomnienie wykładu prof. J. Nawrockiego: http://www.cs.put.poznan.pl/jnawrocki/ics/0203/02wpr5-awk.ppt

More Related