Charles Explorer logo
🇬🇧

Chemical Informatics II

Class at Faculty of Science |
MC270P75

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

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.