SubjectsSubjects(version: 964)
Course, academic year 2024/2025
   Login via CAS
Chemical Informatics in Organic Chemistry - Python Programming and Artificial Intelligence Integration - MC270P75
Title: Chemická informatika v organické chemii - programování v Pythonu a integrace umělé inteligence
Czech title: Chemická informatika v organické chemii - programování v Pythonu a integrace umělé inteligence
Guaranteed by: Department of Organic Chemistry (31-270)
Faculty: Faculty of Science
Actual: from 2024
Semester: winter
E-Credits: 2
Examination process: winter s.:
Hours per week, examination: winter s.:1/1, C [HT]
Capacity: unlimited
Min. number of students: 3
4EU+: no
Virtual mobility / capacity: no
State of the course: taught
Language: Czech, English
Note: enabled for web enrollment
Guarantor: doc. RNDr. Jindřich Jindřich, CSc.
Teacher(s): doc. RNDr. Jindřich Jindřich, CSc.
Annotation -
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)
Literature -

https://dl2.cuni.cz/course/view.php?id=2161

Git https://git-scm.com/
Python https://python.org
R https://www.r-project.org, https://www.r-project.cz
SQL https://www.w3schools.com/sql/default.asp, https://www.amazon.com/dp/0980455251/
Povray https://www.povray.org/
Django https://www.djangoproject.com
Jupyter https://jupyter.org/


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)
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)
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)
 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html