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.
Share on/Follow us on