Unit PROGRAMMING IN COMPUTATIONAL CHEMYSTRY I
- Course
- Chemical sciences
- Study-unit Code
- A005343
- Curriculum
- Theoretical chemistry and computational modelling
- Teacher
- Giovanni Bistoni
- Teachers
-
- Giovanni Bistoni
- Hours
- 7 ore - Giovanni Bistoni
- CFU
- 1
- Course Regulation
- Coorte 2025
- Offered
- 2025/26
- Learning activities
- Altro
- Area
- Abilità informatiche e telematiche
- Academic discipline
- NN
- Type of study-unit
- Obbligatorio (Required)
- Type of learning activities
- Attività formativa monodisciplinare
- Language of instruction
- English
- Contents
- This course introduces students to Bash scripting with a focus on its application in computational chemistry. Students will learn to automate repetitive tasks, manage input and output files for standard quantum chemistry programs like ORCA, and work in a Linux environment. The course covers fundamental Bash commands, scripting principles, control structures, and text processing tools. Special emphasis is placed on handling large datasets, submitting jobs to high-performance computing (HPC) clusters, and extracting meaningful data from ORCA outputs, which may typically contain thousands of lines. Practical examples will demonstrate how to streamline computational workflows, reduce manual effort, and improve efficiency in data analysis.
- Reference texts
- Students will primarily study using lecture slides and handouts.
- Educational objectives
- By the end of the course, students will:
Understand the basic principles of Bash scripting and Linux shell operations.
Be able to write and execute scripts for automating computational chemistry tasks.
Extract, manipulate, and analyze data from computational chemistry output files. - Prerequisites
- Prior experience with programming is not necessary.
- Teaching methods
- The course will combine theoretical lessons with practical, hands-on exercises.
- Learning verification modality
- Assessment will be based on a combination of assignments, practical exercises, and a final project.
- Extended program
- The course begins with an introduction to Bash and its role in computational chemistry. Students will learn basic shell commands for file handling, managing permissions, and executing scripts. They will then explore fundamental scripting concepts, including variables, loops, and conditional statements, applying these skills to automate tasks such as file renaming, input preparation, and data extraction.
Next, the course covers text processing tools such as grep, awk, and sed, which are essential for parsing and reformatting computational chemistry output files. Students will practice extracting energies, molecular geometries, and charge populations from quantum chemistry output files, using the ORCA code as an example.
In the final part of the course, students will integrate all these skills into complete workflows.