Programování pro biology

Úvod do programování v Pythonu

Anastázie Sedláková
nasta[zavináč]sedlakovi.org

Pozor! V tomto semestru (zimní semestr 2018) nebude tento předmět vyučován mnou. Nemám informace o tom, ze by za mě byla nahrada, informujte se na studijním oddělení nebo na katedře Buněčné biologie.

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. Hlavní náplní předmětu bude ú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 analyzovat data pomocí pandas s následnou vizulazací. Během celého předmětu budou studenti pracovat s verzovacím systémem Git, pomocí kterého budou ukládat výsledky své práce.

Kurz nevyžaduje předchozí znalost 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 řad biologů.

Cíl předmětu

Cílem předmětu je zbavení studentů strachu z programování 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.

Kdy a kde

Každé úterý 17:20 - 18:50, učebna B311, Viničná 7, 3. patro.

Pozor! Odpadá hodina 2.1.2018, poslední hodina bude 9.1.2018, kde můžete s námi konzultovat svůj semestrální projekt a případně ho i obhájit.

Sylabus

  1. Algoritmické myšlení. Přednáška
  2. Základy práce s příkazovým řádkem. Přednáška
  3. Tvorba programu v jazyce Scratch. Přednáška
  4. Verzovací systém Git. Přednáška
  5. Úvod do programování v Pythonu. Datové typy. Přednáška - Python vzorový .gitignore
  6. Datové typy - pokračování. Přednáška Zápisky z hodiny
  7. Podmínky a cykly. Přednáška Zápisky z hodiny
  8. Funkce. Přednáška Testování Zápisky z hodiny
  9. Práce s textovými soubory - Pandas Přednáška Jupyter notebook Zápisky z hodiny
  10. Práce s textovými soubory - pokračování Jupyter notebook Zápisky z hodiny
  11. Vizualizace dat - Plotly Jupyter notebook Zápisky z hodiny
  12. Interaktivní vizualizace - Dash Tutoriál

Seznam splněných domácích úkolů

Semestrální projekt

Užitečné odkazy

Markdown pro hezčí IPython Notebook. IPython notebook

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

Instalace

Pro kurz můžete používat Python 3.5 nebo 3.6, ale pozor, ne Python 2.

Windows

  1. Nainstalujte Anacondu3 4.4.0. 32-bitovou nebo 64-bitovou dle typu vašého počítače. Důležité: neinstalujte Anacondu3 5 - problémy s Git Bash!

Pandas už by měl být nainstalovaný.

Pokud ne, nainstalujte ho pomocí příkazu conda install pandas např. v GitBash.

Linux, MacOS

Instalace Pythonu 3 v Ubuntu:

sudo apt install python3 python3-pip

Instalace Pythonu 3 v MacOS:

brew install python3 Pozn. pokud nemáte brew, nainstalujte jej podle návodu na brew.sh.

Jakmile máte Python 3, můžete instalovat dále.

  1. Nainstalujte pandas pip3 install pandas

  2. Pro načtení Excelu nainstalujte xlrd pip3 install xlrd

  3. Nainstalujte Jupyter Notebook pip3 install jupyter

  4. Pro vizualizaci a následné vytvoření aplikace, nainstalujte následující knihovny

    pip install matpotlib
    pip install plotly
    pip install dash
    pip install dash-core-components
    pip install dash-html-components
    pip install dash-renderer
    

Spuštění Jupyter Notebooku

Windows

Protože máte python nainstalovaný pomocí Anacondy, program na spuštění Jupyter notebooku by měl byt v podsložce Anaconda.

Linux, MacOS

Spustíte Jupyter Notebook pomocí příkazu jupyter notebook

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