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

Slides:



Advertisements
Podobne prezentacje
Dr inż. Magdalena Jabłońska
Advertisements

Egzamin.
Inżynieria Oprogramowania
SQL INJECTION Wykorzystanie błędów w językach skryptowych
Wprowadzenie do C++ Zajęcia 2.
Wykład (12 godz): Jan Aleksander Wierzbicki Ćwiczenia ( godz):
Biologiczne bazy danych
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 3.
Propozycja metodyki nauczania inżynierii oprogramowania
Aplikacje w sieciach Internet/Intranet
PHP vs. ASP PHP – lider wydajności wśród języków skryptowych.
Dokumentowanie wymagań w języku XML
Zastosowanie programu SYBYL do wygładzania przybliżonych modeli białkowych SEKWENCJA AMINOKWASOWA MODELOWANIE METODĄ DYNAMIKI MONTE CARLO NA TRÓJWYMIAROWEJ.
Języki programowania C++
Wykład 6 Wojciech Pieprzyca
Gimnazjum nr 4 im. Kardynała Stefana Wyszyńskiego w Tychach
Systemy zarządzania treścią CMS
Statystyczne sterowanie procesem produkcyjnym
Projektowanie i programowanie obiektowe II - Wykład IV
PHP wprowadzenie.
Modele baz danych - spojrzenie na poziom fizyczny
Prowadzenie dokumentacji
Bioinformatyka II mgr Joanna Kasprzak.
Wady i zalety Microsoft Word –a
Rozwój aplikacji przy wykorzystaniu ASP.NET
Organizacja seminarium dyplomowego inżynierskiego
Specjalizowane języki programowania
Instytut Tele- i Radiotechniczny WARSZAWA
Model przestrzenny Diagramu Obiegu Dokumentów
Źródła: podręcznikopracował: A. Jędryczkowski.
TECHNIKA CIEPLNA (Z WYMIANĄ CIEPŁA) laboratoria
Arkadiusz Twardoń ZTiPSK
Tworzenie przedmiotów, zajęć i protokołów
XML – eXtensible Markup Language
Moduł: Informatyka w Zarządzaniu
Wybrane zagadnienia relacyjnych baz danych
ZAKŁAD SYSTEMÓW KOMPUTEROWYCH
Programowanie obiektowe – język C++
Systemy zarządzania treścią Wykład 5
LICEUM PROFILOWANE O PROFILU ZARZĄDZANIE INFORMACJĄ
SPECJALNOŚĆ: Oprogramowanie Systemowe
Podstawy programowania
Projektowanie Aplikacji Internetowych
System plików.
Informatyka Stosowana – ROK II / III
System Zarządzania Bazą Danych
Projektowanie Aplikacji Internetowych Artur Niewiarowski Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska.
Zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego.
Podstawy języka skryptów
Programowanie w językach skryptowych
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
Analiza wyników ankiet studenckich za rok 2014/2015 ( semestr zimowy)
Platforma .Net.
Moduł e-Kontroli Grzegorz Dziurla.
BAZY DANYCH MS Access.
Języki i technologie wytwarzania stron WWW Autor: Michał Walkowski Referat.
MAS Rafał Hryniów. Agenda  Zasady  Referaty  Projekt  Kolosy.
OBOWIĄZKOWEPRAKTYKIZAWODOWE INFORMACJE OGÓLNE. praktyki zawodowe integralny element studiów I stopnia integralny element studiów I stopnia wymiar: 120.
ST | 9/16/2015 | © Robert Bosch GmbH All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well.
Konkursy i seminaria metodyczne dla nauczycieli informatyki.
Zarządzanie Procesami mgr Natalia Płominska
Kurs języka C++ – organizacja zajęć ( )
Specjalizowane języki programowania
Podstawy tworzenia skryptów
Spotkanie opiekuna roku ze studentami
Wydział Inżynierii Materiałowej i Metalurgii
JavaBeans by Paweł Wąsala
NAUKA ADMINISTRACJI mgr Karina Pilarz.
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

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

Harmonogram zajęć Wykłady odbywają się co drugi tydzień, laboratoria co tydzień 8 wykładów (w tygodniach parzystych - „pod kreską”) 16 spotkań na laboratoriach Lista tygodni: es/WI_tygodnie%202015_16.pdf es/WI_tygodnie%202015_16.pdf Przedmiot kończy się zaliczeniem przed końcem semestru (tj. przed ) Wykłady odbywają się co drugi tydzień, laboratoria co tydzień 8 wykładów (w tygodniach parzystych - „pod kreską”) 16 spotkań na laboratoriach Lista tygodni: es/WI_tygodnie%202015_16.pdf es/WI_tygodnie%202015_16.pdf Przedmiot kończy się zaliczeniem przed końcem semestru (tj. przed )

Zasady zaliczenia Zgodnie z regulaminem studiów: 1. „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.” 2. „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.” 3. „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 pięć laboratoriów (dwa bez usprawiedliwienia) Na laboratoriach będą obowiązywały regularne sprawozdania z zajęć jako forma sprawdzania wiedzy Mogą wystąpić tzw. wejściówki Zgodnie z regulaminem studiów: 1. „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.” 2. „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.” 3. „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 pięć laboratoriów (dwa bez usprawiedliwienia) Na laboratoriach będą obowiązywały regularne sprawozdania z zajęć jako forma sprawdzania wiedzy Mogą wystąpić tzw. wejściówki

