Pytania kwiecień, maj

Podobne dokumenty
Jak wygląda składanie sekwencji w przypadku sekwencjonowania de novo? Jakie wykorzystuje się do tego narzędzia?

Python dla początkujących. Małgorzata Niewiem AGH, GGiOŚ, Katedra Geoinformatyki i Informatyki Stosowanej SATIM Satelitarny Monitoring

Python. Skąd taka nazwa? Kurs systemu UNIX 1

Programowanie w języku C++ Grażyna Koba

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

ECDL Podstawy programowania Sylabus - wersja 1.0

Programowanie w języku Python. Grażyna Koba

PROGRAMOWANIE W JĘZYKU PYTHON

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski

Podstawy Programowania C++

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Podstawy programowania skrót z wykładów:

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Programowanie komputerów

Przegląd języka Python. Łukasz Anwajler

Algorytmy i struktury danych

JAVA?? to proste!! Autor: wojtekb111111

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

Zaawansowany kurs języka Python

Podstawy Programowania Podstawowa składnia języka C++

Podstawy programowania w języku C

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Liczby losowe i pętla while w języku Python

Technologie informacyjne - wykład 12 -

Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH

Kurs rozszerzony języka Python

Java EE produkcja oprogramowania

Definicje. Algorytm to:

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

1 Podstawy c++ w pigułce.

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Programista samouk : profesjonalny przewodnik do samodzielnej nauki kodowania / Cory Althoff. Gliwice, copyright Spis treści

Język programowania PASCAL

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 25 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38

Lekcja 3: Pierwsze kroki z Pythonem. Pętle

Języki programowania zasady ich tworzenia

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Warsztaty dla nauczycieli

Pętle. Dodał Administrator niedziela, 14 marzec :27

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Programowanie robota mobilnego E-puck w języku Python

Oczywiście plik musi mieć rozszerzenie *.php

1 Podstawy c++ w pigułce.

Algorytm. a programowanie -

Wykresy i interfejsy użytkownika

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

Wprowadzenie do języka Java

Proste algorytmy w języku C

Podstawy programowania w Pythonie

Programowanie w Ruby

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Python wstęp do programowania dla użytkowników WCSS

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

INFORMATYKA KLASA VII Wymagania na poszczególne oceny

Podstawy Programowania

BIOINFORMATYKA BIOLOGICZNE BAZY DANYCH

Struktura pliku projektu Console Application

Zapisywanie algorytmów w języku programowania

Język JAVA podstawy. wykład 1, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

ALGORYTMY I PROGRAMY

TEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE. Szkoła Podstawowa Nr 5. im. Księcia Mazowieckiego Siemowita IV w Gostyninie.

Automatyzacja pracy w AutoCAD

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW

PHP: bloki kodu, tablice, obiekty i formularze

kodowanienaekranie.pl

Podstawy Pythona. Krzysztof Gdawiec. Instytut Informatyki Uniwersytet Śląski

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Programowanie obiektowe

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Podstawy bioinformatyki - biologiczne bazy danych

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

Język ludzki kod maszynowy

Programowanie obiektowe

Języki i metodyka programowania

LibreOffice Calc VBA

JAVAScript w dokumentach HTML - przypomnienie

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Wstęp do programowania

Programowanie od pierwszoklasisty do maturzysty. Grażyna Koba

Informatyka I. dr inż. Andrzej Czerepicki.

Wykład z Technologii Informacyjnych. Piotr Mika

Podstawy programowania.

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Transkrypt:

Pytania kwiecień, maj Od czego zależy to czy jakość zasad w technice NGS jest zakodowana w skali phred 33 czy 64? Czy są jakieś kryteria wyboru tego kodowania? Z czego wynika dobór kodowania skali phred w ocenie jakości nukleotydów? Czy jest to uzależnione od wybranej metody sekwencjonowania i wtedy zawsze kodowanie będzie to samo, czy skala może być zmienna? Zależy od sekwenatora jakiego użyliśmy. Można zrobić przekodowanie. W jaki sposób wyliczona została jakość w tej skali i przypisana konkretnym symbolom w kodzie, które następnie odpowiadają nukleotydom w sekwencji? Czy jeśli prawdopodobieństwo błędnego odczytania nukleotydów jest wysokie to takie nukleotydy należy wyciąć? ASCII jest 7-bitowy kodowany jako liczby całkowite, float jest 32 bitowy W jaki sposób usuwane są adaptery (gdy nie robi tego sekwenator)? Jaki wpływ mają nieprawidłowo usunięte adaptery? Możemy je usunąć jeżeli znamy sekwencję, np. programmem trimmomatic. Nie usunięte adaptery mogą utrudniać mapowanie do genomu referencyjnego lub asemblacje sekwencje nie pochodzą od organizmu, który badamy, więc zmniejszają podobieństwo odczytów.

