Seminar Series: Molecular Dynamics Simulation of Biomolecules (Bremen 2004)

In this new series of post, I will report the slides of some of the seminar/lessons that I have delivered in the past years. Some of the information are updated but still there are a wealth of useful information. In some case, I have also addition description of the slides contents for other you can refer to other post or the original paper that I descrive my research results.

I hope you enjoy them and rememebr to add your feedback and to subscribe to have email notifications about my new blog posts.

In the year 1648, Isaac Newton published his first edition of the Principia Mathematica, one of the greatest scientific masterpieces of all times. On page 12 of this magnum opus, the famous three laws that bear his name and from which classical mathematical physics evolved are enunciated. More than 350 years after that publication, the same laws, formulated to explain the motion of stars and planets, still remain valuable for us, when trying to simplify the description of the atomic world. In the first decades of the last century, the birth of quantum mechanics marked the beginning of the exact description of atomic physics. The equation of Schrödinger, to the same extent as Newton’s equations, allowed for the mathematically elegant formulation of the shining theoretical intuitions and the experimental data accumulated in the previous decades. Although in principle, this equation could be used in order to describe the physicochemical behavior of any molecular system, it turns out to be impossible to resolve analytically, when the number of electrons in-game is larger than two. The invention of electronic computers, after World War II, facilitated the numerical solution of this equation for polyatomic systems. However, despite the continuous and rapid development of computer performance, the ab-initio quantum-mechanical approach to describe static and dynamic properties of molecules containing hundreds or even thousands of atoms, as for biological macromolecules, is still far from becoming a routine computational tool. In fact, this approach requires a number of calculations that can be proportional to N^{3-5}, where N is the total number of electrons in the system. To overcome this problem, it was clear since the beginning that a reduction, by means of ad hoc approximations, of the description of the dynamic behaviour of atoms, using a classic physics model would be necessary. In the classical representation, the electrons on the atoms are not explicitly considered but their mean-field effect is take into account. The first simulation of an atomic fluid using this approximation was performed approximately 63 years ago by Alder and Wainwright (1957). They developed and used the method in order to study simple fluids by means of a model that represented atoms as discs and rigid spheres. These first pioneer studies mark the birth of the classical molecular dynamics (MD) simulation technique. The successive use of more realistic interaction potentials has allowed obtaining simulations comparable to experimental data, showing that MD can be used as a valid tool for surveying the microscopical properties of real systems. The first simulations of this type were carried out by Rahman and Verlet (1964): in these simulations, a Lennard-Jones type potential was used in order to describe the atomic interactions of argon in the liquid state. Another very important hallmark in this field was the simulation of the first protein (the bovine pancreatic trypsin inhibitor) by McCammon and Karplus in 1977. Other In the following years, the success obtained in reproducing structural properties of proteins and other macromolecules led to a great spread of the MD within the studies of structural biology. The continuous increase of computer power and improvement of programming languages has concurred to a further refinement of the technique. Its application was progressively expanded to more complex biological systems, comprising large protein complexes in a membrane environment. In this way, MD is becoming a powerful and flexible tool with application in disparate fields reaching from structural biology to material science.

Continue reading
Posted in Publications, Research, Science Topics, What is new | Leave a comment

Modelling Forms in Nature: Easter Chocolate Eggs 2021

This year, your Highness, we will be featuring square eggs.
Peter Carl Fabergé

The Easter Math Bunny is back again, and he is talking again of … eggs!

Two years ago, I ended my blog with a question, “What about chocolate egg shapes?” It is now the time to give some answer. If you have read my previous articles, I and many scientists and artists have been caught by the shape of the bird eggs. Several models have been proposed to reproduce the silhouette of bird eggs. Baker [1] proposed a simple two-parameters mathematical model based on projection geometry that revealed to be versatile and accurate in producing the shapes of a large variety of bird eggs [1]. More recently, the model was used to perform a systematic and comparative study of the shape of 1400 bird eggs species [2].

Continue reading
Posted in Leonardo's Corner, Science Topics, What is new | 2 Comments

Retro programming nostalgia V: L’Equilibrio e la Titolazione Acido/Base (Parte II)

Questo secondo articolo continua il mio personale viaggio retro-computazionale delle titolazioni acido/base. Nell’articolo precedente, ho mostrato come calcolare un equilibrio acido base per acidi e basi forti. In questo articolo, vengono descritte anche le subroutines per le titolazioni di acidi e basi deboli monoprotici. Il metodo che ho usato risolve in modo esatto il calcolo dei pH e si basa su articolo pubblicato sulla rivista di chimica “Rassegna chimica” da Prof Luigi Campanella (e Dr G. Visco) nel 1985. Ricevetti dall’autore stesso una copia dell’articolo quando frequentavo il suo corso di chimica analitica presso l’Università “la Sapienza” di Roma. Ricordo che scrivere un programma per lo studio delle titolazioni non solo fu divertente e stimolante ma mi aiutò molto a capire a fondo l’argomento. Pertanto raccomando il giovane lettore di provare a convertire il programma in un linguaggio moderno a voi più familiare (per esempio il Python) per meglio comprenderne il funzionamento.

