Gallery

Gallery

A collection of some of my artworks, made during these last 20 years. I would like to write some notes on each one of them; I might do it in the future.

La búsqueda de Borges

La búsqueda de Borges

“A las dificultades intrínsecas debemos que añadir que Averroes, ignorante del siríaco y del griego, trabajaba sobre la traducción de una traducción.”

Jorge Louis Borges, La busca de Averroes

Tengo insomnio en este periodo: la noche no puedo dormir, si no hasta que la noche misma no está lista para el sueño. Y no es claro si me quedo despierto porque quiero leer o si leo para que el tiempo no me hable de cosas que no tengo ganas de escuchar: tengo la edad en la cual un hombre puede imaginar con desdén y realidad el mundo que sigue su aventura sin su presencia.

En la noche de ayer, en las últimas páginas del cuento “El Zahir”, de Jorge Luis Borges, me encontré con una frase que ya había sentido en otro lugar, en otro idioma. Estas son las palabras:

“… no hay hecho, por humilde que sea, que no implique la historia universal y su infinita concatenación de efectos y causas”

Yo creo que la fuente de inspiración para este cuento fue Edgar Allan Poe: el tema de la muerte de una mujer muy linda (“aunque no todas las efigies apoyaran incondicionadamente esa hipótesis”) que “buscaba lo absoluto, como Flaubert”; el entretenerse en la descripción de la corrupción de la cara de la muerta en el velorio, y la locura de un detalle (el Zahir del título) que absorberá toda entera la vida mental de el protagonista (Borges mismo), recuerdan muy de cerca al cuento “Berenice”, de Poe. Pero la frase no la leí en Poe, escritor que yo frecuentaba hace mucho tiempo, cuando leer de la muerte en los cuentos de él fue leer sobre un hecho teórico con que nunca me había encontrado todavía, sobre una hipótesis que olía a papel de una edición económica adornada por las ilustraciones de Alberto Martini.

“El Zahir” fue publicado la primera vez el julio de 1947, en la revista Los Anales de Buenos Aires. En el marzo del mismo año, Cesare Pavese termina la redacción de su último libro, “Dialoghi con Leucò”. El volumen fue publicado en el 1947 por Einaudi. Los diálogos reunidos en este libro todos están inspirados en el mito griego, pero no es un mero catálogo mitológico, como podría ser el Fabularum liber de Julius Hyginus: Teseo, Ulises, Diana son solo un pretexto, un catalizador de lo absoluto, que como tal no es ligado a ninguna época y encuentra expresión privilegiada en historias que nunca han sucedido y que siempre han ocurrido en la fantasía de todos los seres humanos, desde los padres de Homero hasta nosotros. En el penúltimo diálogo, Mnemosine le dice a Hesíodo:

“… non avete un istante, nemmeno il più futile, che non sgorghi dal silenzio delle origini”

Yo conjeturo que Borges pude procurarse el volumen de Pavese, el verano de 1947, ante de publicar su relato, e abbia voluto usare quella medesima frase al posto di un suo periodo che esprimeva la stessa idea, ma con minore economia di parole. Non posso provarlo, certo, e non so neanche se davvero i Dialoghi siano stati pubblicati prima del luglio del 1947. Tuttavia penso che Borges fosse in grado di leggere l’italiano, anche quello di Dante; a maggior ragione quello di Pavese. L’italiano di Pavese in fondo potrebbe essere proprio quello di uno straniero che si avventura nella scrittura di una lingua nuova: egli userà parole semplici, comuni, ma le disporrà in un ordine inconsueto per i madrelingua. La ricerca di Cesare Pavese lo portò con sicurezza a calcare i passi incerti del forestiero che inizia a usare l’italiano.

Io stesso ho meditato su quella citazione di Pavese, da quando la incontrai nella estate del 2020, perché mi ero imbattuto nella medesima idea (le idee si scoprono, almeno quanto non si inventino)(*), mentre scrivevo un racconto, nel 2006; e il mio di periodo è presente in questo sito, ma non lo scriverò qui, vicino alla soluzione di Pavese, perché non voglio essere io a rappresentare la dimostrazione pratica della differenza tra uno scrittore e un inutile grafomane; non oggi almeno: queste giornate hanno già le loro frustrazioni.

Ma Borges modifica l’originale, prolunga la ascissa del tempo, dalla genesi al futuro, passando per il quotidiano in cui Pavese si arresta. E sarebbe facile dire che nella prospettiva di Pavese, nel 1947, il futuro forse non esisteva già più e che è in questa frase che, grazie alla aggiunta complementare di Borges che denuncia l’assenza, ci svela, senza saperlo lui stesso, che sceglierà di lì a poco la scelta che fu di un personaggio del suo romanzo “Tra donne sole”: di chiudere la sua realtà soggettiva in una scatola di legno; di scendere dal mondo che continuerà la sua avventura senza di lui.

C’è un’altra differenza: Borges traduce Pavese in un linguaggio da fisico-matematico, invocando con un istinto generoso, la teoria del caos deterministico, ovvero la scienza dello studio asintotico delle soluzioni dei sistemi di equazioni differenziali non lineari, soluzioni le quali sono affette da ogni gesto, persino il più umile e futile (vedi ad esempio questo riferimento). Per altro Borges sembra estendere questi concetti, alludendo alle equazioni differenziali in modo forse ancora più esplicito, in un altro racconto (**), quello in cui il sacerdote Tzinacán realizza che:

“… en el lenguaje de un dios toda palabra enunciaría esa infinita concatenación de los hechos, y no de un modo implícito, sino explicito, y no de un modo progresivo, sino inmediato”

Credo che questa sia la migliore descrizione del teorema di esistenza e unicità di Cauchy che possa essere data senza usare nessun linguaggio matematico. Proprio questo talento scientifico, mai esplicitamente evocato, la caccia al tesoro alle invocazoni matematiche, credo sia una delle attrattive di Borges.

Sin embargo, otra posibilidad es que los dos encontraron una frase parecida in una tercera fuente (una obra che quizá, un día, yo también podría encontrar), y los ha seducido, como ha sido para el que escribe estas líneas, porque son las palabras entre cuyos espacios vacíos cabe una verdad providencial, descubierta quizás hace años.

¿Por qué escribí esto? Porque ahora no puedo hacer mi trabajo, porque he aprendido (quizás, no sé) a hacer saltos mortales para llenar mis días, “urgido por la fatalidad de hacer algo, de poblar de algùn modo el tiempo” (**). Porque un día sin matemáticas, sin dibujar o sin escribir es otra página de un diario sin recuerdos.


* Credo che si possa dire altrettanto per la matematica e per l’arte. In fondo entrambe sono sinonimi di idee. Lo scrive, nel 1940, G.H. Hardy nella sua famosa apologia: “I believe that mathematical reality lies outside us, that our function is to discover or observe it, and that the theorems which we prove, and which we describe grandiloquently as our ‘creations’ are simply our notes of our observations”. Analogamente P.W. Bridgman nel suo volumetto del 1936 (The Nature of Physical Theory): “Mathematics thus appears to be ultimately just as truly an empirical science as physics or chemistry, and the feeling that it is something essentially different arises only when we do not carry our analysis far enough”. Nell’arte, Irving Stone fa dire al suo Michelangelo: “The sculptor on the contrary had to see within the marble the form that it held”. Le idee perciò, che siano teoremi o forme (cioè geometria, quindi matematica), esistevano già prima di essere inventate. Dove si trovano? Non necessariamente nell’universo conosciuto. In questo le idee artistiche e matematiche si distinguono da quelle scientifiche: esistono nell’universo di tutti gli universi possibili.

** “La escritura del dios”, Borges

P-value threshold for genetic studies

P-value threshold for genetic studies

“This it seems to me is characteristic of most judgments involving physical processes — the law of the excluded middle is not a valid description of our actual physical experience — there has to be a third category of doubtful, in addition to positive or negative.”

P. W. Bridgman, The Nature of Physical Theory

1) The multiple testing issue

With the emergence of titanic biological datasets generated by the latest omics technologies, the problem of correction of the significance threshold (the conventional \alpha = 0.05) for multiple testing has required a careful revision and update. The simplest way to correct for multiple testing is the Bonferroni correction (a derivation is provided in par. 5): in this method, the threshold for statistical significance is given by

1)\;\;p\,<\,\frac{\alpha}{m}

where the denominator represents the number of independent variables. Now, in the case of genetic testing, how should we set the value of m? Let’s say that we are comparing two populations of individuals (one with a disease, the other made up by healthy subjects) and we have genotyped N variants in each one of them. Once we have associated a p value to every single variant, we must face the problem of correcting it for multiple testing by using Eq. 1. What should we do? Well, it is simple, we put m\,=\,N, right? Wrong!

2) Linkage disequilibrium

In general, variants belonging to the same chromosome are not inherited in an independent fashion: we know that whole chunks of chromosomes of about 50 kb pass from one generation to the other. These blocks are called haplotypes and there has been a considerable effort in classifying them for various human populations in the last 20 years. A map of human haplotypes is now available (HapMap) and it allows for the calculation of the real number of independent variants (often called tag SNPs) on the human Genome, and for other pivotal purposes I won’t write here about, like for instance imputation (a technique that dramatically reduces the number of variants we must genotype in order to scan the genome of a human being) (The International HapMap Consortium 2005), (The International HapMap Consortium, 2009). Visit the page of the International HapMap Consortium here. For us, what is important here is the fact that the knowledge of the haplotypes gives us a measure of the linkage disequilibrium between any possible pair of variants on the same chromosome. But what is linkage disequilibrium? Let’s say that we have two loci L_1 and L_2 on the same chromosome. L_1 has the two alleles A and a, while L_2 presents the two alleles B and b of frequencies f(A),\,f(a),\,f(B),\,f(b), respectively. Let’s define now the random variable X whose value is one if L_1 is occupied by A, zero otherwise; similarly, let’s define the random variable Y such that it is one if L_2 is occupied by B, zero otherwise. We can say that both these variables have a Bernoulli distribution with expectations given by E[X]\,=\,f(A) and E[Y]\,=\,f(B), respectively. If we now define f(A,\,B) the frequency of the haplotype AB, and if we similarly define f(A,\,b),\,f(a,\,b),\,f(a,B), we can then write the following relationships:

2)\;\;\begin{cases} f(Ab)\,=\,f(A)\,-\,f(aB)\\f(aB)\,=\,f(B)\,-\,f(AB)\\f(ab)\,=\,1\,-\,f(B)\,-\,f(A)\,+\,f(AB)\\f(AB)\,+\,f(Ab)\,+\,f(aB)\,+\,f(ab)\,=\,1\\f(A)\,+\,f(a)\,=\,f(B)\,+\,f(b)\,=\,1 \end{cases}\

where we have considered that f(A,\,B)\,=\,E[XY], f(A,\,b)\,=\,E[X(1-Y)]\,= E[X]\,-\,E[XY]\,.... That said, the covariance between X,\,Y is given by:

3)\;\; Cov[X,\,Y]\,=\,E[X\,Y]\,-\,E[X]E[Y]\,=

\,=\, f(AB)\,-\,f(A)f(B)\,=\,f(Ab)\,-\,f(A)f(b)\,=

=\,f(aB)\,-\,f(a)f(B)\,=\,f(ab)\,-\,f(a)f(b)

Or also (with some algebraic manipulation, by substituting the relationship of Eq. 2):

4)\;\;Cov[X,\,Y]\,=\,f(AB)f(ab)\,-\,f(Ab)f(aB)

That said, one definition of Linkage disequilibrium is just

5)\;\;d\,=\,Cov[X,\,Y]

Figure 1. Left: the values admitted for d are those that fall within the shell; in particular, for f(aB) = f(Ab) = 0 (coupling) we have that d assumes the values of the curve coloured blue, while for f(AB) = f(ab) = 0 (repulsion) then d describes the curve in orange. These two curves are plotted in Figure 2, too.

This definition presents a problem, namely the fact that when we have a complete dependence between L_1 and L_2, its value varies in ]0,0.25] (see Figure 1, Figure 2, and paragraph 6 for a detailed discussion) and this does not seem to have a particular biological meaning. It would be more interesting to have a definition such that Linkage disequilibrium assumes a unique value (for example 1) when we have complete dependence between the two loci. Note that we can accomplish this by considering the correlation coefficient between X\,=\,Y instead, which is given by:

6)\;\;\rho_{XY}\,=\,\frac{Cov[X,\,Y]}{\sqrt {Var(X)Var(Y)}}\,=\frac{d}{\sqrt {Var(X)Var(Y)}},

Thus, in the present article we consider the following definition for linkage disequilibrium:

7)\;\;linkage\,disequilibrium\,=\,\rho^2\,=\,\frac{d^2}{f(A)f(a)f(B)f(b)}

where we have considered that Var[X]\,=\,E[X](1-E[X])\,=\,f(A)f(a) and Var[Y]\,=\,E[Y](1-E[Y])\,=\,f(B)f(b). For further details on this topic, go to paragraph 6. See also (Reginald D Smith 2020).

Figure 2. For f(aB) = f(Ab) = 0 (coupling) we have that d assumes the values of the curve coloured blue, while for f(AB) = f(ab) = 0 (repulsion) then d describes the curve in orange.

3) The search for the number of independent loci

Consider now that the number of loci in linkage equilibrium one with the other is the value m in Eq. 1, the one we are interested in. From an operational point of view, how can we determine if two loci are in linkage equilibrium so that they can be considered independent one from the other? We can randomly build the genome of 2,000 human beings with the only restrain that haplotypes must be respected (this is where the HapMap comes into play), we then randomly assign them to two populations and we calculate for each locus the p value for the comparison of these two populations. Let’s say that locus L_i has a p value p_i. Since these two groups are identical by construction, it must be p\,>\,\frac{\alpha}{m} or, in other words:

8)\;\;m\,>\,\frac{\alpha}{p_i}

If we repeat this inequality for each locus, we have a lower bound for m. That number is the number of independent loci we were searching for (Pe’er, I. et al. 2008).

4) Experimental results

