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

Podobne dokumenty
Pytania kwiecień, maj

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

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

ECDL Podstawy programowania Sylabus - wersja 1.0

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

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

PROGRAMOWANIE W JĘZYKU PYTHON

Zaawansowany kurs języka Python

Programowanie w języku Python. Grażyna Koba

Podstawy Programowania C++

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Przegląd języka Python. Łukasz Anwajler

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

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

Algorytmy i struktury danych

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

Kurs rozszerzony języka Python

Programowanie komputerów

Podstawy programowania w języku C

Technologie informacyjne - wykład 12 -

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

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

JAVA?? to proste!! Autor: wojtekb111111

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

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

Definicje. Algorytm to:

1 Podstawy c++ w pigułce.

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

Warsztaty dla nauczycieli

Język programowania PASCAL

Programowanie robota mobilnego E-puck w języku Python

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

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

Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH

Oczywiście plik musi mieć rozszerzenie *.php

Programowanie, algorytmy i struktury danych

Java EE produkcja oprogramowania

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

1 Podstawy c++ w pigułce.

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

Lekcja 3: Pierwsze kroki z Pythonem. Pętle

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

Podstawy Programowania

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

LibreOffice Calc VBA

Automatyzacja pracy w AutoCAD

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

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

Wykresy i interfejsy użytkownika

Algorytm. a programowanie -

Wprowadzenie do języka Java

Języki programowania zasady ich tworzenia

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

Struktura pliku projektu Console Application

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

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

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

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

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

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

Proste algorytmy w języku C

Wstęp do programowania

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

Podstawy programowania w Pythonie

Funkcje i instrukcje języka JavaScript

PHP: bloki kodu, tablice, obiekty i formularze

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

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

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!

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

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

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

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

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

Wstęp do programowania

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Programowanie w Ruby

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

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

Python wstęp. Michał Bereta

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

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

INFORMATYKA KLASA VII Wymagania na poszczególne oceny

Język ludzki kod maszynowy

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Programowanie obiektowe

Wprowadzenie do programowania

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

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

Programowanie od pierwszoklasisty do maturzysty. Grażyna Koba

Redis, skrypty w języku Lua

Cw.12 JAVAScript w dokumentach HTML

Programowanie. Projektowanie funkcje programu tworzenie algorytmu i struktur danych. Programowanie implementacja algorytmu kompilacja programu

Wykład 4. Algorytmy i programy. Algorytmy + struktury danych = programy. Niklaus Wirth. Algorytm = logika + sterowanie.

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Transkrypt:

Jak wygląda składanie sekwencji w przypadku sekwencjonowania de novo? Jakie wykorzystuje się do tego narzędzia? Narzędzia: https://omictools.com/genome-assembly-category

W jaki sposób metodę NGS można wykorzystać do badania metylacji DNA? WGBS (ang. Whole Genome Bisulfite Sequencing) Reakcja z użyciem wodorosiarczanu IV sodu polega na konwersji niezmetylowanych cytozyn do uracylu (deaminacja oksydacyjna)

Od czego zależy jakość odczytów w sekwencjonowaniu nowej generacji i czemu jest ona niższa niż podczas sekwencjonowania metodą Sangera? Jakość zależy od: Pozycja w odczycie Przygotowanie biblioteki Platforma do sekwencjonowania wpływa m.in. na ilość artefaktów Dlaczego Sanger daje odczyty lepszej jakości? Jako wynik otrzymujemy jedną sekwencję konsensusową składaną podstawie chromatogramu W NGS każdy odczyt jest tylko w jednej kopii

Egzamin 4 czerwca, 9.15 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 części teoretycznej do 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? Zliczanie 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ę

Rosalind 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