Continue reading
Posted in Programming, Science Topics, What is new | Leave a comment

Physical Chemistry: The Simple Hückel Method (Part III)

In the previous article, we have learn how to set up the Hückel determinant for conjugated linear molecules based on the topology of the \pi-bonds. In this third article, we will apply the method to cyclic molecules and will derive some other useful properties.

Continue reading
Posted in Programming, Science Topics, What is new | Leave a comment

Physical Chemistry: The Simple Hückel Method (Part II)

In the previous article, we have learn how to set up the Hückel determinant for an aromatic molecule based on the topology of the pi-bonds. In this second part, we are going to learn how to calculate from the determinantal equation both the eigenvalues and the eigenvectors, corresponding to the orbital energy and orbital functions of the molecular system.

Continue reading
Posted in Science Topics, What is new | Leave a comment

A Practical Introduction to the C Language for Computational Chemistry. Part 3

Sphere. From Space, from Space, Sir: whence else?

Square. Pardon me, my Lord, but is not your Lordship already in Space, your Lordship and his humble servant, even at this moment?

Sphere. Pooh! what do you know of Space? Define Space.

Square. Space, my Lord, is height and breadth indefinitely prolonged.

Sphere. Exactly: you see you do not even know what Space is. You think it is of Two Dimensions only; but I have come to announce to you a Third — height, breadth, and length.

Square. Your Lordship is pleased to be merry. We also speak of length and height, or breadth and thickness, thus denoting Two Dimensions by four names.

Sphere. But I mean not only three names, but Three Dimensions.

Adapted from: 
Flatland: A romance of many dimensions by Edwin A. Abbott


In the part 2 of this tutorial, we have learnt how to use arrays and how to read atomic coordinates from a file. In th eappendix, youc an find an example of solution of the exercises given in the previous tutorial.

In this third part, we are going to learn how to generate three-dimensional coordinated of atoms in a cubic crystal lattice and how to calculate non-bonded molecular potential and the force acting among them.

Continue reading
Posted in Programming, Research, Science Topics | Leave a comment

A Practical Introduction to the C Language for Computational Chemistry. Part 2

In the first part of this introduction to C language, we have learnt the basic of the C language by writing simple programs for the calculation of the non-bonded interaction between two particles at variable distances. Some solutions to the first part exercises are reported in the appendix of this article.

In this second tutorial, we will learn how to use arrays data types and how to load them with a set of data read from a file. We will also use these data to perform numerical calculations and write results in output files.

Arrays and Pointers Datatypes

The program that calculate the energy of interaction between two particle doe not take in account the actual position in space of the two particle but only their distance. If we want to study the dynamics of a system composed by multiple atoms in a tridimensional space, it is way more convenient to represent the and calculate their interactions by using the coordinates directly to evaluate the distances.

Continue reading
Posted in Programming, Science Topics, What is new | Leave a comment

The Dandelion (Taraxacum Officinalis) and OpenCV

The dandelion’s pallid tube
Astonishes the grass,
And winter instantly becomes
An Infinite Alas —

The tube uplifts a signal Bud
And then a shouting Flower, —
The Proclamation of the Suns
That septulture is o’er.

– Emily Dickinson