I discuss here the calculation of m performed in a recent study, the best I have been able to find on this topic (Fadista, J. et al. 2016). The strength of this study is that they calculated m for two kinds of sequencing techniques: whole-genome sequencing (WGS) and whole-exome sequencing (WES). Not only that, but they also provided the results for different European and non-European populations, for different definitions of linkage disequilibrium, and for different thresholds for minor allele frequency (MAF). These results are plotted in their paper and they are also available in xlsx format (here, even though I must say that they omitted part of raw data on different ethnicities). Nevertheless, I have elaborated them in my own way (the script that draws the diagrams is available below) by using a different arrangement of the data and by providing a fancy polynomial interpolation, by cubic splines, as to have smooth and elegant surfaces and curves. In Figure 3 I plotted m in function of the threshold for the minor allele frequency (MAF) and for the linkage disequilibrium, in the case of whole-genome sequencing (WGS). In that plot, it is assumed that MAF is the lower bound for the minor allele frequency while the axis ‘Linkage disequilibrium’ is the upper limit for the value \rho^2 in Eq. 7. Figure 4 is exactly the same diagram, but in this case, it has been built by considering data from whole-exome sequencing (WES). Some observations: the number of independent variants is bigger in WGS than it is in WES (which is due to the fact that in the former case we are considering more genetic material than in the latter one); when we reduce MAF, m increases (reducing MAF means considering more variants, so again, this leads to a high number of independent variants); m decreases with Linkage disequilibrium (the threshold for considering two variants as independent one from the other). This last point deserves a further explanation: in this context, when we say that LD is, let’s say, 0.8 it means that we consider two variants to be independent when their linkage disequilibrium (calculated as in Eq. 7) is below 0.8; as we reduce this value, we define a more stringent criterion for independence between pair of variants, thus the number m must decrease.

Figure 3. The number of independent variants in whole-genome sequencing, in function of the lower limit for minor allele frequency and of the upper limit for Linkage disequilibrium.
Figure 4. The number of independent variants in whole-exome sequencing, in function of the lower limit for minor allele frequency and of the upper limit for Linkage disequilibrium.
MAFmplog_{10}\frac{1}{p}
\geq\,0.05 782,3616.39\cdot10^{-8} 7.19
\geq\,0.01 1,580,6503.16\cdot10^{-8} 7.50
\geq\,0.005 2,093,8872.39\cdot10^{-8} 7.62
\geq\,0.001 4,126,1251.21\cdot10^{-8} 7.92
Table 1. This table gives the values m, p in function of the lower limit for minor allele frequency, in the case of whole-genome sequencing. It is assumed that \rho^2\,\leq\,0.8 .

If we consider the upper limit for \rho^2 to be 0.8, we obtain Table 1 and Table 2, where both m and corresponding Bonferroni corrections are collected, for various MAF thresholds.

MAFmplog_{10}\frac{1}{p}
\geq\,0.05 39,3831.27\cdot10^{-6} 5.90
\geq\,0.01 69,2657.22\cdot10^{-7} 6.14
\geq\,0.005 86,9275.75\cdot10^{-7} 6.24
\geq\,0.001 161,8333.09\cdot10^{-7} 6.51
Table 2. This table gives the values m, p in function of the lower limit for minor allele frequency, in the case of whole-exome sequencing. It is assumed that \rho^2\,\leq\,0.8 .

In Figures 5, 6 you can find these same data after interpolation, arranged as a curve where p is expressed in function of m and MAF.

Figure 5. The corrected threshold for statistical significance in function of the number of independent variants and of the lower limit for minor allele frequency, for WGS.
Figure 6. The corrected threshold for statistical significance in function of the number of independent variants and of the lower limit for minor allele frequency, for WES.

5) How to derive the Bonferroni correction

If we have a threshold \alpha'\,=\,0.05 for statistical significance and we perform m tests, then the probability that one test is positive by chance is P\,<\,alpha' and the probability that one test is negative by chance is 1\,-\,P\,>\,1\,-\,\alpha'. This also means that the probability that all the m tests are negative is (1\,-\,P)^m\,>\,(1\,-\,\alpha')^m. In conclusion, the probability that at least one test is positive pureley by chance is

9)\;\;p\,=\,1\,-\,(1\,-\,P)^m\,<\,1\,-\,(1\,-\,\alpha')^m

We want this probability to be lower than \alpha\,=\,0.05 , which leads to the following inequality:

10)\;\;\alpha'\,<\,1\,-\,\sqrt[m]{1\,-\,\alpha}

This value \alpha' is the corrected threshold for statistical significance, accorrding to the Bonferroni correction. But this is not the correction in Eq. 1, you might note. Yes, that is right. But let’s consider the well known expansion by series:

11)\;\;(1\,-\,\alpha)^{\frac{1}{m}}\,=\,\sum_{k\,=\,0}^{\infty}(-\,\alpha)^k\begin{pmatrix} \frac{1}{m}\\k \end{pmatrix}

If we take only the first two addends of the sum and if we substitute them in the expression already found for \alpha', we obtain Eq. 1. The error (its absolute value) that we make when we consider Eq. 1 instead of Eq. 8 is the one plotted in Figure 7, in function of m, for \alpha\,=\,0.05 .

Figure 7. The absolute value of 1\,-\,\sqrt[m]{1\,-\,\alpha}\,-\,\frac{\alpha}{m} in function of m for \alpha\,=\,0.05

6) Mathematical notes on linkage disequilibrium

By substituting the fourth relationship of Eq. 2 in Eq. 4, we obtain the surface

f(ab)\,-\,f(ab)f(Ab)\,-\,f(ab)f(aB)\,-

-\,f^2(ab)\,-\,f(Ab)f(aB)\,-\,d\,=\,0

which is a quadratic form in the space of the frequencies of the haplotypes ab, Ab, aB. More precisely, and even though this is of no importance for us, this is a hyperbolic cylinder (as the reader can easily verify by studying its associated matrix). If we now ask that f(Ab)\,\in\,[0,1] and f(AB)\,\in\,[0,1] for f(aB)\,\in\,[0,1], f(ab)\,\in\,[0,1], we find the relationships

\begin{cases} d\,\geq\,-f(aB)\,+\,f(aB)f(ab)\,+\,f(aB)^2\\d\,\leq\,f(ab)\,+\,f(aB)f(ab)\,+\,f(aB)^2\\d\,\geq\,-\,f(aB)\,-\,f(aB)f(ab)\,-\,f(ab)^2\\d\,\leq\,f(ab)\,-\,f(aB)f(ab)\,-\,f(ab)^2\\f(aB)\,\in\,[0,1],\,f(ab)\,\in\,[0,1]\end{cases}

Taken togheter, these inequations say that d can assume only the values included within the elegant surface in Figure 1. In particular, when f(Ab)\,=\,f(aB)\,=\,0 (a condition of perfect disequilibrium which goes under the name of coupling), then d assumes the values of the curve coloured blue, while when f(AB)\,=\,f(ab)\,=\,0 (repulsion) then d assumes the value on the curve coloured orange. These two courves are plotted in Figure 2 too. Note that f(Ab)\,=\,0\,\Rightarrow\,f(aB)\,=\,0; moreover, f(AB)\,=\,0\,\Rightarrow\,f(ab)\,=\,0 (this can be proved easily by using Eq. 2).

Note that the application of the method of the Lagrange multipliers for restrained optimization to Eq. 4, with the restrains defined by the fourth relationship of Eq. 2, would not lead to any conclusion in this case, because it is equal to the search for the extremes of a function whose gradient is never zero.

7) Supplementary Material

The script that plots Figures 1 and 2 can be downloaded here.

The script that plots Figures 3, 4, and 5 can be downloaded here.

The script that plots Figure 7 can be downloaded here.

Data from (Fadista, J. et al. 2016) can be downloaded here.


The equations of this blog post were written using \LaTeX (see this article)

La cura

La cura

“Nada puede occurir una sola vez, nada es preciosamente precario. Lo elegiaco, lo grave, lo ceremonial, no rigen para los Inmortales”

Jorge Luis Borges, El inmortal

Ho dovuto cercare l’esemplare. L’Europa non sostenne mai il peso dei brachiosauri, non poté nutrire quegli oceani silenziosi di platani necessari ad alimentare la passione prolifica dei plateosauri, né solitudini estese a sufficienza per dare respiro alle migrazioni scomposte e festose dei diplodochi. Per questo ho fatto sopralluoghi a nord del Nord America, prima, e mi sono spinto poi, qualche mese dopo, sui tavolati della Patagonia.

Cosa dice il manuale di farmacologia? “L’esploratore sfogli i sedimenti del tardo Mesozoico, a passi lenti ma regolari, come l’ibis che spera assorto nel riflesso musile delle scaglie dorate, oltre la pellicola liquida sul Nilo. Come una lancetta il malcapitato passi in rassegna, di eone in eone, il Cretaceo pietrificato, l’album di famiglia della Terra, scrutando tra le pagine le pietre che trattengono l’eco della anatomia superba del sauropode.”

“Il sauropode abbia conosciuto la solitudine del pascolo, abbia vissuto la lussuria di una stagione lussureggiante di amori, conosca la sazietà e il dolore. Abbia ottanta milioni di anni.”

–Ho tanti milioni di anni!– così mi sembrò di sentire una voce, a metà febbraio, quando la mattina cerca il colorito della salute e i sogni ancora stentano ad assopirsi. Ma c’ero solo io che insultavo il freddo, in Patagonia, sulle tracce di Darwin. –Scaldami le ossa ancora una volta, rimettimi nella corrente del tempo che consuma la vita ad ogni giro della vite che gira intorno al Sole, anche solo per un’ora! Senza la minaccia senza assoluzione o amnistia della morte, esistere non ha senso. L’eternità, esauriti i gradienti che nutrono e accrescono la fame della entropia vorace, è una legge ingiusta–.

Un tronco mi parve all’inizio, abbattuto, screpolato, mezzo sommerso. Ma poi riconobbi un condilo e più in là una cresta iliaca. Stavo camminando sulle rovine di una cattedrale, un argentinosauro, e non me ne ero accorto!

In breve, questa è la storia. Poi come si prepara il fossile lo sai: lo macini, aggiungi cannella e brodo granulare, rabbocchi la ciotola di acqua, ne fai solleticare le molecole dalle microonde finché non prenda il colore dell’ocra. E speri che funzioni.

Hai visto mai i bimbi sorpresi dalla morte? Sono improbabili, tra le palpebre socchiuse guardano una cosa che non possono capire, come uno schiaffo violento della mamma, dalla quale hanno conosciuto solo abbracci. Rimangono con l’esclamazione di sorpresa muta del tulipano. Così è stato per me, morto quando dovevo iniziare.

Se guarissi, non mi fermerebbe nessuno, comincerei a correre senza cronometro, come Forrest Gump. Sono una persona avventurosa, in fondo; avventura fisica intendo, esplorazione. In Abruzzo non avevo otto anni che partii per la prima grande spedizione in solitaria. Un ramarro mi tagliò la strada, segnando il confine di Eracle, ma non mi lasciai spaventare dal profilo dei monti che cambiava e dal paesino che diventava più piccolo.

Un avventuriero che ha vissuto la sua vita in una stanza, senza più cervello. Leopardi in una sua lettera all’amico Ranieri diceva che la sua pazzia sarebbe stata quella di rimanere su una sedia, immobile. Io non capivo, a 18 anni, di cosa parlasse.

Poco dopo l’ho scoperto. E da allora cerco la cura.

The lost illustration

The lost illustration

Philosophy is written in a great book that is continually open before our eyes (that is the Universe), but it cannot be understood unless one first learns to decipher the language and the characters in which it is written. It is written in a mathematical language, and the characters are triangles, circles, and other geometric figures, without which it is impossible for us to understand a word of it; without them it is a vain wandering through a dark labyrinth.

Galileo Galilei, The Assayer

The geometry of the backbone (or main chain) of a peptide is completely described by a sequence of dihedral angles (also known as torsion angles): the angle Φ is the angle around the chemical bond between the alpha carbon of one amino acid and the azote of the same amino acid; the angle Ψ is the angle around the axis of the bond between the alpha carbon and the other carbon (I call it beta carbon, but this is a personal notation) of the same amino acid. This definition is incomplete, of course, because as we all know, a dihedral angle is defined not only by an axis but also by two planes that intersect in that axis. Not only that, these two angles have a sign, so we must specify a positive arrow of rotation. This can be done in several ways. The problem is that the most efficient way would be by just drawing the planes the torsion angles are defined by. Now, through the years I discovered that this drawing is usually lacking in books, leading to some confusion, particularly in those who study biochemistry without a particular interest in a quantitative description of molecular structures. In Figure 1 you find the graphical description of Φ and Ψ in a well-know book of biochemistry. Do you see the planes the angles are defined by? In Figure 2, two further examples of illustrations that are not suited at completely describing the two dihedral angles, from a two other well-know books, one about bioinformatics, the other one a booklet about protein structures. The second one is the best one, but you still have to mentally merge two drawings (FIG. 5 and FIG. 6) to get the full picture. I hope I won’t be sued…

Figure 1. Dihedral angles, from Principles of Biochemistry, by Voet D, Voet J, and Charlotte WP.

Figure 2. Two illustrations for the description of the torsion angles. The one on the left is from Bioinformatics, Sequence and Genome Analysis, by David W Mount. On the right: The Anatomy and Taxonomy of Protein Structures, by Jane S Richardson.

Now, it is possible that I have just been unlucky with the books of my personal library. Or it may be that the illustration with the three planes we need to correctly define Φ and Ψ (we just need to add a plane to the amide planes), would not be clearly readable. I tried years ago to draw the planes for Ψ (the illustration is in this blog post) and I have now completed it with the other torsion angle, by drawing a tripeptide (Figure 3). It is just a handmade drawing, but I think it serves the scope. This is what I call the lost illustration.

Figure 3. A peptide of three amino acids. The amide planes are shaded grey. A further plane has been added to fully characterize the torsion angles Φ and Ψ. Pencil and pen on paper, by Paolo Maccallini.

A second glance at the UK Biobank Database

FeaturedA second glance at the UK Biobank Database

Note. This blog post should be read on a laptop. With smaller screens, some of the tables cannot be correctly formatted.

Introduction: what has been found

