The game of Life was invented in the ’70 by the prolific mathematician John H. Conway (on the 11/4/2020 sadly J.H. Conway passed away at the age of 82 after having contracted the COVID-19, see [5] for his biography). The game becomes popular after Martin Gardner described it in his famous column in the Scientific American magazine [1,2]. The game is based on cellular automata conceived by Konrad Zuse and Stanislaw M. Ulam at beginning of the ’50 and then adopted by John von Neumann for his study on self-replicating automata [2,3]. A cellular automaton is composed of interacting units (cells) arranged in a square grid. The system evolves in life cycles where each cell change status and new cells can be born, and others can survive or eventually die. The status of each cell in the next cycle is defined by the interaction with their neighbor cells according to a given set of rules. The interaction occurs with the first neighbors of each cell. As shown in Figure 1, two type of neighbor’s cells (circles) can be used, the game of Life uses the Moore type neighborhood.
Continue readingProgramming
PERL Programming III: Modelling DNA Thermodynamics
After a long pause, the adventure in the PERL programming language series continues with another example of biophysics and molecular biology science application.This time, we are going to make a program to model the effect of the temperature on DNA stability in solution.
The effect of temperature DNA structure integrity plays an important role in molecular biology applications. For example, the DNA amplification method based on polymerase (the PCR method) is based on a series of temperature cycles to separate the two strand of DNA to replicate. DNA primers are used to initiate the process and the knowledge of their melting temperature (Tm) play an important role in optimizing the DNA amplification process.
The first attempts to create a model of DNA thermodynamics date back to the beginnings of 1960. Studies pionered by the groups of Zimm [1] and Tinoco [2], have shown that the relative stability of a double-stranded DNA molecule depends primarily on the nature of the nearest-neighbor bases along the sequence. This finding brought to the formulation of a simple mathematical model (called the nearest-neighbor (NN) model) to predict relative stabilities of double stranded DNA according to the nucleotide sequence [see Cantor]. Subseguently, the NN model was further improved by the contribution of several research groups. In particular, Santalucia and co-workers. proposed a set of parameters for the NN model that provides an excellent prediction of the thermodynamic properties of short DNA homo oligonucleotides and are commonly used to calculate the stability of DNA primers used for PCR applications.
In this third article on PERL programming, I will give some indication on how to implement a simple version of the NN model. To make more fancy the programming task, we are also going to provide the program with a simple Graphical user interface using PERL/Tk.
Continue readingRetro Programming Nostalgia: il Commodore Amiga e la Visualizzazione Molecolare
Italia anno 1989, era l’era del Commodore Amiga con la sua demo di BOING, la pallina bianca e rossa che rimbalzando ha conquistato il cuore di milioni di giovani che hanno vissuto la rivoluzionaria invenzione del personal computer.
Continue readingLa Programmazione della Unix Shell
Questo blog contiene una breve introduzione alla programmazione della Unix shell csh/tcsh. Per altri tipi di shells, il lettore può consultare manuali dedicati a questo argomento riportati nella bibliografia alla fine di questa questo blog. Continue reading
Introduzione alla Dinamica Molecolare

-
Lex. I. Corpus omne perseverare in statu suo quiescendi vel movendi uniformiter in directum, nili quatenus a viribus impressis cogitur statum illum mutare.
- Lex. II. Muationem motus proportionalem esse vi motrici impressae, et fieri fecundum lineam rectam qua vis illa imprimitur.
-
Lex. III. Actioni contrariam semper et equalem esse reactionem: sive corporum duorum actiones in se mutuo semper esse aequales et in partes contrarias dirigi.
Isaac Newton.
Philosophiae Naturalis Principia Mathematica.
London, 1686.
Nel 1648 Isaac Newton diede alle stampe la sua prima edizione dei Principia Mathematica, uno dei più grandi capolavori scientifici di tutti i tempi. Nelle prime pagine di questa summa scientifica si trovano enunciate le famose tre leggi che portano il suo nome, dalle quali ha avuto inizio la fisica-matematica classica. Continue reading
Parallel computing and molecular dynamics simulations
The recent technical developments in parallel computing have made available large parallel computing facilities at relatively contained costs that have stimulated an intense developing activity to realize efficient parallel programs for the scientific and technical calculation. One of the scientific fields that most benefit from these developments is computational chemistry and in particular Molecular Dynamics (MD). The reason of that is related to the increasing interest in the study, with this technique, larger molecular systems for long simulation times. Continue reading
A Practical Introduction to the C Language for Computational Chemistry. Part 1
Write in C (Let it Be)
When I find my code in tons of trouble,
Friends and colleagues come to me,
Speaking words of wisdom:
“Write in C.”
As the deadline fast approaches,
And bugs are all that I can see,
Somewhere, someone whispers:
“Write in C.”
Write in C, write in C,
Write in C, oh, write in C.
LISP is dead and buried,
Write in C.
I used to write a lot of FORTRAN,
For science, it worked flawlessly.
Try using it for graphics!
Write in C.
If you’ve just spent nearly 30 hours
Debugging some assembly,
Soon you will be glad to
Write in C.
Write in C, write in C,
Write in C, yeah, write in C.
Only wimps use BASIC.
Write in C.
Write in C, write in C,
Write in C, oh, write in C.
Pascal won’t quite cut it.
Write in C.
Write in C, write in C,
Write in C, yeah, write in C.
Don’t even mention COBOL.
Write in C.
Parody Song by
Brian Marshall
This series of tutorials will provide a short and practical introduction to the C language aiming students with interest in computational or physical chemistry. At the end of this tutorial, you will be able to write simple programs that can read data from files elaborate them and write the results of the calculations in output files. This tutorial is not a course in C programming language, therefore the motivated readers are encouraged to look for more comprehensive introductions to this language.
The tutorial is also based on OS based Unix systems such as Linux or MacOSX. Therefore, I recommed to give a look to my introductions to Unix OS:
Continue readingRetro Programming Nostalgia: Commodore Amiga and Molecular Visualization
Italy 1989, it was the age of Commodore Amiga with its BOING demo, the bouncing ball that conquest the heart of the millions of young people living the microcomputer revolution.
Continue readingPERL Programming II: Applications to Bioinformatics
This article is the second part of my previous introduction to the PERL language. Here, I am going to show the use of the Perl language in simple bioinformatics applications. I will introduce by examples other aspects of this powerful language.
Continue readingIntroduction to the PERL Language
PERL is an acronym for Practical Extraction and Report Language. This scripting language was initially developed by Larry Wall with the intent to extend the potentiality of the awk and sed program for text manipulation and for Unix system administration tool. It takes the best features of many other languages, such as C, sed, and awk. In addition, Perl supports both procedural and object-oriented programming. Perl is the most popular web programming language due to its capability with text manipulation and rapid development cycle. The same capabilities began a precious support to bioinformatician to data mining the rapid accumulation of a large amount of genetic information from the molecular biology research. Continue reading