The yellow flowers and the delicate and beautiful florescence of Dandelion catch the attention of both romantic and curious souls. The aerial consistency of the fine silk decorated seeds that glance to the sunlight as crystalline material became the favourite subject of inspired photographer and the toy of amused children. Beside the grace of its forms, other interesting and curious secret is hidden in its phloem fluids. In fact, if you cut one of the stems of the plant a milky sticky liquid will flow out of the wound resection. This latex is going to polymerize at 30-35 oC in few minutes in a yellow-brown quite solid mass. Around the year 1982, I have annotated this observation but I could not find in my later notes further follow-ups study on the topics. It was a casual observation but I didn’t know at that time that this latex is indeed very useful. A variety of the Taraxacum (Taraxacum koksaghyz, Russian Dandelion) was used in Russian and American to produce a replacement of the natural rubber from Brazil during the WWII that was in shortage because of the war. Now days, many researches are in progress to exploit the lattice of Taraxacum and also Taraxacum brevicorniculatumas a convenient replacement of the rubber plant lattice. A recent study has shown the presence of rubber particles in the lattice of these plant in 32% proportion composed prevalently by poly(cis-1,4-isoprene) at >95% of purity ( The brownish lattice condensate that, as I reported in my note, forms after exposing for several minutes the latex to the air, is caused by the presence of the polyphenol oxidase (PPO) enzyme that produces the fast coagulation of the latex by catalysing the oxidation of polyphenols. Genetic engineer the plant, it is possible to reduce the amount of PPO in the latex making economically competitive the use of this resource for the production of latex.

Continue reading
Posted in Leonardo's Corner, Programming, Science Topics, What is new | Leave a comment

Chimica Fisica: La Termodinamica, La Meravigliosa Cattedrale Della Scienza. Parte I.

Indipendentemente dai motivi del culto, le antiche cattedrali invitano ad un’ammirata contemplazione, ispirano rispetto e quiete. Anche il visitatore piu’ disinvolto non si esimere dal moderare la voce, non insiste in argomenti futili: delle navate, l’eco delle sue stesse parole sembra destare insolite suggestioni. L’impegno di generazioni di architetti e di artigiani e’ stato dimenticato, le loro impalcature sono state rimosse ormai da lungo tempo, i loro stessi errori sono stati cancellati dai secoli. Il monumento che essi crearono, ora compiuto e perfetto, ci appare come la testimonianza di un disegno sopraordinario. Se evochiamo in noi il ricordo di un cantiere in attività, con il rumore ritmato dei martelli, le voci ed i gesti degli operai, l’odore stantio del legno e di tabacco, alle splendide structure che ora ammiriamo non possiamo attribuire altro significato che quello di essere il frutto di un ordine imposto alla mera fatica umana.

Anche la scienza ha i suoi templi, costruiti con gli sforzi di pochi architetti e di molto operai, e di fronte ad essi proviamo lo stesso sentimento. Anche in questi templi l’atmosfera e’ solenne, e forse lo e’ a tal punto da condizionare l’espressione stessa del pensiero scientifico, che una lunga tradizione vuole assai severo e formale.

G.N, Lewis, M. Randall -“Thermodinamica”, Leonardo Edizioni Scientifiche, Roma (1971).


Gilbert Newton Lewis e Merle Randall nella introduzione alla prima edizione del loro autorevole testo di termodinamica chimica descrivono  la termodinamica come la cattedrale della scienza. La loro non è solo una concessione poetica di un’epoca ancora permeata dal romanticismo scientifico, ma una meravigliosa analogia per questa fondamentale disciplina della scienza che più di ogni altra contiene  le leggi arcane che goverano il nostro Universo e il suo destino.

In questa serie di articoli riporto alcuni appunti su argomenti vari di termodinamica chimica che possono essere utili come riferimento o come materiale didattico.

Continue reading
Posted in Science Topics, What is new | Leave a comment

Programming in Awk Language. LiStaLiA: Little Statistics Library in Awk. Part I.

In the following previous Awk programming articles

The AWK Programming Language

Awk Programming II: Life in a Shell

Awk Programming III: the One-Dimensional Cellular Automaton

I have given a short introduction to this very useful Unix program by also showing two example of elaborate applications. In this fourth article of the series, I am going to show a little library of functions that can be used for basic statistical analysis of data sets. I have written (and rewritten) many of these function but I have spent little time to collect them in a library that can be used by other user. So this article give me the motivation to achieve this target. I didn’t extensively test the library so I am realeasing it as alpha version. If you spot errors or you have improved it then please just send me your modified code!


We start with a function that can be used to read data from a text file (ascii format). A good data reader should be able to read common data format such as comma separated (cvs) or space separated data files. It should also be able to spik blank lines or lines starting with special characters. It would be also handy to select the columns that need to be read and also check and skip lines with inconsistent data sets (missing data or NaNs). This is what exacty work the function ReadData() given in the Appendix. But shall we see it more in details.


The function read the data from a file with name provided in the variable filename. The program skips all empty record, those starting with one of the characters contained in the regular expression skipchar. For example, a regular expressions such as skipchr=”@|#|;” skips the occurrence of the characters “at” or “hash” or semicolomn. The variable warn is used to check the behavior of the program if alphabetic characters or NaN or INF values are present in the data. If the variable is set to 0, the function gives a warning without stop the program, if set to 1 then the function terminate the program after the first warning.

The field separator is specified in fsep and it is used to set the awk internal variable FS and define the separator between data. The variable can be assigned with single character such as fsep=” “ or fsep=”,” or ESC codes such as fsep=FS=”\t” for tab-delimited.

The column in the data record can be read in two ways by set the element zero of the array range[]. For range[0]=0, a adjoint range of data is specified by setting the first element is at range[1] the last one in range[2]. For range[0]=1, the first element in range[1] is the number of data to read followed by the specific field in the record where the data is located.

Continue reading
Posted in Programming, What is new | Leave a comment