The UK Biobank is a large-scale biomedical database that includes genetc data on 500,000 UK citizens (Sudlow, C et al. 2015). Myalgic Encephalomyelitis/Chronic Fatigue Syndrome (ME/CFS) is among the phenotypes reported by participants. The total number of ME/CFS patients included is 1208 females and 451 males, with control groups of more than 150 k individuals each. For each individual 805,426 variants (both SNPs and short InDels) were genotyped. From them, up to 30 million variant can be imputed using haplotype maps. This is the biggest GWAS study on ME/CFS patients ever made, so far. Many research groups have analyzed this huge quantity of data and the conclusion, according to (Dibble J. et al. 2020), is that the only variants to be significantly different between patients and controls are included in gene SLC25A15, which encodes mitochondrial ornithine transporter I, particularly variant rs7337312 (position13:41353297:G:A on reference genome GRCh37, forward strand). But this difference is statistically significant only when we consider female patients vs female controls (Table 1). For a detailed discussion of this result, the best reference is the already mentioned (Dibble J. et al. 2020). I wrote an analysis myself on this same result and on its possible implications, available here. My focus, while writing that document, was also understanding the architecture of the metadata generated by using the UK Biobank, by Neale’s Lab (R), one of the research groups that performed the statistical analyses. It was not obvious, at the beginning, how I could derive for each variant genotyped a table like Table 1. In fact, it is the result of the elaboration of five files, four of them of considerable size. Once I realized how to read and manipulate these files, I manually derived the data I was interested in, at first. Then I decide to write a code that could do the work in an automated fashion (see below).

Table 1. Frequencies and allele counts for variant rs7337312 (gene SLC25A15 ) among 1208 CFS female patients, 451 CFS male patients, 192945 female controls, 166537 male controls, total UK Biobank sample, and general population (global genome AD). P values for patients vs controls have been calculated for both sexes. I derived this table from metadata by Neale’s Lab (R).

What has not been found

Now, even if we are certainly disappointed by the fact that the positive result of these analyses does not add much to what we already knew about ME/CFS, it is important to stress that negative results are also relevant. Why? Because we can rule out the huge amount of genetic associations made through the years between fatigue in general, and CFS in particular, and genetic variants (see for instance the encyclopedic review Whang T. et al. 2017). As an example, I will focus on the variants of TNF alpha gene collected in Table 2. In 2006, an Italian group found that the minor allele of variant rs1799724 (TNF-857) was significantly more frequent in 54 ME/CFS patients than in 224 controls ( Carlo-Stella N. et al. 2006). In 2020, a group from Germany reported a statistically significant difference for the same variant, but only when ME/CFS patients without infectious triggered onset were considered (Steiner S. et al. 2020). Two other variants of gene TNF alpha were associated with morning fatigue among oncology outpatients with breast, prostate, lung, or brain cancer ( Dhruva A. et al. 2015). Are these variants different between the 1659 ME/CFS patients and the about 300 k controls in the UK Biobank database?

VariantPosition on GRCh37 (fs) Disease p val Reference
rs1799724 ch6:31,542,482 ME/CFS
ME/CFS w/o ITO
0.0028
0.0430
Carlo-Stella N. et al. 2006
Steiner S. et al. 2020
rs1800629
rs3093662
ch6:31,543,031
ch6:31,544,189
Morning fatigue in oncology outpatients
with breast, prostate, lung, or brain cancer
0.0250
0.0040
Dhruva A. et al. 2015
Table 2. Variants on gene TNF associated with ME/CFS, with ME/CFS without Infectious Triggered Onset (ITO), and with morning fatigue in oncology outpatients with breast, prostate, lung, or brain cancer.

To answer this question I have selected a suitable region of chromosome 6 (ch6:31,539,768 – ch6:31,546,495) that includes not only all the variants in Table 2, but the whole TNF gene. I then analyzed this region with a code I wrote in GNU Octave, version 6.3.0. This code generates three .csv files (one for each of the following groups: females only, males only, both sexes) with information on each one of the variants genotyped within the region mentioned (see Supplementary Material). An extract from these files, with only the variants collected in Table 2, can be seen in Table 3, Table 4, and Table 5. None of these variants reaches the statistically significant threshold, which for this kind of studies is considered to be p<5×10^(-8), for variants with a minor allele frequency above 5% (even lower for less common variants) (Fadista J et al. 2016).

rsidminref altmin_AFp valalt
cases
alt
contr
1799724TCT0.0720.1500.0770.072
1800629AGA0.1970.7060.1950.197
3093662GAG0.0760.5900.0730.076
Table 3. Frequencies of the same variants of Table 2 from Neale’s Lab Metadata. This is the comparison between 1656 ME/CFS patients (females + males) and 359482 controls (females + males). min = minor allele; ref = reference allele; alt = alternate allele; min_AF = minor allele frequency. alt cases = frequency of alternative allele in cases; alt contr = frequency of alternate allele in controls. Elaboration made by the code TNF.m I wrote in Octave (see supplementary material).

rsidminrefaltmin_AFp valalt
cases
alt
contr
1799724TCT0.0720.1670.0780.071
1800629AGA0.1970.8570.1980.196
3093662GAG0.0760.6030.0730.076
Table 4. As in Table 3, but in this case the comparison is between 1208 female ME/CFS patients and 192945 female controls. min = minor allele; ref = reference allele; alt = alternate allele; min_AF = minor allele frequency. alt cases = frequency of alternative allele in cases; alt contr = frequency of alternate allele in controls. Elaboration made by the code TNF.m I wrote in Octave (see supplementary material).

rsidminrefaltmin_AFp valalt
cases
alt
contr
1799724TCT0.0720.6090.0750.072
1800629AGA0.1970.3140.1860.199
3093662GAG0.0760.8560.0740.075
Table 5. As in Table 3 and Table 4, but in this case the comparison is between 451 male ME/CFS patients and 166537 male controls. min = minor allele; ref = reference allele; alt = alternate allele; min_AF = minor allele frequency. alt cases = frequency of alternative allele in cases; alt contr = frequency of alternate allele in controls. Elaboration made by the code TNF.m I wrote in Octave (see supplementary material).

Another way to conveniently visualize the differences between patients and controls (if any) is to plot p values in function of the position of the variants they refer to. We actually plot the log10 of 1/p or, in other words, -log10(p). This kind of diagram is known as Manhattan plot and in Figure 1 you see the manhattan plot for region ch6:31,539,768 – ch6:31,546,495, in the case of females + males. As you can see, none of the variants has a p value below 0.01. In Figure 2 you find the same plot, this time for females only (left) and males only (right).

Figure 1. Manhattan plot for ch6:31,539,768 – ch6:31,546,495, in the case of female + male CFS patients vs controls. Red dot is rs1799724, blue dot is rs1800629, yellow dot is rs3093662. None of these three variants reaches a p value below 10^-1. Plotted by manhattan_plot.m (see supplementary material).
Figure 2. Manhattan plot for ch6:31,539,768 – ch6:31,546,495, in the case of female CFS patients vs female controls (left) and male CFS patients vs male controls (right). Red dot is rs1799724, blue dot is rs1800629, yellow dot is rs3093662. None of these three variants reaches a p value below 10^-1.

Conclusions

In conclusion, these codes of mine provide as output the frequency of both the minor and the major allele among 1659 ME/CFS patients, stratified by sex, for about 15 million variants (including SNPs and InDels). They also provide the p value (beta test) for the comparison of these patients with about 300 k controls, along with general information on the variants (such as position, minor allele frequency among 500 k UK citizens, predicted consequences, etc). These codes do so by analyzing the metadata generated by Neale’s Lab, a research group that worked on the UK Biobank dataset. In this blog post, I have shown how to use these data to test previously published genetic associations between ME/CFS and gene TNF alpha.

Supplementary material

The files that I used as input for my codes are the following ones (click on them to download):

variants_TNF

20002_1482.gwas.imputed_v3.both_sexes_TNF

20002_1482.gwas.imputed_v3.females_TNF

20002_1482.gwas.imputed_v3.males_TNF

The output generated by TNF.m (see below) consists in the following files (click on them to download) which were used to build tables from 3 to 5:

TNF_total_both_sexes

TNF_total_females

TNF_total_males

Details on these files can be found in this PDF. The code that generates the plots is pretty simple and can be downloaded here. The code that generates the three output files from the four input ones is the one that follows.