Pytania kwiecień, maj Czym się charakteryzuje genom referencyjny? Skąd możemy go pozyskać do badań/analizy? Czy możemy sami go wybrać? Czy musi spełniać jakieś konkretne wymagania? Co w momencie gdy marker według jednej z nich np. (Bonferoni'ego) osiąga wynik poniżej 0,05 i jest istotny, a wynik dla innej korekty (np Sidak) nie osiąga progu istotności? Wynik której korekty powinniśmy przyjąć? Czy w bioconductorze można znaleźć pakiet, który mógłby być wykorzystany do analizy różnicy w ekspresji genów, badanej metodą Real Time PCR? Tak, pakiety: ddct, EasyqpcR, HTqPCR (dla metod wysokoprzepustowych) Pakiety w Bioconduktorze charakteryzują się tym, że są bardziej rozbudowane niż pakiety w programie R. Czy oprócz tego są one dokładniejsze w analizie danych? Czy są one uznawane za bardziej rzetelne i profesjonalne przy publikowaniu wyników w artykułach?

Do odpowiedzi: Dlaczego program podaje kilka adnotacji, dla jednego wariantu dla tego samego genu? Jakie błędy można popełnić na etapie przygotowywania matrycy do sekwencjonowania NGS, a jakie na etapie amplifikacji klonalnej, które spowodują otrzymanie fałszywego wyniku lub jego braku?

Egzamin 20 czerwca Czas trwania: 45 minut 15-20 krótkich pytań: otwartych (odpowiedz max 2-3 zdania), uzupełnianie, wymienianie, zaznacz zdanie prawdziwe, itp., proste obliczenia (może się przydać kalkulator) Pytania z wykładów oraz z materiału ćwiczeniowego

Wprowadzenie do programowania w języku Python oraz jego zastosowanie w bioinformatyce Wykład 10 Bioinformatyczna analiza danych Dr Wioleta Drobik-Czwarno

Języki programowania Język programowania to język stworzony do opisu kolejnych kroków, które mają być podjęte przez komputer. ~ instrukcja dawana komputerowi przez człowieka. Język używany przez procesor to kod maszynowy Kod pisany w języku programowania jest przetwarzany na kod maszynowy tak, by mógł zostać przetworzony przez procesor

Klasyfikacja Interpretowane Na bieżąco tłumaczone na język maszynowy komputera przez program zwany interpreterem Kompilowane Kod źródłowy jest tłumaczony na kod maszynowy (wykonywalny program) przez program zwany kompilatorem Jedna instrukcja w kodzie źródłowym to kilka (języki niskiego poziomu), kilkaset instrukcji (języki wysokiego poziomu) w kodzie maszynowym

Główne składowe każdego programu Zmienne Funkcje Sterowanie przepływem wykonywania programu instrukcje warunkowe pętle Schemat blokowy algorytmu Algorytm to jednoznaczny przepis wykonania pewnej czynności w skończonym czasie np. zmiana pewnych danych wejściowych do pewnych danych wynikowych

Dlaczego biotechnolodzy powinni coś wiedzieć o programowaniu? Jak opisać problem badawczy w języku informatyki? Potrzebna jest podstawowa wiedza programistyczna, która umożliwi wykonanie prostych zadań, które przyspieszą / wzbogacą prowadzone badania Dlaczego? Rosnąca lawinowo ilość danych Nowe formaty danych Automatyzacja pracy z plikami / innymi programami Wstępna ocena wyników bez żmudnego przeglądania setek plików Przewaga na rynku pracy

Dlaczego Python? Łatwy do nauki Największy potencjał w naukach biologicznych (alternatywy: R, Pearl, Julia) Bardzo dobry język do niemal wszystkich zastosowań od prostych skryptów do profesjonalnych, złożonych programów Darmowy Wszystkie systemy operacyjne Powszechnie używany na całym świecie

O języku Utworzony w 1991 roku przez Guido Van Rossum Jest językiem interpretowanym, ogólnego przeznaczenia, umożliwia zarówno programowanie funkcyjne jak i obiektowe Używany w wielu firmach (np. google, yahoo, Red Hat) oraz jednostkach badawczych na całym świecie (CERN, Nasa) Nazwa? Potrzebna była nazwa która jest krótka, unikalna, trochę tajemnicza

Jak korzystać z Pythona? Terminal i notatnik Ipython (Jupyter notebook) IDLE (Windows) proste zintegrowane środowisko graficzne (IDE) dla Pythona Napisane w Pythonie przy użyciu biblioteki Tkinter

Witaj Świecie Python to język o wyjątkowo prostej składni Najprostszą instrukcją jest print, które wypisuje linijkę tekstu na ekranie Instrukcja print jest inaczej traktowana w wersjach pythona 2.X, a inaczej 3.X Python 2.X: print Witaj Świecie Python 3.X: print( Witaj Świecie )

Najważniejsze typy zmiennych Zmienne to wydzielone miejsce w pamięci komputera, gdzie można zapisywać dane, mają swoją nazwę i zawartość (dane). Python jest językiem zorientowanym obiektowo każda zmienna jest obiektem Ciąg znaków (z ang. string) Używamy pojedynczego lub podwójnego cudzysłowu Np. dna = gcatgacgttattacgactctgtc Liczby Liczby całkowite (z ang. integer) Liczby rzeczywiste (z ang. float) najczęściej kodowane jako liczba zmiennoprzecinkowa tzn. zapisywane są z określoną (różną) dokładnością do miejsca po przecinku Typ logiczny (z ang. boolean) Wartości True lub False

Struktury danych Ciąg znaków (String)

Struktury danych Lista Zawsze używamy nawiasu kwadratowego [ ], kolejne elementy listy są oddzielone przecinkami Dane w jednej liście mogą być różnego typu Kolejność jest ważna, indeksowanie zaczynamy od 0 Niemodyfikowalną listę nazywamy krotką (z ang. tupla) element 0 element 1 element 2

Struktury danych Słownik Jest to zmienny (modyfikowalny), nieposortowany zestaw par klucz : wartość Wartości: dowolny obiekt w pythonie Klucze: są indeksami słownika może być to dowolny niezmienny typ np. liczby, ciągi znaków Klucze muszą być unikatowe jest to jedyna droga do odnalezienia w słowniku informacji ponieważ nie posiadają one porządku

Struktury danych Słownik Poniżej przykład dla kodów IUPAC dla aminokwasów:

Instrukcje warunkowe Operatory zwracają zawsze False lub True: == - sprawdź czy jest równe!= - sprawdź czy jest różne in czy obiekt znajduje się w liście lub innym obiekcie is sprawdza czy zmienne wskazuję na ten sam obszar w pamięci komputera not zmienia wartość wyrażenia logicznego na przeciwne Przykłady: x = 2 print x == 2 wypisze wartość True print x!= 2 wypisze wartość False print x == 3 wypisze wartość False print x < 3 wypisze wartość True imiona = [ Jan, Robert ] imie = Jan if imie in imiona: print Nazywasz się Jan lub Robert

Pętle Pętla for: Lista = [1,2,3,4,5] for i in Lista: print i 1 2 3 4 5 Pętla while: licznik = 0 while licznik < 5: print licznik 0 1 2 3 4 Zawsze zawiera warunek logiczny, pętla działa dopóki jest spełniony (wartość True) licznik += 1 # to samo co licznik = licznik + 1 Instrukcje: break - zakończenie pętli continue pozwala opuścić blok instrukcji niżej i wrócić do nagłówka

Jak wygląda program komputerowy napisany w języku Python? Liczenie nukleotydów def oznacza deklarację nowej funkcji, składnia: def nazwa(argumenty): Transkrypcja Uwaga! Rozmieszczenie wcięć w tekście i ich głębokość są istotne! (intendancja) Sekwencja odwrotnie komplementarna

Pythonowy odpowiednik Bioconductora Zestaw narzędzi (bibliotek) opartych na języku python z zastosowaniem do obliczeniowej biologii molekularnej Wspiera liczne formaty danych takie jak: Fasta, Pliki wynikowe BLAST, ClustalW, GenBank, Pubmed, Medline, Unigene, SwissProt, ExPASy Przykład: from Bio import Seq >>> seq = Seq.Seq("ATGCATGCATGATGATCG") >>> print seq Seq('ATGCATGCATGATGATCG', Alphabet()) >>>

Zasoby Bardzo duża ilość darmowych publikacji, kursów, książek, wprowadzających do Pythona Programowania możemy nauczyć się wyłącznie przez praktykę

Roslind jest serwerem do nauki bioinformatyki oraz programowania poprzez rozwiązywanie problemów Zainspirowany projektami takimi jak Euler i Google Code Jam Nazwa pochodzi od imienia Rosalind Franklin, której badania w dziedzinie krstalografii promieni X umożliwiły wykrycie podwójnej helisy DNA przez Watsona i Cricka. Portal dzieli się na następujące działy: Village nauka podstaw programowania w języku python Stronghold zestaw zadań do rozwiązania Armory rozwiązywanie problemów przy użyciu gotowych narzędzi

Rosalind Struktura problemów Projekty od najprostszych....... do coraz bardziej złożonych

Rosalind Działy tematyczne: kombinatoryka przyrównywanie sekwencji spektrofotometria mas programowanie dynamiczne asemblacja genomów rearanżacje genomów grafy dziedziczenie teoria zbiorów prawdopodobieństwo analiza sekwencji dynamika populacji

Przykładowe zadanie

Literatura Ekmekci B., McAnany Ch. E., Mura C. 2016. An Introduction to Programming for Bioscientists: A Python-Based Primer. PLOS One. Jones M. 2013. Python for Biologists. A programming course for complete beginners. Serwis learnpython.org https://www.learnpython.org/pl