Abstract
I present here a comparison between the levels of tryptophan (Trp), kynurenine (Kyn), serotonin (Ser), Kyn/Trp, and Ser/Trp in cerebrospinal fluid of 44 ME/CFS patients vs 21 sedentary controls. Raw data were retrieved from (Baraniuk JN et al. 2021). Stratification by sex has been included in the analysis. No differences can be found between patients and controls.
Methods
Once downloaded the raw data of (Baraniuk JN et al. 2021), I searched for metabolites of tryptophan metabolism by using the keywords: try, kyn, ser, quinolinic, picolinic, anthranilic, xanthurenic, melatonin. I retrieved the data for tryptophan, kynurenine, and serotonin, and I used them to calculate the ratios kynurenine/tryptophan and serotonin/tryptophan, for each patient. I then organized the data in three csv files (see supplementary material), one including the whole sample, one including females only, and one with males only. For each of the five variables Trp, Kyn, Ser, Kyn/Trp, Ser/Trp a statistical test was performed by the R script displayed at the bottom of this page (supplementary material). For the sample including both sexes, I run both the Student’s t-test and the Wilcoxon test, while for the other two samples only the latter test was performed. I removed a female patient from the data because of her unusually high level of serotonin (0.202), but this does not change the conclusion of this analysis.
ME/CFS (44) | Sedentary control (21) | t-test p value | Wilcoxon p value | |
Trp | 2.55 (0.652) | 2.42 (0.688) | 0.47 | 0.60 |
Kyn | 0.0234 (0.0271) | 0.0154 (0.0200) | 0.24 | 0.27 |
Ser | 0.0110 (0.00597) | 0.00805 (0.00356) | 0.041 | 0.028 |
Kyn/Trp | 0.00936 (0.0113) | 0.00580 (0.00789) | 0.200 | 0.27 |
Ser/Trp | 0.00448 (0.00227) | 0.00349 (0.00188) | 0.087 | 0.037 |
Results
Serotonin and Ser/Trp are significantly elevated in ME/CFS patients vs sedentary controls (p = 0.028 and 0.037, respectively), Table 1, Figure 1. But once we apply a correction for three independent variables, these differences are no more statistically significant. When we stratified by sex, none of the comparisons led to a statistically significant difference between patients and controls (Figure 2, Figure 3). The conclusion is that no difference can be found in the level of Trp, Kyn, Ser, Kyn/Trp, and Ser/Trp in cerebrospinal fluid of ME/CFS patients when compared to sedentary controls. One female patient presented a very elevated serotonin level (she was removed from the analysis), another female patient showed elevated kynurenine, one male with ME/CFS had elevated tryptophan, and another male patient showed elevated kynurenine. The larger number of patients compared to controls might explain the presence, in patients, of some extreme values of the parameters considered, when compared to controls.



Supplementary material
The following R script calculates Table 1 and plots Figures 1, 2, and 3. It reads the three csv files below (click to download), one with both sexes lumped together, one with males, and one with females, respectively.
# file name: tryptophan_wilcox_both_sexes
#
samples<-read.csv("Trp_met.csv", sep=";", header = TRUE) # we read the data
attach(samples) # this allows us to refer to the labels as variables
#
# we define the number of patients and controls
#
ncfs<-length(samples[Group=="cfs0",1])
nsc<-length(samples[Group=="sc0",1])
#
# we store the measures of each metabolite for patients
#
kyn_cfs<-Kyn[1:ncfs]
trp_cfs<-Trp[1:ncfs]
ser_cfs<-Ser[1:ncfs]
#
# we store the measures of each metabolite for controls
#
a<-ncfs+1
kyn_sc<-Kyn[a:length(Kyn)]
trp_sc<-Trp[a:length(Kyn)]
ser_sc<-Ser[a:length(Kyn)]
#
# we calculate the ratios kyn/trp and ser/trp for patients
#
kyn_trp_cfs<-kyn_cfs/trp_cfs
ser_trp_cfs<-ser_cfs/trp_cfs
#
# we calculate the ratios kyn/trp and ser/trp for controls
#
kyn_trp_sc<-kyn_sc/trp_sc
ser_trp_sc<-ser_sc/trp_sc
#
# we plot the data for each metabolite: box-plots with points
#
plot(factor(Group),Kyn,xlab="groups",ylab="Kynurenine")
points(factor(Group),Kyn,pch=21,bg="red")
plot(factor(Group),Trp,xlab="groups",ylab="Tryptophan")
points(factor(Group),Trp,pch=21,bg="red")
plot(factor(Group),Ser,xlab="groups",ylab="Serotonin")
points(factor(Group),Ser,pch=21,bg="red")
#
# we plot the data for the two ratios
#
plot(factor(Group),c(kyn_trp_cfs,kyn_trp_sc),xlab="groups",ylab="Kyn/Trp")
points(factor(Group),c(kyn_trp_cfs,kyn_trp_sc),pch=21,bg="red")
plot(factor(Group),c(ser_trp_cfs,ser_trp_sc),xlab="groups",ylab="Ser/Trp")
points(factor(Group),c(ser_trp_cfs,ser_trp_sc),pch=21,bg="red")
#
# we run the Wilcoxon test for each metabolite and ratio
#
wilcox.test(kyn_cfs,kyn_sc)
wilcox.test(trp_cfs,trp_sc)
wilcox.test(ser_cfs,ser_sc)
wilcox.test(kyn_trp_cfs,kyn_trp_sc)
wilcox.test(ser_trp_cfs,ser_trp_sc)