Konsultacje i kontakt Gdzie? Centrum Wykładowo-Konferencyjne Politechniki Poznańskiej Pokój 122 (na I piętrze) Kiedy? Poniedziałki od 8.15 do 9.45 lub inny umówiony termin (np. przed laboratorium) Informacje kontaktowe: Tel.: Gdzie? Centrum Wykładowo-Konferencyjne Politechniki Poznańskiej Pokój 122 (na I piętrze) Kiedy? Poniedziałki od 8.15 do 9.45 lub inny umówiony termin (np. przed laboratorium) Informacje kontaktowe: Tel.:

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. Pełna specyfikacja przedmiotu znajduje się w kartach ETCS: l 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. Pełna specyfikacja przedmiotu znajduje się w kartach ETCS: l

Plan zajęć Informacje organizacyjne i wprowadzenie do przedmiotu Języki skryptowe Perl i BioPerl (3x) Python i BioPython (3x) Zaliczenie (1x) Informacje organizacyjne i wprowadzenie do przedmiotu Języki skryptowe Perl i BioPerl (3x) Python i BioPython (3x) Zaliczenie (1x)

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

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

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ć wyekstrahowana tylko część danych np. pojedynczy model białka z pliku PDB Dane generowane przez różne aplikacje muszą zostać zagregowane 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ć wyekstrahowana tylko część danych np. pojedynczy model białka z pliku PDB Dane generowane przez różne aplikacje muszą zostać zagregowane

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 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

Ź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 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

Organizacja danych Pliki płaskie Relacyjne bazy danych Obiektowe bazy danych Bazy danych typu NoSQL Pliki płaskie Relacyjne bazy danych Obiektowe bazy danych Bazy danych typu NoSQL

Dostępność danych Dostępne publicznie bez restrykcji Dostępne, ale chronione prawami autorskimi Dostępne, ale bez możliwość pobrania Dostępne dla środowiska akademickiego Komercyjne Dostępne publicznie bez restrykcji Dostępne, ale chronione prawami autorskimi Dostępne, ale bez możliwość pobrania Dostępne dla środowiska akademickiego Komercyjne

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

Algorytmy i analizy 1) Proste operacje – wyszukiwanie ciągów znaków, zliczanie, itp. 2) Porównywanie sekwencji 3) Konstrukcja drzew (filogenetycznych) 4) Detekcja wzorców w sekwencjach 5) Modelowanie struktur 3D z sekwencji 6) Wnioskowanie dot. mechanizmów regulacji komórkowej 7) Przewidywanie lub determinacja funkcji białek i szlaków metabolicznych 8) Asemblacja fragmentów DNA 1) Proste operacje – wyszukiwanie ciągów znaków, zliczanie, itp. 2) Porównywanie sekwencji 3) Konstrukcja drzew (filogenetycznych) 4) Detekcja wzorców w sekwencjach 5) Modelowanie struktur 3D z sekwencji 6) Wnioskowanie dot. mechanizmów regulacji komórkowej 7) Przewidywanie lub determinacja funkcji białek i szlaków metabolicznych 8) Asemblacja fragmentów DNA

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, skrypty w PowerShell AWK (Zobacz: awk.ppt) Perl Python Ruby 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, skrypty w PowerShell AWK (Zobacz: awk.ppt) Perl Python Ruby

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

Języki skryptowe Biopython jest zbiorem modułów Python Kluczowe elementy projektu BioPython tworzenie parserów do danych biologicznych Projektowanie interfejsów użytecznych w przetwarzaniu sekwencji Biopython jest zbiorem modułów Python Kluczowe elementy projektu BioPython tworzenie parserów do danych biologicznych Projektowanie interfejsów użytecznych w przetwarzaniu sekwencji

Języki skryptowe BioPHP dawniej GenePHP, „seeks to encourage the use of PHP as a “glue” language to bind web-based bioinformatics applications and databases” Funkcje zaimplementowane w BioPHP Odczyt danych biologicznych w formatach GenBank-u, Swissprot-a, Fasta, alignment-ów Clustal-a (ALN) Proste analizy sekwencji BioPHP dawniej GenePHP, „seeks to encourage the use of PHP as a “glue” language to bind web-based bioinformatics applications and databases” Funkcje zaimplementowane w BioPHP Odczyt danych biologicznych w formatach GenBank-u, Swissprot-a, Fasta, alignment-ów Clustal-a (ALN) Proste analizy sekwencji

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

XML i skł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) 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)

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. Przykład czysto funkcyjnego języka Pod nazwa Biohaskell zbierane są wszelkie programy i biblioteki związane z zastosowaniem haskell-a w biologii.

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 Biomedical Logic Programming (Blip) Zbiór modułów stworzonych z myślą o zastosowaniach bioinformatycznych i biomedycznych Zintregrowany system zapytań Zaimplementowane w SWI-Prolog

Programowanie deklaratywne i funkcyjne BioBike jest 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życiu BioLisp (Lisp z dodatkiem funkcjonalności biologicznej) BioBike jest 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życiu BioLisp (Lisp z dodatkiem funkcjonalności biologicznej)

ZADANIE DOMOWE: AWK - PRZYPOMNIENIE