% file name = TNF
% date of creation = 25/08/2021
% it generates the file TNF_tot by using the package IO
% see https://octave.sourceforge.io/io/ for a description
clear all
close all
pkg load io
%-------------------------------------------------------------------------------
% Data source
%-------------------------------------------------------------------------------
% The collection of the analysis generated by Neale’s Lab with the UK Biobank
% data is available here:
% https://docs.google.com/spreadsheets/d/1kvPoupSzsSFBNSztMzl04xMoSC3Kcx3CrjVf4yBmESU/edit?ts=5b5f17db#gid=178908679
% In line 2 of that file, you can download an explanation of the labels (README).
% At lines 9 and 10 you can download a collection of the phenotypes and of some
% of the attributes of the relative sample, for females and males respectively
% (phenotypes.female.tsv, phenotypes.male.tsv). We are interested in phenotype 20002_1482
% (Non-cancer illness code, self-reported: chronic fatigue syndrome). In line 11
% you find a file that contains the details on each variant (variants.tsv). You
% must unzip the files before opening them. I have used File viewer plus for reading
% this file (Excel doesn’t seem to open it).
%-------------------------------------------------------------------------------
% Length and position of TNF
%-------------------------------------------------------------------------------
% The position of TNF goes from ch6:31,543,342 to ch6:31,546,113 on the reference
% genome GRCh37 (alias h19), according to NCBI (https://www.ncbi.nlm.nih.gov/gene/7124).
% The two variants we are interested in has a position ch6:31,542,482 (rs1799724, TNF-857)
% and ch6:31,543,031 (rs1800629), on GRCh37. So we must include them, along with
% the whole TNF gene. Since rs1799724 falls also in gene LTA, I include this gene
% as well (LTA goes from ch6:31,539,876 to ch6:31,542,101). Then a suitable interval
% in this dataset is ch6:31,539,768 to ch6:31,546,495.
%-------------------------------------------------------------------------------
% numbers of cases and controls
%-------------------------------------------------------------------------------
n_cases_f = 1208
n_controls_f = 192945
n_cases_m = 451
n_controls_m = 166537
n_cases_b = n_cases_f + n_cases_m
n_controls_b = n_controls_f + n_controls_m
%-------------------------------------------------------------------------------
% name of the gene
%-------------------------------------------------------------------------------
gene = 'TNF';
%-------------------------------------------------------------------------------
% number of variants = upper limit for range - 1
%-------------------------------------------------------------------------------
file_name = strcat('variants_',gene,'.xlsx')
[filetype, sh_names, fformat, nmranges] = xlsfinfo (file_name);
strn = char(sh_names(1,2));
strn = substr(strn,5) % upper limit for range as a string
n = str2num(strn) % upper limit for range as a number
%-------------------------------------------------------------------------------
% reading and storing variants_GENE.xlsx
%-------------------------------------------------------------------------------
file_name = strcat('variants_',gene,'.xlsx')
sheet = 'Sheet1'
% reading and storing chr:position:ref:alt
range = strcat('A2:A',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
variant = text;
% reading and storing the chromosome
range = strcat('B2:B',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
chr = num;
% reading and storing the position on chromosome
range = strcat('C2:C',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
pos = int32(num);
% reading and storing the ref allele
range = strcat('D2:D',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
ref = text;
% reading and storing the alt allele
range = strcat('E2:E',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
alt = text;
% reading and storing the rsid
range = strcat('F2:F',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
rsid = raw;
% reading and storing the consequence
range = strcat('H2:H',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
consequence = text;
% reading and storing the consequence category
range = strcat('I2:I',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
consequence_category = text;
% reading and storing the Alternate allele count (calculated using hardcall genotypes)
range = strcat('L2:L',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
AC = int32(num);
% reading and storing the Alternate allele frequency (calculated using hardcall genotypes)
range = strcat('M2:M',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
AF = double(num);
% reading and storing the Minor allele (equal to ref allele when AF > 0.5, otherwise equal to alt allele)
range = strcat('N2:N',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
minor_allele = text;
% reading and storing the Minor allele frequency (calculated using hardcall genotypes)
range = strcat('O2:O',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
minor_AF = double(num);
% reading and storing the Hardy-Weinberg p-value
range = strcat('P2:P',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
p_hwe = double(num);
% reading and storing the Number of samples with defined genotype at this variant
range = strcat('Q2:Q',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
n_called = int32(num);
% reading and storing the Number of samples without a defined genotype at this variant
range = strcat('R2:R',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
n_not_called = int32(num);
% testing by writing some of the data
i = 2
variant (i)
chr (i)
pos (i)
ref (i)
alt (i)
rsid (i)
consequence (i)
consequence_category (i)
AC (i)
AF (i)
minor_allele (i)
minor_AF (i)
p_hwe (i)
n_called (i)
n_not_called(i)
%-------------------------------------------------------------------------------
% reading and storing 20002_1482.gwas.imputed_v3.females_GENE.xlsx
%-------------------------------------------------------------------------------
file_name = strcat('20002_1482.gwas.imputed_v3.females_',gene,'.xlsx')
sheet = 'Sheet1'
% reading and storing chr:position:ref:alt
range = strcat('A2:A',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
variant_f = text;
% reading and storing the Minor allele frequency in n_complete_samples_f
range = strcat('C2:C',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
minor_AF_f = double(num);
% reading and storing the quality control
range = strcat('E2:E',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
low_confidence_variant_f = raw;
% reading and storing the numeber of individuala genotyped in cases + controls
range = strcat('F2:F',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
n_complete_samples_f = double(num);
% reading and storing the Alternate allele count within n_complete_samples_f
range = strcat('G2:G',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
AC_f = double(num);
% reading and storing the number of alternative alleles in n_cases_f
range = strcat('H2:H',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
ytx_f = double(num);
% reading and storing the p values between cases and controls
range = strcat('L2:L',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
pval_f = double(num);
% testing by writing some of the data
i = 2
variant_f(i)
minor_AF_f(i)
low_confidence_variant_f(i)
n_complete_samples_f(i)
AC_f(i)
ytx_f(i)
pval_f(i)
%-------------------------------------------------------------------------------
% reading and storing 20002_1482.gwas.imputed_v3.males_GENE.xlsx
%-------------------------------------------------------------------------------
file_name = strcat('20002_1482.gwas.imputed_v3.males_',gene,'.xlsx')
sheet = 'Sheet1'
% reading and storing chr:position:ref:alt
range = strcat('A2:A',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
variant_m = text;
% reading and storing the Minor allele frequency in n_complete_samples_f
range = strcat('C2:C',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
minor_AF_m = double(num);
% reading and storing the quality control
range = strcat('E2:E',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
low_confidence_variant_m = raw;
% reading and storing the numeber of individuala genotyped in cases + controls
range = strcat('F2:F',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
n_complete_samples_m = double(num);
% reading and storing the Alternate allele count within n_complete_samples_f
range = strcat('G2:G',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
AC_m = double(num);
% reading and storing the number of alternative alleles in n_cases_f
range = strcat('H2:H',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
ytx_m = double(num);
% reading and storing the p values between cases and controls
range = strcat('L2:L',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
pval_m = double(num);
% testing by writing some of the data
i = 2
variant_m(i)
minor_AF_m(i)
low_confidence_variant_m(i)
n_complete_samples_m(i)
AC_m(i)
ytx_m(i)
pval_m(i)
%-------------------------------------------------------------------------------
% reading and storing 20002_1482.gwas.imputed_v3.both_sexes_GENE.xlsx
%-------------------------------------------------------------------------------
file_name = strcat('20002_1482.gwas.imputed_v3.both_sexes_',gene,'.xlsx')
sheet = 'Sheet1'
% reading and storing chr:position:ref:alt
range = strcat('A2:A',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
variant_b = text;
% reading and storing the Minor allele frequency in n_complete_samples_f
range = strcat('C2:C',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
minor_AF_b = double(num);
% reading and storing the quality control
range = strcat('E2:E',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
low_confidence_variant_b = raw;
% reading and storing the numeber of individuala genotyped in cases + controls
range = strcat('F2:F',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
n_complete_samples_b = double(num);
% reading and storing the Alternate allele count within n_complete_samples_f
range = strcat('G2:G',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
AC_b = double(num);
% reading and storing the number of alternative alleles in n_cases_f
range = strcat('H2:H',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
ytx_b = double(num);
% reading and storing the p values between cases and controls
range = strcat('L2:L',strn)
[num,text,raw,limits] = xlsread (file_name, sheet, range);
pval_b = double(num);
% testing by writing some of the data
i = 2
variant_b(i)
minor_AF_b(i)
low_confidence_variant_b(i)
n_complete_samples_b(i)
AC_b(i)
ytx_b(i)
pval_b(i)
%-------------------------------------------------------------------------------
% checking for wrong alignments between these 4 files
%-------------------------------------------------------------------------------
error = 0.;
for i=1:n-1
a = variant(i);
b = variant_f(i);
c = variant_m(i);
d = variant_b(i);
% function strcmp (string_1, strin_2) returns 1 if the two strings are identical
% it resturns 0 if the two strings have at least a different character in the same position
test = strcmp(a,b);
if ( (test==0) );
error = error +1;
endif
test = strcmp(a,c);
if ( (test==0) );
error = error +1;
endif
test = strcmp(a,d);
if ( (test==0) );
error = error +1;
endif
endfor
error
%-------------------------------------------------------------------------------
% defining major and minor alleles among all the variants
%-------------------------------------------------------------------------------
for i=1:n-1
frequency = AF(i); %frequency of the alternative allele
if ( frequency <= 0.5 )
minor_allele2(i)=alt(i);
major_allele(i)=ref(i);
else
minor_allele2(i)=ref(i);
major_allele(i)=alt(i);
endif
endfor
%-------------------------------------------------------------------------------
% defining alternate allele frequencies in case groups
%-------------------------------------------------------------------------------
for i=1:n-1
alt_AF_f(i) = ytx_f(i)/(2n_cases_f); alt_AF_m(i) = ytx_m(i)/(2n_cases_m);
alt_AF_b(i) = ytx_b(i)/(2n_cases_b); endfor
%------------------------------------------------------------------------------- 
% defining alternate allele frequencies in control groups %------------------------------------------------------------------------------- 
for i=1:n-1 alt_AF_f_controls(i) = ( AC_f(i)- ytx_f(i) )/(2n_controls_f);
alt_AF_m_controls(i) = ( AC_m(i)- ytx_m(i) )/(2n_controls_m); alt_AF_b_controls(i) = ( AC_b(i)- ytx_b(i) )/(2n_controls_b);
endfor
%-------------------------------------------------------------------------------
% defining reference allele frequencies in case groups
%-------------------------------------------------------------------------------
for i=1:n-1
ref_AF_f(i) = 1-alt_AF_f(i);
ref_AF_m(i) = 1-alt_AF_m(i);
ref_AF_b(i) = 1-alt_AF_b(i);
endfor
%-------------------------------------------------------------------------------
% defining reference allele frequencies in control groups
%-------------------------------------------------------------------------------
for i=1:n-1
ref_AF_f_controls(i) = 1-alt_AF_f_controls(i);
ref_AF_m_controls(i) = 1-alt_AF_m_controls(i);
ref_AF_b_controls(i) = 1-alt_AF_b_controls(i);
endfor
%-------------------------------------------------------------------------------
% checking for errors by comparing minor_allele with minor_allele2
%-------------------------------------------------------------------------------
error2 = 0.;
for i=1:n-1
a = minor_allele(i);
b = minor_allele2(i);
% function strcmp (string_1, strin_2) returns 1 if the two strings are identical
% it resturns 0 if the two strings have at least a different character in the same position
test = strcmp(a,b);
if ( (test==0) );
error2 = error2 +1;
endif
endfor
error2
%-------------------------------------------------------------------------------
% writing of GENE_total_females.csv
%-------------------------------------------------------------------------------
columns = cell(n,20);
columns{1,1} = "variant";
columns{1,2} = "chr";
columns{1,3} = "pos";
columns{1,4} = "rsid";
columns{1,5} = "minor_allele";
columns{1,6} = "major_allele";
columns{1,7} = "ref";
columns{1,8} = "alt";
columns{1,9} = "minor_AF";
columns{1,10} = "low_confidence_variant";
columns{1,11} = "p_hwe";
columns{1,12} = "consequence";
columns{1,13} = "consequence_category";
columns{1,14} = "pval";
columns{1,15} = "alt_AF_cases";
columns{1,16} = "alt_AF_controls";
columns{1,17} = "ref_AF_cases";
columns{1,18} = "ref_AF_controls";
columns{1,19} = "n_cases";
columns{1,20} = "n_controls";
for i=1:n-1
columns{i+1,1} = variant{i};
columns{i+1,2} = chr(i);
columns{i+1,3} = int32(pos(i));
columns{i+1,4} = rsid{i};
columns{i+1,5} = minor_allele{i};
columns{i+1,6} = major_allele{i};
columns{i+1,7} = ref{i};
columns{i+1,8} = alt{i};
columns{i+1,9} = minor_AF(i);
columns{i+1,10} = low_confidence_variant_f{i};
columns{i+1,11} = p_hwe(i);
columns{i+1,12} = consequence{i};
columns{i+1,13} = consequence_category{i};
columns{i+1,14} = pval_f(i);
columns{i+1,15} = alt_AF_f(i);
columns{i+1,16} = alt_AF_f_controls(i);
columns{i+1,17} = ref_AF_f(i);
columns{i+1,18} = ref_AF_f_controls(i);
columns{i+1,19} = n_cases_f;
columns{i+1,20} = n_controls_f;
endfor
file_name = strcat(gene,'_total_females.csv')
cell2csv (file_name, columns," ")
%-------------------------------------------------------------------------------
% writing of GENE_total_males.csv
%-------------------------------------------------------------------------------
columns = cell(n,20);
columns{1,1} = "variant";
columns{1,2} = "chr";
columns{1,3} = "pos";
columns{1,4} = "rsid";
columns{1,5} = "minor_allele";
columns{1,6} = "major_allele";
columns{1,7} = "ref";
columns{1,8} = "alt";
columns{1,9} = "minor_AF";
columns{1,10} = "low_confidence_variant";
columns{1,11} = "p_hwe";
columns{1,12} = "consequence";
columns{1,13} = "consequence_category";
columns{1,14} = "pval";
columns{1,15} = "alt_AF_cases";
columns{1,16} = "alt_AF_controls";
columns{1,17} = "ref_AF_cases";
columns{1,18} = "ref_AF_controls";
columns{1,19} = "n_cases";
columns{1,20} = "n_controls";
for i=1:n-1
columns{i+1,1} = variant{i};
columns{i+1,2} = chr(i);
columns{i+1,3} = int32(pos(i));
columns{i+1,4} = rsid{i};
columns{i+1,5} = minor_allele{i};
columns{i+1,6} = major_allele{i};
columns{i+1,7} = ref{i};
columns{i+1,8} = alt{i};
columns{i+1,9} = minor_AF(i);
columns{i+1,10} = low_confidence_variant_m{i};
columns{i+1,11} = p_hwe(i);
columns{i+1,12} = consequence{i};
columns{i+1,13} = consequence_category{i};
columns{i+1,14} = pval_m(i);
columns{i+1,15} = alt_AF_m(i);
columns{i+1,16} = alt_AF_m_controls(i);
columns{i+1,17} = ref_AF_m(i);
columns{i+1,18} = ref_AF_m_controls(i);
columns{i+1,19} = n_cases_m;
columns{i+1,20} = n_controls_m;
endfor
file_name = strcat(gene,'_total_males.csv')
cell2csv (file_name, columns," ")
%-------------------------------------------------------------------------------
% writing of CLYBL_total_both_sexes.csv
%-------------------------------------------------------------------------------
columns = cell(1523,20);
columns{1,1} = "variant";
columns{1,2} = "chr";
columns{1,3} = "pos";
columns{1,4} = "rsid";
columns{1,5} = "minor_allele";
columns{1,6} = "major_allele";
columns{1,7} = "ref";
columns{1,8} = "alt";
columns{1,9} = "minor_AF";
columns{1,10} = "low_confidence_variant";
columns{1,11} = "p_hwe";
columns{1,12} = "consequence";
columns{1,13} = "consequence_category";
columns{1,14} = "pval";
columns{1,15} = "alt_AF_cases";
columns{1,16} = "alt_AF_controls";
columns{1,17} = "ref_AF_cases";
columns{1,18} = "ref_AF_controls";
columns{1,19} = "n_cases";
columns{1,20} = "n_controls";
for i=1:n-1
columns{i+1,1} = variant{i};
columns{i+1,2} = chr(i);
columns{i+1,3} = int32(pos(i));
columns{i+1,4} = rsid{i};
columns{i+1,5} = minor_allele{i};
columns{i+1,6} = major_allele{i};
columns{i+1,7} = ref{i};
columns{i+1,8} = alt{i};
columns{i+1,9} = minor_AF(i);
columns{i+1,10} = low_confidence_variant_b{i};
columns{i+1,11} = p_hwe(i);
columns{i+1,12} = consequence{i};
columns{i+1,13} = consequence_category{i};
columns{i+1,14} = pval_b(i);
columns{i+1,15} = alt_AF_b(i);
columns{i+1,16} = alt_AF_b_controls(i);
columns{i+1,17} = ref_AF_b(i);
columns{i+1,18} = ref_AF_b_controls(i);
columns{i+1,19} = n_cases_b;
columns{i+1,20} = n_controls_b;
endfor
file_name = strcat(gene,'_total_both_sexes.csv')
cell2csv (file_name, columns," ")

Diario di bordo

Oggi il mare è una distesa serena, le onde sono dei bambini che non crescono: nascono, baluginano e muoiono. La vela è una donna gravida, rotonda di vento, senza strappi. La rotta è sempre incerta, però almeno mi muovo.

Tornato a Itaca, l’ho trovata vuota. La vita di allora è vissuta altrove, ha continuato lontano da lì; o si è estinta molti anni fa.

Itaca ora è una casa abitata dal silenzio che è cresciuto sicuro che non facessi ritorno, con l’arroganza di una pergola selvaggia; sui sogni, le speranze, e tra le pagine dei libri.

Allora ho assecondato il vaticinio di Tiresia: baciata l’isola petrosa, l’ho affidata alla memoria. Ancora una volta e per sempre.

Awakenings

This documentary, filmed by Duncan Dallas of Yorkshire Television in 1973, reports on a very peculiar group of patients gathered at Mount Carmel, a chronic hospital raised just after the First World War in the neighborhood of New York.

These patients were survivors of a pandemic that spread around the world between 1916 and 1927. The pathogen (never identified for sure) left them with damages in the mesencephalon and/or basal ganglia that affected the dopaminergic nuclei and their ascending projections (Von Economo 1931), (Rail D et al. 1981), (Kiley M et Esiri MM 2001). These lesions resulted in a form of severe Parkinsonism associated – at least in some cases – with some of the worst examples of apathy, a condition in which the physiological flow of thoughts is frozen. Apathy is exemplified, in the documentary, particularly by the case of Sylvia Schneider (15:02), who went under the fictional name of Rose R. in the book (see below).

These patients were the subjects of a celebrated book, by the same title, by Oliver Sacks, the neurologist who cared for them. Sacks made an attempt at treating them, by administering the drug L-Dopa starting from the summer of 1969, with some miraculous results (awakening some of the patients, literally), followed by heavy falls into the statue-like state, in some of the cases. The documentary is about their struggle to come back to life, after decades.

From the 1990 edition of the book Awakenings, by Oliver Sacks, about this documentary:

They [the patients] encouraged me, earlier, about publishing the book: ‘Go ahead; tell our story – or it will never be known’. And now they said: ‘Go ahead; film us. Let us speak for ourselves’

On Sylvia Schneider (alias Rose R.) see also:

The character of Lucy from the movie Awakenings (1990) seems also largely based on the story of Sylvia Schneider. See the following clip from Awakenings:

Oliver Sacks about the individuals depicted in this documentary:

A meaningful quote from the book Awakenings:

Some of these patients had achieved a state of icy hopelessness akin to serenity: a realistic hopelessness, in those pre-DOPA days: they knew they were doomed, and they accepted this with all the courage and equanimity they could muster. Other patients (and perhaps, to some extent, all of these patients, whatever their surface serenity) had a fierce and impotent sense of outrage: they had been swindled out of the best years of life; they were consumed by the sense of time lost, time wasted; and they yearned incessantly for a twofold miracle – not only a cure for their sickness, but an indemnification for the loss of their lives. They wanted to be given back the time they had lost, to be magically replaced in their youth and their prime.

La legge di Milone

La legge di Milone

AMADRIADE: Strana gente. Loro trattano il destino e l’avvenire, come fosse un passato.

SATIRO: Questo vuol dire, la speranza. Dare un nome di ricordo al destino.

Cesare Pavese

Mi trovò Artemide, anni fa; e se non era lei, doveva trattarsi di una felina affine: virgole aperte sulle iridi liquide e fisse, gazzella tenera travestita da ragazzo, cacciatrice che si fa catturare, e poi si divincola. Scoprii che spendeva il silenzio a dipingere vite, nella mente. “Ho fatto un quadro, vuoi vederlo?” mi diceva come una figlia di cinque o sei anni, con quella voce. “Perché tra una esistenza immaginata e un ricordo,” mi chiese poi retorica un giorno, questa volta con la voce della sua età, “dove sta dopo la differenza?” Essere dea non aveva risparmiato un presente da coprire col colore alla bambina che era stata.

Ecco, quello che segue è il ricordo di una guarigione che mai è davvero avvenuta, è un quadro di Artemide. L’esperienza vissuta di un futuro che non si è coniugato: il racconto di una speranza, come Pavese spiega a Leucò con una delle sue costruzioni prolettiche. Non realizzata, almeno non come la avevo immaginata e non con il peso definitivo dell’ultima punteggiatura dell’ultima pagina. Io sono come le stagioni: è impossibile curare l’inverno, ma se si ha pazienza o si è disposti a migrare, la buona complessione vince la forza del male.

Più precisamente, questi sono frammenti di un racconto che credo non navigherà il pelago binario nella sua interezza, mai. E’ stato scritto tra il 2006 e il 2007, è un diario parallelo di viaggio, la finzione di una verità che si ostinava a non conformarsi alle tavole anatomiche di Propp: è come la bugia di Donald Crowhurst. Eppure, se si tollera una interpretazione non letterale, chi mi conosce ci troverà la mia di morfologia, quella dell’anima che mi sono faticosamente costruito, almeno; con anni di esercizio. Non a caso il titolo del racconto che non leggerete è ‘La Legge di Milone’ e vi lascio sciogliere l’indovinello su google, se vorrete. Non lo leggerete, ho scritto; ma lo avete letto in tutto ciò che già la cincia canta in bit in questo bosco, perché in esso e da esso partono e arrivano molte poesie e racconti di cui, lo so, nessuno sentiva il bisogno. Tranne me. Ho scritto per me: senza giovarmi dei suggerimenti di Rilke, sapevo da me e so che – nonostante le guide alla scrittura per i libri nel cassetto – chi scrive per il lettore è un burocrate. Non lo leggerete perché è troppo vero, nella sofferenza: non gode dei tanti camuffamenti dei versi, delle interpretazioni multiple, delle allusioni timide. La prosa può descrivere come una matita sottile, se proprio lo si vuole. E io non voglio.

Leggete allora del mio ritorno immaginato e sappiate che, da un certo punto di vista, io sono tornato. E l’ho realizzato solo giorni fa, tre lustri dopo aver chiuso il file della Legge di Milone. Ero in uno di quei luoghi tristi dove la gente decide di andare per divertirsi, un paradiso addomesticato dove la neve dei vulcani va in vacanza; mi ci sono ritrovato per una serie di circostanze, seguendo le rotte dei becchi che graffiano l’ardesia. Mi preparavo a volare, stile rana, in un bacino strappato alla violenza dell’Atlantico, rassicurato dallo sguardo premuroso di una sirena che ha addestrato un orso dell’Abruzzo a non temere il mare. Ero lì, con in mente i calcoli con cui rispondere a un collega dell’altro estremo della apnea oceanica, lo iato liquido che ha biforcato la storia. E ho pensato che forse, anche se non quando avrei voluto e non come, forse ero tornato. Ma si sa, Natura ha sempre più fantasia degli esseri umani: la regina delle trame. E quando, l’altro ieri, mi sono trovato a tentare di stimare la dimensione di un castello di vapore, dieci chilometri sopra la Francia del sud, cronometrando il tempo necessario per completare la processione da una torre all’altra, ho riflettuto che magari sono davvero diventato la persona che sarei dovuto diventare, nonostante tutto. Però questo non è un punto di arrivo: è la partenza. Così come la nuvola non era affatto grande come un castello, quanto piuttosto come una metropoli.

****

“Renzo prese anche lui la peste […] ne fu in fin di morte, ma la sua buona complessione vinse la forza del male […] Per alquanti giorni Renzo si tenne in esercizio, per esperimentar le sue forze, e accrescerle.”

Alessandro Manzoni

Soffitto della camera buia, in principio scenario di reiterate battaglie, tra la rabbia e l’impotenza; poi deserto immutabile, scrutato per anni. Per trovarvi solamente, a volte, la sosta pensosa di un pesciolino d’argento [1]; miraggio immobile, aggrappato all’intonaco; silenzioso messo di qualche amico lontano, inviato più volte a sincerasi della mia condizione. Per me solo una presenza gelida, un fossile freddo, un trilobite congelato dal tempo, su di una lastra di sedimenti induriti.

Lampioni pietosi, sentinelle notturne delle strade cittadine; aruspici per me, da interrogare. Allora, che mi accadrà? Dite, vi prego! Accarezzandomi con una luce smorta Redibis non morieris in bello [2], mi dicono mesti. Unisono coro il loro, malinconico come il pianto di vecchi cetacei. E io non ho dubbi, ancora una volta, sul posto da dare alla virgola, sull’interpretazione da attribuire al consueto vaticinio: Redibis non, morieris in bello. Cioè: morirai, alla tua vita non tornerai.  

Questo è tutto il mio mondo, da anni. Sfoglio i giorni a centinaia, come pagine insignificanti di un’agenda senza memorie.

6 settembre.  Cosa mi sta portando oggi la sera? Pensa di farmi un regalo gradito, concedendomi questo debole riflusso della marea tossica che mi consuma il cervello? Vuole farmi rinvenire quel tanto che basta per permettermi di prendere coscienza della mia degradazione?

Ormai la malattia è per me un’alleata: da un lato mi ha tolto progressivamente la vita, è vero, ma dall’altro mi ha anche somministrato l’anestesia, per non farmi soffrire. Mi ha sciolto dall’interno, col suo micidiale veleno, mantenendo intatta la scorza, per lasciarmi appeso, sconsolato impiccato, alla sua tela; e mangiarmi con calma.

Aracnide paziente, macchina fredda, sicura equilibrista sui tuoi aghi articolati, crudeli strumenti chirurgici. Mi hai smemorato per non farmi assistere alla mia morte? O per non farmi protestare, mentre mi tessevi il sudario? Ora penso che avrei preferito soffrire e provare a reagire, piuttosto che inalare l’etere e lasciarti consumare lo scempio. Troppo tardi, vero?

Mio Dio! Non è forse un sorriso maligno quello che vedo dietro le orrende fauci artigliate? Gli occhi di vetro, grappolo di gonfi acini scuri, non hanno una luce sinistra? Vibra la lorda peluria del mostro, agitata da un’oscena risata. I tuoi cheliceri frementi ti tradiscono: tu, orrore meccanico, sei scosso dall’emozione, dalla lurida soddisfazione di avermi distrutto.

Sono esausto. Ma forse vivo un parziale risveglio. Vedremo.

20 settembre. In che anno mi trovo? La mia percezione del tempo è gravemente danneggiata. Avverto la tendenza ad essere incapace di trattenere il tempo, ad essere incapace di occupare i minuti con i pensieri. Io credo che il presente sia vissuto tanto più intensamente quanto maggiore è la densità dei pensieri nel tempo. Ma la malattia spegne la mente, impedendomi di pensare, e dunque rubandomi il tempo. È per questo che di anni di vita mi resta veramente poco.

Potrei dire di aver saltato questo periodo, di non averlo vissuto. Ma se da un lato le mie ore perdono di profondità una volta che sono trascorse, poiché vissute con la mente inattiva, dall’altro esse risultano interminabili mentre si consumano. Questo perché i momenti spiacevoli hanno una durata soggettiva maggiore di quelli piacevoli. Dunque le ore di malattia sono vissute come interminabili, anche se poi, la rarefazione dei pensieri che le caratterizza, rende irrisorio il contenuto mnemonico relativo al tempo trascorso in questo stato, che così, a posteriori, appare breve.

In effetti non ho ricordi vividi di questa stagione di malattia e dunque non posso percepirne la reale durata. So solo che ho pianto il consumarsi inutile dei miei anni.

Ho veduto gli astri scorrere lungo i loro binari di seta. Li ho visti consumare infinite rivoluzioni; instancabili come i bambini, quando corrono in tondo, cantando filastrocche. Li ho supplicati più volte, con un nodo alla gola, di fermarsi ad aspettare; di attendere che rivivessi, o di rallentare almeno. Tante volte ho pianto per il consumarsi vano delle poche migliaia di giorni che, come uomo, mi sono concesse. Vibrava allora il lucore delle stelle, ma non in quanto il lamento le avesse toccate nel cuore. Era la rifrazione del loro splendore, attraverso il palpitante velo di lacrime, che mi donava un’immagine meno cruda della loro freddezza.

“Guardai tristemente il vorticoso roteare del giorno e della notte: ogni respiro era un giorno. Alzai il braccio, come a respingere quella visione d’incubo, per coprirmi gli occhi. Ma la mia mano non mi obbedì. Era paralizzata dalla vecchiaia.” [3]

Quanto tempo è passato da che fu disattivato il mio nucleo cosciente? Non voglio saperlo. Sono troppo debole ancora per affrontare la realtà. Desidero dormire, per non contemplare lo strazio, la  mutilazione della mia giovinezza. Inoltre tra poco potrei sparire di nuovo, per mesi, per anni. E allora a che servirebbe sforzarsi di riavviare le centraline incrostate del mio cervello? E se poi non potessero essere ripristinate le loro funzioni? Se le ritrovassi danneggiate? Se non fosse più possibile recuperare me stesso com’ero?

21 ottobre. I miei libri attendono da anni di essere riaperti. Loro mi hanno vegliato teneramente, dai piani delle mensole, impotenti, soffrendo composti. Mi hanno aspettato pazienti; ma il resto del mondo avrà atteso che mi risvegliassi? Cosa c’è oggi oltre l’ombra stagnante della mia camera? È presto per farsi queste domande. Che io sopravviva è da vedersi.

1 novembre. Adesso che si dirada la stanchezza disumana secreta dal morbo, mi resta l’affanno di un corpo debilitato. Devo ricominciare da lui, recuperandolo dal declino, riprendendolo per i capelli. Perché è vero che la mia essenza coincide con l’irripetibile universo di proteine e acqua, ioni saettanti e macromolecole risonanti, contenute nel vano angusto del mio cranio; ma è anche vero che il mio cervello trae nutrimento e piacere dai restanti ottanta chili di ossa e carne e viscere cieche che mi porto dietro. La mente, senza il ventre che la nutre, e il muscolo che le consente di dare espressione ai pensieri, non è nulla. Recuperare la macchina che mi sostenta, il terreno in cui si insinua capillarmente il sistema nervoso, le radici della mia mente: questa è ora la mia missione. Tornare indietro dal mondo dei sommersi.

Sarebbe fantastico riemergere da una notte così fitta, così apparentemente definitiva. Nascere una seconda volta non capita a tutti. Solo agli eroi. Ercole, Ulisse, Enea. Non sono forse tutti dovuti scendere all’inferno, e tornare poi fra i vivi, per guadagnarsi la loro grandezza?

“[…] E tu t’inoltra,

snuda la spada, Enea! Ora il cuor saldo,

ora il coraggio tuo qui si dimostri!” [4]

Io non aspiro ad essere un gigante, né un semidio. Mi basterebbe essere un uomo.

15 dicembre. Dove sono stato per più di un mese? Maledizione! Non c’è nulla che  possa fare per evitare queste ricadute disastrose? Potessi lottare!

Mi stupisce sempre il modo nel quale la malattia riprende il controllo di tutte le fibre del mio corpo. Ecco la cronaca dell’inizio di una ricaduta. Con un tuffo al cuore sento dissolversi i pensieri, li sento diluirsi, come pigmento nell’essenza di trementina. Il sangue vivido abbandona festoso il ventricolo destro e avverto impotente che la mente mia se ne va, che Paolo si sgrana come una statua di sale nell’acqua; il sangue esausto rientra  nel capiente atrio destro e già è tutto  compiuto: già le mie inconsistenti difese hanno capitolato e il desiderio di trattenere i pensieri ha ormai il volto sconsolato di una speranza stroncata.

Non mi abituerò mai a questo fenomeno. Quello che fa male è la sua imprevedibilità e la mia completa impotenza. Alla fine mi pare di essere come quel cane che mi impietosì tanto da bambino: la bestiola era in balia di un padrone capriccioso, crudelmente sadico, che le somministrava continuamente punizioni ingiustificate, senza motivo. L’animale aveva finito per avere paura di tutto e di tutti. Ma la cosa che più mi fece impressione allora fu il constatare come avesse smesso di reagire alle offese, come le accettasse passivamente.

Io non debbo mai smettere di reagire! Passati i temporali delle ricadute, dovrò sempre rialzarmi.

21 dicembre. Non fu per il bisogno malato di farmi del male, che indugiai così a lungo nel mondo sospeso delle vite perdute? Ci ripenso e non ci credo. Quanto tempo ho vissuto fra quelle povere anime sconfitte dalla vita? Viscere senza intelligenza, ventri e intestini senza volto, lasciati invecchiare in un angusto giardino, isolato dal mondo; abbandonati per anni a terapie inefficaci; eppure mai più rivedute, da Dio solo sa quanto tempo.

C’ero anche io ad attendere, sulla soglia di una camera squallida, la dispensa parsimoniosa di perle, sgravo di blister scricchiolanti, e di gocce di fiele, prezioso secreto di fiale ambrate? Sì, con la schiena ad un montante della porta, attendevo l’estenuante processione del carrello dei farmaci; osservando le mani veloci dell’infermiere che consultava il registro delle terapie, che apriva le confezioni, che versava gocce; e i concavi mesti dei malati, pronti a infrangere il vago senso di nausea per quegli oggetti colorati che contenevano, fissati con disappunto.

Il rumore del carrello dei farmaci che corre lungo il corridoio mi pare di sentirlo ancora. E lo rivedo nitidamente ora, quel traballante ordigno di latta. Due ripiani stipati di un incredibile arsenale di scatole eterogenee, medicine disposte per ordine alfabetico: Adapin, Adepril, Anafranil… Divinità del pantheon di qualche oscuro popolo preatlantideo (in realtà nomi bizzarri, generati dal bisogno dei produttori di avere una breve sequenza di lettere che non figuri in nessun dizionario del mondo).

Efexor doveva essere il dio della Guerra, Zoloft quello degli Inferi; e mentre Nortimil era il saggio padre degli dèi, signore dei cieli e della terra, Trittico doveva sedere sul trono vetusto del regno echeggiante degli abissi. Si sa inoltre per certo di come Bupropione fosse il titanico fabbro della famiglia divina; energumeno abbronzato dal fuoco, gigante dal corpo potente e dalla mente creativa. 

Quante volte mi è sembrato di vederlo, miraggio ondeggiante nell’aria liquida della fucina! Paziente tollera l’atmosfera rovente, corrucciato aspetta che le fiamme del legno donino al ferro il carbonio, segreto della resistenza dell’acciaio. Poi il suo indugiare culmina nel gesto vigoroso del braccio che rovescia il martello, atto risoluto della creazione. Ed è un’esplosione di frammenti d’acciaio, incendiati dall’ossidazione vorace.

Per lungo tempo io mi affidai a questo dio pagano. Gli chiesi di soffocare le mie debolezze, di costringerle in catene, in un luogo da dove non potessero giungermi le loro proteste. Di scaraventare in un pozzo l’orribile massa palpitante delle mie paure. Il segreto dell’acciaio, questo gli chiesi di concedermi, pregando appassionatamente avvinto all’effige sacra del nume, la grandiosa spada a due mani. La forza gli chiesi, di dar forma alla vita con fendenti di lama, senza ripensamenti, rimorsi o malinconie. La volontà invincibile, che spezza le emozioni, lasciando solo la furia della rabbia creatrice.

Fu un rombo la voce di Bupropione, quando egli si manifestò. Già gli acquazzoni gridavano che settembre finiva; l’atmosfera si scuoteva dall’inerzia estiva, vissuta sopraffatta dal caldo. Ecco, tuonò Bupropione, ti dono ciò che mi chiedi. Vuoi essere un uomo? Concesso!

Assistetti silenzioso e attonito al mio mutamento, per giorni. Sentii crescere nelle viscere il feto del nuovo Paolo. Palpitava a volte, e poi ricadeva nel sonno. Così fu per settimane, il tempo necessario a rimuovere i sensi di colpa e le grigie tristezze che incrostavano le articolazioni, che ingolfavano le rapide vie dei pensieri.

Quando infine fu tutto sgombrato dal flusso copioso del farmaco, di nuovo la vita pulsò nelle arterie. Di nuovo il mio corpo assistette al festoso brulichio degli enzimi operosi, degli ioni scattanti e persino dei più placidi ormoni. Sentivo il traffico dei potenziali d’azione lubrificato di nuovo. Le strade ora erano state mondate dall’oscuro groviglio di colpe e complessi, rottami ingombranti di colossi meccanici e corpi gravi di sauropodi stanchi. E su di esse si riversò la folla festante, il popolo infinito dei mediatori chimici, zoo chiassoso che si agitava attraverso le complesse membrane, lungo i condotti dismessi delle proteine. Vivevano ancora le proteine! Estese come poemi, belle e complesse come strabilianti architetture di ardita avanguardia, mobili e risonanti; sospese tra le leggi perfette dei singoli nuclei e il caos della complessità.

Bupropione mi aveva donato la fulgida spada d’acciaio, unica fede dell’uomo vigoroso. Solo di Lei ti devi fidare, tuonò, ascoltare il cuore non devi! La poesia è una malattia dello spirito! E  voltandomi già il dorso maestoso, concluse: questo è il segreto dell’acciaio! Questo è bene!

Brutto trombone imbecille! Ma che razza di idee! Come ho potuto pensare di abbracciare questa religione grottesca! La spada, senza il cuore che la agita, non è nulla! La maschera dura che ostentano gli uomini non è mai l’immagine onesta dell’animo loro. È una finzione, ma rivolta solo agli estranei. Una maschera indossata consapevolmente, per spaventare i nemici. Come il cimiero degli antichi soldati, sotto il quale resta l’uomo, conscio delle sue debolezze.

“Così detto, distese al caro figlio

l’aperte braccia. Acuto mise un grido

il bambinello, e declinato il volto,

tutto il nascose alla nudrice in seno,

dalle fiere atterrito armi paterne,

e dal cimiero, che di chiome equine

alto sull’elmo orribilmente ondeggia.

Sorrise il genitor, sorrise anch’ella

la veneranda madre; e dalla fronte

l’intenerito eroe tosto si tolse

l’elmo, e raggiante sul terren lo pose.” [5]

I sentimenti sono la nostra forza; gli abissi delle paure sono il vero terreno di prova della virtù. Bisogna frequentarli con coraggio, non evitarli. A viso aperto vanno fronteggiate le contrarietà; le dobbiamo  analizzare e studiare come scrupolosi ornitologi. È necessario puntare su di loro il binocolo e non la doppietta!

Ero giovane allora e sciocco; e maledettamente impaurito. Speravo che il bupropione facesse da corsetto per la mia volontà scoliotica. E invece caddi dalla padella alla brace, dalla assenza alla pazzia. La salute offerta dal farmaco era, nel mio caso, una malattia essa stessa. La complessità del mio animo, che avevo costretto all’esilio, cominciò una lotta di liberazione.

Il disastro iniziò in sordina. Le stanze della mente presero a essere infestate da piccoli pensieri parassiti che scappavano qua e là, come blatte sorprese dalla luce. Scarafaggi, idee larvate, trascurabili interferenze che potevo facilmente sovrastare, convogliando ulteriore energia al flusso ideativo volontario.

Ripresi i miei libri, felice di poter tornare all’occupazione di un tempo. E per un poco andò bene. Ma incominciai ad  accorgermi che in tutti i miei conti prosperava l’errore. Un fattore dieci dimenticato, un due tralasciato, un esponente sbagliato. Piccole cose, insomma, all’inizio. Mi mettevo di impegno e rifacevo i miei calcoli, sforzandomi di travolgere con energia il rumore di fondo che disturbava i miei processi di pensiero.

Ma le cose peggioravano: l’energia necessaria a coprire le interferenze diventava sempre di più; inoltre il mio lavoro risultava progressivamente più rallentato e improduttivo. Spesso accadeva che esaurissi completamente le risorse mentali per non concludere praticamente nulla di concreto. Pagine e pagine di conti sbagliati, di risultati assurdi; questo era il più delle volte il prodotto di tutto il mio affanno. Si verificava in fine che tutte le forze che il farmaco aveva liberato si esaurissero per contrastare i pensieri involontari che infestavano chiassosi la mente.  Mi ammazzavo di fatica per non andare da nessuna parte! Ero il cocchiere di una carrozza tirata da tanti cavalli indisciplinati che si agitano, battono gli zoccoli al suolo, sbuffano; e spingono ciascuno in una direzione diversa.

Esaurito, sconfitto, mi sedetti allora su una collina a contemplare il paesaggio sconvolto dell’orto dove, un tempo, coltivavo orgoglioso integrali e teoremi; piante fiorite su pagine misere e sudate, ma belle, di conti ordinati. E memorie di saggi, collezione preziosa. Povere cose, tutto quello che avevo. E ora, dopo che anni di assenza avevano assetato le povere piante, ecco le locuste voraci, maledizione biblica; e un’orda di gnu migranti. Tutto sul mio piccolo campo!

Ma quale era la natura dei pensieri parassiti? Se mi fermavo ad ascoltarli, se ne acchiappavo al volo qualcuno per esaminarlo, dovevo ammettere che non mi erano estranei. Quegli ossessi avevano la mia voce! Santo cielo! Ero io a parlare, ma senza volerlo.

“Quale linguaggio umano potrà descrivere adeguatamente lo stupore, l’orrore, che si impadronì di me allo spettacolo che si presentò alla mia vista? […] Un grande specchio – mi sembrò in un primo momento nella mia confusione – stava ora dove prima non ne avevo scorto alcuno; e mentre avanzavo verso di esso preda del massimo terrore, la mia stessa immagine […] avanzò verso di me con andatura traballante e malferma. Così sembrava, dico, ma non era. Era Wilson, il mio antagonista […] Non un particolare del suo abbigliamento, non un tratto di tutti i marcati e singolari lineamenti del suo viso, che non fossero, nella più assoluta identità, i miei.” [6]

Ma allora, se quel tale che si impegnava in infiniti monologhi ero io, chi era colui che lo ascoltava indispettito e disturbato? La mia coscienza risiedeva nel Paolo autentico o in quello fasullo? Entrambi vivevano e ragionavano, ma il nucleo cosciente dimorava in uno solo di essi. Era la pazzia, pianta maligna nutrita dal farmaco.

E cominciò la danza dell’ago del bilancino da chimico: 250, 300 o 400 mg? O niente? Capsule d’ostia, polvere fine, eccipienti. Orribile pasto di preparati galenici. Capsule dal sentore di colla, meticoloso lavoro del farmacista, mio assiduo compagno di sventura. Ridurre, aumentare, sospendere. Aggiungere e togliere. Aspettare gli effetti delle modulazioni, sospeso, ascoltandomi. Nutrire speranza, disperarsi. Illudersi e disilludersi. Associare lo Zyprexa, dormendo giorno e notte. Togliere lo Zyprexa. Mettere l’Abilify. Toglierlo, tanto non serve. Telefonare, derelitto straccione, al dottor Risanati, maschera di istrionica sicurezza.

Ho tirato avanti all’infinito con questi infiniti, perché la pazzia fa paura, ma l’assenza non scherza. Fu una sofferenza che non mi illudo di poter riuscire a spiegare.

Alla fine dovetti ammettere che il bupropione aveva fallito. Non era questione di dosaggio o di associazioni con altri farmaci. Sebbene mi restituisse l’energia vitale, il prezzo da pagare era troppo alto. Dovevo provare qualcos’altro. E provai, di tutto, per anni. Ottenni agitazione, oscena frivolezza, eccitazione, confusione. Ma remissione no, quella non mi fu mai concessa.

15 marzo, giorno 9863 della mia vita. Terra dei Padri. Partivamo presto, io e i miei amici, per raggiungere i monti. Piccoli esploratori, pianificavamo la sera la spedizione, dopo cena, attorno a un tavolino del bar del piccolo paesino. Giocando agli adulti, discutevamo seriosi dettagli fondamentali; parlando, ascoltando e pensando, disciplinati.

L’indomani mi svegliavo d’istinto, all’improvviso, all’ora giusta; vivo come un tigrotto. Reduce da un sonno di piombo, senza profondità, un vero salto nel futuro. Ancora non dovevo lottare contro di me, per esistere. Il desiderio del nulla non lo provavo. E quindi il risveglio era una festa.

Mi sembra adesso di respirarla di nuovo quell’aria fantastica, delle estati qui in montagna, con i migliori amici della mia vita: quei tre, come erano allora. Quando restammo sulla soglia dell’adolescenza, con il viso, segnato dalla terra e dal sole, ancora rivolto all’indietro, verso l’infanzia.

Giornate di caccia alle rane; di boccate di vento, in bicicletta; di sgridate per il ritardo alla cena, per le scarpe rovinate; di camere d’aria bucate, di pedalate memorabili, di graffi e ginocchia sbucciate, di micetti e ciotoline di latte.

Giornate di viaggi epici, ai confini del mondo; a un passo da casa. Ora mi rivedo con loro,  perso tra immense foglie nutrite dal ruscello, spropositati collettori solari, alla ricerca delle sorgenti del nostro torrente, mai trovate; tra le colonne dei pioppi, sotto le volte superbe dell’albero che si dice ‘del sole’; pregno dell’odore acre del succo degli arbusti spezzati, tirato continuamente dai rovi. Concentrati, in silenzio, camminavano inebriati e spaventati da quell’assaggio precoce di libertà.  

Mi rivedo, ancora, smarrito in fondo a un passo buio, stretta fenditura fra i monti; mondo favoloso, popolato da assorti megaliti, vestiti di pelle di muschio, segnati dalle rughe cadenti dei fondali induriti di un mare scomparso, incrostati da un popolo morto di simbionti, le infinite anime calcaree dei bivalvi, molluschi spirati prima ancora che il mondo vagisse.

E poi eccoci naufraghi, in un  mare di erba, che arriva alla vita, sulla schiena ripida di un monte grandioso, regno dei venti. David mi chiama, io sorrido: turbina l’aria e non lo sento. Lo vedo laggiù, che fa un segno, immerso fino alla cintola in quella distesa, pettinata dal vento, di erba che palpita nell’attesa che cavalli flemmatici si decidano ad affrontare il declino, per consumarla.

Il mondo ai miei occhi di allora aveva la sconvolgente potenza cromatica di un quadro impressionista. Associata però alla precisione descrittiva di un’illustrazione scientifica. Insomma, qualche cosa come gli affreschi rinascimentali delle Stanze Vaticane, dove neanche l’ombra spegne il colore. Perché sui corpi, levigati volumi di carne, essa è rarefatta; è solo un velo di nero, una cortina leggera e inconsistente, su un’esuberante profusione di salute e di forza. Dove la pittura non muore neanche nelle pieghe profonde dei fantasiosi panneggi. Semmai diventa più grave, più densa; senza mai concedersi, però, alla facile tentazione del nero, potente modellatore di forme; ma  non perdendo, per questo, in resa plastica.

Ecco, così erano le cose per me, avvolte da liquida pelle di colori pastosi. Corposi fluidi, voluttuoso piacere degli occhi. Casto e potente godimento che avevo scordato crescendo. E che ora ritrovo, dietro un velo di lacrime.

Qui c’è ancora la neve  e il paesino è quasi deserto. Non mi ha riconosciuto nessuno. Non ho ritrovato nessuno. Mi alzo molto presto, alla prima voce che l’alba mi manda da quella finestrina scassata; quella a cui gridava il mio nome Giovanni, quando passava a chiamarmi, al mattino, per iniziare le nostre avventure.

Le stanze della casa degli avi sono camere di sospensione del tempo. Ampi locali freddi, luce incerta del mattino filtrata dalle imposte sconnesse delle finestre piccole e strombate. Semplici mobili, sperduti superstiti, difendono a oltranza i loro ricordi, in silenzio, da anni. Sono mobili levigati da un fiume di vita, nata, fiorita e consumatasi qui, impregnati da tutti gli odori della quotidianità, di mille e mille giornate, perdute nella caldaia del motore vorace che muove la Terra.

Su quel letto nacque mio padre. Lì si sedette a disegnare, testolina bionda e vivace, quando era bambino. I buchi delle frecce della balestra che costruì, adolescente ingegnoso, sono netti e precisi sul vecchio portone, appena fatti, cinquant’anni fa. L’arciere è morto, purtroppo, e da tempo la bocca che lo ammonì è stata chiusa da zolle di terra. La balestra è perduta.

Su quella poltrona sedeva mio nonno. Era su quel letto quando lo andai a salutare, frettolosamente, un giorno di settembre, numerose stagioni prima di questa.

Lo studio risuonò per anni della voce di una radio scassata, compagna fedele di mio zio. Uomo gioiosamente perduto fra dizionari di pergamena, cartine di seppia e cartelle, ricamate da una grafia sottile, minuziosa e pulita.

Qui disegnavo, quando ero bambino, testolina castana e vivace.

Lassù sorpresi una volta i miei genitori abbracciati.

Parto presto per andare in montagna. Fa freddo, al mattino, e stringo le spalle, mentre comincio a salire a testa bassa, gettando ogni tanto gli occhi a ciò che mi aspetta. Con un tuffo al cuore ritrovo i sentieri, gli alberi, le prospettive di un tempo. Persino quel nido c’è ancora. Già, sarà stato usato ogni anno, dai figli dei figli della fanciulla per la quale persi la testa, a quindici anni, una fanciulla che stendeva le ali al vento e ricamava l’aria con remiganti brune; che mi studiava dietro due anelli gialli, aliena e familiare.

Salgo con passi agili, misuro le forze ritrovate. Mi compiaccio delle gambe elastiche, forti come un tempo. Procedo spedito, sempre più su, affondando nella neve, lasciando anche io le tracce su quell’intrigato crocevia di sentieri di volpi affamate e di pernici; di lepri e di nervosi mustelidi. Mi butto con uno scatto da predatore su un gruppetto di quaglie guardinghe, che subito decollano con il loro volo radente e fragoroso. Mi getto sulla neve e la mangio, mentre rido per quello che ho ritrovato, mentre piango per ciò che ho perduto.

Ali vibranti di pallide penne, agili remiganti che ricamano l’aria e mantengono fermo, nel cielo, il rapace: anche il gheppio mi saluta a suo modo, e da lassù mi invita a salire.

Mi rimetto in piedi e tento l’assurdo, la rivincita estrema sull’infermità. Uno slancio e via! Distese di morbide valli, a perdita d’occhio, su un paesaggio che sale, lentamente, verso una cima che più ti avvicini e più si allontana. Enorme altipiano, paura e magia della mia infanzia; ora è solo un giardino, che misuro ad ampie falcate. Corro su depressioni e su dossi, scendo giù per canaloni bui e risalgo di slancio, per impervi declivi, aggrappandomi con le mani nude al terreno, in mezzo alla neve. Dislivelli di centinaia di metri in pochi potenti balzi, in passi saltanti, vigorosi come battiti d’ali del corvo imperiale.

Fa caldo, metto il giaccone nello zaino, mentre il cuore martella le tempie, e riparto. Tra macchie sperdute di faggi, dietro a irsute tribù di cinghiali.

Adesso il dirupo non è più un desiderio. Mi scorgo sul salto maestoso di roccia, e provo un sano, istintivo ribrezzo. Centinaia di metri di parete spigolosa popolata da un bosco inviolato di conifere protese, come acroteri, fra superbe guglie, nella immobile maestà di una cattedrale assorta. La parete opposta attraversa così limpidamente l’atmosfera, che sembra possibile allungare la mano e appoggiarvisi, per riprendere fiato dall’emozione prodotta da quella spaventosa vertigine, di aria sospesa.

Spesso vado con il pensiero ai miei antenati, e procedo poi con la mente oltre la generazione dei nonni e poi oltre quella dei loro genitori e oltre ancora, fino a valicare gli eoni. Arrivo così alle oscure origini della vita, che cominciò a brulicare tenace nel mare caldo della genesi, forse quattro miliardi di anni fa. Ora posso dire che se non ho ceduto, è stato anche per la consapevolezza della lunga catena di vite a cui debbo la mia.

“Giorno e notte, non avete un istante, nemmeno il più futile, che non sgorghi dal silenzio delle origini.” [7]

Primavera. “Poi, piano piano, il tempo è tornato al suo posto e, finalmente, dall’interminabile notte sono spuntati i giorni. Di nuovo la luce ha brillato nel buio sotto la porta, di nuovo l’alba si è fatta aspettare, allontanando i tentativi della morte. Mi sono accorto di continuare ad esistere e il mondo ha ripreso il suo assetto.”[8]

Queste parole le ho ripetute fra me, continuamente, in tutti gli anni di malattia, per ricordarmi sempre di quello che mi avrebbe aspettato se avessi saputo resistere. Hanno un suono dolcissimo. Ma credo che solo chi è stato in fin di vita lo possa apprezzare in pieno. È dolce come le giornate passate a casa, tanti anni fa, dopo la febbre; quando, pur sentendomi ormai bene, avevo il diritto di saltare la scuola e di avere tutte le attenzioni per me. Hanno il sapore del cibo di quei giorni: il riso in bianco con olio e tanto parmigiano, le spremute con tre cucchiaini di zucchero. Sono come quelle mattinate luminose trascorse in pigiama e calzini, nella mia cameretta ordinata e colorata, investita dal sole. Tenere come la voce della mamma che adesso canta, in cucina; mentre attendo, sotto un piumone variopinto, che venga a controllare il termometro.

Dolci parole, come la convalescenza. Quella tenace speranza che vibra sui letti di morte. L’argomento preferito nelle conversazioni con papà, quando si ammalò.

– Passeggeremo insieme sulla strada che sale verso le centrali eoliche. Ma dovrai andare piano, Paolo, perché all’inizio per me sarà dura.

– Non ti preoccupare papà, ti appoggerai al mio braccio e io ti aspetterò.

– Sì, ci fermeremo tra le betulle bianche, in quel bosco sospeso, silenzioso raduno di esili anime albine, a contare le macchie senili della loro pelle candida; a cercare il numero esatto delle lingue…

– Delle lingue di fuoco delle loro foglie guizzanti.

– Già. Poi riprenderemo il cammino, adattando i nostri passi alle soste ritmate…

– Alle soste ritmate del volo radente dell’upupa, che affianca i passanti e si affanna a distrarli, aprendo e chiudendo la corona regale di penne, ad allontanarli dal ricovero caldo della sua dolce progenie, dal nido che, se ti ricordi, non trovammo mai.

– Sì, e ancora mi lascerai riposare fra le felci, a respirare il fantasma dell’atmosfera antica del Carbonifero, quando queste magnifiche piante, lo sai, ricoprirono un mondo nel quale rettili primitivi…

– Nel quale i rettili più primitivi erano l’ultima, la più avanzata scoperta, del nostro Creatore. Sì, sfioreremo le fronde del verde più tenero e intenso, e faremo scorrere fra le dita i soffici sporangi, pallide vedette di quel piccolo mondo dimenticato. E mentre le mani si vestiranno di un morbido velo di spore, ascolteremo il sussurro dell’acqua che stilla, da sempre, attraverso le pareti calcaree di grotte ombrose; ed aggiunge dettagli alle rughe della roccia, all’infinito, come un artista ossessivo.

– Già, e poi, un po’ alla volta, migliorerò. E allora ti verrò dietro anche nelle tue gite in bicicletta. Il tempo che avrei dovuto dedicarti in passato, lo vivremo insieme così.

Mio padre aveva uno sguardo sognante, quando parlava di quello che avremmo fatto insieme, e malinconico. Triste, per la consapevolezza che si trattava solo di sogni impossibili, di fantasie destinate a morire con lui, di lì a poco.

Era terribilmente serio, invece, quando mi disse: “Una cosa fondamentale vorrei farti capire, ascolta. Vedi, il difetto principale degli uomini è che essi tendono sempre a lasciare qualche cosa di incompiuto, che rinviano sempre dei nodi importanti della propria esistenza a un futuro che elude il calendario. Io stesso ho pensato così, ahimé, mille volte, in passato. Tu però ascoltami: affrettati a vivere, Paolo, e considera ogni giorno come un’intera esistenza. Quello che voglio dirti è che devi vivere ogni singolo giorno con tutto l’impegno di cui sei capace.”

“Perché considera che il momento presente è non solo il prodotto di tutti i sacrifici della tua vita, ma anche di quelli di tutte le infinite generazioni passate che quella vita l’hanno tramandata sino a te. Vivendo distrattamente il presente tu vanifichi ciascun respiro di ogni esistenza che ha trasmesso il suo seme sino a te; dall’oscura giovinezza di questo nostro incantevole pianeta, fino ad oggi.”

“Vivi dunque intensamente, ma in modo sereno. Perché vedi, il peggio che può capitarci è di perdere la vita; ma quella, in fondo, è persa già in partenza, quando nasciamo. E’ un bene comunque fugace.”

Queste parole ebbi modo di rimuginarle a lungo, mentre attendevo che mio padre morisse, nei giorni che seguirono la sue perdita di coscienza; nel corso di tutto quel tempo, che mi sembrò infinito, tra la sua ultima emissione vocale e la sua ultima emissione di fiato.

Già, perché poi, contro ogni pronostico dei medici, quel testardo volle dare un’ultima dimostrazione di forza. Non bastò la rottura di un grosso vaso sanguigno nel ventre, né la massa spropositata del suo carcinoma, e nemmeno la composizione tossica del suo sangue, prodotto di organi completamente fuori controllo, a ucciderlo. Ci volle il tempo, i giorni, a stroncarlo; là dove i medici avevano previsto solo poche ore.

Perse coscienza un mattino, quello successivo alla notte dell’emorragia interna, ma sopravvisse a lungo, offrendomi uno spettacolo lacerante, aprendo, nella sensibilità vibrante e delicata del ragazzino che ero allora, ferite lancinanti, mai più richiuse; donandomi, con la sua morte, una lezione tanto importante quanto l’esempio dell’intera sua vita.

Anche adesso, dopo tanti anni, le smorfie mute del suo viso stravolto, le contrazioni violente delle mani amate e delle braccia, coperte, alla fine, solo di vene e di tendini, mi fanno stringere i denti; come allora, quando vegliavo al suo fianco e tentavo, disperatamente, di tenere al suo posto l’ago della flebo, come se fosse ancora importante, come se potesse servire ancora a qualcosa, acqua e sale, a un corpo devastato.

Mi chiedo cosa volesse dimostrare, e a chi, con quella resistenza a oltranza, con quella lotta inutile, quando tutto era perduto. E conosco la risposta. Cosa sarei io, oggi, se non avessi visto quanto impegno e serietà quell’uomo volle mettere nel morire?

E per morire ce ne volle. Mio Dio! La sua  vita non finiva mai, non moriva mai, non si arrendeva. Perché? Che senso aveva a quel punto tanta testardaggine? Certo, per sé non c’era più motivo di combattere, questo lo sapeva; tuttavia era consapevole che sarebbe stato utile per me vederlo farsi massacrare a quel modo. E in effetti mi è servito perché capissi, attraverso l’esempio concreto, il senso delle sue parole. E allora il suo sforzo, alla fine, è stato prezioso: mi ha salvato la vita.

Sapeva che avrei dovuto fare anch’io i conti, prima o poi, con una creatura dell’Inferno, e mi volle indicare la strada, l’unica, attraverso la quale gli uomini possono pensare di cavarsela in queste circostanze: l’impegno e l’ostinazione estremi, spinti al parossismo, anche quando tutto pare perduto.

La sera, all’ospedale, sedevo affianco al suo letto, a parlare; sottovoce, per non disturbare gli altri ospiti di quella stanza. Me li ricordo ancora: Giulio, e la sua ulcera affamata di biscotti; Andrea, novantenne che da solo, nonostante i polmoni malati, aveva più energia di tutti gli altri messi assieme; Sergio, che stava morendo di cancro e non faceva altro che raccontare episodi passati della sua vita; e il vecchietto allettato, all’angolo, che ripeteva continuamente l’unica parola che ormai ricordava: Infermiera! Voce disperata, ma forte, tenace riflesso condizionato di un neonato, vegliardo; chiusura del cerchio di un’esistenza. Infermiera! Infermiera! La voce con cui chiamò, la prima volta, la madre.

E mio padre, con la morte sul viso e la vita nel cuore. “Vedrai Paolo, se Dio vuole, la convalescenza sarà un ritorno dolce, a voi. Ma ora tu vai. Vedi che hanno già spento le luci? Vai a dormire. Ci vediamo domani.”

Corridoio buio, stanze ancora più buie. Mi faccio aprire la porta del reparto, saluto il capo sala e scappo da quell’orrore.

Sollievo e colpa. Mi lascio con sollievo alle spalle la vista insostenibile di papà, devastato; e mi sento colpevole di abbandonarlo lì, da solo, in quello stato, a vegliare tutta la notte. Da solo, a tirare le somme con la sua vita, a trattare con la morte, accettando sofferenze indicibili per qualche giorno in più di lucidità, per qualche ora in più da passare con noi.

Per lui ho saputo solo pregare, fino alla fine, e anche, irragionevolmente, dopo la fine. Se Dio vuole può tutto, mi disse una volta mio padre stesso, quando ancora non gli arrivavo alla cintola. E io vissi, in quei giorni, masticando solo queste parole; giungendo appassionatamente le mani, tanto forte da farmi del male, tanto a lungo da perdere il sonno. Proponendo la mia stessa salute, in cambio della sua.

Tanti anni dopo, per me, non ho saputo pregare. Forse, però, sono bastate le suppliche di allora e, forse, la mia guarigione ripara, in parte, la morte di mio padre.

Solo adesso dunque mi è chiaro cosa cantassero veramente i lampioni, nelle notti della mia malattia: “Ogni generazione ha avuto la sua guerra, un demone da affrontare. Così fu per tuo padre, e per i tuoi nonni prima di lui.”

“Tutti disperarono di tornare; tutti sono tornati più grandi. Così sarà anche per te. Non morirai in questa guerra, ritornerai.”


[1] Si tratta di un insetto affusolato rivestito di squame argentee e sprovvisto di ali. Vive in ambiente domestico e si ciba di materiali amidacei, come suggerisce anche il suo nome scientifico Lepisma Saccharina.

[2] E’ un tipico vaticinio che la Sibilla rilasciava ai soldati in partenza per una campagna militare. Naturalmente il suo significato può essere fausto, se si fa una pausa prima del ‘non’, infausto se la pausa la si fa cadere dopo. Pronunciata senza pause tuttavia questa frase poteva essere interpretata in un senso o nell’altro dal soldato, a seconda del suo stato d’animo. Essa è riportata nel Chronicon di Alberico delle Tre Fontane nella forma più completa “Ibis redibis non morieris in bello”.

[3] William Hope Hodgson, La casa sull’abisso

[4] Virgilio, Eneide, libro VI, versi 370-372. Sono le parole con le quali la Sibilla di Cuma esorta Enea a seguirlo attraverso l’ingresso del regno dei morti.

[5] Omero, Iliade, libro VI, versi 614-624.  Ettore incontra la moglie Andromaca ed il figlio Astianatte alle Porte Scee, prima dello scontro con Achille, nel quale resterà ucciso. Questa è la celebre traduzione di Vincenzo Monti.

[6] Edgar Allan Poe, William Wilson

[7] Lo dice Mnemosine a Esiodo, nel dialogo “Le muse” da “Dialoghi con Leucò”, di Cesare Pavese. Questa citazione l’ho aggiunta solo ora che ho pubblicato questi frammeni del mio racconto.

[8] François Jacob, La statua interiore

Testing the prophecy of Babylon

Testing the prophecy of Babylon

Some days ago it came to my attention the fact that there is a religious group that considers the presence of propositions within the Old Testament that seem to describe events that have happened after the propositions were written as proof of the divine origin of such a text. Not only that: to my understanding, they seem to infer from those successful prophecies that also the other predictions present in the Bible must turn out to happen somewhere in the future.

Now, in these statements, there are several problems. One can note, for instance, that successful scientific theories like the Newtonian gravitation continuously predict with great accuracy the future, and yet this doesn’t seem to be generally considered proof that Isaac Newton had a divine nature. On the other hand, the fact that his gravitational law predicts the orbits of the Earth, of Mars, of the modules of the Apollo missions, etc., doesn’t prevent the same theory to fail when it comes to the orbit of Mercury. So, this single counter-example might be considered enough to prove that the first paragraph of this article contains false statements.

But then there is another problem. How do I evaluate whether a prophecy is true or false? Despite the obvious difficulties due to the fact that this kind of predictions are expressed in a human language (translated from one tongue into another) and not in mathematical language and as such ambiguous by its very nature, one can still try – I reasoned – to apply the standard method used in science. In other words, one can calculate the probability of the null hypothesis (that, in this case, is: the prophecy is true by chance) and see what kind of number he gets.

Well, I discovered right away that this calculation had in fact been attempted by Peter Stoner, a math teacher at Pasadena City College (R), and it can be found in his book, Science Speaks (freely available here). Let’s consider one of those prophecies, the one that seems to be particularly close to the heart of Marina, the Jehovah’s Witness who is currently persecuting me, the prophecy of Babylon:

And Babylon … shall never be inhabited, neither shall it be dwelt in from generation to generation: neither shall the Arabian pitch tent there; neither shall the shepherds make their fold there. But wild beasts of the desert shall lie there; and their houses shall be full of doleful creatures.

(Isa. 13:19-21 – written 712 B.C.)

And they shall not take of thee a stone for a corner, nor a stone for foundations; but thou shalt be desolate forever, saith the Lord … Neither doth any son of man pass thereby.

(Jer. 51:26,43 – written 600 B.C.)

Now, in his book, Peter Stoner translates this prophecy in the following seven events or propositions:

E_1: Babylon shall be destroyed. P(E_1)=1/10
E_2: It shall never be reinhabited (once destroyed). P(E_2)=1/100
E_3: The Arabs shall not pitch their tents there (once destroyed). P(E_3)=1/200
E_4: There shall be no sheepfolds there (once destroyed). P(E_4)=1/5
E_5: Wild beasts shall occupy the ruins (once destroyed). P(E_5)=1/5
E_6:  The stones shall not be taken away for other buildings (once destroyed). P(E_6)=1/100   
E_7: Men shall not pass by the ruins (once destroyed). P(E_7)=1/10

I have added the expression within brackets, to enhance clarity. The probabilities of the single events (on the right) are those proposed by Peter Stoner, and I am not going to discuss them. Now, if we indicate the whole prophecy with E, according to Stoner the probability of the null hypothesis is

P(E) = P(\bigcap_{i=1}^{7}E_i) = \prod_{i=1}^{7} P(E_i) = \frac{10^ { -9 } }{5}

This is a really small probability for the null hypothesis, so we must accept that a power beyond human comprehension has… But let’s read again the prophecy: it seems articulated but, in fact, it only says that the place where Babylon once raised will be basically abandoned by human beings. In other words, it seems reasonable to say that E_i\subset E_7 for i = 2, 3, 4, 6 . If that is the case, then we have

P(E) = P(\bigcap_{i=1}^{7}E_i) =  P( E_1 \bigcap( \bigcap_{i=2}^{7}E_i) ) =

= P( E_1 \bigcap( \bigcap_{i=2}^{6}(E_i \bigcap E_7) ) \bigcap (E_5 \bigcap E_7) ) =

= P( E_1 \bigcap  E_7  \bigcap ( E_5  \bigcap E_7 ) ) =

= P( E_1 \bigcap ( E_5 \bigcap E_7 ) ) = P( E_1)P ( E_5 \bigcap E_7 )

A further observation is that if the place is desolated with no human beings (E_7) then it is reasonable to assume that it becomes the reign of wild animals. In other words: P(E_5|E_7) >  P(E_5)  . Not only that, I would guess that it is safe to assume that P(E_5|E_7) is about one. Then we have found

P(E) =  P( E_1) P(E_5|E_7) P(E_7) =  P( E_1) P(E_7) =  \frac{1}{10^2}

In other words, the mistake that leads Stoner to a completely wrong value for P(E) is the fact that he considered the events as independent one from the other, while this is obviously not the case.

Now, is this the probability of the null hypothesis? Well, it depends, because this is a case in which we have a prediction that has been got from a very long book with thousands of propositions, some of which look very much like predictions. Now, of course, when one picks a prophecy among all these propositions, he might be unconsciously tempted to pick the one that looks more like a fulfilled prophecy. In other words, we have to check for multiple comparisons in this case. So, let us consider that we have a number of N propositions similar to the one about Babylon. The probability p(N) that at least one of these propositions is true purely by chance is

p(N) =  1 -  \frac{99^N}{100^N}

The function p(N) is plotted by the following code and as you can see, for N >4 we have that the null hypothesis becomes very likely. In other words, if we pick this prophecy among 5 other similar sentences, its resemblance to reality is just due to chance. In the figure below the red line indicates a probability of 0.05. A probability equal to or higher than 0.05 is associated with null hypotheses that must be considered true.

Figure. Probability that at least one among N prophecies is true purely by chance, for increasing values of N. The red line indicates a probability of 0.05 above which the null hypothesis must be considered true.

It should be added that the fact that the prophecy of Babylon has to be considered true is highly questionable. The reader can do his own research on that, for example starting from the notes collected in this text.

% file name = Babylon
% date of creation = 20/03/2021
% it calculates the probability that N prophecies are true by chance
clear all
% array for p(N)
N = 30;
for i=1:N
p(i) = 1-(99/100)^i;
p2(i) = 0.05;
endfor
% plotting
plot ([1:N],p(:),’-k’, “linewidth”, 2)
hold on
plot ([1:N],p2(:),’-r’, “linewidth”, 2)
xlabel(‘number of prophecies’);
ylabel(‘probability of the null hypothesis’);
grid minor
grid on

The words in the blank spaces

The words in the blank spaces

If then, language does not reproduce experience with fidelity, to what does it owe its success in dealing with experience?

P.W. Bridgman, The Nature of Physical Theory

The words that are the most important are those that you never said, those written in the language that has existed for more than two hundred thousand years, long before any known human alphabet. You find them in the blank spaces between the lines of any good novel, they are that pain that is left once last page is over.

They are the ones that Michael Ventris could never decipher: the very devotion and the dreaming love he spent on a tongue spelled a long time ago by mouths closed by soil that has become rock.

They are the definition of the constant of Euler, that number that tells the story of the attempt at drawing a curve, that is never close enough, like we can never say exactly what we meant or reach what we wanted. That number that best describes, better than any novel, the hopes without a sound when you are young and sick and your recovery is not going to happen, or even worse, it will happen when it won’t matter anymore. The desires desired between four walls.

I had never seen the ocean, I was afraid of what I would have found. And you know what I discovered? My observations have shown that all those words that you were never able to say, those that chase you like a vice, a bad habit that you can’t quit, they find their way out to the ocean, like migrant snakes, or rivers. Then, only here, all mixed up, they encounter the courage to release their load of anger, fear, love. But one over the other, in all the languages we have invented, they lose any hope of being understood and become a crowd that rapes its rage against the cliffs, without relief, over and over. And yet, this giant beast, this monument to all the mistakes we made, at the end becomes only a dog that licks your feet on the shore, still afraid, powerless.

I have collected a long list of words like those and you’ll never know them because they are hidden within the pages of the books you see closed in one of my drawings. And after all the dancing of graphite on the candid lake of paper, all the formulae cherished with the point of my pencil, what I really have been trying to say, what I meant was

Relative Humidity is misleading

Relative Humidity is misleading

A more detailed discussion of these same topics is now available here.

Introduction

Let’s consider the relative humidity we have right now in Venice, Italy: 97% with a temperature of 8°C and a pressure of 755 mmHg. Pretty humid, right? What about a warm place, let’s say Buenos Aires, in Argentina? Right now they have a relative humidity of 55%, at a temperature of 23° and a pressure of 760 mmHg. Now, which place is more humid, between these two? In other words: in which of these two places does the same volume of air contain the biggest amount of water? Are you sure you know the answer?

Some definitions and a formula

Rlative humidity is defined as follows

RH\;=\;100\cdot\frac{e'}{e'_w}

where {e'} is the partial pressure of water vapour in air and e'_w is the saturation vapour pressure with respect to water (the vapour pressure in air in equilibrium with the surface of water). We then have

e'_w(p,t)\;=\;(1.0016\;hPa+3.15\cdot 10^{-6} p-\frac{0.074}{p}\;hPa^{2}) 6.112\cdot e^{\frac{17.62t}{243.12+t}}

Here and in what follows we express pressure in hPa, with hPa\;=\;10^2 Pa, while t is temperature in °C and T is temperature in K, with T\;=\;273.15+t. Absolute humidity is simply given by

{\rho}_v\;=\;\frac{m_v}{V}

where m_v is the mass of vapour and V is the total volume occupied by the mixture (Ref, chapter 4).

Physics of gasses

From the law of perfect gasses and considering that, according to Dalton’s law, in a moisture the partial pressure of each gas is the pressure it would have if it occupied the whole volume (Ref), we can also write

e'\;=\;m_v\cdot R_v\frac{273,15 + t}{V}

with R_v\;=\;4.614\cdot\frac{hPa\cdot m^3}{kg\cdot K}. Then, by substituting e' and m_v in {\rho}_v, we have

{\rho}_v\;=\;\frac{RH}{100\cdot R_v\cdot (273.15+t)}(1.0016\;hPa+3.15\cdot 10^{-6} p-\frac{0.074}{p} \;hPa^{2}) 6.112\cdot e^{\frac{17.62t}{243.12+t}}

At the end of this post you find a simple code in Octave that calculates this formula and the plot.

The answer

If we apply now the equation for {\rho}_v to the environmental parameters relative to Venice, we find that one m^3 of air contains 8 grams of water; if we repeat the same calculation for Buenos Aires we find that the same volume of air contains 11 grams of water. In other words, today Venice is less humid than Buenos Aires in the same period if we refer to the content of water of the air.

In the diagram below you can see the plot of absolute humidity in function of the temperature, for three values of relative humidity. So, for instance, 20 \frac{g}{m^3} of water corresponds to a RH of 90% at a temperature of 24°C and to a RH of only 50% at a temperature of 35°C. The reason for this, beyond the mathematical formulae, is obvious: when the temperature of the air decreases, the ability of the moisture to retain water as vapour decreases accordingly.

Cattura

Conclusion

Relative humidity is relevant for the subjective perception of heat (the more the relative humidity, the more difficult it is sweating for human beings, then the higher it is the perception of heat since we use sweating for cooling down). But if we are interested in the interaction of air and our lungs, for instance, relative humidity might be completely misleading and absolute humidity is likely the parameter to be considered (R).

The script

% file name = absolute_humidity
% date of creation = 07/02/2021
% it calculates the absolute humidity given the relative humidity and the temperature
clear all
% constant for water vapour (J/kg*K)
Rv = 461.4;
% relative humidity (%), temperature (°C), pressure (mmHg)
RH = 55
t = 23
pHg = 760
% conversion to Pa (1 mmHg = 133.322365 Pa)
p = pHg*133.322
% conversion to hPa=100Pa
p = p/100;
Rv = 4.614;
% absolute humidity (kg/m^3)
AH = (RH/(100*Rv*(273.15+t)))*(1.0016+3.15*10^(-6)*p-0.074/p)*6.112*e^(17.62*t/(243.12+t))
% we now fix the RH and plot AH for variuos values of t
RH = 50
pHg = 760
p = pHg*133.322;
p = p/100;
for i=1:30
t2(i)=i+5;
AH2(i) = 1000*(RH/(100*Rv*(273.15+t2(i))))*(1.0016+3.15*10^(-6)*p-0.074/p)*6.112*e^(17.62*t2(i)/(243.12+t2(i)));
endfor
plot (t2, AH2,’-k’,’LineWidth’,3)
grid on
grid minor
hold on
RH = 70
for i=1:30
t2(i)=i+5;
AH2(i) = 1000*(RH/(100*Rv*(273.15+t2(i))))*(1.0016+3.15*10^(-6)*p-0.074/p)*6.112*e^(17.62*t2(i)/(243.12+t2(i)));
endfor
plot (t2, AH2,’-r’,’LineWidth’,3)
hold on
RH = 90
for i=1:30
t2(i)=i+5;
AH2(i) = 1000*(RH/(100*Rv*(273.15+t2(i))))*(1.0016+3.15*10^(-6)*p-0.074/p)*6.112*e^(17.62*t2(i)/(243.12+t2(i)));
endfor
plot (t2, AH2,’-b’,’LineWidth’,3)
xlabel (‘temperature (°C)’)
ylabel (‘absolute humidity (g/{m^3})’)
legend (‘AH for RH = 50%’,’AH for RH = 70%’,’AH for RH = 90%’, ‘location’, ‘NORTHWEST’ )


The equations of this blog post were written using \LaTeX.