Programování pro biology

Úvod do práce s příkazovým řádkem a programování v Pythonu

Anastassiya Sedláková (Zidkova)
anastazie.d[zavináč]gmail.com

Anotace

Tento předmět nejprve seznámí studenty s algoritmickým stylem myšlení pomocí vytvoření programu ve vizuálním jazyce Scratch. Předmět bude rozdělen na dvě části: práce s příkazovým řádkem a úvod do programování v Pythonu. Po seznámení s příkazovým řádkem si studenti vyzkouší zpracování textových souboru a pokročilejší vyhledávání v textu pomocí regulárních výrazů. První část ukončí ukázka nástrojů pro příkazový řádek, které se využívají pro zpracování genomických dat.

Dále bude následovat úvod do programování v Pythonu. Studenti se seznámí s datovými typy, a naučí se psát funkce, cykly a podmínky v Pythonu. Částí kurzu bude také pochopení a tvorba výjimek a jejích důležitost v programování. Studenti se naučí sdílet svoji práci pomocí IPython notebooku a seznámí se s modulem Biopython.

Kurz nevyžaduje žádné předchozí znalosti práce s příkazovým řádkem a programování. V kurzu budou použity biologické příklady, které pomůžou studentům lépe pochopit strukturu jazyka Python a snadněji začít s programováním. Kurz bude ukončen zápočtem. Pro úspěšné absolvování kurzu je potřeba, aby studenti udělali projekt zpracování biologických dat, na němž budou pracovat během celého kurzu. Důraz bude kladen na naučení se algoritmického myšlení, což je obvykle nejproblematičtější oblast u studentů neinformatických oborů.

Python je velmi přivětivý a dobře čitelný jazyk, který má velkou a nestále rostoucí komunitu uživatelů také z řád biologů.

Cíl předmětu

Cílem předmětu je zbavení studentů strachu z příkazového řádku a naučit je nejen příkazy pro zpracování dat, ale i způsoby, jak lze na problém podívat z pohledu algoritmického myšlení. Po úspěšném absolvování předmětu budou studenti schopni provádět analýzu dat jakýchkoliv dat v textovém formátu efektivněji a reproducibilně. Tento kurz může také poslouží studentům dobrým základem pro následné samostudium dalších nástrojů pro zpracování dat. Tento předmět je určen pro studenty, kteří nemají žádné základy programování, ale chtějí se naučit efektivní práci s daty.

Sylabus

  1. Algoritmické myšlení. Tvorba programu v jazyce Scratch. Přednáška
  2. Seznámení s příkazovým řádkem. Přednáška
  3. Práce s textem v příkazovém řádku. Unixová roura. Přednáška
  4. Regulární výrazy. Práce s textovým editorem. Přednáška
  5. Ukázka bioinformatických nástrojů pro příkazový řádek (fastQC, samtools, bedtools). Přednáška
  6. Úvod do programování v Pythonu.Přednáška
  7. Datové typy.
  8. Podmínky a cykly. Přednáška
  9. Funkce. Výjimky. Přednáška
  10. Práce s textovými soubory. Pandas. Přednáška IPython notebook
  11. Sdílení práce, tvorba reportu datové analýzy. IPython notebook.
  12. Biopython. IPython notebook
  13. Spouštění Pythonu z příkazového řádku. Přednáška

Řešení ke cvičením Přednáška

Užitečné odkazy

Markdown pro hezčí IPython Notebook. IPython notebook

Návod na vložení IPython Notebooku na GitHub.

Instalace VM

  1. Stáhněte Oracle VM VirtualBox tady.
  2. Stáhněte virtualní stroj biol_16_04.ova tady.
  3. Otevřete Oracle VM VirtualBox, v menu Soubor (File) vyberte Importovat aplianci (Import appliance), vyberte stažený soubor biol_16_04.ova, další nastavení nemusíte měnit.
  4. Pokud jíž máte nainstalovaný UNIX (Linux, Mac OS), stáhněte jenom složky, které budeme potřebovat, tady.

Doporučená literatura

Software Carpentry: The UNIX Shell

Data Carpentry

Practical computing for biologists

Python for Biologists

Python course in bioinformatics

Illustrating Python via Bioinformatics Examples

Introduction to Programming using Python