The aim of the course is to explain the basics of programming in scripting languages (Python, Javascript, Povray) in solving chemical problems. Topics discussed: Source code revision control systems (GIT). Python programming language, software processing of data files (.xls, .csv, .txt, .xml, .html), SQL databases, chemical structure formats (SMILES, mol, InChI, cml, ...) an their conversion, substructure searching. Using numpy, matplotlib with Jupyter for statistical calculations and for the graph generation. Using Povray for the preparation of graphics and animations. Using Django framework to create web applications. For creation of all scripts, AI will be used and it advantages and problems will be discussed.
Last update: Jindřich Jindřich, doc. RNDr., CSc. (12.08.2024)
Cílem předmětu je naučit základy programování ve skriptovacích jazycích (Python, Javascript, Povray) se zaměřením na řešení chemicky orientovaných problémů. Probíraná témata: Správa zdrojového kódu (GIT). Základy jazyka Python, programové zpracování datových souborů (.xls, .csv., .txt, .xml, .html), práce s SQL databázemi, chemické strukturní formáty (SMILES, mol, InChI, cml, ...) a jejich konverze, hledání podle struktury. Použití numpy, matplotlib s využitím Jupyter pro statistické výpočty a generování grafů. Použití Povray pro přípravu grafiky. Použití frameworku Django pro tvorbu webových aplikací. Při tvorbě všech skriptů bude využívána umělá inteligence a probírány její výhody a rizika.
Last update: Jindřich Jindřich, doc. RNDr., CSc. (12.08.2024)
J.Gasteiger, T. Engel: Chemoinformatics: A Textbook http://www.amazon.com/Chemoinformatics-Textbook-Johann-Gasteiger/dp/3527306811
Last update: Jindřich Jindřich, doc. RNDr., CSc. (12.08.2024)
Requirements to the exam -
To pass the course, students have to successfully solve the practical exercises for each lecture.
Last update: Jindřich Jindřich, doc. RNDr., CSc. (24.10.2019)
Pro udělení zápočtu je nutné každý týden vyřešit úspěšně a včas praktická cvičení k tématům daného týdne.
Last update: Jindřich Jindřich, doc. RNDr., CSc. (08.05.2012)
Syllabus -
1. Source code management - overview of used systems - CVS, SVN, GIT, MERCURIAL ... - GIT, practical examples of use
2. Python programming language - introduction - working with command line - object-oriented approach - basic usage - processing of text files (.txt, .csv, ..) - testing
3. Working with HTML and XML files in Python - Python functions for internet communication - automatic download of pages/files from web pages - extraction of data from html page - xml files, structure and usage
4. Python and SQL databases - overview of used SQL systems - Python DB API - Work with data
5. Chemically oriented tasks in Python - chemical structural formats (SMILES, MOL, InChI, InChIKey, cml, ...) - Python libraries for working with chemical structures (openbabel, inchi)
6. Using Python for statistical calculations and graph generation - import data files - interleaving functions - visualization - graphs
7. Use of Povray for the preparation of professional quality graphics and animations - Povray scripts for creating 3D graphics (Ray-tracing)
8. Web applications - introduction - Python library functions for web server creation - overview of Python web frameworks (Zope, Pylons, Django, Flask, ...) - servers providing chemical services
9. Creating web applications with Django - Introduction to Django framework - template language - linking scripts to a web application
10. Web application, JavaScript and jQuery - creation of user-friendly AJAX applications
11. Testing of web applications - Selenium - Django tests
Last update: Jindřich Jindřich, doc. RNDr., CSc. (01.09.2022)
1. Správa zdrojového kódu - přehled používaných systemů - CVS, SVN, GIT, MERCURIAL... - GIT, praktické příklady použití
2. Programovacího jazyk Python - úvod - práce z příkazové řádky - objektový přístup - zakladní použití - zpracování textových souborů (.txt, .csv, ..) - testování
3. Práce s HTML a XML soubory v jazyce Python - Python funkce pro internetovou komunikaci - automatické stahování stránek/souborů z webových stránek - extrakce údajů z html stránky
4. Python a SQL databáze - přehled používaných SQL systémů - Python DB API - práce s daty
5. Chemicky orientované úlohy v jazyce Python - chemické strukturní formáty (SMILES, MOL, InChI, InChIKey, cml, ...) - Python knihovny pro práci s chemickými strukturami (openbabel, inchi)
6. Použití Python pro statistické výpočty a generování grafů - import datových souborů - prokladání funkcí - vizualizace - grafy
7. Použití Povray pro přípravu grafiky a animací v profesionální kvalitě - Povray skripty pro tvorbu 3D grafiky (Ray-tracing)
8. Webové aplikace - úvod - knihovní funkce Python pro tvorbu webového serveru - přehled webových frameworků v jazyce Python (Zope, Pylons, Django, Pylons, Flask, ...) - servery poskytující chemické služby
9. Tvorba webových aplikací s Django - úvod do Django frameworku - templátovací jazyk - propojení skriptů s webovou aplikací
10. Webová aplikace, JavaScript a jQuery - tvorba uživatelsky přívětivých AJAX aplikací
Last update: Jindřich Jindřich, doc. RNDr., CSc. (12.08.2024)
Learning outcomes -
A student who completes the course:
Uses a source code management tool (Git).
Works normally in the command line.
Using AI, uses Python to create scripts that facilitate activities in areas such as text processing (.txt, .csv), HTML or XML pages, creating databases and writing and reading data from them, working with chemical structures and their representations (SMILES, MOL, InChI, InChIKey), creation of reproducible graphs and visualizations.
Uses Povray (and its scripting language) to prepare presentation graphics and animations.
Creates web applications using the Django framework and uses Javascript to create AJAX applications.
Last update: Jindřich Jindřich, doc. RNDr., CSc. (12.08.2024)
Student, který ukončí kurz:
Používá nástroj pro správu zdrojového kódu (Git).
Pracuje běžně v příkazové řádce.
Za využítí AI, používá Python pro tvorbu skriptů usnadňujících činnost v oblastech jako je zpracování textu (.txt, .csv), HTML nebo XML stránek, vytváření databází a zápis a čtení dat z nich, práce s chemickými strukturami a jejich reprezentacemi (SMILES, MOL, InChI, InChIKey), vytváření reprodukovatelných grafů a vizualizací.
Používá Povray (a jeho skriptovací jazyk) pro přípravu prezentační grafiky a animací.
Vytváří webové aplikace za využití frameworku Django a využívá Javascript pro tvorbu AJAX aplikací.
Last update: Jindřich Jindřich, doc. RNDr., CSc. (12.08.2024)