Vegan-specific signature implies healthier metabolic profile: findings from diet-related multi-omics observational study based on different European populations
Statistical report for lipidom analysis
Authors and affiliations
Anna Ouradova1,*, Giulio Ferrero2,3,*, Miriam Bratova4, Nikola Daskova4, Alena Bohdanecka4,5, Klara Dohnalova6, Marie Heczkova4, Karel Chalupsky6, Maria Kralova7,8, Marek Kuzma9, István Modos4, Filip Tichanek4, Lucie Najmanova9, Barbara Pardini10, Helena Pelantová9, Sonia Tarallo10, Petra Videnska11, Jan Gojda1,#, Alessio Naccarati10,#, Monika Cahova4,#
* These authors have contributed equally to this work and share first authorship
# These authors have contributed equally to this work and share last authorship
1 Department of Internal Medicine, Kralovske Vinohrady University Hospital and Third Faculty of Medicine, Charles University, Prague, Czech Republic
2 Department of Clinical and Biological Sciences, University of Turin, Turin, Italy
3 Department of Computer Science, University of Turin, Turin, Italy
4 Institute for Clinical and Experimental Medicine, Prague, Czech Republic
5 First Faculty of Medicine, Charles University, Prague, Czech Republic
6 Czech Centre for Phenogenomics, Institute of Molecular Genetics of the Czech Academy of Sciences, Prague, Czech Republic
7 Ambis University, Department of Economics and Management, Prague, Czech Republic
8 Department of Informatics, Brno University of Technology, Brno, Czech Republic
9 Institute of Microbiology of the Czech Academy of Sciences, Prague, Czech Republic
10 Italian Institute for Genomic Medicine (IIGM), c/o IRCCS Candiolo, Turin, Italy
11 Mendel University, Department of Chemistry and Biochemistry, Brno, Czech Republic
This is a statistical report of the study A vegan diet signature from a multi-omics study on different European populations is related to favorable metabolic outcomes that is currenlty under review
When using this code or data, cite the original publication:
TO BE ADDED
BibTex citation for the original publication:
TO BE ADDED
Original GitHub repository: https://github.com/filip-tichanek/ItCzVegans
Statistical reports can be found on the reports hub.
Data analysis is described in detail in the statistical methods report.
1 Introduction
This project explores potential signatures of a vegan diet across the microbiome, metabolome, and lipidome. We used data from healthy vegan and omnivorous human subjects in two countries (Czech Republic and Italy), with subjects grouped by Country
and Diet
, resulting in four distinct groups.
To assess the generalizability of these findings, we validated our results with an independent cohort from the Czech Republic for external validation.
1.1 Statistical Methods
The statistical modeling approach is described in detail in this report. Briefly, the methods used included:
Multivariate analysis: We conducted multivariate analyses (PERMANOVA, PCA, correlation analyses) to explore the effects of
diet
,country
, and their possible interaction (diet : country
) on the microbiome, lipidome, and metabolome compositions in an integrative manner. This part of the analysis is not available on the GitHub page, but the code will be provided upon request.Linear models: Linear models were applied to estimate the effects of
diet
,country
, and their interaction (diet:country
) on individual lipids, metabolites, bacterial taxa and pathways (“features”). Features that significantly differed between diet groups (based on the estimated average conditional effect of diet across both countries, adjusted for multiple comparisons with FDR < 0.05) were further examined in the independent external validation cohort to assess whether these associations were reproducible. Next, we fit linear models restricted to vegan participants to test whether omics profiles varied with the duration of vegan diet. Fixed-effect predictors were diet duration (per 10 years), country, their interaction, and age (included due to correlation with diet duration).Predictive models (elastic net): We employed elastic net logistic regression (via the
glmnet
R package) to predict vegan status based on metabolome, lipidome, microbiome and pathways data (one model per dataset; four models in total). We considered three combinations of Lasso and Ridge penalties (alpha = 0, 0.2, 0.4). For each alpha, we selected the penalty strength (λ1se) using 10-fold cross-validation. This value corresponds to the most regularized model whose performance was within one standard error of the minimum deviance. The alpha–lambda pair with the lowest deviance was chosen to fit the final model, whose coefficients are reported.
To estimate model performance, we repeated the full modeling procedure (including hyperparameter tuning) 500 times on bootstrap resamples of the training data. In each iteration, the model was trained on the resampled data and evaluated on the out-of-bag subjects (i.e., those not included in the training set in that iteration). The mean, and 2.5th, and 97.5th percentiles of the resulting ROC-AUC values represent the estimated out-of-sample AUC and its 95% confidence interval.
Finally, the final model was applied to an independent validation cohort to generate predicted probabilities of vegan status. These probabilities were then used to assess external discrimination between diet groups (ROC-AUC in the independent validation cohort). The elastic net models were not intended for practical prediction, but to quantify the strength of the signal separating the dietary groups, with its uncertainty, by using all features of a given dataset jointly. It also offered a complementary perspective on which features are most clearly associated with diet
2 Initiation
2.1 Set home directory
Open code
setwd('/home/ticf/1_ticf_sec/478_MOCA_italian/')
2.2 Upload initiation file
Open code
source('478_initiation.R')
3 Data
3.1 Upload all original data
3.1.1 Training set
Open code
<- read_excel('gitignore/data/lipidome_training_cohort_new names.xlsx')
data_lipids_original
1:20, 1:8]
data_lipids_original[## # A tibble: 20 × 8
## Sample Country Diet Group `ACar 10:0` `ACar 18:1` `ACar 18:2` `CE 16:0`
## <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl>
## 1 T119 CZ VEGAN VEGAN_CZ 485972 830286 394205 2501105
## 2 T120 CZ VEGAN VEGAN_CZ 168982 679607 495704 3671511
## 3 T126 CZ VEGAN VEGAN_CZ 207250 446291 275926 3631550
## 4 T127 CZ VEGAN VEGAN_CZ 163366 679319 353609 2945640
## 5 T129 CZ VEGAN VEGAN_CZ 226570 477267 395476 2769955
## 6 T130 CZ VEGAN VEGAN_CZ 442377 465342 357478 3330659
## 7 T132 CZ VEGAN VEGAN_CZ 66755 301617 154108 3785938
## 8 T133 CZ VEGAN VEGAN_CZ 202158 645033 455431 2555590
## 9 T134 CZ OMNI OMNI_CZ 277499 605067 157440 5007846
## 10 T136 CZ OMNI OMNI_CZ 116918 587156 199443 4281398
## 11 T137 CZ OMNI OMNI_CZ 185503 374239 131161 5445270
## 12 T140 CZ VEGAN VEGAN_CZ 444503 595372 564156 4182758
## 13 T141 CZ VEGAN VEGAN_CZ 239403 567469 366064 1947708
## 14 T143 CZ VEGAN VEGAN_CZ 418116 759311 430601 2940008
## 15 T144 CZ VEGAN VEGAN_CZ 308505 660653 362166 4333696
## 16 T145 CZ OMNI OMNI_CZ 183471 553767 245557 3862092
## 17 T146 CZ OMNI OMNI_CZ NA NA NA NA
## 18 T147 CZ VEGAN VEGAN_CZ 120291 994429 586178 3214800
## 19 T148 CZ OMNI OMNI_CZ 300126 700749 245546 3543789
## 20 T149 CZ OMNI OMNI_CZ 303945 417989 200962 4821268
names(data_lipids_original)
## [1] "Sample" "Country" "Diet"
## [4] "Group" "ACar 10:0" "ACar 18:1"
## [7] "ACar 18:2" "CE 16:0" "CE 16:1"
## [10] "CE 18:1" "CE 18:2" "CE 18:3"
## [13] "CE 20:3" "CE 20:4" "CE 22:6"
## [16] "Cer 18:1_22:0;O2" "Cer 18:1_23:0;O2" "Cer 18:1_24:1;O2"
## [19] "Cer 18:1_24:0;O2" "LPC 0:0/16:0" "LPC 0:0/18:0"
## [22] "LPC 0:0/18:1" "LPC 0:0/18:2" "LPC 15:0/0:0"
## [25] "LPC 16:0/0:0" "LPC 16:1/0:0" "LPC 17:0/0:0"
## [28] "LPC 18:0/0:0" "LPC 18:1/0:0" "LPC 18:2/0:0"
## [31] "LPC 20:1/0:0" "LPC 20:4/0:0" "LPC 20:5/0:0"
## [34] "LPC 22:6/0:0" "PC 14:0_16:0" "PC 14:0_18:2"
## [37] "PC 14:0_20:4" "PC 15:0_18:2" "PC 15:1_18:1"
## [40] "PC 16:0_16:0" "PC 16:0_16:1" "PC 16:0_18:0"
## [43] "PC 16:0_18:1" "PC 16:0_18:2" "PC 16:0_18:3"
## [46] "PC 16:0_20:3" "PC 16:0_20:3 (2)" "PC 16:0_20:4"
## [49] "PC 16:0_20:4 (2)" "PC 16:0_20:5" "PC 16:0_22:4"
## [52] "PC 16:0_22:6" "PC 16:1_18:2" "PC 16:1_20:4"
## [55] "PC 17:0_18:1" "PC 17:0_18:2" "PC 17:0_18:2 (2)"
## [58] "PC 17:0_20:3" "PC 18:0_18:1" "PC 18:0_20:1"
## [61] "PC 18:0_20:3" "PC 18:0_20:4" "PC 18:0_22:5"
## [64] "PC 18:0_22:6" "PC 18:1_18:2" "PC 18:1_20:3"
## [67] "PC 18:1_20:4" "PC 18:1_22:6" "PC 18:2_18:2"
## [70] "PC 18:2_18:3" "PC 18:2_20:4" "PC 37:6"
## [73] "SM 30:1;O2" "SM 32:0;O2" "SM 32:2;O2"
## [76] "SM 33:1;O2" "SM 34:0;O2" "SM 34:1;O2"
## [79] "SM 34:2;O2" "SM 35:2;O2" "SM 36:0;O2"
## [82] "SM 36:2;O2" "SM 38:1;O2" "SM 38:2;O2"
## [85] "SM 39:1;O2" "SM 40:1;O2" "SM 40:2;O2"
## [88] "SM 40:2;O2 (2)" "SM 41:1;O2" "SM 41:2;O2"
## [91] "SM 42:1;O2" "SM 42:2;O2" "SM 42:3;O2"
## [94] "SM 43:1;O2" "SM 43:1;O2 (2)" "SM 43:2;O2"
## [97] "SM 43:2;O2 (2)" "TG 12:0_14:0_16:0" "TG 12:0_14:0_18:1"
## [100] "TG 12:0_16:0_18:1" "TG 12:0_18:1_18:2" "TG 12:0_18:2_18:2"
## [103] "TG 14:0_16:0_16:0" "TG 14:0_16:0_18:1" "TG 14:0_16:0_18:2"
## [106] "TG 14:0_18:2_18:2" "TG 15:0_16:0_16:0" "TG 15:0_16:0_18:2"
## [109] "TG 15:0_18:1_18:2" "TG 16:0_16:0_16:0" "TG 16:0_16:0_18:0"
## [112] "TG 16:0_16:0_18:1" "TG 16:0_16:1_18:1" "TG 16:0_17:0_18:1"
## [115] "TG 16:0_18:0_18:1" "TG 16:0_18:1_18:1" "TG 16:0_18:1_18:2"
## [118] "TG 16:0_18:1_18:3" "TG 16:0_18:1_20:4" "TG 17:0_18:1_18:1"
## [121] "TG 18:0_18:1_18:1" "TG 18:0_18:1_20:4" "TG 18:1_18:1_18:1"
## [124] "TG 18:1_18:1_18:2" "TG 18:1_18:2_18:2" "TG 18:1_18:2_18:3"
## [127] "ACar 16:0" "LPC 0:0/19:0" "LPC 0:0/20:4"
## [130] "LPC 0:0/20:3" "LPC 20:2/0:0" "LPC 20:0/0:0"
## [133] "DG 16:0_18:1" "DG 18:1_18:2" "DG 18:1_18:1"
## [136] "SM 31:1;O2" "PC 12:0_16:0" "TG 12:0_12:0_16:0"
## [139] "PC 14:0_17:0" "PC 33:1" "PC 33:0"
## [142] "TG 12:0_14:0_18:2" "PC 15:0_20:4" "PC 15:0_20:3"
## [145] "PC 14:0_22:6" "PC 18:1_18:1" "PC 18:0_18:2"
## [148] "PC 15:1_22:6" "PC 36:0" "PC 17:0_20:5"
## [151] "PC 17:0_20:5 (2)" "PC 37:4" "PC 38:5"
## [154] "PC 38:3" "SM 44:2;O2" "TG 16:0_16:0_18:3"
## [157] "PC 42:5" "PC 20:1_22:1" "TG 16:0_18:2_18:3"
## [160] "TG 16:0_18:2_18:2" "TG 54:6" "PC 43:2"
## [163] "TG 18:2_18:2_18:3" "TG 18:0_18:0_18:1" "PC 45:2"
## [166] "TG 16:0_18:2_22:6" "TG 18:1_18:2_20:4" "TG 16:0_18:1_22:6"
## [169] "TG 18:1_18:1_20:4"
3.1.2 Validation set
! Note that later part of summary revealed a discrepancy between diet labels from different data sources (see table below). Incorrect labels will be manually corrected in the following code chunk.
Sample Diet GRP Diet_duration 1 K130 VEGAN OM
Open code
<- read.csv('gitignore/data/KOMPAS_data_lipid.csv')
data_lipids_validation
1:20, 1:5]
data_lipids_validation[## Molecule Class X1_K295_VG X10_K285_VG X102_K227_VG
## 1 ACar 16:0 ACar 14647 19415 16625
## 2 ACar 18:1 ACar 34983 74585 57087
## 3 ACar 18:2 ACar 32387 27229 34302
## 4 CE 16:1 CE 1425 13668 4176
## 5 CE 20:3 CE 4776 73153 26358
## 6 CE 20:4 CE 146951 585436 293179
## 7 CE 22:6 CE 53725 46305 31908
## 8 Cer 18:1_22:0;O2 Cer 28237 38357 36793
## 9 Cer 18:1_23:0;O2 Cer 1033217 2105302 1313395
## 10 Cer 18:1_24:0;O2 Cer 104755 162863 119727
## 11 Cer 18:1_24:1;O2 Cer 21063 43543 33507
## 12 DG 16:0_18:1 DG 3832 7619 3883
## 13 LPC 18:2/0:0 LPC 2476079 1504969 2075177
## 14 LPC 20:1/0:0 LPC 31819 29195 27347
## 15 LPC 20:2/0:0 LPC 25166 14748 19000
## 16 LPC 20:5/0:0 LPC 70258 39723 16941
## 17 LPC 22:6/0:0 LPC 20266 21537 60333
## 18 PC 12:0_16:0 PC 622039 561863 631646
## 19 PC 14:0_16:0 PC 175998 56583 133915
## 20 PC 14:0_17:0 PC 20638 15860 20107
1:10,
data_lipids_validation[nrow(data_lipids_validation)-10):nrow(data_lipids_validation)
(
]## X75_K43_OM X77_K165_VG X78_K32_VG X79_K298_OM X8_K267_OM X80_K147_VG
## 1 28961 9666 20211 34526 39059 16321
## 2 41150 25396 27814 45812 48424 51217
## 3 15679 17531 13253 19430 15827 26840
## 4 70495 1222 9281 38947 261203 35883
## 5 68589 25839 22823 59197 25533 93955
## 6 1416207 379316 445513 1455156 3877230 1796664
## 7 80656 18629 34056 79823 15122 32004
## 8 44417 33732 34921 50784 39399 49382
## 9 3310507 1599133 1560195 3306423 2815213 2489105
## 10 126626 113966 89154 136676 132479 171878
## X81_K55_VG X82_K82_VG X83_K299_OM X84_K309_OM X85_K234_OM
## 1 27831 16845 26588 15790 15866
## 2 53349 52778 46051 41219 30018
## 3 38109 30119 17531 16272 8987
## 4 22036 13718 38378 8642 10473
## 5 56496 34648 72263 34613 20290
## 6 832233 455676 832481 408443 362288
## 7 47323 28065 54957 23794 21628
## 8 39606 53715 52287 36576 28366
## 9 1848119 1961883 3239135 1782762 1657469
## 10 125884 175276 147509 96337 93746
<- data_lipids_validation %>%
data_lipids_validation select(-Class) %>% # Remove 'Class' column
column_to_rownames(var = "Molecule") %>% # Use 'Molecule' as rownames
t() %>% # Transpose the data
as.data.frame() %>%
mutate(X2 = if_else(grepl('VG', rownames(.)), 'VEGAN', 'OMNI')) %>%
select(X2, everything()) %>%
mutate(across(`ACar 16:0` : `TG 54:6`, ~ as.numeric(.)))
## Warning: There were 75 warnings in `mutate()`.
## The first warning was:
## ℹ In argument: `across(`ACar 16:0`:`TG 54:6`, ~as.numeric(.))`.
## Caused by warning:
## ! NAs introduced by coercion
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 74 remaining warnings.
data_lipids_validation[which(grepl('K104|K119|K101|K100', row.names(data_lipids_validation))), 'X2'
<- 'VEGAN'
]
data_lipids_validation[which(grepl('K124|K126|K127|K130', row.names(data_lipids_validation))), 'X2'
<- 'OMNI'
]
%>% summary()
data_lipids_validation ## X2 ACar 16:0 ACar 18:1 ACar 18:2
## Length:137 Min. : 3105 Min. : 16654 Min. : 2405
## Class :character 1st Qu.:14618 1st Qu.: 35548 1st Qu.:16249
## Mode :character Median :19738 Median : 48093 Median :22819
## Mean :21119 Mean : 48416 Mean :25693
## 3rd Qu.:26256 3rd Qu.: 57027 3rd Qu.:32800
## Max. :56338 Max. :114091 Max. :79836
## NA's :1 NA's :1 NA's :1
## CE 16:1 CE 20:3 CE 20:4 CE 22:6
## Min. : 1195 Min. : 1843 Min. : 504 Min. : 2533
## 1st Qu.: 5068 1st Qu.: 23832 1st Qu.: 262351 1st Qu.: 14997
## Median : 10410 Median : 37536 Median : 512494 Median : 27220
## Mean : 20844 Mean : 44009 Mean : 622937 Mean : 33622
## 3rd Qu.: 23020 3rd Qu.: 56702 3rd Qu.: 832295 3rd Qu.: 39395
## Max. :261203 Max. :187781 Max. :3877230 Max. :189426
## NA's :1 NA's :1 NA's :1 NA's :1
## Cer 18:1_22:0;O2 Cer 18:1_23:0;O2 Cer 18:1_24:0;O2 Cer 18:1_24:1;O2
## Min. :16493 Min. : 735377 Min. : 47479 Min. : 7235
## 1st Qu.:30230 1st Qu.:1443227 1st Qu.:100887 1st Qu.: 32376
## Median :37230 Median :1877141 Median :122902 Median : 40750
## Mean :39025 Mean :2060111 Mean :127209 Mean : 43702
## 3rd Qu.:46076 3rd Qu.:2525402 3rd Qu.:150147 3rd Qu.: 53440
## Max. :88614 Max. :6516380 Max. :295896 Max. :104732
##
## DG 16:0_18:1 LPC 18:2/0:0 LPC 20:1/0:0 LPC 20:2/0:0
## Min. : 1000 Min. : 253511 Min. : 3688 Min. : 2190
## 1st Qu.: 2928 1st Qu.:1147544 1st Qu.:14274 1st Qu.:10582
## Median : 5082 Median :1538499 Median :19933 Median :14102
## Mean : 7206 Mean :1553751 Mean :21774 Mean :14993
## 3rd Qu.: 8099 3rd Qu.:1842995 3rd Qu.:27348 3rd Qu.:18442
## Max. :66420 Max. :3317215 Max. :55519 Max. :37049
## NA's :1 NA's :1 NA's :1 NA's :1
## LPC 20:5/0:0 LPC 22:6/0:0 PC 12:0_16:0 PC 14:0_16:0
## Min. : 2137 Min. : 14762 Min. :327834 Min. : 56583
## 1st Qu.:13318 1st Qu.: 28177 1st Qu.:618116 1st Qu.: 201557
## Median :18994 Median : 42394 Median :654928 Median : 353536
## Mean :23777 Mean : 47115 Mean :661885 Mean : 442713
## 3rd Qu.:29316 3rd Qu.: 56830 3rd Qu.:702843 3rd Qu.: 596656
## Max. :76921 Max. :176658 Max. :893428 Max. :1601465
## NA's :1 NA's :1 NA's :1 NA's :1
## PC 14:0_17:0 PC 14:0_20:4 PC 14:0_22:6 PC 15:0_18:2
## Min. : 8394 Min. : 26007 Min. : 8629 Min. : 40208
## 1st Qu.: 22080 1st Qu.: 91871 1st Qu.: 28211 1st Qu.: 74356
## Median : 34611 Median :121480 Median : 42192 Median :101402
## Mean : 51284 Mean :141565 Mean : 50018 Mean :102315
## 3rd Qu.: 74651 3rd Qu.:180962 3rd Qu.: 64222 3rd Qu.:123628
## Max. :198841 Max. :376886 Max. :192172 Max. :282716
## NA's :1 NA's :1 NA's :1 NA's :1
## PC 15:0_20:3 PC 15:0_20:4 PC 16:0_16:0 PC 16:0_16:1
## Min. : 1890 Min. : 16910 Min. : 438423 Min. : 174121
## 1st Qu.: 30889 1st Qu.: 48830 1st Qu.:1443588 1st Qu.: 845566
## Median : 51688 Median : 71402 Median :1792696 Median :1242018
## Mean : 64540 Mean : 94594 Mean :1862244 Mean :1607808
## 3rd Qu.: 95494 3rd Qu.:128838 3rd Qu.:2204229 3rd Qu.:1936732
## Max. :197252 Max. :274808 Max. :3632206 Max. :7437691
## NA's :1 NA's :1 NA's :1 NA's :1
## PC 16:0_18:0 PC 16:0_18:1 PC 16:0_20:3 (2) PC 16:0_20:5
## Min. : 90235 Min. : 7805584 Min. : 87896 Min. : 356035
## 1st Qu.:269030 1st Qu.:22891274 1st Qu.: 327903 1st Qu.: 958784
## Median :325548 Median :28719500 Median : 507695 Median :1451619
## Mean :338629 Mean :30960594 Mean : 543516 Mean :1791903
## 3rd Qu.:394915 3rd Qu.:35389268 3rd Qu.: 696916 3rd Qu.:2190898
## Max. :615033 Max. :74145401 Max. :1598306 Max. :8618008
## NA's :1 NA's :1 NA's :1 NA's :1
## PC 16:0_22:4 PC 16:0_22:6 PC 16:1_18:2 PC 17:0_18:1
## Min. : 130956 Min. : 1137944 Min. : 739 Min. : 93600
## 1st Qu.: 482749 1st Qu.: 5529024 1st Qu.: 287009 1st Qu.:173240
## Median : 666748 Median : 7378897 Median : 370611 Median :234636
## Mean : 753520 Mean : 8559319 Mean : 404192 Mean :259309
## 3rd Qu.: 998080 3rd Qu.:11166805 3rd Qu.: 500678 3rd Qu.:331051
## Max. :1721660 Max. :28824100 Max. :1006277 Max. :536297
## NA's :1 NA's :1 NA's :1 NA's :1
## PC 17:0_20:5 (2) PC 18:0_18:1 PC 18:0_20:3 PC 18:0_22:5
## Min. : 16840 Min. : 709957 Min. : 1374567 Min. : 248326
## 1st Qu.: 40780 1st Qu.: 3620754 1st Qu.: 2901049 1st Qu.: 662913
## Median : 48962 Median : 4385308 Median : 3856544 Median : 809702
## Mean : 49489 Mean : 4790628 Mean : 4136454 Mean : 871936
## 3rd Qu.: 56773 3rd Qu.: 5568292 3rd Qu.: 5196424 3rd Qu.:1047551
## Max. :112409 Max. :11138393 Max. :10293136 Max. :1914018
## NA's :1 NA's :1 NA's :1 NA's :1
## PC 18:0_22:6 PC 18:1_18:1 PC 18:1_18:2 PC 18:1_20:3
## Min. : 551164 Min. : 1069952 Min. : 1433817 Min. : 268069
## 1st Qu.:1425498 1st Qu.: 3022624 1st Qu.: 8548388 1st Qu.: 847311
## Median :2045472 Median : 3970476 Median :11532214 Median :1106978
## Mean :2163303 Mean : 4195750 Mean :12098944 Mean :1162823
## 3rd Qu.:2606147 3rd Qu.: 4939155 3rd Qu.:14558844 3rd Qu.:1436406
## Max. :5787744 Max. :12098613 Max. :30923660 Max. :2831563
## NA's :1 NA's :1 NA's :1 NA's :1
## PC 18:1_20:4 PC 18:2_18:2 PC 18:2_18:3 PC 33:1
## Min. :1488540 Min. :1019696 Min. : 461853 Min. : 68377
## 1st Qu.:3604680 1st Qu.:2321393 1st Qu.:1184178 1st Qu.:126434
## Median :4648277 Median :2999829 Median :1668056 Median :202380
## Mean :4866462 Mean :3216453 Mean :2042012 Mean :270822
## 3rd Qu.:5808426 3rd Qu.:4046349 3rd Qu.:2458012 3rd Qu.:388863
## Max. :9507187 Max. :7514764 Max. :9041275 Max. :818552
## NA's :1 NA's :1 NA's :1 NA's :1
## PC 37:4 PC 37:6 PC 38:5 PC 42:5
## Min. : 63293 Min. : 7100 Min. : 404320 Min. : 5997
## 1st Qu.:162836 1st Qu.: 19874 1st Qu.: 883230 1st Qu.:11516
## Median :232040 Median : 32078 Median :1105558 Median :14404
## Mean :255861 Mean : 44276 Mean :1336916 Mean :17211
## 3rd Qu.:323754 3rd Qu.: 59065 3rd Qu.:1656436 3rd Qu.:19586
## Max. :578613 Max. :187567 Max. :4461148 Max. :71058
## NA's :1 NA's :1 NA's :1 NA's :1
## SM 31:1;O2 SM 32:0;O2 SM 32:2;O2 SM 33:1;O2
## Min. : 1870 Min. : 8874 Min. : 14141 Min. : 80968
## 1st Qu.: 5126 1st Qu.:14756 1st Qu.: 34933 1st Qu.: 131226
## Median : 8189 Median :20232 Median : 43581 Median : 205337
## Mean :10319 Mean :22508 Mean : 47508 Mean : 253856
## 3rd Qu.:14038 3rd Qu.:26382 3rd Qu.: 53445 3rd Qu.: 349977
## Max. :40518 Max. :67361 Max. :137008 Max. :1159448
##
## SM 35:2;O2 SM 36:0;O2 SM 36:2;O2 SM 38:1;O2
## Min. : 1369 Min. : 3114 Min. : 66626 Min. : 460835
## 1st Qu.:10007 1st Qu.: 34042 1st Qu.: 415108 1st Qu.: 841360
## Median :14052 Median : 54051 Median : 530919 Median :1069719
## Mean :17171 Mean : 71728 Mean : 552335 Mean :1124277
## 3rd Qu.:21498 3rd Qu.: 95960 3rd Qu.: 652391 3rd Qu.:1273362
## Max. :50293 Max. :257720 Max. :1374190 Max. :2868571
##
## SM 39:1;O2 SM 41:1;O2 SM 43:1;O2 SM 43:2;O2
## Min. : 99346 Min. : 256254 Min. : 1724 Min. : 778
## 1st Qu.: 252341 1st Qu.: 673751 1st Qu.: 6772 1st Qu.: 8331
## Median : 354352 Median : 883053 Median : 15300 Median : 26891
## Mean : 375776 Mean : 942721 Mean : 30281 Mean : 67052
## 3rd Qu.: 470294 3rd Qu.:1086141 3rd Qu.: 52213 3rd Qu.:116769
## Max. :1394489 Max. :3269210 Max. :174652 Max. :551011
##
## SM 43:2;O2 (2) TG 12:0_14:0_18:1 TG 12:0_14:0_18:2 TG 12:0_16:0_18:1
## Min. : 1835 Min. : 1876 Min. : 409 Min. : 33594
## 1st Qu.: 19711 1st Qu.: 20948 1st Qu.: 8484 1st Qu.: 122528
## Median : 25718 Median : 43284 Median : 15514 Median : 231408
## Mean : 29614 Mean : 89110 Mean : 37001 Mean : 496108
## 3rd Qu.: 37074 3rd Qu.: 74406 3rd Qu.: 30292 3rd Qu.: 538844
## Max. :100293 Max. :1654026 Max. :436194 Max. :8255016
## NA's :1 NA's :1 NA's :1
## TG 14:0_16:0_16:0 TG 14:0_16:0_18:1 TG 14:0_16:0_18:2 TG 15:0_16:0_18:2
## Min. : 48539 Min. : 145440 Min. : 73443 Min. : 6736
## 1st Qu.: 122201 1st Qu.: 405010 1st Qu.: 240898 1st Qu.: 32952
## Median : 183323 Median : 924980 Median : 450780 Median : 64756
## Mean : 372234 Mean : 1890534 Mean : 801214 Mean : 84639
## 3rd Qu.: 297648 3rd Qu.: 1994748 3rd Qu.: 853793 3rd Qu.:107736
## Max. :8103655 Max. :25783827 Max. :8505345 Max. :447564
## NA's :1 NA's :1 NA's :1 NA's :1
## TG 15:0_18:1_18:2 TG 16:0_16:0_16:0 TG 16:0_16:0_18:0 TG 16:0_16:0_18:1
## Min. : 19173 Min. : 80850 Min. : 895 Min. : 568296
## 1st Qu.:103764 1st Qu.: 242263 1st Qu.: 140629 1st Qu.: 1391434
## Median :163335 Median : 353924 Median : 230029 Median : 2871628
## Mean :205923 Mean : 758549 Mean : 466810 Mean : 5512771
## 3rd Qu.:267908 3rd Qu.: 575325 3rd Qu.: 398531 3rd Qu.: 5459469
## Max. :917622 Max. :16911722 Max. :9698771 Max. :51858733
## NA's :1 NA's :1 NA's :1 NA's :1
## TG 16:0_16:0_18:3 TG 16:0_16:1_18:1 TG 16:0_17:0_18:1 TG 16:0_18:0_18:1
## Min. : 327156 Min. : 409 Min. : 5158 Min. : 129736
## 1st Qu.: 1006376 1st Qu.: 1020 1st Qu.: 64266 1st Qu.: 412952
## Median : 1428453 Median : 1346120 Median : 113040 Median : 864658
## Mean : 2033131 Mean : 2438566 Mean : 206451 Mean : 1803588
## 3rd Qu.: 2327405 3rd Qu.: 3015476 3rd Qu.: 237763 3rd Qu.: 1677357
## Max. :11037737 Max. :20318486 Max. :1521967 Max. :26906850
## NA's :1 NA's :1 NA's :1 NA's :1
## TG 16:0_18:1_18:1 TG 16:0_18:1_20:4 TG 16:0_18:1_22:6 TG 16:0_18:2_18:2
## Min. : 2374489 Min. : 96421 Min. : 11646 Min. : 696372
## 1st Qu.: 12488182 1st Qu.: 452167 1st Qu.: 136276 1st Qu.: 3198294
## Median : 18730656 Median : 663608 Median : 233812 Median : 5820237
## Mean : 24023077 Mean : 904982 Mean : 374257 Mean : 6746779
## 3rd Qu.: 30017131 3rd Qu.:1055853 3rd Qu.: 473502 3rd Qu.: 8895195
## Max. :100351364 Max. :7882434 Max. :2709368 Max. :30395809
## NA's :1 NA's :1 NA's :1 NA's :1
## TG 17:0_18:1_18:1 TG 18:0_18:1_20:4 TG 18:1_18:1_18:1 TG 18:1_18:1_18:2
## Min. : 26308 Min. : 31383 Min. : 968 Min. : 885360
## 1st Qu.: 111388 1st Qu.:198427 1st Qu.: 3695216 1st Qu.: 4011158
## Median : 177911 Median :272420 Median : 6087724 Median : 6320904
## Mean : 267196 Mean :311115 Mean : 6708887 Mean : 7113549
## 3rd Qu.: 344917 3rd Qu.:398255 3rd Qu.: 9064531 3rd Qu.: 8872944
## Max. :1343802 Max. :840640 Max. :31454995 Max. :23688940
## NA's :1 NA's :1 NA's :1 NA's :1
## TG 18:1_18:2_18:2 TG 18:1_18:2_18:3 TG 18:1_18:2_20:4 TG 18:2_18:2_18:3
## Min. : 192759 Min. : 44268 Min. : 81731 Min. : 465
## 1st Qu.: 1674476 1st Qu.: 173718 1st Qu.: 259715 1st Qu.: 2581063
## Median : 3143740 Median : 263568 Median : 342258 Median : 6216556
## Mean : 3647265 Mean : 347198 Mean : 391916 Mean : 9808230
## 3rd Qu.: 4888248 3rd Qu.: 393662 3rd Qu.: 490018 3rd Qu.:12368655
## Max. :12998497 Max. :3042072 Max. :1140408 Max. :76332111
## NA's :1 NA's :1 NA's :1 NA's :1
## TG 54:6
## Min. :1229289
## 1st Qu.:3100030
## Median :3862301
## Mean :4111778
## 3rd Qu.:5129100
## Max. :7834942
## NA's :1
1:5, ]
data_lipids_validation[## X2 ACar 16:0 ACar 18:1 ACar 18:2 CE 16:1 CE 20:3 CE 20:4
## X1_K295_VG VEGAN 14647 34983 32387 1425 4776 146951
## X10_K285_VG VEGAN 19415 74585 27229 13668 73153 585436
## X102_K227_VG VEGAN 16625 57087 34302 4176 26358 293179
## X103_K109_VG VEGAN 14978 33941 36238 8596 91581 396289
## X104_K154_OM OMNI 40161 49472 30723 95977 24500 524349
## CE 22:6 Cer 18:1_22:0;O2 Cer 18:1_23:0;O2 Cer 18:1_24:0;O2
## X1_K295_VG 53725 28237 1033217 104755
## X10_K285_VG 46305 38357 2105302 162863
## X102_K227_VG 31908 36793 1313395 119727
## X103_K109_VG 60209 17923 735377 50715
## X104_K154_OM 46589 71416 3796916 295896
## Cer 18:1_24:1;O2 DG 16:0_18:1 LPC 18:2/0:0 LPC 20:1/0:0
## X1_K295_VG 21063 3832 2476079 31819
## X10_K285_VG 43543 7619 1504969 29195
## X102_K227_VG 33507 3883 2075177 27347
## X103_K109_VG 13662 3698 1548078 26995
## X104_K154_OM 104732 66420 1726049 24778
## LPC 20:2/0:0 LPC 20:5/0:0 LPC 22:6/0:0 PC 12:0_16:0 PC 14:0_16:0
## X1_K295_VG 25166 70258 20266 622039 175998
## X10_K285_VG 14748 39723 21537 561863 56583
## X102_K227_VG 19000 16941 60333 631646 133915
## X103_K109_VG 28826 10868 28171 617534 132787
## X104_K154_OM 19492 76099 118825 736616 1249508
## PC 14:0_17:0 PC 14:0_20:4 PC 14:0_22:6 PC 15:0_18:2 PC 15:0_20:3
## X1_K295_VG 20638 53463 72282 109237 26469
## X10_K285_VG 15860 60998 26165 90622 20287
## X102_K227_VG 20107 58472 24925 115434 27209
## X103_K109_VG 16878 79219 19541 46385 33717
## X104_K154_OM 72505 282014 80054 59607 74088
## PC 15:0_20:4 PC 16:0_16:0 PC 16:0_16:1 PC 16:0_18:0 PC 16:0_18:1
## X1_K295_VG 23121 1215405 435342 236448 12421523
## X10_K285_VG 24466 1791860 361348 321667 39830133
## X102_K227_VG 42042 1376887 574364 317371 7805584
## X103_K109_VG 53092 438423 419486 90235 8155824
## X104_K154_OM 106079 3540018 7437691 533057 63183084
## PC 16:0_20:3 (2) PC 16:0_20:5 PC 16:0_22:4 PC 16:0_22:6
## X1_K295_VG 236769 4036727 130956 12089854
## X10_K285_VG 633165 1401247 581455 8476924
## X102_K227_VG 112918 1091447 364299 7037314
## X103_K109_VG 87896 356035 528506 3138597
## X104_K154_OM 878156 5602999 1657386 16239034
## PC 16:1_18:2 PC 17:0_18:1 PC 17:0_20:5 (2) PC 18:0_18:1
## X1_K295_VG 233024 107953 49140 2441509
## X10_K285_VG 359116 209815 27566 6391174
## X102_K227_VG 371169 203582 46425 4285476
## X103_K109_VG 186731 104871 16840 709957
## X104_K154_OM 396312 335586 27585 6912624
## PC 18:0_20:3 PC 18:0_22:5 PC 18:0_22:6 PC 18:1_18:1 PC 18:1_18:2
## X1_K295_VG 1727886 572075 3402278 1932237 16797408
## X10_K285_VG 5954679 617417 2302757 5639709 13020436
## X102_K227_VG 2747968 985979 2687977 2371574 11930439
## X103_K109_VG 1896738 587657 854060 1974449 5454066
## X104_K154_OM 5965981 1612489 3692212 3511862 5577127
## PC 18:1_20:3 PC 18:1_20:4 PC 18:2_18:2 PC 18:2_18:3 PC 33:1
## X1_K295_VG 368687 2126958 5171890 4192933 68377
## X10_K285_VG 1726138 1493010 2673530 1506650 108144
## X102_K227_VG 1104993 3116622 3174677 1370114 114466
## X103_K109_VG 300883 4601515 2627820 590448 84652
## X104_K154_OM 1362131 7868398 1019696 5905103 472028
## PC 37:4 PC 37:6 PC 38:5 PC 42:5 SM 31:1;O2 SM 32:0;O2 SM 32:2;O2
## X1_K295_VG 87058 38538 2638370 7092 6094 11302 44885
## X10_K285_VG 120086 15463 1434728 16307 1870 19027 31350
## X102_K227_VG 192938 23474 1001460 15501 9251 35755 69787
## X103_K109_VG 207932 15369 493801 12004 5051 12469 30355
## X104_K154_OM 268926 46533 3059848 23065 8691 19279 35709
## SM 33:1;O2 SM 35:2;O2 SM 36:0;O2 SM 36:2;O2 SM 38:1;O2 SM 39:1;O2
## X1_K295_VG 131226 11324 20461 391124 963210 214713
## X10_K285_VG 104341 7429 19081 436053 741696 296705
## X102_K227_VG 316250 30870 257720 1005156 2711728 577039
## X103_K109_VG 124345 8994 55215 300550 674354 181596
## X104_K154_OM 241605 1369 153133 551071 1202445 348010
## SM 41:1;O2 SM 43:1;O2 SM 43:2;O2 SM 43:2;O2 (2) TG 12:0_14:0_18:1
## X1_K295_VG 572086 5470 6436 15831 47990
## X10_K285_VG 1037589 7242 7539 23550 39766
## X102_K227_VG 1929126 25442 27660 38162 11918
## X103_K109_VG 465715 5658 4699 10252 19896
## X104_K154_OM 1041722 57883 120691 37934 1621313
## TG 12:0_14:0_18:2 TG 12:0_16:0_18:1 TG 14:0_16:0_16:0
## X1_K295_VG 15887 96852 111016
## X10_K285_VG 8250 129824 118584
## X102_K227_VG 4402 79693 171433
## X103_K109_VG 3799 55614 115838
## X104_K154_OM 324437 8255016 8103655
## TG 14:0_16:0_18:1 TG 14:0_16:0_18:2 TG 15:0_16:0_18:2
## X1_K295_VG 198008 174483 37930
## X10_K285_VG 723094 386945 49987
## X102_K227_VG 277421 115991 13695
## X103_K109_VG 168435 208109 16166
## X104_K154_OM 25783827 8505345 447564
## TG 15:0_18:1_18:2 TG 16:0_16:0_16:0 TG 16:0_16:0_18:0
## X1_K295_VG 47860 126332 306421
## X10_K285_VG 124073 345384 261565
## X102_K227_VG 60528 308281 190162
## X103_K109_VG 125198 351124 140640
## X104_K154_OM 459556 16911722 9698771
## TG 16:0_16:0_18:1 TG 16:0_16:0_18:3 TG 16:0_16:1_18:1
## X1_K295_VG 568296 455878 246258
## X10_K285_VG 3158471 1422837 2399567
## X102_K227_VG 1735610 628693 1064
## X103_K109_VG 1136639 1058480 1188
## X104_K154_OM 51858733 11037737 582
## TG 16:0_17:0_18:1 TG 16:0_18:0_18:1 TG 16:0_18:1_18:1
## X1_K295_VG 5158 129736 2374489
## X10_K285_VG 104382 1075187 32595424
## X102_K227_VG 51706 1160975 14057272
## X103_K109_VG 67208 315845 9215224
## X104_K154_OM 1258046 16678858 50531411
## TG 16:0_18:1_20:4 TG 16:0_18:1_22:6 TG 16:0_18:2_18:2
## X1_K295_VG 96421 189399 3132284
## X10_K285_VG 686673 442709 6836239
## X102_K227_VG 369150 132592 3627649
## X103_K109_VG 437123 11646 7409714
## X104_K154_OM 7882434 2709368 9442621
## TG 17:0_18:1_18:1 TG 18:0_18:1_20:4 TG 18:1_18:1_18:1
## X1_K295_VG 26308 31383 1411480
## X10_K285_VG 247014 456127 12276651
## X102_K227_VG 103626 178137 6026217
## X103_K109_VG 115695 116384 4611175
## X104_K154_OM 655511 745746 4312635
## TG 18:1_18:1_18:2 TG 18:1_18:2_18:2 TG 18:1_18:2_18:3
## X1_K295_VG 3367530 3148300 194904
## X10_K285_VG 9052832 3245602 330485
## X102_K227_VG 5599498 2316630 281252
## X103_K109_VG 9092877 6337099 503167
## X104_K154_OM 2343773 2080054 352381
## TG 18:1_18:2_20:4 TG 18:2_18:2_18:3 TG 54:6
## X1_K295_VG 149056 6867650 1229289
## X10_K285_VG 275157 4781620 3658599
## X102_K227_VG 307855 5281936 3614879
## X103_K109_VG 597006 24627503 2122661
## X104_K154_OM 742253 2486239 2760016
names(data_lipids_validation)
## [1] "X2" "ACar 16:0" "ACar 18:1"
## [4] "ACar 18:2" "CE 16:1" "CE 20:3"
## [7] "CE 20:4" "CE 22:6" "Cer 18:1_22:0;O2"
## [10] "Cer 18:1_23:0;O2" "Cer 18:1_24:0;O2" "Cer 18:1_24:1;O2"
## [13] "DG 16:0_18:1" "LPC 18:2/0:0" "LPC 20:1/0:0"
## [16] "LPC 20:2/0:0" "LPC 20:5/0:0" "LPC 22:6/0:0"
## [19] "PC 12:0_16:0" "PC 14:0_16:0" "PC 14:0_17:0"
## [22] "PC 14:0_20:4" "PC 14:0_22:6" "PC 15:0_18:2"
## [25] "PC 15:0_20:3" "PC 15:0_20:4" "PC 16:0_16:0"
## [28] "PC 16:0_16:1" "PC 16:0_18:0" "PC 16:0_18:1"
## [31] "PC 16:0_20:3 (2)" "PC 16:0_20:5" "PC 16:0_22:4"
## [34] "PC 16:0_22:6" "PC 16:1_18:2" "PC 17:0_18:1"
## [37] "PC 17:0_20:5 (2)" "PC 18:0_18:1" "PC 18:0_20:3"
## [40] "PC 18:0_22:5" "PC 18:0_22:6" "PC 18:1_18:1"
## [43] "PC 18:1_18:2" "PC 18:1_20:3" "PC 18:1_20:4"
## [46] "PC 18:2_18:2" "PC 18:2_18:3" "PC 33:1"
## [49] "PC 37:4" "PC 37:6" "PC 38:5"
## [52] "PC 42:5" "SM 31:1;O2" "SM 32:0;O2"
## [55] "SM 32:2;O2" "SM 33:1;O2" "SM 35:2;O2"
## [58] "SM 36:0;O2" "SM 36:2;O2" "SM 38:1;O2"
## [61] "SM 39:1;O2" "SM 41:1;O2" "SM 43:1;O2"
## [64] "SM 43:2;O2" "SM 43:2;O2 (2)" "TG 12:0_14:0_18:1"
## [67] "TG 12:0_14:0_18:2" "TG 12:0_16:0_18:1" "TG 14:0_16:0_16:0"
## [70] "TG 14:0_16:0_18:1" "TG 14:0_16:0_18:2" "TG 15:0_16:0_18:2"
## [73] "TG 15:0_18:1_18:2" "TG 16:0_16:0_16:0" "TG 16:0_16:0_18:0"
## [76] "TG 16:0_16:0_18:1" "TG 16:0_16:0_18:3" "TG 16:0_16:1_18:1"
## [79] "TG 16:0_17:0_18:1" "TG 16:0_18:0_18:1" "TG 16:0_18:1_18:1"
## [82] "TG 16:0_18:1_20:4" "TG 16:0_18:1_22:6" "TG 16:0_18:2_18:2"
## [85] "TG 17:0_18:1_18:1" "TG 18:0_18:1_20:4" "TG 18:1_18:1_18:1"
## [88] "TG 18:1_18:1_18:2" "TG 18:1_18:2_18:2" "TG 18:1_18:2_18:3"
## [91] "TG 18:1_18:2_20:4" "TG 18:2_18:2_18:3" "TG 54:6"
dim(data_lipids_validation %>% filter(!is.na(`ACar 16:0`)))
## [1] 136 93
3.1.3 Merge training and validation dataset
Open code
<- intersect(
common_lipids colnames(data_lipids_original),
colnames(data_lipids_validation))
<- data_lipids_original %>%
tr1 mutate(Data = if_else(Country == 'CZ', 'CZ_tr', 'IT_tr')) %>%
select(Data, Diet, all_of(common_lipids)) # %>% data.frame()
<- data_lipids_validation %>%
tr2 mutate(Data = 'valid',
Diet = X2) %>%
select(Data, Diet, all_of(common_lipids)) # %>% data.frame()
## final merge of data
<- bind_rows(tr1, tr2) data_merged
3.2 Explore
3.2.0.1 Distributions - raw data
Open code
<- data_lipids_original %>%
check ::select(
dplyr`ACar 10:0`: `TG 18:1_18:1_20:4`
%>%
) na.omit() %>% data.frame(check.names = FALSE)
<- c(6, 8)
size par(mfrow = c(size[1], size[2]))
par(mar=c(2, 1.5, 2, 0.5))
set.seed(478)
<- sample(1:ncol(check), size[1]*size[2], replace = FALSE)
ran
for(x in ran){
hist(check[,x],
16,
col= 'blue',
main = paste0(colnames(check)[x])
) }
Data seems to be highly right-tailed.
3.2.0.2 Distribution - Log2 transformed
Open code
par(mfrow = c(size[1],size[2]))
par(mar=c(2,1.5,2,0.5))
set.seed(478)
for(x in ran){
hist(log2(check[,x]+1),
16,
col='blue',
main = paste0('log2',colnames(check)[x])
) }
Seems more symmetrical and Gaussian-like
3.2.0.3 Comparison training vs validation cohort
Open code
<- data_merged %>% data.frame(check.names = FALSE) %>% na.omit()
data_merged <- data_merged %>% select(-Data, -Diet) %>% data.frame(check.names = FALSE)
check
= c(5,6)
size par(mfrow = c(size[1],size[2]))
par(mar = c(2, 1.5, 2, 0.5))
par(mgp = c(3, 0.5, 0 ))
<- sample(ncol(check), size[1] * size[2])
ran
for(x in ran){
plot(log2(data_merged[, (x+2)] + 1) ~ factor(data_merged$Data),
main = paste0(colnames(check)[x])
) }
3.2.0.4 Lipids accross groups
Open code
<- c('#329243', '#F9FFAF')
colo
<- sample(common_lipids, 30)
outcomes
<- function(variable) {
boxplot_cond
<- ggboxplot(data_merged,
p x = 'Diet',
y = variable,
fill = 'Diet',
tip.length = 0.15,
palette = colo,
outlier.shape = 1,
lwd = 0.25,
outlier.size = 0.8,
facet.by = 'Data',
title = variable,
ylab = 'Lipid level') +
theme(
plot.title = element_text(size = 10),
axis.title = element_text(size = 8),
axis.text.y = element_text(size = 7),
axis.text.x = element_blank(),
axis.title.x = element_blank()
)
return(p)
}
# Plot all outcomes
<- map(outcomes, boxplot_cond)
plots
# Create a matrix of plots
<- ggarrange(plotlist = plots, ncol = 5, nrow = 6, common.legend = TRUE)
plots_arranged plots_arranged
Again, but with log2-transformation to better see group differences within validation cohort
Open code
<- c('#329243', '#F9FFAF')
colo
<- sample(common_lipids, 30)
outcomes
<- data_merged %>%
data_merged_log2 mutate(across(all_of(common_lipids), ~ log2(. + 1)))
<- function(variable) {
boxplot_cond
<- ggboxplot(data_merged_log2,
p x = 'Diet',
y = variable,
fill = 'Diet',
tip.length = 0.15,
palette = colo,
outlier.shape = 1,
lwd = 0.25,
outlier.size = 0.8,
facet.by = 'Data',
title = variable,
ylab = 'log2(Lipid level)') +
theme(
plot.title = element_text(size = 10),
axis.title = element_text(size = 8),
axis.text.y = element_text(size = 7),
axis.text.x = element_blank(),
axis.title.x = element_blank()
)
return(p)
}
# Plot all outcomes
<- map(outcomes, boxplot_cond)
plots
# Create a matrix of plots
<- ggarrange(plotlist = plots, ncol = 5, nrow = 6, common.legend = TRUE)
plots_arranged plots_arranged
4 Linear models across lipids
we will fit a feature-specific linear model where the log2-transformed lipid represents the outcome variable whereas country
(Italy vs Czech), diet
(vegan vs omnivore), and their interaction (country:diet
) all represent fixed-effects predictors. So, each model has the following form
\[ log_{2}(\text{lipid level}) = \alpha + \beta_{1} \times \text{country} + \beta_{2} \times \text{diet} + \beta_{3} \times \text{country:diet} + \epsilon \]
The variables were coded as follows: \(diet = -0.5\) for omnivores and \(diet = 0.5\) for vegans; \(country = -0.5\) for the Czech cohort and \(country = 0.5\) for the Italian cohort.
This parameterization allows us to interpret the linear model summary
output as presenting the conditional effects of diet
averaged across both countries and the conditional effects of country
averaged across both diet groups. We will then use the emmeans
package (Lenth 2024) to obtain specific estimates for the effect of diet
in the Italian and Czech cohorts separately, still from a single model with the country x diet
interaction.
Lipids that will show a significant diet effect (average effect of diet
across both countries, adjusted for multiple comparisons with FDR < 0.05) will be then visualized using a forest plot, with country-specific diet effect along with diet effect based on independent validation cohort, to evaluate how generalizable these findings are.
Given the distribution of the estimated lipids concentrations, we will use log2-transformed values
Note that p-value for avg effects are the same as produced with car::Anova(model, type = 'III')
.
We will run the models in two versions: the first will include all lipids, and the second will include only lipids available in the validation cohort (i.e., only those for which the association with diet can be validated in the external cohort).
4.1 Preparation
4.1.1 Define transformation function for each dataset
Open code
<- function(x){
trans_lipid log2(x + 1)
}
4.1.2 Select data - all lipids
Open code
<- data_lipids_original %>%
data_analysis na.omit() %>%
::mutate(
dplyrDiet_VEGAN = as.numeric(
::if_else(
dplyr== "VEGAN", 0.5, -0.5
Diet
)
),Country_IT = as.numeric(
::if_else(
dplyr== "IT", 0.5, -0.5
Country
)
),::across(
dplyr`ACar 10:0`:`TG 18:1_18:1_20:4`, ~ trans_lipid(.)
)%>%
) ::select(
dplyr
Sample,
Country,
Country_IT,
Diet,
Diet_VEGAN,
Group,::everything()
dplyr%>% data.frame(check.names = FALSE)
)
summary(data_analysis[ , 1:12])
## Sample Country Country_IT Diet
## Length:160 Length:160 Min. :-0.500 Length:160
## Class :character Class :character 1st Qu.:-0.500 Class :character
## Mode :character Mode :character Median :-0.500 Mode :character
## Mean :-0.025
## 3rd Qu.: 0.500
## Max. : 0.500
## Diet_VEGAN Group ACar 10:0 ACar 18:1
## Min. :-0.5000 Length:160 Min. :15.25 Min. :16.08
## 1st Qu.:-0.5000 Class :character 1st Qu.:16.89 1st Qu.:18.89
## Median : 0.5000 Mode :character Median :17.49 Median :19.21
## Mean : 0.0625 Mean :17.49 Mean :19.19
## 3rd Qu.: 0.5000 3rd Qu.:17.99 3rd Qu.:19.51
## Max. : 0.5000 Max. :19.47 Max. :20.25
## ACar 18:2 CE 16:0 CE 16:1 CE 18:1
## Min. :16.53 Min. :20.87 Min. :17.31 Min. :23.56
## 1st Qu.:17.42 1st Qu.:21.37 1st Qu.:19.17 1st Qu.:24.58
## Median :18.01 Median :21.54 Median :19.95 Median :24.79
## Mean :17.98 Mean :21.58 Mean :19.98 Mean :24.76
## 3rd Qu.:18.50 3rd Qu.:21.81 3rd Qu.:20.69 3rd Qu.:24.99
## Max. :19.42 Max. :22.42 Max. :22.77 Max. :25.64
4.1.3 Select data - training-validation intersection
Open code
<- data_analysis %>%
data_analysis_narrowed ::select(
dplyr
Sample, Country, Country_IT, Diet, Diet_VEGAN, Group, ::all_of(
dplyrintersect(
colnames(
data_lipids_validationcolnames(
),
data_lipids_original
)
)
) )
4.1.4 Define number of lipids and covariates
Open code
<- 6
n_covarites <- ncol(data_analysis) - n_covarites n_features
4.2 Run - all lipids
4.2.1 Create empty objects
Open code
<- vector('double', n_features)
outcome <- vector('double', n_features)
log2FD_VGdiet_inCZ <- vector('double', n_features)
log2FD_VGdiet_inIT <- vector('double', n_features)
log2FD_VGdiet_avg
<- vector('double', n_features)
log2FD_ITcountry_avg <- vector('double', n_features)
diet_country_int
<- vector('double', n_features)
P_VGdiet_inCZ <- vector('double', n_features)
P_VGdiet_inIT <- vector('double', n_features)
P_VGdiet_avg
<- vector('double', n_features)
P_ITcountry_avg <- vector('double', n_features)
P_diet_country_int
<- vector('double', n_features)
CI_L_VGdiet_inCZ <- vector('double', n_features)
CI_L_VGdiet_inIT <- vector('double', n_features)
CI_L_VGdiet_avg
<- vector('double', n_features)
CI_U_VGdiet_inCZ <- vector('double', n_features)
CI_U_VGdiet_inIT <- vector('double', n_features) CI_U_VGdiet_avg
4.2.2 Estimate over outcomes
Open code
for (i in 1:n_features) {
## define variable
$outcome <- data_analysis[, (i + n_covarites)]
data_analysis
## fit model
<- lm(outcome ~ Country_IT * Diet_VEGAN, data = data_analysis)
model
## get contrast (effects of diet BY COUNTRY)
<- summary(
contrast_emm pairs(
emmeans(
model,specs = ~ Diet_VEGAN | Country_IT
),interaction = TRUE,
adjust = "none"
),infer = c(TRUE, TRUE)
)
## save results
<- names(data_analysis)[i + n_covarites]
outcome[i]
## country effect
<- summary(model)$coefficients[
log2FD_ITcountry_avg[i] which(
names(model$coefficients) == "Country_IT"
1
),
]
<- summary(model)$coefficients[
P_ITcountry_avg[i] which(
names(model$coefficients) == "Country_IT"
4
),
]
## diet effect
<- confint(model)
tr
<- tr[which(row.names(tr) == 'Diet_VEGAN'),][1]
CI_L_VGdiet_avg[i] <- tr[which(row.names(tr) == 'Diet_VEGAN'),][2]
CI_U_VGdiet_avg[i]
<- summary(model)$coefficients[
log2FD_VGdiet_avg[i] which(
names(model$coefficients) == "Diet_VEGAN"
1
),
]
<- summary(model)$coefficients[
P_VGdiet_avg[i] which(
names(model$coefficients) == "Diet_VEGAN"
4
),
]
<- -contrast_emm[1,3]
log2FD_VGdiet_inCZ[i] <- contrast_emm$p.value[1]
P_VGdiet_inCZ[i] <- -contrast_emm$upper.CL[1]
CI_L_VGdiet_inCZ[i] <- -contrast_emm$lower.CL[1]
CI_U_VGdiet_inCZ[i]
<- -contrast_emm[2,3]
log2FD_VGdiet_inIT[i] <- contrast_emm$p.value[2]
P_VGdiet_inIT[i] <- -contrast_emm$upper.CL[2]
CI_L_VGdiet_inIT[i] <- -contrast_emm$lower.CL[2]
CI_U_VGdiet_inIT[i]
## interaction
<- summary(model)$coefficients[
diet_country_int[i] which(
names(model$coefficients) == "Country_IT:Diet_VEGAN"
1
),
]
<- summary(model)$coefficients[
P_diet_country_int[i] which(
names(model$coefficients) == "Country_IT:Diet_VEGAN"
4
),
] }
4.2.3 Results table
Open code
<- data.frame(
result_lipidom
outcome,
log2FD_ITcountry_avg, P_ITcountry_avg,
log2FD_VGdiet_avg, P_VGdiet_avg,
log2FD_VGdiet_inCZ, P_VGdiet_inCZ,
log2FD_VGdiet_inIT, P_VGdiet_inIT,
diet_country_int, P_diet_country_int,
CI_L_VGdiet_avg, CI_U_VGdiet_avg,
CI_L_VGdiet_inCZ, CI_U_VGdiet_inCZ,
CI_L_VGdiet_inIT, CI_U_VGdiet_inIT )
4.2.4 Adjust p values
Open code
<- result_lipidom %>%
result_lipidom ::mutate(
dplyrfdr_ITcountry_avg = p.adjust(P_ITcountry_avg, method = 'BH'),
fdr_VGdiet_avg = p.adjust(P_VGdiet_avg, method = 'BH'),
fdr_VGdiet_inCZ = p.adjust(P_VGdiet_inCZ, method = 'BH'),
fdr_VGdiet_inIT = p.adjust(P_VGdiet_inIT, method = 'BH'),
fdr_diet_country_int = p.adjust(P_diet_country_int, method = 'BH')
%>%
) ::select(
dplyr
outcome,
log2FD_ITcountry_avg, P_ITcountry_avg, fdr_ITcountry_avg,
log2FD_VGdiet_avg, P_VGdiet_avg, fdr_VGdiet_avg,
log2FD_VGdiet_inCZ, P_VGdiet_inCZ, fdr_VGdiet_inCZ,
log2FD_VGdiet_inIT, P_VGdiet_inIT, fdr_VGdiet_inIT,
diet_country_int, P_diet_country_int, fdr_diet_country_int,
CI_L_VGdiet_avg, CI_U_VGdiet_avg,
CI_L_VGdiet_inCZ, CI_U_VGdiet_inCZ,
CI_L_VGdiet_inIT, CI_U_VGdiet_inIT )
4.2.5 Show and save results
Open code
::kable(result_lipidom %>% filter(fdr_VGdiet_avg < 0.05),
kableExtracaption = "Results of linear models, modeling the log2-transformed level of a given lipid with `Diet`, `Country`, and `Diet:Country` interaction as fixed-effect predictors. Only lipids with significantly different levels between diet groups are shown (FDR < 0.05, average effect across both countries). `log2FD` prefix: denotes estimated effects (regression coefficients), i.e., how much log2-transformed lipid levels differ in vegans compared to omnivores, and between Italian and Czech cohorts, respectively; `P`: p-value; `fdr`: p-value after adjustment for multiple comparisons; `CI_L` and `CI_U`: lower and upper bounds of the 95% confidence interval, respectively. `avg` suffix denotes effects averaged across subgroups, whereas `inCZ` and `inIT` denote effects in the Czech or Italian cohort, respectively. Interaction effects are reported as `diet_country_int` (difference in the effect of a vegan diet between Italian and Czech cohorts; positive values indicate a stronger effect in the Italian, negative values a stronger effect in the Czech cohort) and `P_diet_country_int` (its p-value). All estimates in a single row are based on a single model"
)
outcome | log2FD_ITcountry_avg | P_ITcountry_avg | fdr_ITcountry_avg | log2FD_VGdiet_avg | P_VGdiet_avg | fdr_VGdiet_avg | log2FD_VGdiet_inCZ | P_VGdiet_inCZ | fdr_VGdiet_inCZ | log2FD_VGdiet_inIT | P_VGdiet_inIT | fdr_VGdiet_inIT | diet_country_int | P_diet_country_int | fdr_diet_country_int | CI_L_VGdiet_avg | CI_U_VGdiet_avg | CI_L_VGdiet_inCZ | CI_U_VGdiet_inCZ | CI_L_VGdiet_inIT | CI_U_VGdiet_inIT |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ACar 18:1 | 0.2608033 | 0.0012225 | 0.0018337 | 0.2998231 | 0.0002173 | 0.0003622 | 0.1396406 | 0.2122055 | 0.2483256 | 0.4600057 | 0.0000689 | 0.0001960 | 0.3203651 | 0.0447693 | 0.0889991 | 0.1434272 | 0.4562191 | -0.0805558 | 0.3598370 | 0.2378519 | 0.6821594 |
ACar 18:2 | -0.1759630 | 0.0263467 | 0.0342300 | 0.8958953 | 0.0000000 | 0.0000000 | 0.9005994 | 0.0000000 | 0.0000000 | 0.8911912 | 0.0000000 | 0.0000000 | -0.0094082 | 0.9522750 | 0.9575442 | 0.7408912 | 1.0508994 | 0.6823626 | 1.1188362 | 0.6710145 | 1.1113680 |
CE 16:0 | -0.3408761 | 0.0000000 | 0.0000000 | -0.2623968 | 0.0000000 | 0.0000000 | -0.4464875 | 0.0000000 | 0.0000000 | -0.0783061 | 0.1611826 | 0.2216261 | 0.3681813 | 0.0000056 | 0.0000466 | -0.3397467 | -0.1850469 | -0.5553917 | -0.3375833 | -0.1881784 | 0.0315661 |
CE 16:1 | -0.1140907 | 0.3730151 | 0.4244654 | -1.3451145 | 0.0000000 | 0.0000000 | -1.6639735 | 0.0000000 | 0.0000000 | -1.0262555 | 0.0000001 | 0.0000004 | 0.6377180 | 0.0135675 | 0.0339892 | -1.5973643 | -1.0928646 | -2.0191267 | -1.3088203 | -1.3845656 | -0.6679453 |
CE 18:1 | -0.0274425 | 0.5541491 | 0.5976118 | -0.1830351 | 0.0001162 | 0.0002034 | -0.3941980 | 0.0000000 | 0.0000000 | 0.0281278 | 0.6694021 | 0.7565161 | 0.4223258 | 0.0000102 | 0.0000719 | -0.2744713 | -0.0915989 | -0.5229349 | -0.2654610 | -0.1017535 | 0.1580091 |
CE 20:3 | 0.6441380 | 0.0000000 | 0.0000000 | -0.2127769 | 0.0143419 | 0.0198858 | -0.3333936 | 0.0065514 | 0.0097831 | -0.0921602 | 0.4513329 | 0.5684728 | 0.2412334 | 0.1623792 | 0.2435395 | -0.3825021 | -0.0430517 | -0.5723569 | -0.0944304 | -0.3332476 | 0.1489272 |
CE 20:4 | 1.0731406 | 0.0000000 | 0.0000000 | -0.2476516 | 0.0057704 | 0.0082079 | -0.4937811 | 0.0001119 | 0.0002337 | -0.0015221 | 0.9903519 | 0.9905818 | 0.4922590 | 0.0060698 | 0.0175704 | -0.4224109 | -0.0728923 | -0.7398320 | -0.2477301 | -0.2497602 | 0.2467160 |
CE 22:6 | 1.7378429 | 0.0000000 | 0.0000000 | -0.9393940 | 0.0000000 | 0.0000000 | -0.7465059 | 0.0000435 | 0.0000957 | -1.1322821 | 0.0000000 | 0.0000000 | -0.3857762 | 0.1279229 | 0.2029546 | -1.1883414 | -0.6904465 | -1.0970095 | -0.3960023 | -1.4859013 | -0.7786628 |
Cer 18:1_22:0;O2 | 0.1739003 | 0.0195285 | 0.0257911 | -0.4777728 | 0.0000000 | 0.0000000 | -0.5640303 | 0.0000002 | 0.0000006 | -0.3915152 | 0.0002580 | 0.0005995 | 0.1725150 | 0.2436086 | 0.3349618 | -0.6233448 | -0.3322008 | -0.7689872 | -0.3590733 | -0.5982941 | -0.1847364 |
Cer 18:1_23:0;O2 | 0.1102785 | 0.1182713 | 0.1456326 | -0.6312541 | 0.0000000 | 0.0000000 | -0.8660629 | 0.0000000 | 0.0000000 | -0.3964452 | 0.0001072 | 0.0002765 | 0.4696177 | 0.0010326 | 0.0039623 | -0.7699359 | -0.4925723 | -1.0613189 | -0.6708070 | -0.5934368 | -0.1994537 |
Cer 18:1_24:1;O2 | 0.0452716 | 0.5257106 | 0.5782816 | -0.4067465 | 0.0000001 | 0.0000001 | -0.5801159 | 0.0000000 | 0.0000001 | -0.2333770 | 0.0223059 | 0.0360831 | 0.3467390 | 0.0159948 | 0.0377020 | -0.5473517 | -0.2661412 | -0.7780799 | -0.3821519 | -0.4331007 | -0.0336532 |
Cer 18:1_24:0;O2 | 0.2121668 | 0.0031127 | 0.0044275 | -0.1691251 | 0.0178553 | 0.0245511 | -0.2789948 | 0.0056738 | 0.0085888 | -0.0592553 | 0.5557222 | 0.6439126 | 0.2197395 | 0.1219254 | 0.1972323 | -0.3086728 | -0.0295773 | -0.4754700 | -0.0825196 | -0.2574770 | 0.1389664 |
LPC 0:0/16:0 | -0.1854718 | 0.0001368 | 0.0002280 | -0.1512690 | 0.0017210 | 0.0026051 | -0.4608411 | 0.0000000 | 0.0000000 | 0.1583030 | 0.0200219 | 0.0327091 | 0.6191441 | 0.0000000 | 0.0000000 | -0.2449413 | -0.0575967 | -0.5927263 | -0.3289559 | 0.0252455 | 0.2913605 |
LPC 0:0/18:1 | 0.2146033 | 0.0021940 | 0.0031479 | 0.2343834 | 0.0008516 | 0.0013253 | -0.0834851 | 0.3908276 | 0.4214808 | 0.5522519 | 0.0000001 | 0.0000004 | 0.6357370 | 0.0000082 | 0.0000646 | 0.0982711 | 0.3704958 | -0.2751234 | 0.1081532 | 0.3589101 | 0.7455937 |
LPC 0:0/18:2 | 0.1781399 | 0.0186236 | 0.0251877 | 0.3284241 | 0.0000213 | 0.0000409 | 0.1454325 | 0.1699266 | 0.2017115 | 0.5114156 | 0.0000036 | 0.0000132 | 0.3659830 | 0.0156967 | 0.0375356 | 0.1804444 | 0.4764038 | -0.0629143 | 0.3537794 | 0.3012167 | 0.7216144 |
LPC 15:0/0:0 | -0.4902595 | 0.0000000 | 0.0000000 | -0.9948191 | 0.0000000 | 0.0000000 | -1.3276248 | 0.0000000 | 0.0000000 | -0.6620133 | 0.0000000 | 0.0000000 | 0.6656114 | 0.0000091 | 0.0000686 | -1.1381096 | -0.8515285 | -1.5293695 | -1.1258800 | -0.8655514 | -0.4584753 |
LPC 16:0/0:0 | -0.2855116 | 0.0000000 | 0.0000000 | -0.1349736 | 0.0015015 | 0.0022940 | -0.3822080 | 0.0000000 | 0.0000000 | 0.1122608 | 0.0603117 | 0.0896525 | 0.4944688 | 0.0000000 | 0.0000004 | -0.2174736 | -0.0524737 | -0.4983632 | -0.2660528 | -0.0049270 | 0.2294485 |
LPC 16:1/0:0 | -0.1084396 | 0.1657039 | 0.2010379 | -0.2781652 | 0.0004708 | 0.0007518 | -0.6329101 | 0.0000000 | 0.0000001 | 0.0765797 | 0.4897296 | 0.5941572 | 0.7094898 | 0.0000105 | 0.0000719 | -0.4319711 | -0.1243594 | -0.8494599 | -0.4163604 | -0.1418949 | 0.2950543 |
LPC 17:0/0:0 | -0.4297227 | 0.0000000 | 0.0000000 | -0.3215485 | 0.0000006 | 0.0000014 | -0.6752198 | 0.0000000 | 0.0000000 | 0.0321227 | 0.7152427 | 0.7920473 | 0.7073425 | 0.0000001 | 0.0000009 | -0.4437685 | -0.1993285 | -0.8472985 | -0.5031411 | -0.1414855 | 0.2057310 |
LPC 18:1/0:0 | 0.1688917 | 0.0269697 | 0.0347656 | 0.2842639 | 0.0002412 | 0.0003979 | 0.0958470 | 0.3694647 | 0.4091388 | 0.4726808 | 0.0000200 | 0.0000622 | 0.3768338 | 0.0137780 | 0.0339892 | 0.1348666 | 0.4336612 | -0.1144957 | 0.3061897 | 0.2604683 | 0.6848933 |
LPC 18:2/0:0 | 0.0453058 | 0.5123547 | 0.5738636 | 0.2726641 | 0.0001171 | 0.0002034 | 0.1366954 | 0.1613454 | 0.1943211 | 0.4086329 | 0.0000504 | 0.0001486 | 0.2719376 | 0.0505184 | 0.0969249 | 0.1363845 | 0.4089438 | -0.0551785 | 0.3285692 | 0.2150535 | 0.6022123 |
LPC 20:1/0:0 | -0.1633211 | 0.0235411 | 0.0308276 | 0.5742817 | 0.0000000 | 0.0000000 | 0.3410640 | 0.0008789 | 0.0016480 | 0.8074995 | 0.0000000 | 0.0000000 | 0.4664355 | 0.0013422 | 0.0049214 | 0.4332202 | 0.7153433 | 0.1424575 | 0.5396704 | 0.6071276 | 1.0078714 |
LPC 20:5/0:0 | 0.1338801 | 0.1467344 | 0.1793420 | 0.3994660 | 0.0000243 | 0.0000462 | 0.2071146 | 0.1110719 | 0.1398997 | 0.5918175 | 0.0000112 | 0.0000373 | 0.3847030 | 0.0377524 | 0.0806463 | 0.2181389 | 0.5807932 | -0.0481836 | 0.4624127 | 0.3342500 | 0.8493851 |
LPC 22:6/0:0 | -0.0606988 | 0.5529415 | 0.5976118 | -0.6858047 | 0.0000000 | 0.0000000 | -0.6399541 | 0.0000161 | 0.0000373 | -0.7316554 | 0.0000012 | 0.0000050 | -0.0917013 | 0.6539225 | 0.7441187 | -0.8874331 | -0.4841764 | -0.9238351 | -0.3560731 | -1.0180598 | -0.4452509 |
PC 14:0_16:0 | -0.6734103 | 0.0000000 | 0.0000000 | -0.8085154 | 0.0000000 | 0.0000000 | -0.7269851 | 0.0000002 | 0.0000006 | -0.8900457 | 0.0000000 | 0.0000000 | -0.1630606 | 0.3930921 | 0.4876706 | -0.9965659 | -0.6204649 | -0.9917493 | -0.4622208 | -1.1571634 | -0.6229279 |
PC 14:0_20:4 | 0.6841718 | 0.0000020 | 0.0000039 | -0.3025840 | 0.0304554 | 0.0405253 | -0.2803751 | 0.1526221 | 0.1879301 | -0.3247930 | 0.1008760 | 0.1434874 | -0.0444178 | 0.8728519 | 0.9173284 | -0.5762516 | -0.0289165 | -0.6656831 | 0.1049329 | -0.7135260 | 0.0639401 |
PC 15:0_18:2 | 0.0492171 | 0.5147383 | 0.5738636 | -0.6813049 | 0.0000000 | 0.0000000 | -0.8859663 | 0.0000000 | 0.0000000 | -0.4766434 | 0.0000161 | 0.0000512 | 0.4093230 | 0.0073689 | 0.0196109 | -0.8301912 | -0.5324185 | -1.0955897 | -0.6763430 | -0.6881301 | -0.2651567 |
PC 15:1_18:1 | -0.2501451 | 0.0000316 | 0.0000561 | -0.2376845 | 0.0000735 | 0.0001305 | -0.5260364 | 0.0000000 | 0.0000000 | 0.0506674 | 0.5418969 | 0.6386643 | 0.5767039 | 0.0000020 | 0.0000204 | -0.3529458 | -0.1224232 | -0.6883176 | -0.3637552 | -0.1130563 | 0.2143911 |
PC 16:0_16:0 | 0.1073072 | 0.0048297 | 0.0067535 | -0.1719398 | 0.0000094 | 0.0000187 | -0.3064757 | 0.0000000 | 0.0000001 | -0.0374039 | 0.4839745 | 0.5941572 | 0.2690718 | 0.0004510 | 0.0019080 | -0.2460758 | -0.0978037 | -0.4108549 | -0.2020964 | -0.1427110 | 0.0679032 |
PC 16:0_16:1 | 0.0226561 | 0.8060423 | 0.8364590 | -0.7121891 | 0.0000000 | 0.0000000 | -0.8719703 | 0.0000000 | 0.0000000 | -0.5524079 | 0.0000410 | 0.0001254 | 0.3195624 | 0.0847929 | 0.1442353 | -0.8941446 | -0.5302336 | -1.1281531 | -0.6157875 | -0.8108679 | -0.2939478 |
PC 16:0_18:0 | 0.1968568 | 0.0001996 | 0.0003261 | -0.2902152 | 0.0000001 | 0.0000002 | -0.4405993 | 0.0000000 | 0.0000000 | -0.1398312 | 0.0585960 | 0.0878940 | 0.3007681 | 0.0041373 | 0.0131279 | -0.3922784 | -0.1881520 | -0.5842983 | -0.2969002 | -0.2848076 | 0.0051452 |
PC 16:0_18:1 | 0.2015973 | 0.0000007 | 0.0000015 | -0.2447824 | 0.0000000 | 0.0000000 | -0.4100626 | 0.0000000 | 0.0000000 | -0.0795021 | 0.1537823 | 0.2150346 | 0.3305604 | 0.0000393 | 0.0002495 | -0.3219177 | -0.1676470 | -0.5186647 | -0.3014605 | -0.1890696 | 0.0300653 |
PC 16:0_20:3 | -3.6827067 | 0.0000000 | 0.0000000 | -0.5355220 | 0.0000002 | 0.0000005 | -0.4106613 | 0.0035518 | 0.0056480 | -0.6603827 | 0.0000052 | 0.0000188 | -0.2497214 | 0.2069300 | 0.2968995 | -0.7301343 | -0.3409097 | -0.6846642 | -0.1366585 | -0.9368212 | -0.3839442 |
PC 16:0_20:3 (2) | 5.4191872 | 0.0000000 | 0.0000000 | -0.8710277 | 0.0000000 | 0.0000000 | -1.5130663 | 0.0000000 | 0.0000000 | -0.2289891 | 0.1331166 | 0.1877286 | 1.2840772 | 0.0000000 | 0.0000003 | -1.0819375 | -0.6601179 | -1.8100151 | -1.2161175 | -0.5285775 | 0.0705993 |
PC 16:0_20:4 | -3.8469010 | 0.0000000 | 0.0000000 | -0.3239307 | 0.0003944 | 0.0006381 | -0.2203381 | 0.0820847 | 0.1058123 | -0.4275232 | 0.0009615 | 0.0020340 | -0.2071851 | 0.2484680 | 0.3388200 | -0.5005741 | -0.1472873 | -0.4690418 | 0.0283655 | -0.6784376 | -0.1766088 |
PC 16:0_20:4 (2) | 2.6062613 | 0.0000000 | 0.0000000 | -0.2623178 | 0.0000037 | 0.0000076 | -0.5492321 | 0.0000000 | 0.0000000 | 0.0245966 | 0.7519073 | 0.8114987 | 0.5738287 | 0.0000005 | 0.0000068 | -0.3703246 | -0.1543110 | -0.7012995 | -0.3971648 | -0.1288226 | 0.1780157 |
PC 16:0_20:5 | 0.4752677 | 0.0002082 | 0.0003368 | -0.7165998 | 0.0000001 | 0.0000001 | -0.5473985 | 0.0022439 | 0.0037024 | -0.8858012 | 0.0000016 | 0.0000063 | -0.3384027 | 0.1782406 | 0.2625866 | -0.9637525 | -0.4694472 | -0.8953751 | -0.1994218 | -1.2368710 | -0.5347314 |
PC 16:0_22:4 | 1.2297374 | 0.0000000 | 0.0000000 | -0.1887850 | 0.0327772 | 0.0432660 | -0.3497438 | 0.0052013 | 0.0080964 | -0.0278261 | 0.8234305 | 0.8545033 | 0.3219177 | 0.0681883 | 0.1209792 | -0.3619085 | -0.0156614 | -0.5934918 | -0.1059959 | -0.2737407 | 0.2180885 |
PC 16:0_22:6 | 0.6839676 | 0.0000000 | 0.0000000 | -0.5175854 | 0.0000000 | 0.0000000 | -0.4040879 | 0.0000410 | 0.0000915 | -0.6310828 | 0.0000000 | 0.0000000 | -0.2269948 | 0.0970291 | 0.1600980 | -0.6518732 | -0.3832975 | -0.5931575 | -0.2150184 | -0.8218330 | -0.4403326 |
PC 16:1_18:2 | 0.3025899 | 0.0000864 | 0.0001501 | 0.4535819 | 0.0000000 | 0.0000000 | 0.3415782 | 0.0014982 | 0.0026581 | 0.5655856 | 0.0000004 | 0.0000017 | 0.2240074 | 0.1376507 | 0.2163082 | 0.3053238 | 0.6018399 | 0.1328394 | 0.5503169 | 0.3549913 | 0.7761798 |
PC 17:0_18:1 | 0.8251383 | 0.0000000 | 0.0000000 | -0.7887386 | 0.0000000 | 0.0000000 | -0.8805693 | 0.0000000 | 0.0000000 | -0.6969080 | 0.0000000 | 0.0000000 | 0.1836613 | 0.1638356 | 0.2435395 | -0.9184085 | -0.6590687 | -1.0631369 | -0.6980016 | -0.8810985 | -0.5127175 |
PC 17:0_18:2 | -1.3706790 | 0.0000000 | 0.0000000 | -0.9746935 | 0.0000000 | 0.0000000 | -0.2708014 | 0.0235266 | 0.0326209 | -1.6785856 | 0.0000000 | 0.0000000 | -1.4077842 | 0.0000000 | 0.0000000 | -1.1407999 | -0.8085871 | -0.5046696 | -0.0369332 | -1.9145327 | -1.4426385 |
PC 17:0_18:2 (2) | 2.2172391 | 0.0000000 | 0.0000000 | -1.2632147 | 0.0000000 | 0.0000000 | -2.5624222 | 0.0000000 | 0.0000000 | 0.0359928 | 0.7567396 | 0.8114987 | 2.5984150 | 0.0000000 | 0.0000000 | -1.4245103 | -1.1019190 | -2.7895171 | -2.3353272 | -0.1931208 | 0.2651065 |
PC 17:0_20:3 | -1.0240799 | 0.0000000 | 0.0000000 | -0.6662563 | 0.0000000 | 0.0000000 | -0.5016866 | 0.0000123 | 0.0000291 | -0.8308259 | 0.0000000 | 0.0000000 | -0.3291394 | 0.0386125 | 0.0806463 | -0.8220966 | -0.5104159 | -0.7211008 | -0.2822724 | -1.0521905 | -0.6094614 |
PC 18:0_18:1 | 0.3398991 | 0.0000000 | 0.0000000 | -0.2394262 | 0.0000148 | 0.0000286 | -0.4438558 | 0.0000000 | 0.0000001 | -0.0349965 | 0.6459225 | 0.7350153 | 0.4088593 | 0.0001926 | 0.0009929 | -0.3451470 | -0.1337053 | -0.5927046 | -0.2950070 | -0.1851685 | 0.1151754 |
PC 18:0_22:5 | 0.7093392 | 0.0000000 | 0.0000000 | 0.2626571 | 0.0004738 | 0.0007518 | 0.2727778 | 0.0092953 | 0.0135728 | 0.2525364 | 0.0168104 | 0.0283033 | -0.0202414 | 0.8907485 | 0.9243617 | 0.1173521 | 0.4079621 | 0.0681967 | 0.4773588 | 0.0461368 | 0.4589359 |
PC 18:0_22:6 | 1.0581591 | 0.0000000 | 0.0000000 | -0.5490905 | 0.0000000 | 0.0000000 | -0.3877502 | 0.0027743 | 0.0045322 | -0.7104309 | 0.0000001 | 0.0000007 | -0.3226807 | 0.0768573 | 0.1334889 | -0.7280306 | -0.3701505 | -0.6396875 | -0.1358130 | -0.9646076 | -0.4562541 |
PC 18:1_18:2 | 0.2109613 | 0.0000261 | 0.0000469 | 0.5520328 | 0.0000000 | 0.0000000 | 0.5039490 | 0.0000000 | 0.0000000 | 0.6001166 | 0.0000000 | 0.0000000 | 0.0961676 | 0.3247535 | 0.4225977 | 0.4558857 | 0.6481798 | 0.3685795 | 0.6393185 | 0.4635438 | 0.7366894 |
PC 18:1_20:3 | 1.0367053 | 0.0000000 | 0.0000000 | 0.4469125 | 0.0000005 | 0.0000011 | 0.4948140 | 0.0000579 | 0.0001241 | 0.3990109 | 0.0011798 | 0.0024641 | -0.0958032 | 0.5738827 | 0.6668355 | 0.2790079 | 0.6148170 | 0.2584141 | 0.7312140 | 0.1605096 | 0.6375122 |
PC 18:1_20:4 | 0.6341276 | 0.0000000 | 0.0000000 | 0.2003139 | 0.0001843 | 0.0003135 | 0.0968305 | 0.1902939 | 0.2242749 | 0.3037972 | 0.0000687 | 0.0001960 | 0.2069668 | 0.0495415 | 0.0961688 | 0.0970405 | 0.3035872 | -0.0485724 | 0.2422333 | 0.1571019 | 0.4504926 |
PC 18:2_18:2 | 0.4161300 | 0.0000000 | 0.0000001 | 0.4902017 | 0.0000000 | 0.0000000 | 0.5141575 | 0.0000012 | 0.0000032 | 0.4662459 | 0.0000113 | 0.0000373 | -0.0479116 | 0.7409678 | 0.8150645 | 0.3473114 | 0.6330919 | 0.3129763 | 0.7153386 | 0.2632764 | 0.6692154 |
PC 18:2_18:3 | 0.2693107 | 0.0384234 | 0.0491462 | 1.1930357 | 0.0000000 | 0.0000000 | 1.3468692 | 0.0000000 | 0.0000000 | 1.0392022 | 0.0000001 | 0.0000004 | -0.3076669 | 0.2348031 | 0.3283264 | 0.9382618 | 1.4478096 | 0.9881623 | 1.7055760 | 0.6773068 | 1.4010976 |
PC 18:2_20:4 | 0.9674236 | 0.0000000 | 0.0000000 | 0.2256828 | 0.0026583 | 0.0039162 | 0.0843653 | 0.4187184 | 0.4457324 | 0.3670002 | 0.0006152 | 0.0013535 | 0.2826349 | 0.0576864 | 0.1094052 | 0.0797012 | 0.3716644 | -0.1211683 | 0.2898990 | 0.1596396 | 0.5743609 |
PC 37:6 | 0.9572387 | 0.0000000 | 0.0000000 | -1.5008639 | 0.0000000 | 0.0000000 | -1.3776541 | 0.0000000 | 0.0000000 | -1.6240736 | 0.0000000 | 0.0000000 | -0.2464195 | 0.2997851 | 0.3989076 | -1.7347983 | -1.2669294 | -1.7070203 | -1.0482879 | -1.9563676 | -1.2917797 |
SM 30:1;O2 | -0.5167814 | 0.0001184 | 0.0001993 | -0.5348944 | 0.0000696 | 0.0001247 | -0.3739918 | 0.0440613 | 0.0605843 | -0.6957970 | 0.0002549 | 0.0005995 | -0.3218052 | 0.2206915 | 0.3139147 | -0.7933722 | -0.2764166 | -0.7379136 | -0.0100701 | -1.0629536 | -0.3286403 |
SM 32:0;O2 | -0.3856184 | 0.0000251 | 0.0000454 | -0.7468996 | 0.0000000 | 0.0000000 | -0.7209840 | 0.0000000 | 0.0000001 | -0.7728151 | 0.0000000 | 0.0000000 | -0.0518311 | 0.7706964 | 0.8311432 | -0.9222273 | -0.5715718 | -0.9678353 | -0.4741327 | -1.0218606 | -0.5237696 |
SM 32:2;O2 | -0.0971652 | 0.2530543 | 0.2979789 | -0.4263996 | 0.0000013 | 0.0000029 | -0.4159114 | 0.0006331 | 0.0012289 | -0.4368879 | 0.0003819 | 0.0008751 | -0.0209765 | 0.9016077 | 0.9297830 | -0.5937016 | -0.2590977 | -0.6514628 | -0.1803599 | -0.6745332 | -0.1992426 |
SM 33:1;O2 | 0.0592394 | 0.2756835 | 0.3187205 | -1.1162588 | 0.0000000 | 0.0000000 | -1.3544274 | 0.0000000 | 0.0000000 | -0.8780901 | 0.0000000 | 0.0000000 | 0.4763372 | 0.0000201 | 0.0001329 | -1.2232287 | -1.0092888 | -1.5050349 | -1.2038198 | -1.0300364 | -0.7261438 |
SM 34:1;O2 | 0.0578330 | 0.0587033 | 0.0739393 | -0.1115332 | 0.0003293 | 0.0005380 | -0.2591626 | 0.0000000 | 0.0000000 | 0.0360961 | 0.4040008 | 0.5207823 | 0.2952587 | 0.0000028 | 0.0000259 | -0.1715200 | -0.0515465 | -0.3436204 | -0.1747047 | -0.0491125 | 0.1213048 |
SM 34:2;O2 | 0.2010479 | 0.0000056 | 0.0000104 | -0.1094614 | 0.0113851 | 0.0159198 | -0.3193246 | 0.0000004 | 0.0000010 | 0.1004018 | 0.1001928 | 0.1434874 | 0.4197264 | 0.0000023 | 0.0000221 | -0.1938878 | -0.0250350 | -0.4381921 | -0.2004571 | -0.0195224 | 0.2203259 |
SM 35:2;O2 | 0.0958940 | 0.1706350 | 0.2055093 | -0.7730616 | 0.0000000 | 0.0000000 | -1.0648027 | 0.0000000 | 0.0000000 | -0.4813205 | 0.0000028 | 0.0000105 | 0.5834822 | 0.0000470 | 0.0002767 | -0.9106688 | -0.6354544 | -1.2585457 | -0.8710598 | -0.6767857 | -0.2858554 |
SM 36:0;O2 | -0.0111866 | 0.9121969 | 0.9198971 | -0.7082614 | 0.0000000 | 0.0000000 | -0.8385154 | 0.0000000 | 0.0000001 | -0.5780075 | 0.0000912 | 0.0002467 | 0.2605079 | 0.2003443 | 0.2899720 | -0.9083287 | -0.5081941 | -1.1201986 | -0.5568322 | -0.8621946 | -0.2938204 |
SM 36:2;O2 | 0.1192572 | 0.0105528 | 0.0145101 | -0.4317656 | 0.0000000 | 0.0000000 | -0.6792012 | 0.0000000 | 0.0000000 | -0.1843300 | 0.0054819 | 0.0103861 | 0.4948712 | 0.0000003 | 0.0000042 | -0.5227738 | -0.3407575 | -0.8073354 | -0.5510670 | -0.3136033 | -0.0550568 |
SM 38:1;O2 | 0.0023728 | 0.9651665 | 0.9651665 | -0.3867321 | 0.0000000 | 0.0000000 | -0.4780844 | 0.0000000 | 0.0000000 | -0.2953798 | 0.0001829 | 0.0004374 | 0.1827046 | 0.0941728 | 0.1585562 | -0.4938831 | -0.2795811 | -0.6289467 | -0.3272221 | -0.4475832 | -0.1431764 |
SM 38:2;O2 | 0.0202589 | 0.6615959 | 0.7042795 | -0.1244887 | 0.0078144 | 0.0110203 | -0.3189906 | 0.0000023 | 0.0000058 | 0.0700132 | 0.2876328 | 0.3827372 | 0.3890038 | 0.0000429 | 0.0002623 | -0.2157379 | -0.0332396 | -0.4474642 | -0.1905171 | -0.0596023 | 0.1996287 |
SM 39:1;O2 | 0.0132463 | 0.8377596 | 0.8639396 | -0.8523535 | 0.0000000 | 0.0000000 | -1.0301067 | 0.0000000 | 0.0000000 | -0.6746004 | 0.0000000 | 0.0000000 | 0.3555063 | 0.0066198 | 0.0179532 | -0.9799252 | -0.7247819 | -1.2097202 | -0.8504932 | -0.8558105 | -0.4933903 |
SM 40:2;O2 | -1.6068364 | 0.0000000 | 0.0000000 | -0.4584985 | 0.0000000 | 0.0000000 | -0.1283222 | 0.1602696 | 0.1943211 | -0.7886749 | 0.0000000 | 0.0000000 | -0.6603526 | 0.0000009 | 0.0000109 | -0.5861000 | -0.3308970 | -0.3079777 | 0.0513333 | -0.9699273 | -0.6074224 |
SM 40:2;O2 (2) | 1.5455093 | 0.0000000 | 0.0000000 | -0.3742896 | 0.0000000 | 0.0000000 | -0.9306328 | 0.0000000 | 0.0000000 | 0.1820536 | 0.0395243 | 0.0615236 | 1.1126864 | 0.0000000 | 0.0000000 | -0.4962309 | -0.2523483 | -1.1023191 | -0.7589465 | 0.0088412 | 0.3552661 |
SM 41:1;O2 | -0.0339174 | 0.5245082 | 0.5782816 | -0.2779123 | 0.0000005 | 0.0000013 | -0.4595570 | 0.0000000 | 0.0000000 | -0.0962675 | 0.2043751 | 0.2786933 | 0.3632895 | 0.0008103 | 0.0031834 | -0.3829477 | -0.1728768 | -0.6074408 | -0.3116732 | -0.2454658 | 0.0529309 |
SM 41:2;O2 | 0.2215315 | 0.0001417 | 0.0002337 | -0.2162949 | 0.0001998 | 0.0003365 | -0.4850373 | 0.0000000 | 0.0000000 | 0.0524474 | 0.5164465 | 0.6130481 | 0.5374846 | 0.0000049 | 0.0000427 | -0.3284460 | -0.1041438 | -0.6429395 | -0.3271350 | -0.1068585 | 0.2117532 |
SM 43:1;O2 | -0.1776364 | 0.1837828 | 0.2197403 | -2.4108403 | 0.0000000 | 0.0000000 | -2.7693682 | 0.0000000 | 0.0000000 | -2.0523125 | 0.0000000 | 0.0000000 | 0.7170557 | 0.0078173 | 0.0204740 | -2.6736508 | -2.1480298 | -3.1393901 | -2.3993462 | -2.4256236 | -1.6790014 |
SM 43:2;O2 | 0.0616312 | 0.6684455 | 0.7070097 | -2.1965647 | 0.0000000 | 0.0000000 | -3.8829896 | 0.0000000 | 0.0000000 | -0.5101399 | 0.0134376 | 0.0230959 | 3.3728497 | 0.0000000 | 0.0000000 | -2.4802759 | -1.9128535 | -4.2824386 | -3.4835406 | -0.9131396 | -0.1071402 |
SM 43:2;O2 (2) | 0.3277117 | 0.0172375 | 0.0235057 | -1.6190528 | 0.0000000 | 0.0000000 | -0.3857598 | 0.0458682 | 0.0625476 | -2.8523458 | 0.0000000 | 0.0000000 | -2.4665860 | 0.0000000 | 0.0000000 | -1.8879503 | -1.3501553 | -0.7643519 | -0.0071677 | -3.2343032 | -2.4703884 |
TG 12:0_14:0_16:0 | 1.7854108 | 0.0000000 | 0.0000000 | -0.4702951 | 0.0045760 | 0.0066818 | -0.3181879 | 0.1687776 | 0.2017115 | -0.6224023 | 0.0081398 | 0.0147589 | -0.3042144 | 0.3535315 | 0.4487131 | -0.7931794 | -0.1474108 | -0.7727903 | 0.1364145 | -1.0810457 | -0.1637588 |
TG 12:0_14:0_18:1 | 2.4414550 | 0.0000000 | 0.0000000 | -0.6182822 | 0.0021990 | 0.0032985 | -0.5340580 | 0.0579376 | 0.0770944 | -0.7025065 | 0.0137998 | 0.0234739 | -0.1684485 | 0.6720400 | 0.7492338 | -1.0105178 | -0.2260467 | -1.0863029 | 0.0181869 | -1.2596603 | -0.1453526 |
TG 12:0_16:0_18:1 | 1.5954040 | 0.0000000 | 0.0000000 | -0.9607872 | 0.0000523 | 0.0000959 | -0.9731006 | 0.0032136 | 0.0051984 | -0.9484738 | 0.0043820 | 0.0084074 | 0.0246268 | 0.9575442 | 0.9575442 | -1.4169383 | -0.5046361 | -1.6153350 | -0.3308663 | -1.5964170 | -0.3005306 |
TG 12:0_18:2_18:2 | 0.9905769 | 0.0013853 | 0.0020409 | 0.9460943 | 0.0022251 | 0.0033075 | 2.0557318 | 0.0000037 | 0.0000091 | -0.1635432 | 0.7056012 | 0.7866500 | -2.2192750 | 0.0003604 | 0.0016500 | 0.3451820 | 1.5470067 | 1.2096820 | 2.9017816 | -1.0171136 | 0.6900272 |
TG 14:0_16:0_16:0 | 0.8924518 | 0.0000000 | 0.0000000 | -0.9334407 | 0.0000000 | 0.0000000 | -0.8848787 | 0.0000504 | 0.0001095 | -0.9820028 | 0.0000092 | 0.0000323 | -0.0971240 | 0.7477412 | 0.8170682 | -1.2311669 | -0.6357146 | -1.3040599 | -0.4656975 | -1.4049101 | -0.5590954 |
TG 14:0_16:0_18:1 | 0.6239730 | 0.0003298 | 0.0005233 | -1.2789576 | 0.0000000 | 0.0000000 | -1.2608972 | 0.0000004 | 0.0000012 | -1.2970179 | 0.0000003 | 0.0000012 | -0.0361208 | 0.9154887 | 0.9382338 | -1.6145902 | -0.9433250 | -1.7334484 | -0.7883459 | -1.7737697 | -0.8202661 |
TG 14:0_16:0_18:2 | 1.0251899 | 0.0000000 | 0.0000001 | -0.8477238 | 0.0000036 | 0.0000074 | -0.7984199 | 0.0015781 | 0.0027701 | -0.8970278 | 0.0004553 | 0.0010292 | -0.0986079 | 0.7801178 | 0.8358405 | -1.1959809 | -0.4994668 | -1.2887456 | -0.3080941 | -1.3917121 | -0.4023435 |
TG 15:0_16:0_16:0 | 1.1747101 | 0.0000000 | 0.0000000 | -0.7601574 | 0.0000024 | 0.0000051 | -0.7475602 | 0.0007962 | 0.0015101 | -0.7727546 | 0.0005957 | 0.0013282 | -0.0251945 | 0.9354125 | 0.9496720 | -1.0667215 | -0.4535933 | -1.1791847 | -0.3159356 | -1.2082159 | -0.3372934 |
TG 15:0_16:0_18:2 | 0.4588098 | 0.0014521 | 0.0021204 | -0.9184201 | 0.0000000 | 0.0000000 | -1.0213816 | 0.0000009 | 0.0000023 | -0.8154587 | 0.0000785 | 0.0002196 | 0.2059229 | 0.4680071 | 0.5636582 | -1.1979762 | -0.6388640 | -1.4149804 | -0.6277827 | -1.2125562 | -0.4183611 |
TG 15:0_18:1_18:2 | 0.7105444 | 0.0000000 | 0.0000000 | -0.8646686 | 0.0000000 | 0.0000000 | -0.9865174 | 0.0000000 | 0.0000000 | -0.7428198 | 0.0000119 | 0.0000386 | 0.2436976 | 0.2934156 | 0.3936063 | -1.0929777 | -0.6363594 | -1.3079635 | -0.6650713 | -1.0671232 | -0.4185163 |
TG 16:0_16:0_16:0 | 0.8301948 | 0.0000020 | 0.0000039 | -1.1194452 | 0.0000000 | 0.0000000 | -1.2853064 | 0.0000002 | 0.0000006 | -0.9535841 | 0.0000998 | 0.0002656 | 0.3317223 | 0.3252722 | 0.4225977 | -1.4514536 | -0.7874369 | -1.7527549 | -0.8178579 | -1.4251877 | -0.4819804 |
TG 16:0_16:0_18:0 | 0.1929835 | 0.3990221 | 0.4509496 | -1.1922226 | 0.0000006 | 0.0000013 | -1.3913327 | 0.0000265 | 0.0000608 | -0.9931126 | 0.0025754 | 0.0051197 | 0.3982200 | 0.3842574 | 0.4803218 | -1.6429775 | -0.7414677 | -2.0259694 | -0.7566959 | -1.6333907 | -0.3528345 |
TG 16:0_16:0_18:1 | 0.7268360 | 0.0000004 | 0.0000009 | -1.0768816 | 0.0000000 | 0.0000000 | -1.3966856 | 0.0000000 | 0.0000000 | -0.7570776 | 0.0001556 | 0.0003891 | 0.6396079 | 0.0212991 | 0.0481419 | -1.3484515 | -0.8053117 | -1.7790403 | -1.0143309 | -1.1428311 | -0.3713242 |
TG 16:0_16:1_18:1 | 0.5424387 | 0.0000342 | 0.0000600 | -0.7328197 | 0.0000000 | 0.0000001 | -0.8985035 | 0.0000014 | 0.0000035 | -0.5671358 | 0.0020141 | 0.0041027 | 0.3313678 | 0.1943307 | 0.2837572 | -0.9838959 | -0.4817435 | -1.2520043 | -0.5450028 | -0.9237788 | -0.2104927 |
TG 16:0_17:0_18:1 | 1.1225061 | 0.0000000 | 0.0000000 | -1.7982900 | 0.0000000 | 0.0000000 | -1.7865956 | 0.0000000 | 0.0000000 | -1.8099844 | 0.0000000 | 0.0000000 | -0.0233887 | 0.9381608 | 0.9496720 | -2.0955574 | -1.5010225 | -2.2051310 | -1.3680603 | -2.2322401 | -1.3877286 |
TG 16:0_18:0_18:1 | 1.1176085 | 0.0000000 | 0.0000000 | -1.2663679 | 0.0000000 | 0.0000000 | -1.7355449 | 0.0000000 | 0.0000000 | -0.7971909 | 0.0008961 | 0.0019201 | 0.9383540 | 0.0052512 | 0.0160455 | -1.5937238 | -0.9390121 | -2.1964430 | -1.2746468 | -1.2621859 | -0.3321959 |
TG 16:0_18:1_18:1 | 0.6354892 | 0.0000000 | 0.0000000 | -0.3599247 | 0.0001501 | 0.0002580 | -0.6009022 | 0.0000084 | 0.0000201 | -0.1189472 | 0.3672900 | 0.4771877 | 0.4819550 | 0.0101606 | 0.0261952 | -0.5428601 | -0.1769893 | -0.8584647 | -0.3433398 | -0.3787991 | 0.1409047 |
TG 16:0_18:1_18:3 | -2.9132111 | 0.0000000 | 0.0000000 | 0.3806832 | 0.0047031 | 0.0068071 | 0.7057700 | 0.0002257 | 0.0004542 | 0.0555963 | 0.7684859 | 0.8135660 | -0.6501737 | 0.0154274 | 0.0374341 | 0.1184915 | 0.6428749 | 0.3366193 | 1.0749208 | -0.3168358 | 0.4280285 |
TG 16:0_18:1_20:4 | 2.2711719 | 0.0000000 | 0.0000000 | -0.5261703 | 0.0006403 | 0.0010061 | -0.8402468 | 0.0001171 | 0.0002415 | -0.2120938 | 0.3242893 | 0.4246646 | 0.6281531 | 0.0391684 | 0.0807847 | -0.8244467 | -0.2278939 | -1.2602028 | -0.4202909 | -0.6357827 | 0.2115952 |
TG 17:0_18:1_18:1 | 0.4346743 | 0.0006370 | 0.0009823 | -1.0911648 | 0.0000000 | 0.0000000 | -1.4990719 | 0.0000000 | 0.0000000 | -0.6832577 | 0.0001672 | 0.0004097 | 0.8158142 | 0.0013179 | 0.0049214 | -1.3374696 | -0.8448600 | -1.8458548 | -1.1522889 | -1.0331232 | -0.3333922 |
TG 18:0_18:1_18:1 | 1.0799636 | 0.0000000 | 0.0000000 | -0.2955173 | 0.0223915 | 0.0302836 | -0.6489871 | 0.0004302 | 0.0008451 | 0.0579526 | 0.7505710 | 0.8114987 | 0.7069397 | 0.0064923 | 0.0179532 | -0.5485846 | -0.0424499 | -1.0052913 | -0.2926829 | -0.3015188 | 0.4174240 |
TG 18:1_18:1_18:1 | 0.9264672 | 0.0000000 | 0.0000000 | 0.4623004 | 0.0000020 | 0.0000043 | 0.3190257 | 0.0166289 | 0.0236531 | 0.6055751 | 0.0000105 | 0.0000361 | 0.2865494 | 0.1278509 | 0.2029546 | 0.2774207 | 0.6471800 | 0.0587258 | 0.5793255 | 0.3429614 | 0.8681887 |
TG 18:1_18:1_18:2 | 1.0863163 | 0.0000000 | 0.0000000 | 1.0102325 | 0.0000000 | 0.0000000 | 1.1672114 | 0.0000000 | 0.0000000 | 0.8532536 | 0.0000000 | 0.0000000 | -0.3139578 | 0.0953956 | 0.1589927 | 0.8254160 | 1.1950490 | 0.9070004 | 1.4274223 | 0.5907296 | 1.1157776 |
TG 18:1_18:2_18:2 | 1.5918706 | 0.0000000 | 0.0000000 | 1.6475104 | 0.0000000 | 0.0000000 | 2.1054284 | 0.0000000 | 0.0000000 | 1.1895924 | 0.0000000 | 0.0000000 | -0.9158359 | 0.0006568 | 0.0026434 | 1.3873738 | 1.9076469 | 1.7391711 | 2.4716856 | 0.8200795 | 1.5591053 |
TG 18:1_18:2_18:3 | 1.6578828 | 0.0000000 | 0.0000000 | 2.1890489 | 0.0000000 | 0.0000000 | 2.8932970 | 0.0000000 | 0.0000000 | 1.4848007 | 0.0000001 | 0.0000005 | -1.4084963 | 0.0002242 | 0.0010881 | 1.8208704 | 2.5572274 | 2.3749230 | 3.4116710 | 0.9618189 | 2.0077826 |
ACar 16:0 | 0.0360313 | 0.6053246 | 0.6485620 | -0.4674115 | 0.0000000 | 0.0000000 | -0.5377225 | 0.0000002 | 0.0000005 | -0.3971005 | 0.0000912 | 0.0002467 | 0.1406220 | 0.3138463 | 0.4142771 | -0.6048602 | -0.3299629 | -0.7312423 | -0.3442028 | -0.5923405 | -0.2018606 |
LPC 20:2/0:0 | -0.0412361 | 0.5431979 | 0.5935606 | 0.4459821 | 0.0000000 | 0.0000000 | 0.3044771 | 0.0016896 | 0.0029346 | 0.5874871 | 0.0000000 | 0.0000000 | 0.2830100 | 0.0381549 | 0.0806463 | 0.3123037 | 0.5796606 | 0.1162656 | 0.4926886 | 0.3976026 | 0.7773716 |
LPC 20:0/0:0 | 0.0072955 | 0.9143220 | 0.9198971 | 0.6940687 | 0.0000000 | 0.0000000 | 0.5940792 | 0.0000000 | 0.0000000 | 0.7940583 | 0.0000000 | 0.0000000 | 0.1999791 | 0.1416984 | 0.2205682 | 0.5603439 | 0.8277936 | 0.4058023 | 0.7823560 | 0.6041079 | 0.9840087 |
DG 16:0_18:1 | 0.3065449 | 0.0195387 | 0.0257911 | -0.6240855 | 0.0000036 | 0.0000075 | -0.8672314 | 0.0000048 | 0.0000115 | -0.3809397 | 0.0406557 | 0.0626934 | 0.4862917 | 0.0631490 | 0.1145010 | -0.8807163 | -0.3674548 | -1.2285526 | -0.5059102 | -0.7454727 | -0.0164067 |
DG 18:1_18:2 | 0.6896515 | 0.0000000 | 0.0000001 | 0.4973459 | 0.0000457 | 0.0000847 | 0.5228528 | 0.0020724 | 0.0034893 | 0.4718390 | 0.0057279 | 0.0106191 | -0.0510138 | 0.8299424 | 0.8778237 | 0.2631521 | 0.7315397 | 0.1931215 | 0.8525841 | 0.1391767 | 0.8045013 |
SM 31:1;O2 | -0.1366774 | 0.1179638 | 0.1456326 | -1.4664668 | 0.0000000 | 0.0000000 | -1.5881119 | 0.0000000 | 0.0000000 | -1.3448216 | 0.0000000 | 0.0000000 | 0.2432903 | 0.1637516 | 0.2435395 | -1.6382019 | -1.2947316 | -1.8299051 | -1.3463188 | -1.5887641 | -1.1008792 |
PC 12:0_16:0 | -0.7345228 | 0.0002421 | 0.0003878 | -0.9806690 | 0.0000014 | 0.0000031 | -0.8563683 | 0.0022144 | 0.0036907 | -1.1049697 | 0.0001056 | 0.0002765 | -0.2486015 | 0.5257996 | 0.6241506 | -1.3668071 | -0.5945309 | -1.4000284 | -0.3127082 | -1.6534625 | -0.5564770 |
PC 14:0_17:0 | 0.0885285 | 0.2762244 | 0.3187205 | -1.5343714 | 0.0000000 | 0.0000000 | -1.7866064 | 0.0000000 | 0.0000000 | -1.2821364 | 0.0000000 | 0.0000000 | 0.5044700 | 0.0022020 | 0.0074148 | -1.6944102 | -1.3743326 | -2.0119318 | -1.5612810 | -1.5094647 | -1.0548081 |
PC 33:1 | 0.2484698 | 0.0015862 | 0.0022958 | -1.2384418 | 0.0000000 | 0.0000000 | -1.5367497 | 0.0000000 | 0.0000000 | -0.9401340 | 0.0000000 | 0.0000000 | 0.5966157 | 0.0001658 | 0.0008826 | -1.3911059 | -1.0857778 | -1.7516918 | -1.3218076 | -1.1569867 | -0.7232812 |
PC 33:0 | -2.5078606 | 0.0000000 | 0.0000000 | -0.6876075 | 0.0000000 | 0.0000000 | -0.9749810 | 0.0000000 | 0.0000000 | -0.4002339 | 0.0001436 | 0.0003646 | 0.5747471 | 0.0001071 | 0.0005889 | -0.8303871 | -0.5448279 | -1.1760064 | -0.7739556 | -0.6030462 | -0.1974216 |
TG 12:0_14:0_18:2 | 0.8626013 | 0.0008601 | 0.0013141 | -1.1563490 | 0.0000105 | 0.0000206 | -0.3361733 | 0.3483080 | 0.3883163 | -1.9765246 | 0.0000002 | 0.0000008 | -1.6403513 | 0.0015031 | 0.0052767 | -1.6577129 | -0.6549850 | -1.0420648 | 0.3697181 | -2.6886907 | -1.2643584 |
PC 15:0_20:4 | 0.8983906 | 0.0000000 | 0.0000000 | -0.9810827 | 0.0000000 | 0.0000000 | -1.2148811 | 0.0000000 | 0.0000000 | -0.7472842 | 0.0000004 | 0.0000017 | 0.4675969 | 0.0198181 | 0.0460562 | -1.1772666 | -0.7848987 | -1.4910968 | -0.9386655 | -1.0259552 | -0.4686132 |
PC 15:0_20:3 | 0.6284271 | 0.0000000 | 0.0000000 | -0.9945066 | 0.0000000 | 0.0000000 | -1.0862413 | 0.0000000 | 0.0000000 | -0.9027718 | 0.0000000 | 0.0000000 | 0.1834695 | 0.3415325 | 0.4368439 | -1.1844356 | -0.8045775 | -1.3536505 | -0.8188322 | -1.1725580 | -0.6329856 |
PC 14:0_22:6 | 0.9063949 | 0.0000000 | 0.0000000 | -0.7521220 | 0.0000006 | 0.0000013 | -0.3224378 | 0.1136617 | 0.1420771 | -1.1818061 | 0.0000000 | 0.0000002 | -0.8593683 | 0.0032946 | 0.0108721 | -1.0364730 | -0.4677709 | -0.7227876 | 0.0779120 | -1.5857147 | -0.7778976 |
PC 18:1_18:1 | 0.4031570 | 0.0000000 | 0.0000000 | 0.4637213 | 0.0000000 | 0.0000000 | 0.2910630 | 0.0009578 | 0.0017565 | 0.6363796 | 0.0000000 | 0.0000000 | 0.3453166 | 0.0055580 | 0.0163763 | 0.3424329 | 0.5850098 | 0.1202959 | 0.4618301 | 0.4640945 | 0.8086647 |
PC 36:0 | -0.6182063 | 0.0000000 | 0.0000000 | -0.1427075 | 0.0285250 | 0.0382653 | -0.2186250 | 0.0173319 | 0.0244424 | -0.0667900 | 0.4675016 | 0.5843770 | 0.1518350 | 0.2414068 | 0.3347237 | -0.2702291 | -0.0151859 | -0.3981680 | -0.0390820 | -0.2479290 | 0.1143490 |
PC 37:4 | -0.1282855 | 0.0660093 | 0.0825116 | -0.6170678 | 0.0000000 | 0.0000000 | -0.8228493 | 0.0000000 | 0.0000000 | -0.4112863 | 0.0000487 | 0.0001461 | 0.4115629 | 0.0034519 | 0.0111680 | -0.7539410 | -0.4801946 | -1.0155588 | -0.6301397 | -0.6057089 | -0.2168638 |
PC 38:5 | 0.8737208 | 0.0000000 | 0.0000000 | -0.3118165 | 0.0008595 | 0.0013253 | -0.3823114 | 0.0035600 | 0.0056480 | -0.2413215 | 0.0659502 | 0.0971588 | 0.1409899 | 0.4434240 | 0.5460071 | -0.4930394 | -0.1305936 | -0.6374628 | -0.1271601 | -0.4987410 | 0.0160979 |
PC 38:3 | -2.0563770 | 0.0000000 | 0.0000000 | -0.2590227 | 0.0186237 | 0.0253960 | -0.1006006 | 0.5128263 | 0.5389576 | -0.4174449 | 0.0077465 | 0.0142019 | -0.3168443 | 0.1478601 | 0.2258974 | -0.4741915 | -0.0438540 | -0.4035457 | 0.2023445 | -0.7230829 | -0.1118069 |
PC 42:5 | 0.0834444 | 0.3396308 | 0.3891603 | 0.5207343 | 0.0000000 | 0.0000000 | 0.3592217 | 0.0039147 | 0.0061517 | 0.6822468 | 0.0000001 | 0.0000007 | 0.3230251 | 0.0656349 | 0.1177148 | 0.3486508 | 0.6928177 | 0.1169382 | 0.6015053 | 0.4378096 | 0.9266841 |
TG 16:0_18:2_18:3 | -1.0177442 | 0.0000000 | 0.0000000 | 0.7564492 | 0.0000011 | 0.0000024 | 1.0637052 | 0.0000011 | 0.0000029 | 0.4491931 | 0.0352510 | 0.0564700 | -0.6145121 | 0.0407058 | 0.0827019 | 0.4623521 | 1.0505463 | 0.6496336 | 1.4777769 | 0.0314408 | 0.8669455 |
TG 16:0_18:2_18:2 | 0.9446569 | 0.0000000 | 0.0000000 | 0.5435289 | 0.0000551 | 0.0000999 | 0.6420611 | 0.0006513 | 0.0012497 | 0.4449966 | 0.0180260 | 0.0297428 | -0.1970645 | 0.4532986 | 0.5499578 | 0.2846474 | 0.8024104 | 0.2775710 | 1.0065513 | 0.0772665 | 0.8127268 |
TG 54:6 | 0.4108555 | 0.0000085 | 0.0000156 | 0.4397108 | 0.0000021 | 0.0000045 | 0.4827148 | 0.0001764 | 0.0003593 | 0.3967069 | 0.0020832 | 0.0041919 | -0.0860079 | 0.6304471 | 0.7274390 | 0.2634939 | 0.6159278 | 0.2346115 | 0.7308180 | 0.1463983 | 0.6470156 |
TG 18:2_18:2_18:3 | 1.0026418 | 0.0000899 | 0.0001545 | 2.5584567 | 0.0000000 | 0.0000000 | 3.1274617 | 0.0000000 | 0.0000000 | 1.9894516 | 0.0000001 | 0.0000004 | -1.1380101 | 0.0238307 | 0.0524276 | 2.0659662 | 3.0509472 | 2.4340636 | 3.8208598 | 1.2898899 | 2.6890134 |
TG 18:0_18:0_18:1 | 0.6216137 | 0.0005913 | 0.0009204 | -0.5062041 | 0.0048719 | 0.0069902 | -0.8400867 | 0.0009581 | 0.0017565 | -0.1723214 | 0.4946751 | 0.5957766 | 0.6677653 | 0.0614401 | 0.1126402 | -0.8562845 | -0.1561236 | -1.3329797 | -0.3471937 | -0.6695957 | 0.3249529 |
TG 18:1_18:2_20:4 | 2.3719471 | 0.0000000 | 0.0000000 | 0.6651947 | 0.0000056 | 0.0000112 | 0.7311955 | 0.0003285 | 0.0006530 | 0.5991939 | 0.0033066 | 0.0064951 | -0.1320015 | 0.6412693 | 0.7347877 | 0.3859301 | 0.9444594 | 0.3380070 | 1.1243840 | 0.2025104 | 0.9958775 |
TG 16:0_18:1_22:6 | 1.5723648 | 0.0000000 | 0.0000000 | -0.7087695 | 0.0000269 | 0.0000504 | -0.2581096 | 0.2647599 | 0.3012785 | -1.1594294 | 0.0000016 | 0.0000063 | -0.9013198 | 0.0066372 | 0.0179532 | -1.0323096 | -0.3852294 | -0.7136354 | 0.1974161 | -1.6190043 | -0.6998545 |
Open code
if (file.exists("gitignore/lm_results/result_lipidom.csv") == FALSE) {
write.table(result_lipidom,
"gitignore/lm_results/result_lipidom.csv",
row.names = FALSE
) }
4.3 Run - train-validation intersection
Open code
<- ncol(data_analysis_narrowed) - n_covarites n_features
4.3.1 Create empty objects
Open code
<- vector('double', n_features)
outcome <- vector('double', n_features)
log2FD_VGdiet_inCZ <- vector('double', n_features)
log2FD_VGdiet_inIT <- vector('double', n_features)
log2FD_VGdiet_avg
<- vector('double', n_features)
log2FD_ITcountry_avg <- vector('double', n_features)
diet_country_int
<- vector('double', n_features)
P_VGdiet_inCZ <- vector('double', n_features)
P_VGdiet_inIT <- vector('double', n_features)
P_VGdiet_avg
<- vector('double', n_features)
P_ITcountry_avg <- vector('double', n_features)
P_diet_country_int
<- vector('double', n_features)
CI_L_VGdiet_inCZ <- vector('double', n_features)
CI_L_VGdiet_inIT <- vector('double', n_features)
CI_L_VGdiet_avg
<- vector('double', n_features)
CI_U_VGdiet_inCZ <- vector('double', n_features)
CI_U_VGdiet_inIT <- vector('double', n_features) CI_U_VGdiet_avg
4.3.2 Estimate over outcomes
Open code
for (i in 1:n_features) {
## define variable
$outcome <- data_analysis_narrowed[, (i + n_covarites)]
data_analysis_narrowed
## fit model
<- lm(outcome ~ Country_IT * Diet_VEGAN, data = data_analysis_narrowed)
model
## get contrast (effects of diet BY COUNTRY)
<- summary(
contrast_emm pairs(
emmeans(
model,specs = ~ Diet_VEGAN | Country_IT
),interaction = TRUE,
adjust = "none"
),infer = c(TRUE, TRUE)
)
## save results
<- names(data_analysis_narrowed)[i + n_covarites]
outcome[i]
## country effect
<- summary(model)$coefficients[
log2FD_ITcountry_avg[i] which(
names(model$coefficients) == "Country_IT"
1
),
]
<- summary(model)$coefficients[
P_ITcountry_avg[i] which(
names(model$coefficients) == "Country_IT"
4
),
]
## diet effect
<- confint(model)
tr
<- tr[which(row.names(tr) == 'Diet_VEGAN'),][1]
CI_L_VGdiet_avg[i] <- tr[which(row.names(tr) == 'Diet_VEGAN'),][2]
CI_U_VGdiet_avg[i]
<- summary(model)$coefficients[
log2FD_VGdiet_avg[i] which(
names(model$coefficients) == "Diet_VEGAN"
1
),
]
<- summary(model)$coefficients[
P_VGdiet_avg[i] which(
names(model$coefficients) == "Diet_VEGAN"
4
),
]
<- -contrast_emm[1,3]
log2FD_VGdiet_inCZ[i] <- contrast_emm$p.value[1]
P_VGdiet_inCZ[i] <- -contrast_emm$upper.CL[1]
CI_L_VGdiet_inCZ[i] <- -contrast_emm$lower.CL[1]
CI_U_VGdiet_inCZ[i]
<- -contrast_emm[2,3]
log2FD_VGdiet_inIT[i] <- contrast_emm$p.value[2]
P_VGdiet_inIT[i] <- -contrast_emm$upper.CL[2]
CI_L_VGdiet_inIT[i] <- -contrast_emm$lower.CL[2]
CI_U_VGdiet_inIT[i]
## interaction
<- summary(model)$coefficients[
diet_country_int[i] which(
names(model$coefficients) == "Country_IT:Diet_VEGAN"
1
),
]
<- summary(model)$coefficients[
P_diet_country_int[i] which(
names(model$coefficients) == "Country_IT:Diet_VEGAN"
4
),
] }
4.3.3 Results table
Open code
<- data.frame(
result_lipidom_narrowed
outcome,
log2FD_ITcountry_avg, P_ITcountry_avg,
log2FD_VGdiet_avg, P_VGdiet_avg,
log2FD_VGdiet_inCZ, P_VGdiet_inCZ,
log2FD_VGdiet_inIT, P_VGdiet_inIT,
diet_country_int, P_diet_country_int,
CI_L_VGdiet_avg, CI_U_VGdiet_avg,
CI_L_VGdiet_inCZ, CI_U_VGdiet_inCZ,
CI_L_VGdiet_inIT, CI_U_VGdiet_inIT )
4.3.4 Adjust p values
Open code
<- result_lipidom_narrowed %>%
result_lipidom_narrowed ::mutate(
dplyrfdr_ITcountry_avg = p.adjust(P_ITcountry_avg, method = 'BH'),
fdr_VGdiet_avg = p.adjust(P_VGdiet_avg, method = 'BH'),
fdr_VGdiet_inCZ = p.adjust(P_VGdiet_inCZ, method = 'BH'),
fdr_VGdiet_inIT = p.adjust(P_VGdiet_inIT, method = 'BH'),
fdr_diet_country_int = p.adjust(P_diet_country_int, method = 'BH')
%>%
) ::select(
dplyr
outcome,
log2FD_ITcountry_avg, P_ITcountry_avg, fdr_ITcountry_avg,
log2FD_VGdiet_avg, P_VGdiet_avg, fdr_VGdiet_avg,
log2FD_VGdiet_inCZ, P_VGdiet_inCZ, fdr_VGdiet_inCZ,
log2FD_VGdiet_inIT, P_VGdiet_inIT, fdr_VGdiet_inIT,
diet_country_int, P_diet_country_int, fdr_diet_country_int,
CI_L_VGdiet_avg, CI_U_VGdiet_avg,
CI_L_VGdiet_inCZ, CI_U_VGdiet_inCZ,
CI_L_VGdiet_inIT, CI_U_VGdiet_inIT )
4.3.5 Save results
Open code
::kable(result_lipidom_narrowed %>% filter(fdr_VGdiet_avg < 0.05),
kableExtracaption = "Results of linear models, modeling the log2-transformed level of a given lipid with `Diet`, `Country`, and `Diet:Country` interaction as fixed-effect predictors. Only lipids with significantly different levels between diet groups are shown (FDR < 0.05, average effect across both countries). `log2FD` prefix: denotes estimated effects (regression coefficients), i.e., how much log2-transformed lipid levels differ in vegans compared to omnivores, and between Italian and Czech cohorts, respectively; `P`: p-value; `fdr`: p-value after adjustment for multiple comparisons; `CI_L` and `CI_U`: lower and upper bounds of the 95% confidence interval, respectively. `avg` suffix denotes effects averaged across subgroups, whereas `inCZ` and `inIT` denote effects in the Czech or Italian cohort, respectively. Interaction effects are reported as `diet_country_int` (difference in the effect of a vegan diet between Italian and Czech cohorts; positive values indicate a stronger effect in the Italian, negative values a stronger effect in the Czech cohort) and `P_diet_country_int` (its p-value). All estimates in a single row are based on a single model"
)
outcome | log2FD_ITcountry_avg | P_ITcountry_avg | fdr_ITcountry_avg | log2FD_VGdiet_avg | P_VGdiet_avg | fdr_VGdiet_avg | log2FD_VGdiet_inCZ | P_VGdiet_inCZ | fdr_VGdiet_inCZ | log2FD_VGdiet_inIT | P_VGdiet_inIT | fdr_VGdiet_inIT | diet_country_int | P_diet_country_int | fdr_diet_country_int | CI_L_VGdiet_avg | CI_U_VGdiet_avg | CI_L_VGdiet_inCZ | CI_U_VGdiet_inCZ | CI_L_VGdiet_inIT | CI_U_VGdiet_inIT |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ACar 16:0 | 0.0360313 | 0.6053246 | 0.6475565 | -0.4674115 | 0.0000000 | 0.0000000 | -0.5377225 | 0.0000002 | 0.0000004 | -0.3971005 | 0.0000912 | 0.0001646 | 0.1406220 | 0.3138463 | 0.4511540 | -0.6048602 | -0.3299629 | -0.7312423 | -0.3442028 | -0.5923405 | -0.2018606 |
ACar 18:1 | 0.2608033 | 0.0012225 | 0.0020083 | 0.2998231 | 0.0002173 | 0.0002531 | 0.1396406 | 0.2122055 | 0.2244012 | 0.4600057 | 0.0000689 | 0.0001320 | 0.3203651 | 0.0447693 | 0.1083887 | 0.1434272 | 0.4562191 | -0.0805558 | 0.3598370 | 0.2378519 | 0.6821594 |
ACar 18:2 | -0.1759630 | 0.0263467 | 0.0367257 | 0.8958953 | 0.0000000 | 0.0000000 | 0.9005994 | 0.0000000 | 0.0000000 | 0.8911912 | 0.0000000 | 0.0000000 | -0.0094082 | 0.9522750 | 0.9575442 | 0.7408912 | 1.0508994 | 0.6823626 | 1.1188362 | 0.6710145 | 1.1113680 |
CE 16:1 | -0.1140907 | 0.3730151 | 0.4399665 | -1.3451145 | 0.0000000 | 0.0000000 | -1.6639735 | 0.0000000 | 0.0000000 | -1.0262555 | 0.0000001 | 0.0000003 | 0.6377180 | 0.0135675 | 0.0416069 | -1.5973643 | -1.0928646 | -2.0191267 | -1.3088203 | -1.3845656 | -0.6679453 |
CE 20:3 | 0.6441380 | 0.0000000 | 0.0000000 | -0.2127769 | 0.0143419 | 0.0155230 | -0.3333936 | 0.0065514 | 0.0079306 | -0.0921602 | 0.4513329 | 0.5002726 | 0.2412334 | 0.1623792 | 0.2740523 | -0.3825021 | -0.0430517 | -0.5723569 | -0.0944304 | -0.3332476 | 0.1489272 |
CE 20:4 | 1.0731406 | 0.0000000 | 0.0000000 | -0.2476516 | 0.0057704 | 0.0063200 | -0.4937811 | 0.0001119 | 0.0001806 | -0.0015221 | 0.9903519 | 0.9903519 | 0.4922590 | 0.0060698 | 0.0232675 | -0.4224109 | -0.0728923 | -0.7398320 | -0.2477301 | -0.2497602 | 0.2467160 |
CE 22:6 | 1.7378429 | 0.0000000 | 0.0000000 | -0.9393940 | 0.0000000 | 0.0000000 | -0.7465059 | 0.0000435 | 0.0000741 | -1.1322821 | 0.0000000 | 0.0000000 | -0.3857762 | 0.1279229 | 0.2307629 | -1.1883414 | -0.6904465 | -1.0970095 | -0.3960023 | -1.4859013 | -0.7786628 |
Cer 18:1_22:0;O2 | 0.1739003 | 0.0195285 | 0.0280869 | -0.4777728 | 0.0000000 | 0.0000000 | -0.5640303 | 0.0000002 | 0.0000005 | -0.3915152 | 0.0002580 | 0.0004092 | 0.1725150 | 0.2436086 | 0.3674097 | -0.6233448 | -0.3322008 | -0.7689872 | -0.3590733 | -0.5982941 | -0.1847364 |
Cer 18:1_23:0;O2 | 0.1102785 | 0.1182713 | 0.1554423 | -0.6312541 | 0.0000000 | 0.0000000 | -0.8660629 | 0.0000000 | 0.0000000 | -0.3964452 | 0.0001072 | 0.0001827 | 0.4696177 | 0.0010326 | 0.0067856 | -0.7699359 | -0.4925723 | -1.0613189 | -0.6708070 | -0.5934368 | -0.1994537 |
Cer 18:1_24:0;O2 | 0.2121668 | 0.0031127 | 0.0048537 | -0.1691251 | 0.0178553 | 0.0191011 | -0.2789948 | 0.0056738 | 0.0069599 | -0.0592553 | 0.5557222 | 0.5969918 | 0.2197395 | 0.1219254 | 0.2289212 | -0.3086728 | -0.0295773 | -0.4754700 | -0.0825196 | -0.2574770 | 0.1389664 |
Cer 18:1_24:1;O2 | 0.0452716 | 0.5257106 | 0.5827153 | -0.4067465 | 0.0000001 | 0.0000001 | -0.5801159 | 0.0000000 | 0.0000001 | -0.2333770 | 0.0223059 | 0.0281116 | 0.3467390 | 0.0159948 | 0.0474684 | -0.5473517 | -0.2661412 | -0.7780799 | -0.3821519 | -0.4331007 | -0.0336532 |
DG 16:0_18:1 | 0.3065449 | 0.0195387 | 0.0280869 | -0.6240855 | 0.0000036 | 0.0000050 | -0.8672314 | 0.0000048 | 0.0000089 | -0.3809397 | 0.0406557 | 0.0505449 | 0.4862917 | 0.0631490 | 0.1417002 | -0.8807163 | -0.3674548 | -1.2285526 | -0.5059102 | -0.7454727 | -0.0164067 |
LPC 18:2/0:0 | 0.0453058 | 0.5123547 | 0.5827153 | 0.2726641 | 0.0001171 | 0.0001418 | 0.1366954 | 0.1613454 | 0.1746326 | 0.4086329 | 0.0000504 | 0.0001009 | 0.2719376 | 0.0505184 | 0.1161924 | 0.1363845 | 0.4089438 | -0.0551785 | 0.3285692 | 0.2150535 | 0.6022123 |
LPC 20:1/0:0 | -0.1633211 | 0.0235411 | 0.0333197 | 0.5742817 | 0.0000000 | 0.0000000 | 0.3410640 | 0.0008789 | 0.0012835 | 0.8074995 | 0.0000000 | 0.0000000 | 0.4664355 | 0.0013422 | 0.0077177 | 0.4332202 | 0.7153433 | 0.1424575 | 0.5396704 | 0.6071276 | 1.0078714 |
LPC 20:2/0:0 | -0.0412361 | 0.5431979 | 0.5949310 | 0.4459821 | 0.0000000 | 0.0000000 | 0.3044771 | 0.0016896 | 0.0023201 | 0.5874871 | 0.0000000 | 0.0000000 | 0.2830100 | 0.0381549 | 0.0973916 | 0.3123037 | 0.5796606 | 0.1162656 | 0.4926886 | 0.3976026 | 0.7773716 |
LPC 20:5/0:0 | 0.1338801 | 0.1467344 | 0.1901347 | 0.3994660 | 0.0000243 | 0.0000311 | 0.2071146 | 0.1110719 | 0.1246173 | 0.5918175 | 0.0000112 | 0.0000254 | 0.3847030 | 0.0377524 | 0.0973916 | 0.2181389 | 0.5807932 | -0.0481836 | 0.4624127 | 0.3342500 | 0.8493851 |
LPC 22:6/0:0 | -0.0606988 | 0.5529415 | 0.5984779 | -0.6858047 | 0.0000000 | 0.0000000 | -0.6399541 | 0.0000161 | 0.0000290 | -0.7316554 | 0.0000012 | 0.0000034 | -0.0917013 | 0.6539225 | 0.7712932 | -0.8874331 | -0.4841764 | -0.9238351 | -0.3560731 | -1.0180598 | -0.4452509 |
PC 12:0_16:0 | -0.7345228 | 0.0002421 | 0.0004367 | -0.9806690 | 0.0000014 | 0.0000021 | -0.8563683 | 0.0022144 | 0.0029919 | -1.1049697 | 0.0001056 | 0.0001827 | -0.2486015 | 0.5257996 | 0.6536968 | -1.3668071 | -0.5945309 | -1.4000284 | -0.3127082 | -1.6534625 | -0.5564770 |
PC 14:0_16:0 | -0.6734103 | 0.0000000 | 0.0000000 | -0.8085154 | 0.0000000 | 0.0000000 | -0.7269851 | 0.0000002 | 0.0000005 | -0.8900457 | 0.0000000 | 0.0000000 | -0.1630606 | 0.3930921 | 0.5241227 | -0.9965659 | -0.6204649 | -0.9917493 | -0.4622208 | -1.1571634 | -0.6229279 |
PC 14:0_17:0 | 0.0885285 | 0.2762244 | 0.3343770 | -1.5343714 | 0.0000000 | 0.0000000 | -1.7866064 | 0.0000000 | 0.0000000 | -1.2821364 | 0.0000000 | 0.0000000 | 0.5044700 | 0.0022020 | 0.0112546 | -1.6944102 | -1.3743326 | -2.0119318 | -1.5612810 | -1.5094647 | -1.0548081 |
PC 14:0_20:4 | 0.6841718 | 0.0000020 | 0.0000044 | -0.3025840 | 0.0304554 | 0.0322057 | -0.2803751 | 0.1526221 | 0.1671575 | -0.3247930 | 0.1008760 | 0.1205271 | -0.0444178 | 0.8728519 | 0.9337485 | -0.5762516 | -0.0289165 | -0.6656831 | 0.1049329 | -0.7135260 | 0.0639401 |
PC 14:0_22:6 | 0.9063949 | 0.0000000 | 0.0000000 | -0.7521220 | 0.0000006 | 0.0000008 | -0.3224378 | 0.1136617 | 0.1259864 | -1.1818061 | 0.0000000 | 0.0000002 | -0.8593683 | 0.0032946 | 0.0158789 | -1.0364730 | -0.4677709 | -0.7227876 | 0.0779120 | -1.5857147 | -0.7778976 |
PC 15:0_18:2 | 0.0492171 | 0.5147383 | 0.5827153 | -0.6813049 | 0.0000000 | 0.0000000 | -0.8859663 | 0.0000000 | 0.0000000 | -0.4766434 | 0.0000161 | 0.0000345 | 0.4093230 | 0.0073689 | 0.0251089 | -0.8301912 | -0.5324185 | -1.0955897 | -0.6763430 | -0.6881301 | -0.2651567 |
PC 15:0_20:3 | 0.6284271 | 0.0000000 | 0.0000000 | -0.9945066 | 0.0000000 | 0.0000000 | -1.0862413 | 0.0000000 | 0.0000000 | -0.9027718 | 0.0000000 | 0.0000000 | 0.1834695 | 0.3415325 | 0.4689700 | -1.1844356 | -0.8045775 | -1.3536505 | -0.8188322 | -1.1725580 | -0.6329856 |
PC 15:0_20:4 | 0.8983906 | 0.0000000 | 0.0000000 | -0.9810827 | 0.0000000 | 0.0000000 | -1.2148811 | 0.0000000 | 0.0000000 | -0.7472842 | 0.0000004 | 0.0000011 | 0.4675969 | 0.0198181 | 0.0569771 | -1.1772666 | -0.7848987 | -1.4910968 | -0.9386655 | -1.0259552 | -0.4686132 |
PC 16:0_16:0 | 0.1073072 | 0.0048297 | 0.0074056 | -0.1719398 | 0.0000094 | 0.0000125 | -0.3064757 | 0.0000000 | 0.0000001 | -0.0374039 | 0.4839745 | 0.5300673 | 0.2690718 | 0.0004510 | 0.0037718 | -0.2460758 | -0.0978037 | -0.4108549 | -0.2020964 | -0.1427110 | 0.0679032 |
PC 16:0_16:1 | 0.0226561 | 0.8060423 | 0.8332123 | -0.7121891 | 0.0000000 | 0.0000000 | -0.8719703 | 0.0000000 | 0.0000000 | -0.5524079 | 0.0000410 | 0.0000858 | 0.3195624 | 0.0847929 | 0.1733543 | -0.8941446 | -0.5302336 | -1.1281531 | -0.6157875 | -0.8108679 | -0.2939478 |
PC 16:0_18:0 | 0.1968568 | 0.0001996 | 0.0003747 | -0.2902152 | 0.0000001 | 0.0000001 | -0.4405993 | 0.0000000 | 0.0000000 | -0.1398312 | 0.0585960 | 0.0718778 | 0.3007681 | 0.0041373 | 0.0181252 | -0.3922784 | -0.1881520 | -0.5842983 | -0.2969002 | -0.2848076 | 0.0051452 |
PC 16:0_18:1 | 0.2015973 | 0.0000007 | 0.0000017 | -0.2447824 | 0.0000000 | 0.0000000 | -0.4100626 | 0.0000000 | 0.0000000 | -0.0795021 | 0.1537823 | 0.1790882 | 0.3305604 | 0.0000393 | 0.0006028 | -0.3219177 | -0.1676470 | -0.5186647 | -0.3014605 | -0.1890696 | 0.0300653 |
PC 16:0_20:3 (2) | 5.4191872 | 0.0000000 | 0.0000000 | -0.8710277 | 0.0000000 | 0.0000000 | -1.5130663 | 0.0000000 | 0.0000000 | -0.2289891 | 0.1331166 | 0.1570094 | 1.2840772 | 0.0000000 | 0.0000004 | -1.0819375 | -0.6601179 | -1.8100151 | -1.2161175 | -0.5285775 | 0.0705993 |
PC 16:0_20:5 | 0.4752677 | 0.0002082 | 0.0003831 | -0.7165998 | 0.0000001 | 0.0000001 | -0.5473985 | 0.0022439 | 0.0029919 | -0.8858012 | 0.0000016 | 0.0000042 | -0.3384027 | 0.1782406 | 0.2928238 | -0.9637525 | -0.4694472 | -0.8953751 | -0.1994218 | -1.2368710 | -0.5347314 |
PC 16:0_22:4 | 1.2297374 | 0.0000000 | 0.0000000 | -0.1887850 | 0.0327772 | 0.0342671 | -0.3497438 | 0.0052013 | 0.0064665 | -0.0278261 | 0.8234305 | 0.8417289 | 0.3219177 | 0.0681883 | 0.1458912 | -0.3619085 | -0.0156614 | -0.5934918 | -0.1059959 | -0.2737407 | 0.2180885 |
PC 16:0_22:6 | 0.6839676 | 0.0000000 | 0.0000000 | -0.5175854 | 0.0000000 | 0.0000000 | -0.4040879 | 0.0000410 | 0.0000713 | -0.6310828 | 0.0000000 | 0.0000000 | -0.2269948 | 0.0970291 | 0.1859725 | -0.6518732 | -0.3832975 | -0.5931575 | -0.2150184 | -0.8218330 | -0.4403326 |
PC 16:1_18:2 | 0.3025899 | 0.0000864 | 0.0001692 | 0.4535819 | 0.0000000 | 0.0000000 | 0.3415782 | 0.0014982 | 0.0021205 | 0.5655856 | 0.0000004 | 0.0000011 | 0.2240074 | 0.1376507 | 0.2435358 | 0.3053238 | 0.6018399 | 0.1328394 | 0.5503169 | 0.3549913 | 0.7761798 |
PC 17:0_18:1 | 0.8251383 | 0.0000000 | 0.0000000 | -0.7887386 | 0.0000000 | 0.0000000 | -0.8805693 | 0.0000000 | 0.0000000 | -0.6969080 | 0.0000000 | 0.0000000 | 0.1836613 | 0.1638356 | 0.2740523 | -0.9184085 | -0.6590687 | -1.0631369 | -0.6980016 | -0.8810985 | -0.5127175 |
PC 18:0_18:1 | 0.3398991 | 0.0000000 | 0.0000000 | -0.2394262 | 0.0000148 | 0.0000191 | -0.4438558 | 0.0000000 | 0.0000001 | -0.0349965 | 0.6459225 | 0.6830445 | 0.4088593 | 0.0001926 | 0.0019684 | -0.3451470 | -0.1337053 | -0.5927046 | -0.2950070 | -0.1851685 | 0.1151754 |
PC 18:0_22:5 | 0.7093392 | 0.0000000 | 0.0000000 | 0.2626571 | 0.0004738 | 0.0005449 | 0.2727778 | 0.0092953 | 0.0111061 | 0.2525364 | 0.0168104 | 0.0217825 | -0.0202414 | 0.8907485 | 0.9419410 | 0.1173521 | 0.4079621 | 0.0681967 | 0.4773588 | 0.0461368 | 0.4589359 |
PC 18:0_22:6 | 1.0581591 | 0.0000000 | 0.0000000 | -0.5490905 | 0.0000000 | 0.0000000 | -0.3877502 | 0.0027743 | 0.0036462 | -0.7104309 | 0.0000001 | 0.0000005 | -0.3226807 | 0.0768573 | 0.1607016 | -0.7280306 | -0.3701505 | -0.6396875 | -0.1358130 | -0.9646076 | -0.4562541 |
PC 18:1_18:1 | 0.4031570 | 0.0000000 | 0.0000000 | 0.4637213 | 0.0000000 | 0.0000000 | 0.2910630 | 0.0009578 | 0.0013768 | 0.6363796 | 0.0000000 | 0.0000000 | 0.3453166 | 0.0055580 | 0.0222320 | 0.3424329 | 0.5850098 | 0.1202959 | 0.4618301 | 0.4640945 | 0.8086647 |
PC 18:1_18:2 | 0.2109613 | 0.0000261 | 0.0000534 | 0.5520328 | 0.0000000 | 0.0000000 | 0.5039490 | 0.0000000 | 0.0000000 | 0.6001166 | 0.0000000 | 0.0000000 | 0.0961676 | 0.3247535 | 0.4534097 | 0.4558857 | 0.6481798 | 0.3685795 | 0.6393185 | 0.4635438 | 0.7366894 |
PC 18:1_20:3 | 1.0367053 | 0.0000000 | 0.0000000 | 0.4469125 | 0.0000005 | 0.0000008 | 0.4948140 | 0.0000579 | 0.0000952 | 0.3990109 | 0.0011798 | 0.0017506 | -0.0958032 | 0.5738827 | 0.7039628 | 0.2790079 | 0.6148170 | 0.2584141 | 0.7312140 | 0.1605096 | 0.6375122 |
PC 18:1_20:4 | 0.6341276 | 0.0000000 | 0.0000000 | 0.2003139 | 0.0001843 | 0.0002174 | 0.0968305 | 0.1902939 | 0.2035702 | 0.3037972 | 0.0000687 | 0.0001320 | 0.2069668 | 0.0495415 | 0.1161924 | 0.0970405 | 0.3035872 | -0.0485724 | 0.2422333 | 0.1571019 | 0.4504926 |
PC 18:2_18:2 | 0.4161300 | 0.0000000 | 0.0000001 | 0.4902017 | 0.0000000 | 0.0000000 | 0.5141575 | 0.0000012 | 0.0000024 | 0.4662459 | 0.0000113 | 0.0000254 | -0.0479116 | 0.7409678 | 0.8492863 | 0.3473114 | 0.6330919 | 0.3129763 | 0.7153386 | 0.2632764 | 0.6692154 |
PC 18:2_18:3 | 0.2693107 | 0.0384234 | 0.0527605 | 1.1930357 | 0.0000000 | 0.0000000 | 1.3468692 | 0.0000000 | 0.0000000 | 1.0392022 | 0.0000001 | 0.0000003 | -0.3076669 | 0.2348031 | 0.3600315 | 0.9382618 | 1.4478096 | 0.9881623 | 1.7055760 | 0.6773068 | 1.4010976 |
PC 33:1 | 0.2484698 | 0.0015862 | 0.0025160 | -1.2384418 | 0.0000000 | 0.0000000 | -1.5367497 | 0.0000000 | 0.0000000 | -0.9401340 | 0.0000000 | 0.0000000 | 0.5966157 | 0.0001658 | 0.0019071 | -1.3911059 | -1.0857778 | -1.7516918 | -1.3218076 | -1.1569867 | -0.7232812 |
PC 37:4 | -0.1282855 | 0.0660093 | 0.0893067 | -0.6170678 | 0.0000000 | 0.0000000 | -0.8228493 | 0.0000000 | 0.0000000 | -0.4112863 | 0.0000487 | 0.0000996 | 0.4115629 | 0.0034519 | 0.0158789 | -0.7539410 | -0.4801946 | -1.0155588 | -0.6301397 | -0.6057089 | -0.2168638 |
PC 37:6 | 0.9572387 | 0.0000000 | 0.0000000 | -1.5008639 | 0.0000000 | 0.0000000 | -1.3776541 | 0.0000000 | 0.0000000 | -1.6240736 | 0.0000000 | 0.0000000 | -0.2464195 | 0.2997851 | 0.4377814 | -1.7347983 | -1.2669294 | -1.7070203 | -1.0482879 | -1.9563676 | -1.2917797 |
PC 38:5 | 0.8737208 | 0.0000000 | 0.0000000 | -0.3118165 | 0.0008595 | 0.0009643 | -0.3823114 | 0.0035600 | 0.0045489 | -0.2413215 | 0.0659502 | 0.0798345 | 0.1409899 | 0.4434240 | 0.5827858 | -0.4930394 | -0.1305936 | -0.6374628 | -0.1271601 | -0.4987410 | 0.0160979 |
PC 42:5 | 0.0834444 | 0.3396308 | 0.4057926 | 0.5207343 | 0.0000000 | 0.0000000 | 0.3592217 | 0.0039147 | 0.0049336 | 0.6822468 | 0.0000001 | 0.0000005 | 0.3230251 | 0.0656349 | 0.1437717 | 0.3486508 | 0.6928177 | 0.1169382 | 0.6015053 | 0.4378096 | 0.9266841 |
SM 31:1;O2 | -0.1366774 | 0.1179638 | 0.1554423 | -1.4664668 | 0.0000000 | 0.0000000 | -1.5881119 | 0.0000000 | 0.0000000 | -1.3448216 | 0.0000000 | 0.0000000 | 0.2432903 | 0.1637516 | 0.2740523 | -1.6382019 | -1.2947316 | -1.8299051 | -1.3463188 | -1.5887641 | -1.1008792 |
SM 32:0;O2 | -0.3856184 | 0.0000251 | 0.0000524 | -0.7468996 | 0.0000000 | 0.0000000 | -0.7209840 | 0.0000000 | 0.0000001 | -0.7728151 | 0.0000000 | 0.0000000 | -0.0518311 | 0.7706964 | 0.8542659 | -0.9222273 | -0.5715718 | -0.9678353 | -0.4741327 | -1.0218606 | -0.5237696 |
SM 32:2;O2 | -0.0971652 | 0.2530543 | 0.3146081 | -0.4263996 | 0.0000013 | 0.0000019 | -0.4159114 | 0.0006331 | 0.0009548 | -0.4368879 | 0.0003819 | 0.0005955 | -0.0209765 | 0.9016077 | 0.9425899 | -0.5937016 | -0.2590977 | -0.6514628 | -0.1803599 | -0.6745332 | -0.1992426 |
SM 33:1;O2 | 0.0592394 | 0.2756835 | 0.3343770 | -1.1162588 | 0.0000000 | 0.0000000 | -1.3544274 | 0.0000000 | 0.0000000 | -0.8780901 | 0.0000000 | 0.0000000 | 0.4763372 | 0.0000201 | 0.0003706 | -1.2232287 | -1.0092888 | -1.5050349 | -1.2038198 | -1.0300364 | -0.7261438 |
SM 35:2;O2 | 0.0958940 | 0.1706350 | 0.2180336 | -0.7730616 | 0.0000000 | 0.0000000 | -1.0648027 | 0.0000000 | 0.0000000 | -0.4813205 | 0.0000028 | 0.0000069 | 0.5834822 | 0.0000470 | 0.0006171 | -0.9106688 | -0.6354544 | -1.2585457 | -0.8710598 | -0.6767857 | -0.2858554 |
SM 36:0;O2 | -0.0111866 | 0.9121969 | 0.9222210 | -0.7082614 | 0.0000000 | 0.0000000 | -0.8385154 | 0.0000000 | 0.0000001 | -0.5780075 | 0.0000912 | 0.0001646 | 0.2605079 | 0.2003443 | 0.3177875 | -0.9083287 | -0.5081941 | -1.1201986 | -0.5568322 | -0.8621946 | -0.2938204 |
SM 36:2;O2 | 0.1192572 | 0.0105528 | 0.0159157 | -0.4317656 | 0.0000000 | 0.0000000 | -0.6792012 | 0.0000000 | 0.0000000 | -0.1843300 | 0.0054819 | 0.0074166 | 0.4948712 | 0.0000003 | 0.0000064 | -0.5227738 | -0.3407575 | -0.8073354 | -0.5510670 | -0.3136033 | -0.0550568 |
SM 38:1;O2 | 0.0023728 | 0.9651665 | 0.9651665 | -0.3867321 | 0.0000000 | 0.0000000 | -0.4780844 | 0.0000000 | 0.0000000 | -0.2953798 | 0.0001829 | 0.0002952 | 0.1827046 | 0.0941728 | 0.1859725 | -0.4938831 | -0.2795811 | -0.6289467 | -0.3272221 | -0.4475832 | -0.1431764 |
SM 39:1;O2 | 0.0132463 | 0.8377596 | 0.8563765 | -0.8523535 | 0.0000000 | 0.0000000 | -1.0301067 | 0.0000000 | 0.0000000 | -0.6746004 | 0.0000000 | 0.0000000 | 0.3555063 | 0.0066198 | 0.0234856 | -0.9799252 | -0.7247819 | -1.2097202 | -0.8504932 | -0.8558105 | -0.4933903 |
SM 41:1;O2 | -0.0339174 | 0.5245082 | 0.5827153 | -0.2779123 | 0.0000005 | 0.0000008 | -0.4595570 | 0.0000000 | 0.0000000 | -0.0962675 | 0.2043751 | 0.2350314 | 0.3632895 | 0.0008103 | 0.0057346 | -0.3829477 | -0.1728768 | -0.6074408 | -0.3116732 | -0.2454658 | 0.0529309 |
SM 43:1;O2 | -0.1776364 | 0.1837828 | 0.2316167 | -2.4108403 | 0.0000000 | 0.0000000 | -2.7693682 | 0.0000000 | 0.0000000 | -2.0523125 | 0.0000000 | 0.0000000 | 0.7170557 | 0.0078173 | 0.0256855 | -2.6736508 | -2.1480298 | -3.1393901 | -2.3993462 | -2.4256236 | -1.6790014 |
SM 43:2;O2 | 0.0616312 | 0.6684455 | 0.7068619 | -2.1965647 | 0.0000000 | 0.0000000 | -3.8829896 | 0.0000000 | 0.0000000 | -0.5101399 | 0.0134376 | 0.0179168 | 3.3728497 | 0.0000000 | 0.0000000 | -2.4802759 | -1.9128535 | -4.2824386 | -3.4835406 | -0.9131396 | -0.1071402 |
SM 43:2;O2 (2) | 0.3277117 | 0.0172375 | 0.0255782 | -1.6190528 | 0.0000000 | 0.0000000 | -0.3857598 | 0.0458682 | 0.0534162 | -2.8523458 | 0.0000000 | 0.0000000 | -2.4665860 | 0.0000000 | 0.0000000 | -1.8879503 | -1.3501553 | -0.7643519 | -0.0071677 | -3.2343032 | -2.4703884 |
TG 12:0_14:0_18:1 | 2.4414550 | 0.0000000 | 0.0000000 | -0.6182822 | 0.0021990 | 0.0024374 | -0.5340580 | 0.0579376 | 0.0666283 | -0.7025065 | 0.0137998 | 0.0181369 | -0.1684485 | 0.6720400 | 0.7826289 | -1.0105178 | -0.2260467 | -1.0863029 | 0.0181869 | -1.2596603 | -0.1453526 |
TG 12:0_14:0_18:2 | 0.8626013 | 0.0008601 | 0.0014654 | -1.1563490 | 0.0000105 | 0.0000138 | -0.3361733 | 0.3483080 | 0.3521355 | -1.9765246 | 0.0000002 | 0.0000005 | -1.6403513 | 0.0015031 | 0.0081342 | -1.6577129 | -0.6549850 | -1.0420648 | 0.3697181 | -2.6886907 | -1.2643584 |
TG 12:0_16:0_18:1 | 1.5954040 | 0.0000000 | 0.0000000 | -0.9607872 | 0.0000523 | 0.0000650 | -0.9731006 | 0.0032136 | 0.0041640 | -0.9484738 | 0.0043820 | 0.0060171 | 0.0246268 | 0.9575442 | 0.9575442 | -1.4169383 | -0.5046361 | -1.6153350 | -0.3308663 | -1.5964170 | -0.3005306 |
TG 14:0_16:0_16:0 | 0.8924518 | 0.0000000 | 0.0000001 | -0.9334407 | 0.0000000 | 0.0000000 | -0.8848787 | 0.0000504 | 0.0000843 | -0.9820028 | 0.0000092 | 0.0000223 | -0.0971240 | 0.7477412 | 0.8492863 | -1.2311669 | -0.6357146 | -1.3040599 | -0.4656975 | -1.4049101 | -0.5590954 |
TG 14:0_16:0_18:1 | 0.6239730 | 0.0003298 | 0.0005835 | -1.2789576 | 0.0000000 | 0.0000000 | -1.2608972 | 0.0000004 | 0.0000009 | -1.2970179 | 0.0000003 | 0.0000008 | -0.0361208 | 0.9154887 | 0.9463479 | -1.6145902 | -0.9433250 | -1.7334484 | -0.7883459 | -1.7737697 | -0.8202661 |
TG 14:0_16:0_18:2 | 1.0251899 | 0.0000000 | 0.0000001 | -0.8477238 | 0.0000036 | 0.0000050 | -0.7984199 | 0.0015781 | 0.0021998 | -0.8970278 | 0.0004553 | 0.0006982 | -0.0986079 | 0.7801178 | 0.8544147 | -1.1959809 | -0.4994668 | -1.2887456 | -0.3080941 | -1.3917121 | -0.4023435 |
TG 15:0_16:0_18:2 | 0.4588098 | 0.0014521 | 0.0023438 | -0.9184201 | 0.0000000 | 0.0000000 | -1.0213816 | 0.0000009 | 0.0000017 | -0.8154587 | 0.0000785 | 0.0001475 | 0.2059229 | 0.4680071 | 0.5980091 | -1.1979762 | -0.6388640 | -1.4149804 | -0.6277827 | -1.2125562 | -0.4183611 |
TG 15:0_18:1_18:2 | 0.7105444 | 0.0000000 | 0.0000000 | -0.8646686 | 0.0000000 | 0.0000000 | -0.9865174 | 0.0000000 | 0.0000000 | -0.7428198 | 0.0000119 | 0.0000261 | 0.2436976 | 0.2934156 | 0.4353909 | -1.0929777 | -0.6363594 | -1.3079635 | -0.6650713 | -1.0671232 | -0.4185163 |
TG 16:0_16:0_16:0 | 0.8301948 | 0.0000020 | 0.0000044 | -1.1194452 | 0.0000000 | 0.0000000 | -1.2853064 | 0.0000002 | 0.0000005 | -0.9535841 | 0.0000998 | 0.0001766 | 0.3317223 | 0.3252722 | 0.4534097 | -1.4514536 | -0.7874369 | -1.7527549 | -0.8178579 | -1.4251877 | -0.4819804 |
TG 16:0_16:0_18:0 | 0.1929835 | 0.3990221 | 0.4646840 | -1.1922226 | 0.0000006 | 0.0000008 | -1.3913327 | 0.0000265 | 0.0000469 | -0.9931126 | 0.0025754 | 0.0036451 | 0.3982200 | 0.3842574 | 0.5198777 | -1.6429775 | -0.7414677 | -2.0259694 | -0.7566959 | -1.6333907 | -0.3528345 |
TG 16:0_16:0_18:1 | 0.7268360 | 0.0000004 | 0.0000010 | -1.0768816 | 0.0000000 | 0.0000000 | -1.3966856 | 0.0000000 | 0.0000000 | -0.7570776 | 0.0001556 | 0.0002604 | 0.6396079 | 0.0212991 | 0.0593794 | -1.3484515 | -0.8053117 | -1.7790403 | -1.0143309 | -1.1428311 | -0.3713242 |
TG 16:0_16:1_18:1 | 0.5424387 | 0.0000342 | 0.0000684 | -0.7328197 | 0.0000000 | 0.0000001 | -0.8985035 | 0.0000014 | 0.0000027 | -0.5671358 | 0.0020141 | 0.0029412 | 0.3313678 | 0.1943307 | 0.3136565 | -0.9838959 | -0.4817435 | -1.2520043 | -0.5450028 | -0.9237788 | -0.2104927 |
TG 16:0_17:0_18:1 | 1.1225061 | 0.0000000 | 0.0000000 | -1.7982900 | 0.0000000 | 0.0000000 | -1.7865956 | 0.0000000 | 0.0000000 | -1.8099844 | 0.0000000 | 0.0000000 | -0.0233887 | 0.9381608 | 0.9575442 | -2.0955574 | -1.5010225 | -2.2051310 | -1.3680603 | -2.2322401 | -1.3877286 |
TG 16:0_18:0_18:1 | 1.1176085 | 0.0000000 | 0.0000000 | -1.2663679 | 0.0000000 | 0.0000000 | -1.7355449 | 0.0000000 | 0.0000000 | -0.7971909 | 0.0008961 | 0.0013514 | 0.9383540 | 0.0052512 | 0.0219597 | -1.5937238 | -0.9390121 | -2.1964430 | -1.2746468 | -1.2621859 | -0.3321959 |
TG 16:0_18:1_18:1 | 0.6354892 | 0.0000000 | 0.0000000 | -0.3599247 | 0.0001501 | 0.0001793 | -0.6009022 | 0.0000084 | 0.0000154 | -0.1189472 | 0.3672900 | 0.4120814 | 0.4819550 | 0.0101606 | 0.0322336 | -0.5428601 | -0.1769893 | -0.8584647 | -0.3433398 | -0.3787991 | 0.1409047 |
TG 16:0_18:1_20:4 | 2.2711719 | 0.0000000 | 0.0000000 | -0.5261703 | 0.0006403 | 0.0007272 | -0.8402468 | 0.0001171 | 0.0001857 | -0.2120938 | 0.3242893 | 0.3683286 | 0.6281531 | 0.0391684 | 0.0973916 | -0.8244467 | -0.2278939 | -1.2602028 | -0.4202909 | -0.6357827 | 0.2115952 |
TG 16:0_18:1_22:6 | 1.5723648 | 0.0000000 | 0.0000000 | -0.7087695 | 0.0000269 | 0.0000339 | -0.2581096 | 0.2647599 | 0.2736844 | -1.1594294 | 0.0000016 | 0.0000042 | -0.9013198 | 0.0066372 | 0.0234856 | -1.0323096 | -0.3852294 | -0.7136354 | 0.1974161 | -1.6190043 | -0.6998545 |
TG 16:0_18:2_18:2 | 0.9446569 | 0.0000000 | 0.0000000 | 0.5435289 | 0.0000551 | 0.0000676 | 0.6420611 | 0.0006513 | 0.0009665 | 0.4449966 | 0.0180260 | 0.0230332 | -0.1970645 | 0.4532986 | 0.5873728 | 0.2846474 | 0.8024104 | 0.2775710 | 1.0065513 | 0.0772665 | 0.8127268 |
TG 17:0_18:1_18:1 | 0.4346743 | 0.0006370 | 0.0011058 | -1.0911648 | 0.0000000 | 0.0000000 | -1.4990719 | 0.0000000 | 0.0000000 | -0.6832577 | 0.0001672 | 0.0002747 | 0.8158142 | 0.0013179 | 0.0077177 | -1.3374696 | -0.8448600 | -1.8458548 | -1.1522889 | -1.0331232 | -0.3333922 |
TG 18:1_18:1_18:1 | 0.9264672 | 0.0000000 | 0.0000000 | 0.4623004 | 0.0000020 | 0.0000029 | 0.3190257 | 0.0166289 | 0.0196135 | 0.6055751 | 0.0000105 | 0.0000248 | 0.2865494 | 0.1278509 | 0.2307629 | 0.2774207 | 0.6471800 | 0.0587258 | 0.5793255 | 0.3429614 | 0.8681887 |
TG 18:1_18:1_18:2 | 1.0863163 | 0.0000000 | 0.0000000 | 1.0102325 | 0.0000000 | 0.0000000 | 1.1672114 | 0.0000000 | 0.0000000 | 0.8532536 | 0.0000000 | 0.0000000 | -0.3139578 | 0.0953956 | 0.1859725 | 0.8254160 | 1.1950490 | 0.9070004 | 1.4274223 | 0.5907296 | 1.1157776 |
TG 18:1_18:2_18:2 | 1.5918706 | 0.0000000 | 0.0000000 | 1.6475104 | 0.0000000 | 0.0000000 | 2.1054284 | 0.0000000 | 0.0000000 | 1.1895924 | 0.0000000 | 0.0000000 | -0.9158359 | 0.0006568 | 0.0050358 | 1.3873738 | 1.9076469 | 1.7391711 | 2.4716856 | 0.8200795 | 1.5591053 |
TG 18:1_18:2_18:3 | 1.6578828 | 0.0000000 | 0.0000000 | 2.1890489 | 0.0000000 | 0.0000000 | 2.8932970 | 0.0000000 | 0.0000000 | 1.4848007 | 0.0000001 | 0.0000003 | -1.4084963 | 0.0002242 | 0.0020629 | 1.8208704 | 2.5572274 | 2.3749230 | 3.4116710 | 0.9618189 | 2.0077826 |
TG 18:1_18:2_20:4 | 2.3719471 | 0.0000000 | 0.0000000 | 0.6651947 | 0.0000056 | 0.0000075 | 0.7311955 | 0.0003285 | 0.0005037 | 0.5991939 | 0.0033066 | 0.0046092 | -0.1320015 | 0.6412693 | 0.7661919 | 0.3859301 | 0.9444594 | 0.3380070 | 1.1243840 | 0.2025104 | 0.9958775 |
TG 18:2_18:2_18:3 | 1.0026418 | 0.0000899 | 0.0001722 | 2.5584567 | 0.0000000 | 0.0000000 | 3.1274617 | 0.0000000 | 0.0000000 | 1.9894516 | 0.0000001 | 0.0000003 | -1.1380101 | 0.0238307 | 0.0644832 | 2.0659662 | 3.0509472 | 2.4340636 | 3.8208598 | 1.2898899 | 2.6890134 |
TG 54:6 | 0.4108555 | 0.0000085 | 0.0000182 | 0.4397108 | 0.0000021 | 0.0000030 | 0.4827148 | 0.0001764 | 0.0002751 | 0.3967069 | 0.0020832 | 0.0029947 | -0.0860079 | 0.6304471 | 0.7631728 | 0.2634939 | 0.6159278 | 0.2346115 | 0.7308180 | 0.1463983 | 0.6470156 |
Open code
if(file.exists('gitignore/lm_results/result_lipidom_narrowed.csv') == FALSE){
write.table(result_lipidom_narrowed,
'gitignore/lm_results/result_lipidom_narrowed.csv',
row.names = FALSE)
}
5 Elastic net
To assess the predictive power of lipidome features on diet strategy, we employed Elastic Net logistic regression with lipids that were measured in both training and validating cohorts.
As we expected very high level of co-linearity, we allowed \(alpha\) to rather small (0, 0.2 or 0.4). All features were standardized by 2 standard deviations.
The performance of the predictive model was evaluated through their capacity of discriminate between vegan and omnivore diets, using out-of-sample area under ROC curve (AUC; estimated with out-of-bag bootstrap) as the measure of discriminatory capacity.
5.1 Prepare data for glmnet
Open code
<- data_lipids_original %>%
data_lipids_glmnet na.omit() %>%
::mutate(
dplyrvegan = as.numeric(
::if_else(
dplyr== "VEGAN", 1, 0
Diet
)
),::across(
dplyr`ACar 10:0`:`TG 18:1_18:1_20:4`, ~ arm::rescale(trans_lipid(.))
)%>%
) ::select(
dplyr
vegan,::everything()
dplyr%>%
) ::select(
dplyr`ACar 10:0`:`TG 18:1_18:1_20:4`
Sample, vegan,Country,
)
<- data_lipids_glmnet %>%
data_lipids_glmnet_inter_CompletVal ::select(
dplyr
Sample, vegan, Country, ::all_of(
dplyrintersect(
colnames(
data_lipids_validationcolnames(
),
data_lipids_glmnet
)
)
)
)
dim(data_lipids_glmnet_inter_CompletVal)
## [1] 160 95
5.2 Fit model
Open code
<- "elanet_lipid_inter_CompletVal"
modelac
assign(
modelac,run(
expr = clust_glmnet_sep(
data = data_lipids_glmnet_inter_CompletVal,
outcome = "vegan",
clust_id = "Sample",
sample_method = "oos_boot",
N = 500,
alphas = c(0, 0.2, 0.4),
family = "binomial",
seed = 478
),path = paste0("gitignore/run/", modelac)
) )
5.3 Model summary
Open code
$model_summary
elanet_lipid_inter_CompletVal## alpha lambda auc auc_OutOfSample auc_oos_CIL auc_oos_CIU accuracy
## 1 0.2 0.003591434 1 0.9989928 0.9949107 1 1
## accuracy_OutOfSample accuracy_oos_CIL accuracy_oos_CIU
## 1 0.9805584 0.9454545 1
$country_AUC
elanet_lipid_inter_CompletVal## auc_OutOfSample_IT auc_oos_CIL_IT auc_oos_CIU_IT auc_OutOfSample_CZ
## 1 0.9982946 0.9847802 1 0.9996571
## auc_oos_CIL_CZ auc_oos_CIU_CZ
## 1 0.9950538 1
5.4 ROC curve - internal validation
Open code
$plot elanet_lipid_inter_CompletVal
\(\rightarrow\) The observed performance (AUC ≈ 1) indicates near-perfect discrimination. Given the extremely strong signal in the lipidomic data—where several lipid levels show minimal overlap between diet groups—this result is plausible but may still raise concerns about overfitting or data leakage. To evaluate whether the observed performance could arise by chance under similar model complexity, we repeated the analysis using a dataset with randomly permuted diet labels (i.e., outcome reshuffling).
5.5 Sensitivity analysis
Open code
## re-arrange data (permute outcome labels for sensitivity check
set.seed(2025)
<- data_lipids_glmnet_inter_CompletVal %>%
data_lipids_glmnet_inter_CompletVal_sens mutate(vegan2 = sample(data_lipids_glmnet_inter_CompletVal$vegan))
## verify I did what I wanted
mean(data_lipids_glmnet_inter_CompletVal_sens$vegan)
## [1] 0.5625
mean(data_lipids_glmnet_inter_CompletVal_sens$vegan2)
## [1] 0.5625
1:20, c("vegan", "vegan2")]
data_lipids_glmnet_inter_CompletVal_sens[## # A tibble: 20 × 2
## vegan vegan2
## <dbl> <dbl>
## 1 1 1
## 2 1 1
## 3 1 0
## 4 1 0
## 5 1 0
## 6 1 1
## 7 1 1
## 8 1 0
## 9 0 1
## 10 0 1
## 11 0 0
## 12 1 0
## 13 1 0
## 14 1 1
## 15 1 1
## 16 0 1
## 17 1 0
## 18 0 1
## 19 0 0
## 20 0 1
## re-run as sensitivity analysis
<- data_lipids_glmnet_inter_CompletVal_sens %>%
data_lipids_glmnet_inter_CompletVal_sens select(-vegan)
<- "elanet_lipid_inter_CompletVal_sens"
modelac
assign(
modelac,run(
expr = clust_glmnet_sep(
data = data_lipids_glmnet_inter_CompletVal_sens,
outcome = "vegan2",
clust_id = "Sample",
sample_method = "oos_boot",
N = 40,
alphas = c(0, 0.2, 0.4),
family = "binomial",
seed = 478
),path = paste0("gitignore/run/", modelac)
)
)
$model_summary
elanet_lipid_inter_CompletVal_sens## alpha lambda auc auc_OutOfSample auc_oos_CIL auc_oos_CIU accuracy
## 1 0 35.45117 0.5852381 0.4669625 0.3418344 0.5882619 0.5625
## accuracy_OutOfSample accuracy_oos_CIL accuracy_oos_CIU
## 1 0.5097026 0.3768822 0.5964983
$country_AUC
elanet_lipid_inter_CompletVal_sens## auc_OutOfSample_IT auc_oos_CIL_IT auc_oos_CIU_IT auc_OutOfSample_CZ
## 1 0.4705328 0.2934007 0.619567 0.470364
## auc_oos_CIL_CZ auc_oos_CIU_CZ
## 1 0.3071027 0.6555497
$plot elanet_lipid_inter_CompletVal_sens
\(\rightarrow\) After randomly permuting diet labels and rerunning the full modelling pipeline, the out‑of‑sample AUC fell to 0.47 (95% CI: 0.34 to 0.59), consistent with chance performance and indicating no evidence of data leakage or systematic overfitting under label randomization.
5.6 Estimated coefficients
Open code
$betas
elanet_lipid_inter_CompletVal## 93 x 1 sparse Matrix of class "dgCMatrix"
## s0
## (Intercept) 1.14734856
## ACar 16:0 -0.11895422
## ACar 18:1 0.36571664
## ACar 18:2 0.66269097
## CE 16:1 -0.21328195
## CE 20:3 0.05914187
## CE 20:4 -0.06491718
## CE 22:6 -0.43234646
## Cer 18:1_22:0;O2 -0.16314255
## Cer 18:1_23:0;O2 -0.18302698
## Cer 18:1_24:0;O2 0.05821002
## Cer 18:1_24:1;O2 .
## DG 16:0_18:1 0.02192424
## LPC 18:2/0:0 0.14576619
## LPC 20:1/0:0 0.66333103
## LPC 20:2/0:0 0.60436084
## LPC 20:5/0:0 0.22849995
## LPC 22:6/0:0 -0.46014040
## PC 12:0_16:0 0.04526106
## PC 14:0_16:0 0.06325636
## PC 14:0_17:0 -0.48398311
## PC 14:0_20:4 0.29365059
## PC 14:0_22:6 .
## PC 15:0_18:2 .
## PC 15:0_20:3 -0.06124312
## PC 15:0_20:4 .
## PC 16:0_16:0 0.08868632
## PC 16:0_16:1 .
## PC 16:0_18:0 -0.17289063
## PC 16:0_18:1 .
## PC 16:0_20:3 (2) -0.25620151
## PC 16:0_20:5 -0.10616262
## PC 16:0_22:4 .
## PC 16:0_22:6 -0.39777332
## PC 16:1_18:2 0.88496421
## PC 17:0_18:1 -0.62160681
## PC 17:0_20:5 (2) 0.03199201
## PC 18:0_18:1 .
## PC 18:0_20:3 0.22372760
## PC 18:0_22:5 .
## PC 18:0_22:6 -0.29445992
## PC 18:1_18:1 0.19602648
## PC 18:1_18:2 0.61986950
## PC 18:1_20:3 0.46505623
## PC 18:1_20:4 0.10486485
## PC 18:2_18:2 0.36520820
## PC 18:2_18:3 0.47827048
## PC 33:1 -0.24300468
## PC 37:4 -0.87037828
## PC 37:6 -0.67414186
## PC 38:5 .
## PC 42:5 0.84376077
## SM 31:1;O2 -0.91595323
## SM 32:0;O2 -0.05848643
## SM 32:2;O2 .
## SM 33:1;O2 -1.00336079
## SM 35:2;O2 -0.46452404
## SM 36:0;O2 .
## SM 36:2;O2 -0.07238433
## SM 38:1;O2 -0.18891808
## SM 39:1;O2 -0.74690237
## SM 41:1;O2 .
## SM 43:1;O2 -0.69008631
## SM 43:2;O2 -0.51852289
## SM 43:2;O2 (2) -0.56203728
## TG 12:0_14:0_18:1 -0.11916162
## TG 12:0_14:0_18:2 -0.36176997
## TG 12:0_16:0_18:1 .
## TG 14:0_16:0_16:0 .
## TG 14:0_16:0_18:1 .
## TG 14:0_16:0_18:2 .
## TG 15:0_16:0_18:2 0.05702390
## TG 15:0_18:1_18:2 .
## TG 16:0_16:0_16:0 .
## TG 16:0_16:0_18:0 .
## TG 16:0_16:0_18:1 .
## TG 16:0_16:0_18:3 .
## TG 16:0_16:1_18:1 .
## TG 16:0_17:0_18:1 -0.25526771
## TG 16:0_18:0_18:1 -0.25270935
## TG 16:0_18:1_18:1 .
## TG 16:0_18:1_20:4 .
## TG 16:0_18:1_22:6 -0.31181395
## TG 16:0_18:2_18:2 0.41723641
## TG 17:0_18:1_18:1 .
## TG 18:0_18:1_20:4 .
## TG 18:1_18:1_18:1 .
## TG 18:1_18:1_18:2 0.24110776
## TG 18:1_18:2_18:2 0.33665795
## TG 18:1_18:2_18:3 0.33975817
## TG 18:1_18:2_20:4 0.05964121
## TG 18:2_18:2_18:3 0.44715751
## TG 54:6 0.47993284
5.7 Plot beta coefficients
Open code
<- data.frame(
elacoef lipid = row.names(elanet_lipid_inter_CompletVal$betas),
beta_ela = elanet_lipid_inter_CompletVal$betas[, 1]
%>%
) arrange(abs(beta_ela)) %>%
filter(abs(beta_ela) > 0,
!grepl('Intercept', lipid)) %>%
mutate(lipid = factor(lipid))
<- "elanet_beta_lipids"
plotac <- "gitignore/figures"
path
assign(plotac,
ggplot(elacoef,
aes(
x = lipid,
y = beta_ela)
+
) geom_point() +
geom_hline(yintercept = 0, color = "black") +
labs(
y = "Standardized beta coefficients",
x = "Lipid"
+
) theme_minimal() +
coord_flip() +
theme(
axis.text.x = element_text(size = 10),
axis.text.y = element_text(size = 10),
axis.title.x = element_text(size = 12),
axis.title.y = element_text(size = 12),
legend.position = "bottom"
)
)
if (file.exists(paste0(path, "/", plotac, ".svg")) == FALSE) {
ggsave(
path = paste0(path),
filename = plotac,
device = "svg",
width = 5,
height = 10
)
}
get(plotac)
6 External validation
External validation was performed with an independent Czech cohort.
As a first step, we will use the previously developed and validated elastic net model to predict vegan status in the independent Czech cohort. The validation data will be standardized using the mean and standard deviation of each lipid from the training cohort to ensure comparability across datasets. For each subject in the external validation cohort, we will estimate the predicted probability of being vegan using the elastic net model. This predicted probability will then be used as a variable to discriminate between the diet groups in the independent cohort.
In a 2nd step, we will look at lipids that significantly differed between diet groups (average vegan diet effect across both countries, FDR < 0.05) estimated with linear models (one per lipid) with training cohort. Then we will fit linear models also for external validation cohort. Effect of vegan diet on these lipids will be shown along with 95% confidence interval for all cohorts: training Czech and Italian cohorts, but also in Czech independent (validating) cohort
6.1 Prediction of diet (elastic net)
6.1.1 Get table of weights, means and SDs
Open code
<- get_coef(
coefs_lipids_CompletVal original_data = data_analysis,
glmnet_model = elanet_lipid_inter_CompletVal)
coefs_lipids_CompletVal## # A tibble: 93 × 5
## predictor beta_scaled beta_OrigScale mean SD
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 (Intercept) 1.15 NA NA NA
## 2 ACar 16:0 -0.119 -0.116 18.4 0.489
## 3 ACar 18:1 0.366 0.384 19.2 0.525
## 4 ACar 18:2 0.663 0.890 18.0 0.672
## 5 CE 16:1 -0.213 -0.443 20.0 1.04
## 6 CE 20:3 0.0591 0.0760 21.1 0.642
## 7 CE 20:4 -0.0649 -0.105 23.8 0.807
## 8 CE 22:6 -0.432 -1.13 20.2 1.30
## 9 Cer 18:1_22:0;O2 -0.163 -0.172 19.0 0.527
## 10 Cer 18:1_23:0;O2 -0.183 -0.204 19.0 0.556
## # ℹ 83 more rows
6.1.3 Standardize data in validation set
Open code
<- data_lipids_validation %>%
data_lipids_validation_pred_CompletVal ::mutate(
dplyrvegan = if_else(
== "VEGAN", 1, 0
X2
)%>%
) ::select(
dplyr
vegan,::all_of(common_predictors)
dplyr%>%
) ::mutate(
dplyracross(
.cols = -vegan,
.fns = trans_lipid
)%>%
) ::mutate(
dplyracross(
.cols = -vegan,
.fns = ~ .
- coefs_lipids_CompletVal$mean[
match(
cur_column(),
$predictor
coefs_lipids_CompletVal
)
]
)%>%
) ::mutate(
dplyracross(
.cols = -vegan,
.fns = ~ .
/ coefs_lipids_CompletVal$SD[
match(
cur_column(),
$predictor
coefs_lipids_CompletVal
)
]
) )
6.1.4 Results of external validation
6.1.4.1 Figure
Open code
$fit
elanet_lipid_inter_CompletVal##
## Call: glmnet::glmnet(x = original_predictors, y = original_outcome, family = family, alpha = optim_par$alpha[1], lambda = optim_par$lamb_1se[1], standardize = standardize)
##
## Df %Dev Lambda
## 1 64 97.06 0.003591
<- as.matrix(data_lipids_validation_pred_CompletVal[,-1])
newx
<- predict(
predicted $fit,
elanet_lipid_inter_CompletValnewx = newx)
<- data_lipids_validation_pred_CompletVal %>%
tr ::mutate(
dplyrpredicted_logit = as.numeric(
predict(
$fit,
elanet_lipid_inter_CompletValnewx = newx
)
)%>%
) ::mutate(
dplyrpredicted = inv_logit(predicted_logit)
)
<- pROC::roc(
roc_lipid_CompletVal ~ predicted_logit,
vegan data = tr,
direction = "<",
levels = c(0, 1),
ci = TRUE
)
roc_lipid_CompletVal##
## Call:
## roc.formula(formula = vegan ~ predicted_logit, data = tr, direction = "<", levels = c(0, 1), ci = TRUE)
##
## Data: predicted_logit in 50 controls (vegan 0) < 86 cases (vegan 1).
## Area under the curve: 0.9935
## 95% CI: 0.9855-1 (DeLong)
<- "roc_lipid"
plotac <- "gitignore/figures"
path
assign(plotac, ggroc(roc_lipid_CompletVal))
get(plotac)
Open code
if (file.exists(paste0(path, "/", plotac, ".svg")) == FALSE) {
ggsave(
path = paste0(path),
filename = plotac,
device = "svg",
width = 6,
height = 4.5
) }
6.1.4.2 Table
Open code
roc_lipid_CompletVal##
## Call:
## roc.formula(formula = vegan ~ predicted_logit, data = tr, direction = "<", levels = c(0, 1), ci = TRUE)
##
## Data: predicted_logit in 50 controls (vegan 0) < 86 cases (vegan 1).
## Area under the curve: 0.9935
## 95% CI: 0.9855-1 (DeLong)
<- elanet_lipid_inter_CompletVal
mod
<- mean(mod[["valid_performances"]]$auc_resamp_test)
trainAUC <- quantile(mod[["valid_performances"]]$auc_resamp_test,
trainCI probs = c(1 / 40, 39 / 40))
<- data.frame(
res alpha = c(mod$model_summary$alpha, rep("", 4)),
lambda = c(round(mod$model_summary$lambda, 4), rep("", 4)),
`performance type` = c(
"Training set AUC",
"Out-of-sample AUC (all)",
"Out-of-sample AUC (Czech)",
"Out-of-sample AUC (Italy)",
"External validation AUC"
),`performance [95% CI]` = c(
sprintf("%.3f [%.3f to %.3f]", trainAUC, trainCI[1], trainCI[2]),
sprintf("%.3f [%.3f to %.3f]",
$model_summary$auc_OutOfSample,
mod$model_summary$auc_oos_CIL,
mod$model_summary$auc_oos_CIU),
modsprintf("%.3f [%.3f to %.3f]",
$country_AUC$auc_OutOfSample_CZ,
mod$country_AUC$auc_oos_CIL_CZ,
mod$country_AUC$auc_oos_CIU_CZ),
modsprintf("%.3f [%.3f to %.3f]",
$country_AUC$auc_OutOfSample_IT,
mod$country_AUC$auc_oos_CIL_IT,
mod$country_AUC$auc_oos_CIU_IT),
modsprintf("%.3f [%.3f to %.3f]",
"ci"]][2],
roc_lipid_CompletVal[["ci"]][1],
roc_lipid_CompletVal[["ci"]][3])
roc_lipid_CompletVal[[
)
)
::kable(
kableExtra%>% mutate(across(where(is.numeric), ~ round(.x, 3))),
res caption = 'Performance of the elastic‑net logistic regression model for discriminating vegan from omnivore status using log2‑transformed lipid levels. The model was developed on the combined training data (Czech and Italian cohorts), with the optimmized `alpha` (mixing parameter) and `lambda` (penalty strength) selected via 10-fold cross-validation. Internal validation employed 500 out‑of‑bag bootstrap resamples: the out‑of‑sample AUC is the mean across resamples, and its 95 % confidence interval (CI) is given by the 2.5th and 97.5th percentiles of the bootstrap distribution. The training‑set AUC and its CI were computed analogously from the in‑bag predictions. External validation was carried out on an independent Czech cohort; the reported AUC is the point estimate on that cohort, and its 95% CI was obtained with DeLong’s method.'
)
alpha | lambda | performance.type | performance..95..CI. |
---|---|---|---|
0.2 | 0.0036 | Training set AUC | 1.000 [1.000 to 1.000] |
Out-of-sample AUC (all) | 0.999 [0.995 to 1.000] | ||
Out-of-sample AUC (Czech) | 1.000 [0.995 to 1.000] | ||
Out-of-sample AUC (Italy) | 0.998 [0.985 to 1.000] | ||
External validation AUC | 0.993 [0.986 to 1.000] |
6.2 Diet effect across datasets
Similarly as in training data cohorts, we will fit linear model per each of the selected lipid level (\(log_{2}\) - transformed), with a single fixed effect factor of diet
.
6.2.1 Linear models in validation cohort
Open code
## relevant lipids
<- result_lipidom_narrowed %>%
diet_sensitive_lipids_narrowed filter(
< 0.05,
fdr_VGdiet_avg %in% common_lipids
outcome %>%
) select(
outcome%>%
) pull()
<- length(diet_sensitive_lipids_narrowed)
len
<- data_lipids_validation %>%
data_analysis_lipids ::mutate(
dplyrDiet_VEGAN = as.numeric(
::if_else(
dplyr== 'VEGAN', 1, 0
X2
)
),::across(
dplyrall_of(common_lipids), ~ trans_lipid(.)
)%>%
) ::select(
dplyr
Diet_VEGAN,all_of(diet_sensitive_lipids_narrowed)
)
Define number of lipids and covariates
Open code
<- 1
n_covarites <- ncol(data_analysis_lipids) - n_covarites n_features
Create empty objects
Open code
<- vector('double', n_features)
outcome <- vector('double', n_features)
log2FD_VGdiet <- vector('double', n_features)
P_VGdiet <- vector('double', n_features)
CI_L_VGdiet <- vector('double', n_features) CI_U_VGdiet
Fit linear models per outcome
Open code
for (i in 1:n_features) {
## define variable
$outcome <- data_analysis_lipids[, (i + n_covarites)]
data_analysis_lipids
## fit model
<- lm(outcome ~ Diet_VEGAN, data = data_analysis_lipids)
model
## save results
<- names(data_analysis_lipids)[i + n_covarites]
outcome[i]
## diet effect
<- confint(model)
tr
<- tr[which(row.names(tr) == "Diet_VEGAN"), ][1]
CI_L_VGdiet[i] <- tr[which(row.names(tr) == "Diet_VEGAN"), ][2]
CI_U_VGdiet[i]
<- summary(model)$coefficients[
log2FD_VGdiet[i] which(
names(model$coefficients) == "Diet_VEGAN"
1
),
]
<- summary(model)$coefficients[
P_VGdiet[i] which(
names(model$coefficients) == "Diet_VEGAN"
4
),
] }
6.2.1.1 Results table
Open code
<- data.frame(
result_lipids_val
outcome,
log2FD_VGdiet, P_VGdiet,
CI_L_VGdiet, CI_U_VGdiet
)
::kable(result_lipids_val,
kableExtracaption = 'Results of linear models estimating the effect of diet on lipid levels. Only lipids that significantly differed between diet groups in training cohorts (FDR < 0.05, average effect across both training cohorts) were included. `log2FD` denotes the estimated effects (regression coefficient), indicating how much the log2-transformed lipid levels differ between vegans and omnivores. `P`: p-value, `fdr`: p-value adjusted for multiple comparisons, and `CI_L` and `CI_U` represent the lower and upper bounds of the 95% confidence interval, respectively. All estimates in a single row are based on a single model')
outcome | log2FD_VGdiet | P_VGdiet | CI_L_VGdiet | CI_U_VGdiet |
---|---|---|---|---|
ACar 16:0 | -0.6225709 | 0.0000000 | -0.8318496 | -0.4132922 |
ACar 18:1 | 0.0960872 | 0.3063896 | -0.0890060 | 0.2811804 |
ACar 18:2 | 0.8071265 | 0.0000000 | 0.5475648 | 1.0666883 |
CE 16:1 | -2.1007631 | 0.0000000 | -2.5425275 | -1.6589988 |
CE 20:3 | -0.3079558 | 0.1318916 | -0.7097432 | 0.0938315 |
CE 20:4 | -0.5137195 | 0.4013536 | -1.7205950 | 0.6931560 |
CE 22:6 | -0.6168990 | 0.0018453 | -1.0009020 | -0.2328961 |
Cer 18:1_22:0;O2 | -0.3581872 | 0.0000035 | -0.5044845 | -0.2118898 |
Cer 18:1_23:0;O2 | -0.7907899 | 0.0000000 | -0.9505422 | -0.6310377 |
Cer 18:1_24:0;O2 | -0.1949857 | 0.0174222 | -0.3551732 | -0.0347983 |
Cer 18:1_24:1;O2 | -0.4139213 | 0.0000177 | -0.5978140 | -0.2300287 |
DG 16:0_18:1 | -0.8464311 | 0.0000476 | -1.2446206 | -0.4482416 |
LPC 18:2/0:0 | 0.0592348 | 0.5915385 | -0.1585681 | 0.2770378 |
LPC 20:1/0:0 | 0.7218423 | 0.0000000 | 0.4896658 | 0.9540188 |
LPC 20:2/0:0 | 0.4846543 | 0.0000253 | 0.2650192 | 0.7042894 |
LPC 20:5/0:0 | -0.6391226 | 0.0000687 | -0.9467374 | -0.3315078 |
LPC 22:6/0:0 | -0.4858969 | 0.0000754 | -0.7211412 | -0.2506526 |
PC 12:0_16:0 | 0.0254688 | 0.4175753 | -0.0364791 | 0.0874167 |
PC 14:0_16:0 | -0.7147841 | 0.0000254 | -1.0388304 | -0.3907378 |
PC 14:0_17:0 | -1.6733607 | 0.0000000 | -1.8861401 | -1.4605814 |
PC 14:0_20:4 | -0.3953078 | 0.0050537 | -0.6695780 | -0.1210376 |
PC 14:0_22:6 | -0.2640002 | 0.0733616 | -0.5533201 | 0.0253198 |
PC 15:0_18:2 | -0.3174245 | 0.0003333 | -0.4878877 | -0.1469613 |
PC 15:0_20:3 | -1.3219190 | 0.0000000 | -1.6211182 | -1.0227198 |
PC 15:0_20:4 | -1.5218684 | 0.0000000 | -1.7281166 | -1.3156203 |
PC 16:0_16:0 | -0.3333815 | 0.0003012 | -0.5110427 | -0.1557204 |
PC 16:0_16:1 | -1.0101696 | 0.0000000 | -1.3211898 | -0.6991493 |
PC 16:0_18:0 | -0.3568918 | 0.0000014 | -0.4968052 | -0.2169784 |
PC 16:0_18:1 | -0.3798383 | 0.0000941 | -0.5663917 | -0.1932849 |
PC 16:0_20:3 (2) | -0.7952218 | 0.0000000 | -1.0659692 | -0.5244745 |
PC 16:0_20:5 | -0.6354436 | 0.0000265 | -0.9241926 | -0.3466945 |
PC 16:0_22:4 | -0.8023746 | 0.0000000 | -1.0034036 | -0.6013456 |
PC 16:0_22:6 | -0.4266871 | 0.0014250 | -0.6857703 | -0.1676039 |
PC 16:1_18:2 | 0.1315335 | 0.6499993 | -0.4404947 | 0.7035616 |
PC 17:0_18:1 | -0.9573553 | 0.0000000 | -1.0915476 | -0.8231630 |
PC 18:0_18:1 | -0.3992283 | 0.0000119 | -0.5727931 | -0.2256635 |
PC 18:0_22:5 | -0.1869585 | 0.0394906 | -0.3647879 | -0.0091291 |
PC 18:0_22:6 | -0.3780620 | 0.0008274 | -0.5966344 | -0.1594896 |
PC 18:1_18:1 | 0.4834150 | 0.0000017 | 0.2924036 | 0.6744265 |
PC 18:1_18:2 | 0.7002899 | 0.0000000 | 0.4897029 | 0.9108769 |
PC 18:1_20:3 | 0.2959250 | 0.0130893 | 0.0631955 | 0.5286545 |
PC 18:1_20:4 | -0.0934362 | 0.3453348 | -0.2885759 | 0.1017035 |
PC 18:2_18:2 | 0.6665308 | 0.0000000 | 0.4811064 | 0.8519553 |
PC 18:2_18:3 | -0.5437306 | 0.0000692 | -0.8055441 | -0.2819172 |
PC 33:1 | -1.5961169 | 0.0000000 | -1.7809234 | -1.4113103 |
PC 37:4 | -0.9198066 | 0.0000000 | -1.0928689 | -0.7467443 |
PC 37:6 | -1.4307538 | 0.0000000 | -1.6954927 | -1.1660149 |
PC 38:5 | -0.5432271 | 0.0000040 | -0.7666341 | -0.3198200 |
PC 42:5 | 0.3069356 | 0.0080832 | 0.0811550 | 0.5327163 |
SM 31:1;O2 | -1.3397441 | 0.0000000 | -1.5628860 | -1.1166021 |
SM 32:0;O2 | -0.2368867 | 0.0260788 | -0.4451207 | -0.0286526 |
SM 32:2;O2 | -0.0573857 | 0.5566494 | -0.2499746 | 0.1352031 |
SM 33:1;O2 | -1.3787761 | 0.0000000 | -1.5417800 | -1.2157723 |
SM 35:2;O2 | -0.9339461 | 0.0000000 | -1.2075742 | -0.6603181 |
SM 36:0;O2 | -0.6217878 | 0.0017090 | -1.0059789 | -0.2375967 |
SM 36:2;O2 | -0.3759336 | 0.0000785 | -0.5584467 | -0.1934204 |
SM 38:1;O2 | 0.0376634 | 0.6568189 | -0.1296110 | 0.2049379 |
SM 39:1;O2 | -0.7758707 | 0.0000000 | -0.9446076 | -0.6071337 |
SM 41:1;O2 | -0.4534130 | 0.0000003 | -0.6202126 | -0.2866134 |
SM 43:1;O2 | -2.7598378 | 0.0000000 | -3.0622291 | -2.4574465 |
SM 43:2;O2 | -3.3502612 | 0.0000000 | -3.8054822 | -2.8950402 |
SM 43:2;O2 (2) | -0.4329125 | 0.0010413 | -0.6883385 | -0.1774865 |
TG 12:0_14:0_18:1 | -0.8409076 | 0.0027172 | -1.3853384 | -0.2964769 |
TG 12:0_14:0_18:2 | -0.5671217 | 0.0646065 | -1.1690951 | 0.0348518 |
TG 12:0_16:0_18:1 | -1.0620749 | 0.0000469 | -1.5612619 | -0.5628879 |
TG 14:0_16:0_16:0 | -1.0050196 | 0.0000015 | -1.4002246 | -0.6098145 |
TG 14:0_16:0_18:1 | -1.4918797 | 0.0000000 | -1.9754350 | -1.0083244 |
TG 14:0_16:0_18:2 | -0.8959475 | 0.0001437 | -1.3486622 | -0.4432329 |
TG 15:0_16:0_18:2 | -1.5736498 | 0.0000000 | -1.9368066 | -1.2104929 |
TG 15:0_18:1_18:2 | -1.0359457 | 0.0000000 | -1.3302794 | -0.7416120 |
TG 16:0_16:0_16:0 | -1.2293198 | 0.0000000 | -1.6465810 | -0.8120586 |
TG 16:0_16:0_18:0 | -1.2386449 | 0.0000006 | -1.7051548 | -0.7721351 |
TG 16:0_16:0_18:1 | -1.4805697 | 0.0000000 | -1.9231943 | -1.0379451 |
TG 16:0_16:1_18:1 | -0.7217197 | 0.4508834 | -2.6094746 | 1.1660351 |
TG 16:0_17:0_18:1 | -2.1409675 | 0.0000000 | -2.4870945 | -1.7948404 |
TG 16:0_18:0_18:1 | -1.7664603 | 0.0000000 | -2.1972645 | -1.3356560 |
TG 16:0_18:1_18:1 | -0.6975844 | 0.0000112 | -0.9998341 | -0.3953347 |
TG 16:0_18:1_20:4 | -0.8354870 | 0.0000003 | -1.1421161 | -0.5288579 |
TG 16:0_18:1_22:6 | -1.0748138 | 0.0000015 | -1.4969019 | -0.6527257 |
TG 16:0_18:2_18:2 | 0.7762795 | 0.0000132 | 0.4369162 | 1.1156429 |
TG 17:0_18:1_18:1 | -1.6340105 | 0.0000000 | -1.9041130 | -1.3639080 |
TG 18:1_18:1_18:1 | 0.1048726 | 0.8033229 | -0.7263257 | 0.9360709 |
TG 18:1_18:1_18:2 | 1.1183775 | 0.0000000 | 0.8558243 | 1.3809308 |
TG 18:1_18:2_18:2 | 1.6679808 | 0.0000000 | 1.3511519 | 1.9848098 |
TG 18:1_18:2_18:3 | 1.2964491 | 0.0000000 | 0.9845067 | 1.6083916 |
TG 18:1_18:2_20:4 | 0.5354318 | 0.0000157 | 0.2991317 | 0.7717319 |
TG 18:2_18:2_18:3 | 2.9346268 | 0.0000000 | 2.3734178 | 3.4958359 |
TG 54:6 | 0.0788392 | 0.3432397 | -0.0850990 | 0.2427774 |
Open code
if(file.exists('gitignore/lm_results/result_lipidom_validation.csv') == FALSE){
write.table(result_lipids_val,
'gitignore/lm_results/result_lipidom_validation.csv', row.names = FALSE)
}
6.2.2 Forest plot
6.2.2.1 Data preparation
Open code
## subset result tables
<- result_lipidom %>%
result_lipids_subset filter(outcome %in% diet_sensitive_lipids_narrowed)
<- result_lipids_val %>%
result_lipids_val_subset filter(outcome %in% diet_sensitive_lipids_narrowed)
## create a data frame
<- data.frame(
data_forest outcome = rep(diet_sensitive_lipids_narrowed, 3),
beta = c(
$log2FD_VGdiet_inCZ,
result_lipids_subset$log2FD_VGdiet_inIT,
result_lipids_subset$log2FD_VGdiet
result_lipids_val_subset
),lower = c(
$CI_L_VGdiet_inCZ,
result_lipids_subset$CI_L_VGdiet_inIT,
result_lipids_subset$CI_L_VGdiet
result_lipids_val_subset
),upper = c(
$CI_U_VGdiet_inCZ,
result_lipids_subset$CI_U_VGdiet_inIT,
result_lipids_subset$CI_U_VGdiet
result_lipids_val_subset
),dataset = c(
rep("CZ", len),
rep("IT", len),
rep("Validation", len)
)
)
<- data_forest %>%
validation_order group_by(outcome) %>%
summarise(beta_mean = mean(beta), .groups = "drop") %>%
arrange(beta_mean) %>%
pull(outcome)
<- data_forest %>%
up_winners pivot_wider(names_from = dataset,
values_from = c(beta, lower, upper)) %>%
left_join(
%>% mutate(outcome = lipid) %>% select(-lipid),
elacoef by = 'outcome') %>%
filter(beta_CZ > 0,
> 0,
beta_IT > 0,
lower_Validation > 0.1) %>%
beta_ela select(outcome)
<- data_forest %>%
down_winners pivot_wider(names_from = dataset,
values_from = c(beta, lower, upper)) %>%
left_join(elacoef %>% mutate(outcome = lipid) %>% select(-lipid),
by = 'outcome') %>%
filter(beta_CZ < 0,
< 0,
beta_IT < 0,
upper_Validation < -0.1) %>%
beta_ela select(outcome)
<- as.character(c(up_winners$outcome, down_winners$outcome))
winners
<- data_forest %>%
data_forest mutate(in_winner = if_else(outcome %in% winners, TRUE, FALSE, missing = FALSE)) %>%
left_join(
%>% mutate(outcome = lipid) %>% select(-lipid),
elacoef by = 'outcome') %>%
mutate(outcome = factor(outcome, levels = validation_order))
6.2.2.2 Plotting
Open code
<- c("CZ" = "#150999", "IT" = "#329243", "Validation" = "grey60")
colors
<- "forest_lipid"
plotac <- "gitignore/figures"
path
assign(
plotac,ggplot(data_forest, aes(x = outcome, y = beta, ymin = lower, ymax = upper, color = dataset)) +
geom_pointrange(position = position_dodge(width = 0.5), size = 0.5) +
geom_hline(yintercept = 0, color = "black") +
geom_errorbar(position = position_dodge(width = 0.5), width = 0.2) +
scale_color_manual(values = colors) +
labs(
y = "Effect of vegan diet on log2-trasformed lipid level",
x = "Outcome",
color = "Dataset"
+
) theme_minimal() +
coord_flip() +
scale_x_discrete(
labels = setNames(
ifelse(data_forest$in_winner,
paste0("**", data_forest$outcome, "**"),
as.character(data_forest$outcome)
$outcome
), data_forest
)+
) theme(
axis.text.x = element_text(size = 10),
axis.text.y = ggtext::element_markdown(size = 10),
axis.title.x = element_text(size = 12),
axis.title.y = element_text(size = 12),
legend.position = "bottom"
)
)
get(plotac)
Diet
, Country
, and the interaction term Diet x Country
as fixed-effect predictors. In the validation cohort, Diet
was the only fixed-effect predictor. Lipids validated in the linear model and showing predictive power in the elastic net model (|β| > 0.1) are boldOpen code
if (file.exists(paste0(path, "/", plotac, ".svg")) == FALSE) {
ggsave(
path = paste0(path),
filename = plotac,
device = "svg",
width = 6,
height = 16
) }
6.2.3 Boxplot
Open code
<- "boxplot_lipidom"
plotac <- "gitignore/figures"
path
<- c('#F9FFAF','#329243')
colo
<- function(variable) {
boxplot_cond
<- ggboxplot(data_merged_log2,
p x = 'Diet',
y = variable,
fill = 'Diet',
tip.length = 0.15,
palette = colo,
outlier.shape = 1,
lwd = 0.25,
outlier.size = 0.8,
facet.by = 'Data',
title = variable,
ylab = 'Log2(lipid level)') +
theme(
plot.title = element_text(size = 10),
axis.title = element_text(size = 8),
axis.text.y = element_text(size = 7),
axis.text.x = element_blank(),
axis.title.x = element_blank()
) return(p)
}
# Plot all outcomes
<- map(diet_sensitive_lipids_narrowed, boxplot_cond)
plots
# Create a matrix of plots
assign(plotac,
ggarrange(plotlist = plots, ncol = 7, nrow = 13, common.legend = TRUE)
)
get(plotac)
Open code
if (file.exists(paste0(path, "/", plotac, ".svg")) == FALSE) {
ggsave(
path = paste0(path),
filename = plotac,
device = "svg",
width = 16,
height = 14
) }
7 Linear model VG duration
Next, we fit another series of linear models, this time modelling log2 lipid levels using the following fixed-effect predictors: duration of vegan status (Diet_duration
, scaled in tens of years), country
, their interaction (Diet_duration × country
), and age
:
\[ \log_{2}(\text{lipid level}) = \alpha + \beta_{1} \times \text{country} + \beta_{2} \times \text{diet duration} + \beta_{3} \times (\text{country}:\text{diet duration}) + \epsilon \]
This analysis includes only vegan participants, while omnivores are excluded. The goal was to examine whether metabolites that differ between vegans and non-vegans also vary within the vegan group itself, depending on how long participants have been vegan. In other words, we asked whether long-term vegans show stronger up- or down-regulation of diet-sensitive metabolites compared to those who adopted the diet more recently.
Because longer vegan duration is likely correlated with age (e.g. a 20-year-old cannot have 20 years of vegan history, unlike a 40-year-old), we also adjusted for age in the models.
7.1 Get data
7.1.1 Training
Open code
<- read.xlsx('gitignore/data/diet_duration_age.xlsx', sheet = 1)
meta_trainIT <- read.xlsx('gitignore/data/diet_duration_age.xlsx', sheet = 2) %>%
meta_trainCZ ::mutate(ID = paste0('T', ID),
dplyrSex = SEX) %>%
::select(-SEX)
dplyr
1:5,]
meta_trainIT[## ID COHORT GRP Diet_duration Age Sex
## 1 VOV002 IT_train OM 0 61.4 F
## 2 VOV003 IT_train OM 0 43.7 F
## 3 VOV004 IT_train OM 0 61.1 F
## 4 VOV006 IT_train OM 0 31.7 F
## 5 VOV007 IT_train OM 0 31.8 F
1:5,]
meta_trainCZ[## ID COHORT GRP Diet_duration Age Sex
## 1 T97 CZ_train OM 0 26.76438 M
## 2 T98 CZ_train OM 0 27.61370 F
## 3 T134 CZ_train OM 0 21.64384 F
## 4 T136 CZ_train OM 0 31.25479 M
## 5 T137 CZ_train OM 0 40.42192 F
<- bind_rows(meta_trainIT, meta_trainCZ) %>%
data_meta_original rename(`Sample` = `ID`)
1:5,]
data_meta_original[## Sample COHORT GRP Diet_duration Age Sex
## 1 VOV002 IT_train OM 0 61.4 F
## 2 VOV003 IT_train OM 0 43.7 F
## 3 VOV004 IT_train OM 0 61.1 F
## 4 VOV006 IT_train OM 0 31.7 F
## 5 VOV007 IT_train OM 0 31.8 F
<- data_lipids_original %>%
data_lipid_original2 left_join(data_meta_original, by = 'Sample') %>%
select(Sample:Diet, COHORT:Sex, everything())
%>% dim()
data_lipid_original2 ## [1] 174 174
data_lipid_original2[1:4,
ncol(data_lipid_original2)-10):ncol(data_lipid_original2)
(
]## # A tibble: 4 × 11
## `TG 16:0_18:2_18:3` `TG 16:0_18:2_18:2` `TG 54:6` `PC 43:2`
## <dbl> <dbl> <dbl> <dbl>
## 1 28476354 132729257 16641157 1151253
## 2 25937825 131647375 19032946 1636848
## 3 13103874 70496992 12455202 2468079
## 4 10189475 89043878 13307869 2859084
## # ℹ 7 more variables: `TG 18:2_18:2_18:3` <dbl>, `TG 18:0_18:0_18:1` <dbl>,
## # `PC 45:2` <dbl>, `TG 16:0_18:2_22:6` <dbl>, `TG 18:1_18:2_20:4` <dbl>,
## # `TG 16:0_18:1_22:6` <dbl>, `TG 18:1_18:1_20:4` <dbl>
1:4, 1:10]
data_lipid_original2[## # A tibble: 4 × 10
## Sample Country Diet COHORT GRP Diet_duration Age Sex Group `ACar 10:0`
## <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <chr> <chr> <dbl>
## 1 T119 CZ VEGAN CZ_tra… VG 3 38.2 M VEGA… 485972
## 2 T120 CZ VEGAN CZ_tra… VG 5 31 M VEGA… 168982
## 3 T126 CZ VEGAN CZ_tra… VG 6 25.2 M VEGA… 207250
## 4 T127 CZ VEGAN CZ_tra… VG 3.2 22.5 F VEGA… 163366
7.1.2 Validation
Open code
<- read.xlsx('gitignore/data/diet_duration_age.xlsx', sheet = 3) %>%
data_meta_valid rename(`Sample` = `ID`)
<- data_lipids_validation %>%
data_lipid_valid2 mutate(Sample = row.names(.)) %>% select(Sample, everything()) %>%
rename(`Diet` = `X2`) %>%
mutate(Sample = str_extract(Sample, "K[0-9]+")) %>%
select(Sample, Diet, everything()) %>%
left_join(data_meta_valid, by = 'Sample') %>%
select(Sample:Diet, COHORT:SEX, dplyr::everything())
%>% dim()
data_lipid_valid2 ## [1] 137 99
data_lipid_valid2[1:4,
ncol(data_lipid_valid2)-10):ncol(data_lipid_valid2)
(
]## TG 16:0_18:1_22:6 TG 16:0_18:2_18:2 TG 17:0_18:1_18:1 TG 18:0_18:1_20:4
## 1 189399 3132284 26308 31383
## 2 442709 6836239 247014 456127
## 3 132592 3627649 103626 178137
## 4 11646 7409714 115695 116384
## TG 18:1_18:1_18:1 TG 18:1_18:1_18:2 TG 18:1_18:2_18:2 TG 18:1_18:2_18:3
## 1 1411480 3367530 3148300 194904
## 2 12276651 9052832 3245602 330485
## 3 6026217 5599498 2316630 281252
## 4 4611175 9092877 6337099 503167
## TG 18:1_18:2_20:4 TG 18:2_18:2_18:3 TG 54:6
## 1 149056 6867650 1229289
## 2 275157 4781620 3658599
## 3 307855 5281936 3614879
## 4 597006 24627503 2122661
1:4, 1:10]
data_lipid_valid2[## Sample Diet COHORT GRP Diet_duration Age SEX ACar 16:0 ACar 18:1
## 1 K295 VEGAN CZ_val VN 10 50.87945 M 14647 34983
## 2 K285 VEGAN CZ_val VN 8 31.86301 F 19415 74585
## 3 K227 VEGAN CZ_val VN 6 30.40000 F 16625 57087
## 4 K109 VEGAN CZ_val VN 6 36.52603 M 14978 33941
## ACar 18:2
## 1 32387
## 2 27229
## 3 34302
## 4 36238
%>% select(Sample, Diet, GRP)
data_lipid_valid2 ## Sample Diet GRP
## 1 K295 VEGAN VN
## 2 K285 VEGAN VN
## 3 K227 VEGAN VN
## 4 K109 VEGAN VN
## 5 K154 OMNI OM
## 6 K107 VEGAN VN
## 7 K292 VEGAN VN
## 8 K223 OMNI OM
## 9 K42 OMNI OM
## 10 K209 OMNI OM
## 11 K178 OMNI OM
## 12 K35 VEGAN VN
## 13 K45 VEGAN VN
## 14 K183 OMNI OM
## 15 K155 OMNI OM
## 16 K187 VEGAN VN
## 17 K49 VEGAN VN
## 18 K144 OMNI OM
## 19 K95 VEGAN VN
## 20 K210 OMNI OM
## 21 K288 VEGAN VN
## 22 K146 VEGAN VN
## 23 K19 VEGAN VN
## 24 K318 OMNI OM
## 25 K94 VEGAN VN
## 26 K199 OMNI OM
## 27 K216 VEGAN VN
## 28 K46 VEGAN VN
## 29 K143 OMNI OM
## 30 K131 OMNI OM
## 31 K253 OMNI OM
## 32 K5 VEGAN VN
## 33 K4 VEGAN VN
## 34 K257 VEGAN VN
## 35 K302 VEGAN VN
## 36 K86 VEGAN VN
## 37 K202 OMNI OM
## 38 K301 VEGAN VN
## 39 K266 OMNI OM
## 40 K188 VEGAN VN
## 41 K201 OMNI OM
## 42 K130 OMNI OM
## 43 K175 OMNI OM
## 44 K92 VEGAN VN
## 45 K217 VEGAN VN
## 46 K235 OMNI OM
## 47 K25 VEGAN VN
## 48 K258 VEGAN VN
## 49 K264 VEGAN VN
## 50 K127 OMNI OM
## 51 K56 VEGAN VN
## 52 K126 OMNI OM
## 53 K330 OMNI OM
## 54 K206 VEGAN VN
## 55 K291 VEGAN VN
## 56 K239 OMNI OM
## 57 K124 OMNI OM
## 58 K123 OMNI OM
## 59 K85 VEGAN VN
## 60 K120 VEGAN VN
## 61 K151 OMNI OM
## 62 K34 VEGAN VN
## 63 K310 OMNI OM
## 64 K296 VEGAN VN
## 65 K52 VEGAN VN
## 66 K230 OMNI OM
## 67 K119 VEGAN VN
## 68 K198 OMNI OM
## 69 K39 VEGAN VN
## 70 K117 VEGAN VN
## 71 K38 VEGAN VN
## 72 K18 VEGAN VN
## 73 K116 VEGAN VN
## 74 K319 OMNI OM
## 75 K269 OMNI OM
## 76 K270 OMNI OM
## 77 K281 VEGAN VN
## 78 K226 VEGAN VN
## 79 K12 VEGAN VN
## 80 K43 OMNI OM
## 81 K165 VEGAN VN
## 82 K32 VEGAN VN
## 83 K298 OMNI OM
## 84 K267 OMNI OM
## 85 K147 VEGAN VN
## 86 K55 VEGAN VN
## 87 K82 VEGAN VN
## 88 K299 OMNI OM
## 89 K309 OMNI OM
## 90 K234 OMNI OM
## 91 K114 VEGAN VN
## 92 K289 VEGAN VN
## 93 K61 VEGAN VN
## 94 K250 VEGAN VN
## 95 K260 VEGAN VN
## 96 K70 VEGAN VN
## 97 K238 OMNI OM
## 98 K62 VEGAN VN
## 99 K16 VEGAN VN
## 100 K329 OMNI OM
## 101 K31 VEGAN VN
## 102 K71 VEGAN VN
## 103 K15 VEGAN VN
## 104 K205 VEGAN VN
## 105 K113 VEGAN VN
## 106 K282 VEGAN VN
## 107 K110 VEGAN VN
## 108 K26 VEGAN VN
## 109 K48 VEGAN VN
## 110 K7 VEGAN VN
## 111 K106 VEGAN VN
## 112 K13 VEGAN VN
## 113 K195 OMNI OM
## 114 K104 VEGAN VN
## 115 K103 VEGAN VN
## 116 K101 VEGAN VN
## 117 K176 OMNI OM
## 118 K182 OMNI OM
## 119 K261 VEGAN VN
## 120 K65 VEGAN VN
## 121 K263 VEGAN VN
## 122 K194 OMNI OM
## 123 K166 VEGAN VN
## 124 K73 VEGAN VN
## 125 K81 VEGAN VN
## 126 K251 VEGAN VN
## 127 K220 VEGAN VN
## 128 K100 VEGAN VN
## 129 K231 OMNI OM
## 130 K222 OMNI OM
## 131 K150 OMNI OM
## 132 K179 OMNI OM
## 133 K64 VEGAN VN
## 134 K219 VEGAN VN
## 135 K254 OMNI OM
## 136 K74 VEGAN VN
## 137 K51 VEGAN VN
%>% select(Sample, Diet, GRP, Diet_duration) %>%
data_lipid_valid2 filter(
== 'VEGAN' & GRP == 'OM') | (Diet == 'OMNI' & GRP == 'VN')
(Diet
)## [1] Sample Diet GRP Diet_duration
## <0 rows> (or 0-length row.names)
7.2 Training cohort
7.2.1 Select data
Open code
<- data_lipid_original2 %>%
data_analysis mutate(Country_IT = as.numeric(
::if_else(
dplyr== "IT", 0.5, -0.5
Country
)
)%>%
) filter(Diet == 'VEGAN',
!is.na(Diet_duration)) %>%
select(Sample:Group, Country_IT, all_of(diet_sensitive_lipids_narrowed)) %>%
as.data.frame()
summary(data_analysis[ , 1:11])
## Sample Country Diet COHORT
## Length:98 Length:98 Length:98 Length:98
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## GRP Diet_duration Age Sex
## Length:98 Min. : 0.600 Min. :18.25 Length:98
## Class :character 1st Qu.: 3.212 1st Qu.:27.70 Class :character
## Mode :character Median : 5.000 Median :32.56 Mode :character
## Mean : 5.472 Mean :35.00
## 3rd Qu.: 6.000 3rd Qu.:40.31
## Max. :20.000 Max. :60.70
##
## Group Country_IT ACar 16:0
## Length:98 Min. :-0.5000 Min. :108905
## Class :character 1st Qu.:-0.5000 1st Qu.:248308
## Mode :character Median :-0.5000 Median :307792
## Mean :-0.1122 Mean :313597
## 3rd Qu.: 0.5000 3rd Qu.:372762
## Max. : 0.5000 Max. :675124
## NA's :8
7.2.2 Age vs Diet duration correlation
Open code
<- data_analysis %>%
cors group_by(COHORT) %>%
summarise(
test = list(cor.test(Age, Diet_duration, method = "spearman")),
.groups = "drop"
%>%
) mutate(
rho = map_dbl(test, ~ .x$estimate),
pval = map_dbl(test, ~ .x$p.value),
label = paste0("rho = ", round(rho, 2),
", p = ", signif(pval, 2))
)## Warning: There were 2 warnings in `summarise()`.
## The first warning was:
## ℹ In argument: `test = list(cor.test(Age, Diet_duration, method =
## "spearman"))`.
## ℹ In group 1: `COHORT = "CZ_train"`.
## Caused by warning in `cor.test.default()`:
## ! Cannot compute exact p-value with ties
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 1 remaining warning.
ggplot(data_analysis, aes(x = Age, y = Diet_duration)) +
geom_point() +
geom_smooth() +
facet_wrap(~ COHORT) +
geom_text(
data = cors,
aes(x = Inf, y = Inf, label = label),
inherit.aes = FALSE,
hjust = 2.4, vjust = 1.5
)## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
7.2.3 Define number of lipid and covariates
Open code
<- 10
n_covarites <- ncol(data_analysis) - n_covarites n_features
7.2.4 Create empty objects
Open code
<- vector('double', n_features)
outcome
<- vector('double', n_features)
logFD_Diet_duration_inCZ <- vector('double', n_features)
logFD_Diet_duration_inIT <- vector('double', n_features)
logFD_Diet_duration_avg
<- vector('double', n_features)
logFD_ITcountry_avg <- vector('double', n_features)
diet_country_int
<- vector('double', n_features)
P_Diet_duration_inCZ <- vector('double', n_features)
P_Diet_duration_inIT <- vector('double', n_features)
P_Diet_duration_avg
<- vector('double', n_features)
P_ITcountry_avg <- vector('double', n_features)
P_diet_country_int
<- vector('double', n_features)
logFD_Age <- vector('double', n_features)
P_Age
<- vector('double', n_features)
CI_L_Diet_duration_inCZ <- vector('double', n_features)
CI_L_Diet_duration_inIT <- vector('double', n_features)
CI_L_Diet_duration_avg
<- vector('double', n_features)
CI_U_Diet_duration_inCZ <- vector('double', n_features)
CI_U_Diet_duration_inIT <- vector('double', n_features) CI_U_Diet_duration_avg
7.2.5 Estimate over outcomes
Open code
if(file.exists('gitignore/lm_results/result_lipid_VGdur_training.Rds') == FALSE){
for (i in 1:n_features) {
## define variable
$outcome <- data_analysis[, (i + n_covarites)]
data_analysis
## fit model
<- lm(outcome ~ Country_IT * Diet_duration + Age,
model data = data_analysis %>%
mutate(Diet_duration = (Diet_duration/10),
outcome = trans_lipid(outcome),
Age = (Age-33)/10))
## get contrast (effects of diet BY COUNTRY)
<- summary(
contrast_emm pairs(
emmeans(
model,specs = ~ Diet_duration | Country_IT,
at = list(Diet_duration = c(0, 1))
),interaction = TRUE,
adjust = "none"
),infer = c(TRUE, TRUE)
)
## save results
<- names(data_analysis)[i + n_covarites]
outcome[i]
## country and age effect
<- summary(model)$coefficients[
logFD_ITcountry_avg[i] which(
names(model$coefficients) == "Country_IT"
1
),
]
<- summary(model)$coefficients[
P_ITcountry_avg[i] which(
names(model$coefficients) == "Country_IT"
4
),
]
<- summary(model)$coefficients[
logFD_Age[i] which(
names(model$coefficients) == "Age"
1
),
]
<- summary(model)$coefficients[
P_Age[i] which(
names(model$coefficients) == "Age"
4
),
]
## diet effect
<- confint(model)
tr
<- tr[which(row.names(tr) == 'Diet_duration'),][1]
CI_L_Diet_duration_avg[i] <- tr[which(row.names(tr) == 'Diet_duration'),][2]
CI_U_Diet_duration_avg[i]
<- summary(model)$coefficients[
logFD_Diet_duration_avg[i] which(
names(model$coefficients) == "Diet_duration"
1
),
]
<- summary(model)$coefficients[
P_Diet_duration_avg[i] which(
names(model$coefficients) == "Diet_duration"
4
),
]
<- -contrast_emm[1,3]
logFD_Diet_duration_inCZ[i] <- contrast_emm$p.value[1]
P_Diet_duration_inCZ[i] <- -contrast_emm$upper.CL[1]
CI_L_Diet_duration_inCZ[i] <- -contrast_emm$lower.CL[1]
CI_U_Diet_duration_inCZ[i]
<- -contrast_emm[2,3]
logFD_Diet_duration_inIT[i] <- contrast_emm$p.value[2]
P_Diet_duration_inIT[i] <- -contrast_emm$upper.CL[2]
CI_L_Diet_duration_inIT[i] <- -contrast_emm$lower.CL[2]
CI_U_Diet_duration_inIT[i]
## interaction
<- summary(model)$coefficients[
diet_country_int[i] which(
names(model$coefficients) == "Country_IT:Diet_duration"
1
),
]
<- summary(model)$coefficients[
P_diet_country_int[i] which(
names(model$coefficients) == "Country_IT:Diet_duration"
4
),
]
}
<- data.frame(
result_lipid
outcome,
logFD_ITcountry_avg, P_ITcountry_avg,
logFD_Age, P_Age,
logFD_Diet_duration_avg, P_Diet_duration_avg,
logFD_Diet_duration_inCZ, P_Diet_duration_inCZ,
logFD_Diet_duration_inIT, P_Diet_duration_inIT,
diet_country_int, P_diet_country_int,
CI_L_Diet_duration_avg, CI_U_Diet_duration_avg,
CI_L_Diet_duration_inCZ, CI_U_Diet_duration_inCZ,
CI_L_Diet_duration_inIT, CI_U_Diet_duration_inIT
)
saveRDS(result_lipid,
'gitignore/lm_results/result_lipid_VGdur_training.Rds')
}
<- readRDS('gitignore/lm_results/result_lipid_VGdur_training.Rds') result_lipid
7.2.6 Show and save results
Open code
::kable(result_lipid %>%
kableExtra::select(
dplyr
outcome,
logFD_ITcountry_avg, P_ITcountry_avg,
logFD_Age, P_Age,
logFD_Diet_duration_avg, P_Diet_duration_avg,
logFD_Diet_duration_inCZ, P_Diet_duration_inCZ,
logFD_Diet_duration_inIT, P_Diet_duration_inIT,
diet_country_int, P_diet_country_int,
CI_L_Diet_duration_avg, CI_U_Diet_duration_avg,
CI_L_Diet_duration_inCZ, CI_U_Diet_duration_inCZ,
CI_L_Diet_duration_inIT, CI_U_Diet_duration_inIT%>% arrange(P_Diet_duration_avg),
) caption = "Results of linear models, modelling the log2-transformed level of given lipid with vegan status duration (`Diet_duration`), `Country`, their interaction (`Diet_duration × Country`) and `Age` as predictors, using training data only (Czech and Italian vegan cohorts). Only lipids whose log2-transformed levels differ between diet in training cohorts (FDR < 0.05, average diet effect across both countries) are shown. `logFD` prefix: denotes estimated effects (regression coefficients), i.e. expected change in log2 lipid level per 10 years of vegan diet or age, or for country (Italy vs Czechia). `P`: p-value, `CI_L` and `CI_U`: lower and upper bounds of 95% confidence interval respectively. `avg` suffix shows effect averaged across subgroups, whereas `inCZ` and `inIT` show effect in Czech or Italian cohort respectively. Interaction effects are reported as `diet_country_int` (difference in the effect of vegan diet duration between Italian and Czech cohorts; positive values indicate a stronger effect in Italian, negative values a stronger effect in Czech cohort) and `P_diet_country_int` (its p-value). All estimates in a single row are based on a single model with interaction",
escape = FALSE
)
outcome | logFD_ITcountry_avg | P_ITcountry_avg | logFD_Age | P_Age | logFD_Diet_duration_avg | P_Diet_duration_avg | logFD_Diet_duration_inCZ | P_Diet_duration_inCZ | logFD_Diet_duration_inIT | P_Diet_duration_inIT | diet_country_int | P_diet_country_int | CI_L_Diet_duration_avg | CI_U_Diet_duration_avg | CI_L_Diet_duration_inCZ | CI_U_Diet_duration_inCZ | CI_L_Diet_duration_inIT | CI_U_Diet_duration_inIT |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SM 43:2;O2 (2) | -0.4608615 | 0.2395679 | 0.4940372 | 0.0000264 | -1.1026030 | 0.0030194 | -0.2410349 | 0.5143193 | -1.9641711 | 0.0010099 | -1.7231361 | 0.0089391 | -1.8205525 | -0.3846535 | -0.9728467 | 0.4907768 | -3.1108874 | -0.8174547 |
SM 43:1;O2 | 0.0769943 | 0.8499034 | 0.4430337 | 0.0002495 | -0.9973226 | 0.0096077 | -0.6940443 | 0.0739939 | -1.3006009 | 0.0333213 | -0.6065566 | 0.3687421 | -1.7457151 | -0.2489301 | -1.4568868 | 0.0687981 | -2.4959411 | -0.1052608 |
PC 33:1 | 0.4438631 | 0.0268619 | 0.1929662 | 0.0009375 | -0.4805160 | 0.0101934 | -0.3969565 | 0.0360819 | -0.5640754 | 0.0567672 | -0.1671189 | 0.6096273 | -0.8440791 | -0.1169529 | -0.7675393 | -0.0263738 | -1.1447621 | 0.0166113 |
PC 37:6 | 0.9400689 | 0.0059173 | 0.0959930 | 0.3156409 | -0.7497306 | 0.0173581 | -0.5010994 | 0.1153005 | -0.9983619 | 0.0462120 | -0.4972624 | 0.3693491 | -1.3640540 | -0.1354073 | -1.1272841 | 0.1250853 | -1.9795654 | -0.0171583 |
PC 14:0_17:0 | 0.1553528 | 0.4405407 | 0.1680722 | 0.0042853 | -0.4138092 | 0.0287767 | -0.4311913 | 0.0254945 | -0.3964272 | 0.1857229 | 0.0347641 | 0.9167917 | -0.7837024 | -0.0439161 | -0.8082264 | -0.0541563 | -0.9872243 | 0.1943700 |
PC 15:0_20:3 | 0.5331073 | 0.0371760 | 0.2039899 | 0.0057043 | -0.5136115 | 0.0306704 | -0.4978392 | 0.0395956 | -0.5293839 | 0.1597341 | -0.0315447 | 0.9398365 | -0.9782220 | -0.0490010 | -0.9714204 | -0.0242580 | -1.2714646 | 0.2126967 |
SM 36:0;O2 | 0.0283020 | 0.9095940 | 0.2150807 | 0.0032367 | -0.4769669 | 0.0416489 | -0.3683099 | 0.1208561 | -0.5856239 | 0.1155559 | -0.2173140 | 0.5985716 | -0.9354725 | -0.0184614 | -0.8356683 | 0.0990485 | -1.3179537 | 0.1467058 |
SM 33:1;O2 | 0.1369351 | 0.2803237 | 0.1809195 | 0.0000027 | -0.2360324 | 0.0467280 | -0.2427320 | 0.0448505 | -0.2293327 | 0.2229531 | 0.0133993 | 0.9489255 | -0.4685687 | -0.0034961 | -0.4797581 | -0.0057059 | -0.6007421 | 0.1420766 |
TG 16:0_18:1_22:6 | 1.1525818 | 0.0015586 | 0.0842375 | 0.4052100 | -0.6585430 | 0.0473005 | -0.4984612 | 0.1387059 | -0.8186249 | 0.1209390 | -0.3201637 | 0.5846228 | -1.3090586 | -0.0080275 | -1.1615369 | 0.1646145 | -1.8576350 | 0.2203852 |
PC 16:0_22:6 | 0.5616546 | 0.0040176 | 0.0314766 | 0.5632704 | -0.3138786 | 0.0784952 | -0.2651454 | 0.1436578 | -0.3626118 | 0.2011891 | -0.0974663 | 0.7572349 | -0.6642978 | 0.0365407 | -0.6223306 | 0.0920397 | -0.9223050 | 0.1970815 |
SM 36:2;O2 | 0.3738809 | 0.0019832 | 0.0922830 | 0.0071156 | -0.1909107 | 0.0826565 | -0.1027400 | 0.3564434 | -0.2790813 | 0.1116849 | -0.1763413 | 0.3655795 | -0.4070489 | 0.0252276 | -0.3230515 | 0.1175714 | -0.6242995 | 0.0661369 |
CE 16:1 | -0.0002460 | 0.9994257 | 0.2401637 | 0.0156020 | -0.5085634 | 0.1114633 | -0.4870464 | 0.1344617 | -0.5300803 | 0.2968821 | -0.0430339 | 0.9393454 | -1.1372513 | 0.1201245 | -1.1278731 | 0.1537802 | -1.5342271 | 0.4740665 |
PC 18:0_22:6 | 0.8764278 | 0.0015483 | 0.0276158 | 0.7190858 | -0.3949844 | 0.1158497 | -0.3500306 | 0.1708422 | -0.4399382 | 0.2710514 | -0.0899077 | 0.8397915 | -0.8893216 | 0.0993528 | -0.8539125 | 0.1538513 | -1.2294987 | 0.3496223 |
PC 18:1_18:2 | 0.2796103 | 0.0223469 | 0.0179774 | 0.6017724 | 0.1747708 | 0.1207483 | 0.1849968 | 0.1073047 | 0.1645449 | 0.3581600 | -0.0204519 | 0.9183235 | -0.0469354 | 0.3964770 | -0.0409901 | 0.4109837 | -0.1895666 | 0.5186563 |
CE 22:6 | 1.5449804 | 0.0000219 | 0.0998379 | 0.3120777 | -0.4686391 | 0.1454732 | -0.3497352 | 0.2851255 | -0.5875431 | 0.2520480 | -0.2378079 | 0.6769551 | -1.1028534 | 0.1655751 | -0.9961949 | 0.2967245 | -1.6005166 | 0.4254305 |
TG 18:2_18:2_18:3 | 0.1479188 | 0.8351581 | 0.2707280 | 0.1846095 | -0.9632048 | 0.1466950 | -0.9442753 | 0.1625703 | -0.9821343 | 0.3524108 | -0.0378591 | 0.9743221 | -2.2707248 | 0.3443152 | -2.2770409 | 0.3884903 | -3.0705186 | 1.1062500 |
LPC 22:6/0:0 | -0.2574733 | 0.3582500 | 0.0175812 | 0.8257501 | -0.3772257 | 0.1484211 | -0.4629065 | 0.0827372 | -0.2915448 | 0.4823118 | 0.1713617 | 0.7111886 | -0.8915125 | 0.1370612 | -0.9871233 | 0.0613102 | -1.1129690 | 0.5298795 |
PC 16:0_20:5 | -0.1470379 | 0.6858483 | 0.2688458 | 0.0110413 | -0.4636314 | 0.1714693 | -0.6611615 | 0.0570087 | -0.2661014 | 0.6214639 | 0.3950601 | 0.5116861 | -1.1320354 | 0.2047725 | -1.3424710 | 0.0201480 | -1.3336830 | 0.8014802 |
TG 18:1_18:2_18:3 | 0.7386323 | 0.1364082 | 0.1416699 | 0.3155201 | -0.6261495 | 0.1732106 | -0.6631824 | 0.1571936 | -0.5891166 | 0.4207318 | 0.0740658 | 0.9276233 | -1.5325625 | 0.2802634 | -1.5870964 | 0.2607316 | -2.0368487 | 0.8586154 |
TG 16:0_17:0_18:1 | 0.6505842 | 0.1038055 | 0.3327390 | 0.0041719 | -0.4988931 | 0.1778080 | -0.6580752 | 0.0822808 | -0.3397110 | 0.5639289 | 0.3183642 | 0.6280519 | -1.2289051 | 0.2311190 | -1.4021823 | 0.0860320 | -1.5056937 | 0.8262718 |
SM 43:2;O2 | 1.2234006 | 0.0111983 | 0.3085459 | 0.0245158 | -0.5506842 | 0.2119083 | -0.7795442 | 0.0842832 | -0.3218242 | 0.6465332 | 0.4577200 | 0.5592582 | -1.4211779 | 0.3198095 | -1.6668454 | 0.1077570 | -1.7121856 | 1.0685372 |
PC 15:0_18:2 | 0.1665351 | 0.3984231 | 0.1268150 | 0.0261981 | -0.2290250 | 0.2119169 | -0.2027364 | 0.2777818 | -0.2553135 | 0.3824864 | -0.0525771 | 0.8717549 | -0.5910629 | 0.1330130 | -0.5717646 | 0.1662917 | -0.8335642 | 0.3229372 |
SM 41:1;O2 | 0.1076480 | 0.3737742 | 0.1326072 | 0.0002231 | 0.1394654 | 0.2153393 | 0.1704251 | 0.1382160 | 0.1085057 | 0.5447638 | -0.0619193 | 0.7567223 | -0.0826678 | 0.3615986 | -0.0559970 | 0.3968472 | -0.2462877 | 0.4632991 |
PC 18:1_18:1 | 0.6527317 | 0.0002503 | 0.0292179 | 0.5506487 | 0.1863737 | 0.2427368 | 0.2551524 | 0.1178286 | 0.1175950 | 0.6433282 | -0.1375573 | 0.6276023 | -0.1286338 | 0.5013813 | -0.0659373 | 0.5762421 | -0.3855382 | 0.6207283 |
PC 16:0_16:1 | -0.1348426 | 0.5757074 | 0.1162581 | 0.0935498 | -0.2508453 | 0.2632115 | -0.4438846 | 0.0538352 | -0.0578060 | 0.8712971 | 0.3860786 | 0.3337733 | -0.6936677 | 0.1919771 | -0.8952570 | 0.0074878 | -0.7650864 | 0.6494745 |
TG 17:0_18:1_18:1 | 0.7806675 | 0.0282107 | 0.2101859 | 0.0382895 | -0.3602879 | 0.2700016 | -0.2414645 | 0.4673820 | -0.4791113 | 0.3578901 | -0.2376468 | 0.6823438 | -1.0054739 | 0.2848981 | -0.8991078 | 0.4161787 | -1.5096090 | 0.5513864 |
LPC 20:5/0:0 | -0.0400682 | 0.8424448 | 0.0076105 | 0.8948323 | 0.2065264 | 0.2712354 | -0.1555703 | 0.4154243 | 0.5686232 | 0.0596397 | 0.7241935 | 0.0322103 | -0.1642714 | 0.5773243 | -0.5335276 | 0.2223869 | -0.0236190 | 1.1608653 |
PC 12:0_16:0 | -2.6537557 | 0.0000051 | 0.0135822 | 0.9306426 | 0.5569596 | 0.2736716 | -1.1791275 | 0.0245986 | 2.2930468 | 0.0056437 | 3.4721742 | 0.0002268 | -0.4481364 | 1.5620557 | -2.2036299 | -0.1546250 | 0.6876971 | 3.8983964 |
TG 54:6 | 0.2398178 | 0.2765539 | 0.0423545 | 0.5001355 | -0.2236383 | 0.2742170 | -0.2900838 | 0.1650204 | -0.1571929 | 0.6294154 | 0.1328909 | 0.7147485 | -0.6276811 | 0.1804044 | -0.7019278 | 0.1217602 | -0.8025341 | 0.4881483 |
PC 16:0_18:1 | 0.3234234 | 0.0032160 | 0.0677137 | 0.0288789 | -0.1067194 | 0.2839631 | -0.0915317 | 0.3668135 | -0.1219072 | 0.4427428 | -0.0303755 | 0.8637666 | -0.3035036 | 0.0900648 | -0.2921153 | 0.1090520 | -0.4362129 | 0.1923985 |
PC 42:5 | 0.0581528 | 0.7848774 | 0.0859486 | 0.1601379 | -0.2055367 | 0.2999232 | -0.3012068 | 0.1374564 | -0.1098667 | 0.7279178 | 0.1913401 | 0.5875540 | -0.5973651 | 0.1862917 | -0.7006006 | 0.0981871 | -0.7356990 | 0.5159656 |
PC 17:0_18:1 | 1.0162786 | 0.0000005 | 0.1257932 | 0.0208808 | -0.1801063 | 0.3025204 | 0.0144248 | 0.9352301 | -0.3746374 | 0.1802955 | -0.3890622 | 0.2123510 | -0.5253163 | 0.1651038 | -0.3374506 | 0.3663002 | -0.9260104 | 0.1767357 |
TG 15:0_18:1_18:2 | 0.6140628 | 0.0555012 | 0.2067324 | 0.0245846 | -0.2978863 | 0.3129972 | -0.3349455 | 0.2660254 | -0.2608271 | 0.5793913 | 0.0741184 | 0.8877193 | -0.8814243 | 0.2856518 | -0.9297505 | 0.2598595 | -1.1928600 | 0.6712059 |
PC 16:0_20:3 (2) | 5.6871902 | 0.0000000 | 0.1412446 | 0.1119647 | -0.2895707 | 0.3137256 | -0.5151823 | 0.0805004 | -0.0639590 | 0.8888754 | 0.4512233 | 0.3783591 | -0.8576787 | 0.2785373 | -1.0942594 | 0.0638947 | -0.9713470 | 0.8434289 |
LPC 18:2/0:0 | -0.0591698 | 0.6821451 | -0.0015811 | 0.9694219 | 0.1299266 | 0.3336065 | -0.1113040 | 0.4160695 | 0.3711572 | 0.0856220 | 0.4824612 | 0.0460228 | -0.1357323 | 0.3955855 | -0.3820922 | 0.1594843 | -0.0531559 | 0.7954703 |
TG 12:0_14:0_18:2 | -0.6419338 | 0.3442273 | -0.1787632 | 0.3563625 | 0.5891264 | 0.3495484 | -0.2346954 | 0.7140573 | 1.4129483 | 0.1614571 | 1.6476437 | 0.1438442 | -0.6561165 | 1.8343694 | -1.5039815 | 1.0345907 | -0.5759665 | 3.4018630 |
TG 16:0_18:0_18:1 | 0.9978651 | 0.0401647 | 0.2683727 | 0.0529938 | -0.3917923 | 0.3804035 | -0.7251319 | 0.1130828 | -0.0584527 | 0.9345524 | 0.6666792 | 0.4025101 | -1.2752581 | 0.4916735 | -1.6256556 | 0.1753918 | -1.4695333 | 1.3526278 |
PC 18:0_18:1 | 0.4785735 | 0.0007623 | 0.0884934 | 0.0263158 | -0.1045927 | 0.4130989 | -0.0972271 | 0.4552732 | -0.1119582 | 0.5829300 | -0.0147311 | 0.9483590 | -0.3574322 | 0.1482468 | -0.3549485 | 0.1604942 | -0.5157960 | 0.2918797 |
TG 16:0_16:1_18:1 | 0.0581340 | 0.8686227 | 0.1661873 | 0.1004876 | -0.2530655 | 0.4385648 | -0.7251966 | 0.0314116 | 0.2190657 | 0.6742296 | 0.9442623 | 0.1071318 | -0.8995701 | 0.3934391 | -1.3841839 | -0.0662093 | -0.8135381 | 1.2516694 |
PC 18:2_18:2 | 0.2541654 | 0.1380078 | 0.0283581 | 0.5601487 | 0.1180524 | 0.4556534 | -0.0067899 | 0.9663677 | 0.2428946 | 0.3370630 | 0.2496845 | 0.3765816 | -0.1951357 | 0.4312405 | -0.3260250 | 0.3124453 | -0.2573326 | 0.7431219 |
LPC 20:1/0:0 | -0.0055773 | 0.9780957 | 0.0013664 | 0.9812108 | 0.1405125 | 0.4567561 | 0.0542763 | 0.7776252 | 0.2267486 | 0.4521300 | 0.1724723 | 0.6081768 | -0.2331780 | 0.5142030 | -0.3266294 | 0.4351820 | -0.3701137 | 0.8236109 |
TG 16:0_18:2_18:2 | 0.7364468 | 0.0444490 | 0.1069373 | 0.3026021 | -0.2444542 | 0.4675610 | -0.2499672 | 0.4661496 | -0.2389412 | 0.6563178 | 0.0110260 | 0.9853176 | -0.9105087 | 0.4216002 | -0.9288818 | 0.4289474 | -1.3027702 | 0.8248878 |
TG 16:0_16:0_18:1 | 0.4149731 | 0.2990881 | 0.2308589 | 0.0449659 | -0.2683070 | 0.4686465 | -0.6801353 | 0.0737784 | 0.1435212 | 0.8079783 | 0.8236565 | 0.2136001 | -1.0011435 | 0.4645295 | -1.4271214 | 0.0668508 | -1.0269728 | 1.3140152 |
TG 14:0_16:0_16:0 | 0.5238752 | 0.1614464 | 0.0777742 | 0.4648420 | 0.2497235 | 0.4700827 | -0.0292534 | 0.9337391 | 0.5287005 | 0.3388835 | 0.5579539 | 0.3658723 | -0.4345702 | 0.9340172 | -0.7267595 | 0.6682526 | -0.5642604 | 1.6216614 |
PC 14:0_20:4 | -0.2177855 | 0.5790838 | 0.0356707 | 0.7502552 | 0.2567824 | 0.4811682 | -0.5736623 | 0.1246831 | 1.0872270 | 0.0641421 | 1.6608893 | 0.0120325 | -0.4648082 | 0.9783730 | -1.3091854 | 0.1618608 | -0.0653049 | 2.2397589 |
PC 38:5 | 0.6528357 | 0.0152737 | 0.1070827 | 0.1587182 | -0.1695007 | 0.4903661 | -0.3537257 | 0.1597718 | 0.0147242 | 0.9700344 | 0.3684499 | 0.4008153 | -0.6559989 | 0.3169975 | -0.8496172 | 0.1421658 | -0.7623157 | 0.7917642 |
SM 35:2;O2 | 0.1250255 | 0.5183847 | 0.2134355 | 0.0002081 | -0.1157267 | 0.5194416 | -0.2113102 | 0.2497742 | -0.0201433 | 0.9439638 | 0.1911669 | 0.5506155 | -0.4714181 | 0.2399646 | -0.5738692 | 0.1512489 | -0.5882572 | 0.5479706 |
PC 18:2_18:3 | 0.0021394 | 0.9952388 | 0.1363969 | 0.1851301 | -0.2083881 | 0.5315476 | -0.2027135 | 0.5504128 | -0.2140626 | 0.6872052 | -0.0113491 | 0.9847381 | -0.8679258 | 0.4511497 | -0.8749857 | 0.4695586 | -1.2674831 | 0.8393578 |
PC 14:0_22:6 | -0.1032472 | 0.7976415 | -0.0262891 | 0.8191909 | -0.2337572 | 0.5319968 | -0.7657617 | 0.0468768 | 0.2982474 | 0.6174692 | 1.0640091 | 0.1129257 | -0.9743991 | 0.5068847 | -1.5207039 | -0.0108195 | -0.8847134 | 1.4812082 |
TG 18:1_18:2_18:2 | 1.1162000 | 0.0005801 | 0.0199456 | 0.8235434 | -0.1815005 | 0.5326814 | -0.1640451 | 0.5800112 | -0.1989559 | 0.6683175 | -0.0349107 | 0.9462855 | -0.7575343 | 0.3945333 | -0.7512010 | 0.4231107 | -1.1190030 | 0.7210913 |
CE 20:4 | 1.2265753 | 0.0000038 | 0.0983164 | 0.1689532 | 0.1395448 | 0.5460760 | 0.0993302 | 0.6731846 | 0.1797594 | 0.6262299 | 0.0804292 | 0.8451655 | -0.3182362 | 0.5973258 | -0.3672896 | 0.5659501 | -0.5514131 | 0.9109319 |
Cer 18:1_24:0;O2 | 0.2142878 | 0.2368181 | 0.0823954 | 0.1124481 | 0.0978326 | 0.5593336 | 0.0382445 | 0.8226797 | 0.1574206 | 0.5564234 | 0.1191761 | 0.6898725 | -0.2340280 | 0.4296932 | -0.3000237 | 0.3765127 | -0.3726306 | 0.6874718 |
CE 20:3 | 0.6604033 | 0.0034152 | 0.1457366 | 0.0223225 | -0.1162650 | 0.5691867 | -0.1070218 | 0.6071409 | -0.1255082 | 0.7002841 | -0.0184864 | 0.9594820 | -0.5207736 | 0.2882436 | -0.5193407 | 0.3052970 | -0.7715935 | 0.5205771 |
PC 15:0_20:4 | 0.9826554 | 0.0005497 | 0.1529982 | 0.0535355 | -0.1448706 | 0.5697974 | -0.1698980 | 0.5132995 | -0.1198432 | 0.7683214 | 0.0500547 | 0.9122357 | -0.6497031 | 0.3599619 | -0.6844778 | 0.3446819 | -0.9261669 | 0.6864804 |
PC 18:0_22:5 | 0.4707970 | 0.0383287 | 0.1304297 | 0.0443669 | -0.1133098 | 0.5867023 | -0.2302894 | 0.2796427 | 0.0036699 | 0.9911970 | 0.2339593 | 0.5291912 | -0.5261569 | 0.2995374 | -0.6511077 | 0.1905290 | -0.6557337 | 0.6630735 |
TG 16:0_16:0_16:0 | 0.4459846 | 0.3516523 | 0.1722993 | 0.2086928 | 0.2315488 | 0.6016603 | -0.2000741 | 0.6580460 | 0.6631718 | 0.3500984 | 0.8632459 | 0.2764291 | -0.6470848 | 1.1101824 | -1.0956724 | 0.6955242 | -0.7401908 | 2.0665344 |
SM 31:1;O2 | -0.6648506 | 0.0051518 | 0.1035262 | 0.1211471 | -0.1115174 | 0.6050545 | -0.6401903 | 0.0044356 | 0.4171556 | 0.2274641 | 1.0573460 | 0.0070817 | -0.5386707 | 0.3156360 | -1.0755911 | -0.2047895 | -0.2650980 | 1.0994093 |
LPC 20:2/0:0 | -0.1359778 | 0.4129678 | 0.0073958 | 0.8758768 | 0.0751949 | 0.6252040 | -0.1499408 | 0.3402284 | 0.3003306 | 0.2235881 | 0.4502714 | 0.1034010 | -0.2297528 | 0.3801426 | -0.4607765 | 0.1608948 | -0.1867350 | 0.7873962 |
PC 14:0_16:0 | -1.4068181 | 0.0000001 | 0.0807327 | 0.2497864 | 0.1095266 | 0.6297265 | -0.4616020 | 0.0486243 | 0.6806553 | 0.0631692 | 1.1422572 | 0.0058117 | -0.3405341 | 0.5595874 | -0.9203525 | -0.0028514 | -0.0381864 | 1.3994969 |
SM 32:2;O2 | -0.8057426 | 0.0009400 | 0.0200382 | 0.7660706 | 0.1026232 | 0.6392182 | -0.5497593 | 0.0154041 | 0.7550057 | 0.0330236 | 1.3047650 | 0.0011904 | -0.3310681 | 0.5363145 | -0.9918243 | -0.1076943 | 0.0623096 | 1.4477018 |
PC 18:1_20:4 | 0.6495407 | 0.0000415 | 0.0842431 | 0.0528614 | 0.0639707 | 0.6474771 | 0.0279516 | 0.8445201 | 0.0999899 | 0.6545114 | 0.0720384 | 0.7726855 | -0.2131940 | 0.3411355 | -0.2545647 | 0.3104678 | -0.3427004 | 0.5426802 |
Cer 18:1_22:0;O2 | 0.1880834 | 0.3495785 | 0.0651438 | 0.2572317 | 0.0719262 | 0.6992682 | 0.0377213 | 0.8424003 | 0.1061312 | 0.7211609 | 0.0684099 | 0.8367121 | -0.2970166 | 0.4408691 | -0.3383451 | 0.4137877 | -0.4831481 | 0.6954105 |
SM 38:1;O2 | -0.0786798 | 0.5897213 | 0.0693294 | 0.0986088 | 0.0521519 | 0.6999909 | -0.0709266 | 0.6072871 | 0.1752305 | 0.4182862 | 0.2461571 | 0.3090477 | -0.2160374 | 0.3203413 | -0.3442942 | 0.2024410 | -0.2531243 | 0.6035853 |
PC 37:4 | 0.1275322 | 0.5233561 | 0.0246541 | 0.6655766 | -0.0673621 | 0.7161985 | 0.0031324 | 0.9867628 | -0.1378566 | 0.6414366 | -0.1409890 | 0.6696575 | -0.4345487 | 0.2998244 | -0.3711438 | 0.3774085 | -0.7243307 | 0.4486174 |
TG 16:0_18:1_18:1 | 0.7529669 | 0.0064631 | 0.1080660 | 0.1642251 | -0.0902938 | 0.7191172 | -0.1261135 | 0.6222754 | -0.0544741 | 0.8919103 | 0.0716393 | 0.8728374 | -0.5878280 | 0.4072404 | -0.6332541 | 0.3810271 | -0.8491409 | 0.7401926 |
TG 16:0_18:1_20:4 | 2.3165907 | 0.0000006 | 0.1264475 | 0.3048595 | 0.1410660 | 0.7238727 | -0.0459679 | 0.9100468 | 0.3280999 | 0.6070799 | 0.3740678 | 0.5995155 | -0.6502155 | 0.9323474 | -0.8525275 | 0.7605916 | -0.9357430 | 1.5919428 |
ACar 16:0 | -0.0643705 | 0.7636358 | 0.0481601 | 0.4315885 | -0.0685020 | 0.7302306 | -0.1893764 | 0.3507525 | 0.0523725 | 0.8688653 | 0.2417489 | 0.4954365 | -0.4621942 | 0.3251903 | -0.5906701 | 0.2119173 | -0.5764368 | 0.6811819 |
TG 16:0_16:0_18:0 | 0.2107963 | 0.7649965 | 0.1346525 | 0.5042348 | 0.2238786 | 0.7322823 | 0.1141097 | 0.8641424 | 0.3336475 | 0.7495684 | 0.2195378 | 0.8507536 | -1.0730560 | 1.5208132 | -1.2078661 | 1.4360855 | -1.7378297 | 2.4051247 |
Cer 18:1_24:1;O2 | 0.2208977 | 0.2912283 | 0.0781665 | 0.1917848 | -0.0629767 | 0.7450138 | -0.0034686 | 0.9859753 | -0.1224849 | 0.6921331 | -0.1190164 | 0.7303652 | -0.4467400 | 0.3207865 | -0.3946415 | 0.3877044 | -0.7354356 | 0.4904657 |
PC 16:0_22:4 | 1.1525519 | 0.0000033 | 0.1130892 | 0.0909356 | -0.0684101 | 0.7509953 | -0.2108504 | 0.3384603 | 0.0740301 | 0.8297423 | 0.2848806 | 0.4592784 | -0.4956595 | 0.3588392 | -0.6463491 | 0.2246483 | -0.6083769 | 0.7564372 |
PC 16:0_18:0 | 0.1930810 | 0.1496487 | 0.0726627 | 0.0587633 | -0.0387811 | 0.7537659 | -0.1319822 | 0.2963759 | 0.0544201 | 0.7828501 | 0.1864023 | 0.3987116 | -0.2838044 | 0.2062423 | -0.3817364 | 0.1177720 | -0.3369337 | 0.4457739 |
TG 18:1_18:1_18:2 | 0.9601199 | 0.0000314 | 0.0063353 | 0.9192916 | -0.0550777 | 0.7863306 | -0.0157584 | 0.9393355 | -0.0943971 | 0.7711496 | -0.0786386 | 0.8281671 | -0.4577801 | 0.3476247 | -0.4262362 | 0.3947194 | -0.7375975 | 0.5488034 |
TG 12:0_14:0_18:1 | 2.5049683 | 0.0000127 | -0.2240190 | 0.1502470 | -0.1249493 | 0.8037868 | -0.1153620 | 0.8219418 | -0.1345365 | 0.8669734 | -0.0191745 | 0.9829395 | -1.1217637 | 0.8718652 | -1.1314230 | 0.9006990 | -1.7266588 | 1.4575858 |
Cer 18:1_23:0;O2 | 0.3471614 | 0.0564424 | 0.1472457 | 0.0051490 | 0.0379504 | 0.8203291 | 0.1296312 | 0.4472992 | -0.0537304 | 0.8404384 | -0.1833616 | 0.5387105 | -0.2932487 | 0.3691495 | -0.2079627 | 0.4672251 | -0.5827250 | 0.4752642 |
PC 16:0_16:0 | 0.1198465 | 0.1990888 | 0.0308512 | 0.2466833 | -0.0193891 | 0.8220257 | -0.1115210 | 0.2064108 | 0.0727429 | 0.5974895 | 0.1842639 | 0.2325254 | -0.1902420 | 0.1514639 | -0.2856728 | 0.0626307 | -0.2001452 | 0.3456309 |
SM 39:1;O2 | -0.0064800 | 0.9686910 | 0.1426967 | 0.0031903 | 0.0300196 | 0.8446692 | -0.0669873 | 0.6681195 | 0.1270265 | 0.6039668 | 0.1940138 | 0.4782730 | -0.2736941 | 0.3337333 | -0.3765651 | 0.2425905 | -0.3580681 | 0.6121211 |
PC 18:1_20:3 | 0.8744827 | 0.0000515 | 0.0817744 | 0.1661696 | 0.0328986 | 0.8631145 | -0.0256134 | 0.8952264 | 0.0914106 | 0.7642701 | 0.1170240 | 0.7309847 | -0.3453451 | 0.4111422 | -0.4111602 | 0.3599334 | -0.5127241 | 0.6955452 |
SM 32:0;O2 | -1.0817561 | 0.0000376 | 0.0897944 | 0.2095348 | 0.0392223 | 0.8654218 | -0.5350204 | 0.0254313 | 0.6134650 | 0.0996682 | 1.1484854 | 0.0064832 | -0.4195362 | 0.4979808 | -1.0026366 | -0.0674042 | -0.1192688 | 1.3461987 |
TG 18:1_18:1_18:1 | 1.1542117 | 0.0000085 | 0.0277016 | 0.6914028 | 0.0382461 | 0.8659964 | 0.1305103 | 0.5724589 | -0.0540181 | 0.8813789 | -0.1845284 | 0.6481704 | -0.4110315 | 0.4875237 | -0.3274420 | 0.5884625 | -0.7716088 | 0.6635727 |
TG 12:0_16:0_18:1 | 0.2921299 | 0.6459971 | 0.0121761 | 0.9465246 | 0.0945491 | 0.8726521 | -1.1396664 | 0.0606609 | 1.3287645 | 0.1608257 | 2.4684309 | 0.0208925 | -1.0747177 | 1.2638158 | -2.3315094 | 0.0521766 | -0.5388003 | 3.1963293 |
ACar 18:1 | 0.3910254 | 0.0559603 | -0.0124452 | 0.8295506 | 0.0290142 | 0.8772281 | -0.0103851 | 0.9567354 | 0.0684134 | 0.8196128 | 0.0787985 | 0.8140152 | -0.3432860 | 0.4013144 | -0.3898737 | 0.3691035 | -0.5262283 | 0.6630551 |
TG 14:0_16:0_18:2 | -0.0946287 | 0.8450398 | 0.0713175 | 0.6062813 | 0.0522341 | 0.9074391 | -0.9098825 | 0.0494805 | 1.0143507 | 0.1598889 | 1.9242332 | 0.0181553 | -0.8383384 | 0.9428066 | -1.8176502 | -0.0021148 | -0.4080808 | 2.4367823 |
TG 18:1_18:2_20:4 | 2.0764086 | 0.0000006 | 0.0991247 | 0.3688893 | 0.0229120 | 0.9489085 | -0.1311290 | 0.7191118 | 0.1769530 | 0.7567459 | 0.3080819 | 0.6292181 | -0.6859299 | 0.7317538 | -0.8536572 | 0.5913992 | -0.9552165 | 1.3091224 |
ACar 18:2 | -0.3483027 | 0.0967455 | -0.0411671 | 0.4889703 | -0.0102587 | 0.9576152 | -0.1922349 | 0.3299077 | 0.1717175 | 0.5778909 | 0.3639523 | 0.2919505 | -0.3929179 | 0.3724005 | -0.5822825 | 0.1978127 | -0.4394697 | 0.7829046 |
TG 15:0_16:0_18:2 | 0.2947487 | 0.4177001 | 0.2010116 | 0.0551384 | -0.0093209 | 0.9779248 | -0.1294716 | 0.7062316 | 0.1108299 | 0.8368139 | 0.2403015 | 0.6892698 | -0.6771001 | 0.6584584 | -0.8101443 | 0.5512011 | -0.9557539 | 1.1774137 |
DG 16:0_18:1 | 0.2029068 | 0.5286402 | 0.1087151 | 0.2385951 | -0.0056384 | 0.9849288 | -0.2598922 | 0.3940070 | 0.2486153 | 0.6023211 | 0.5085075 | 0.3407119 | -0.5973668 | 0.5860899 | -0.8630457 | 0.3432613 | -0.6964993 | 1.1937300 |
PC 16:1_18:2 | 0.5004743 | 0.0142263 | 0.0204284 | 0.7214435 | -0.0021787 | 0.9906588 | 0.0914981 | 0.6297782 | -0.0958555 | 0.7471495 | -0.1873537 | 0.5727317 | -0.3710916 | 0.3667342 | -0.2845378 | 0.4675340 | -0.6850870 | 0.4933760 |
TG 14:0_16:0_18:1 | -0.4176484 | 0.3632688 | 0.1446893 | 0.2706821 | -0.0000718 | 0.9998654 | -0.8651800 | 0.0484902 | 0.8650365 | 0.2049648 | 1.7302165 | 0.0246035 | -0.8431057 | 0.8429622 | -1.7244913 | -0.0058687 | -0.4814661 | 2.2115390 |
Open code
if(file.exists('gitignore/lm_results/result_lipid_VGdur_training.csv') == FALSE){
write.table(result_lipid,
'gitignore/lm_results/result_lipid_VGdur_training.csv', row.names = FALSE)
}
7.3 Validation cohort
Open code
<- data_lipid_valid2 %>%
data_analysis_lipid filter(Diet == 'VEGAN',
!is.na(Diet_duration)) %>%
::mutate(Diet_duration = as.numeric(as.character(Diet_duration))) %>%
dplyr::select(
dplyr
Diet_duration, Age,all_of(diet_sensitive_lipids_narrowed)
)
summary(data_analysis_lipid[ , 1:11])
## Diet_duration Age ACar 16:0 ACar 18:1
## Min. : 0.170 Min. :21.54 Min. : 3105 Min. : 16654
## 1st Qu.: 4.000 1st Qu.:31.62 1st Qu.:12651 1st Qu.: 37648
## Median : 6.500 Median :34.10 Median :16845 Median : 49521
## Mean : 7.142 Mean :34.51 Mean :17413 Mean : 50265
## 3rd Qu.:10.000 3rd Qu.:37.08 3rd Qu.:20224 3rd Qu.: 59644
## Max. :25.000 Max. :50.88 Max. :37452 Max. :114091
## NA's :1 NA's :1
## ACar 18:2 CE 16:1 CE 20:3 CE 20:4
## Min. : 4520 Min. : 1195 Min. : 1843 Min. : 504
## 1st Qu.:21125 1st Qu.: 3245 1st Qu.: 22605 1st Qu.: 204587
## Median :28968 Median : 6017 Median : 32382 Median : 405948
## Mean :31137 Mean : 9624 Mean : 38968 Mean : 479632
## 3rd Qu.:38109 3rd Qu.:10348 3rd Qu.: 52312 3rd Qu.: 634600
## Max. :79836 Max. :95976 Max. :108286 Max. :2408382
## NA's :1 NA's :1 NA's :1 NA's :1
## CE 22:6 Cer 18:1_22:0;O2 Cer 18:1_23:0;O2
## Min. : 2533 Min. :16493 Min. : 735377
## 1st Qu.: 13267 1st Qu.:27059 1st Qu.:1206212
## Median : 21221 Median :35339 Median :1581220
## Mean : 28100 Mean :35483 Mean :1628372
## 3rd Qu.: 33800 3rd Qu.:42316 3rd Qu.:1926513
## Max. :189426 Max. :61129 Max. :3113973
## NA's :1
7.3.0.1 Define number of lipid and covariates
Open code
<- 2
n_covarites <- ncol(data_analysis_lipid) - n_covarites n_features
7.3.0.2 Create empty objects
Open code
<- vector('double', n_features)
outcome <- vector('double', n_features)
logFD_VGduration <- vector('double', n_features)
P_VGduration <- vector('double', n_features)
logFD_Age <- vector('double', n_features)
P_Age <- vector('double', n_features)
CI_L_VGduration <- vector('double', n_features) CI_U_VGduration
7.3.0.3 Estimate over outcomes
Open code
for (i in 1:n_features) {
## define variable
$outcome <- data_analysis_lipid[, (i + n_covarites)]
data_analysis_lipid
## fit model
<- lm(outcome ~ Diet_duration + Age,
model data = data_analysis_lipid %>%
mutate(Diet_duration = (Diet_duration)/10,
outcome = trans_lipid(outcome),
Age = (Age-33)/10))
## save results
<- names(data_analysis_lipid)[i + n_covarites]
outcome[i]
## diet effect
<- confint(model)
tr
<- tr[which(row.names(tr) == "Diet_duration"), ][1]
CI_L_VGduration[i] <- tr[which(row.names(tr) == "Diet_duration"), ][2]
CI_U_VGduration[i]
<- summary(model)$coefficients[
logFD_VGduration[i] which(
names(model$coefficients) == "Diet_duration"
1
),
]
<- summary(model)$coefficients[
P_VGduration[i] which(
names(model$coefficients) == "Diet_duration"
4
),
]
<- summary(model)$coefficients[
logFD_Age[i] which(
names(model$coefficients) == "Age"
1
),
]
<- summary(model)$coefficients[
P_Age[i] which(
names(model$coefficients) == "Age"
4
),
] }
7.3.0.4 Results table
Open code
<- data.frame(
result_lipid_val
outcome,
logFD_VGduration, P_VGduration,
CI_L_VGduration, CI_U_VGduration,
logFD_Age, P_Age
)
::kable(result_lipid_val,
kableExtracaption = "Results of linear models estimating the effect of vegan diet status duration and age on log2-trasformed lipid levels in Czech validation cohort. Only lipids lipids with significantly different levels between diet groups in training cohorts (FDR < 0.05, average effect across both training cohorts) were included. `logFD` denotes estimated effects (regression coefficient), i.e. expected change in log2 lipid level per +10 years of vegan diet and age, respectively. `P`: p-value, and `CI_L` and `CI_U` represent the lower and upper bounds of the 95% confidence interval, respectively. All estimates in a single row are based on a single model"
)
outcome | logFD_VGduration | P_VGduration | CI_L_VGduration | CI_U_VGduration | logFD_Age | P_Age |
---|---|---|---|---|---|---|
ACar 16:0 | 0.2002329 | 0.2516852 | -0.1449544 | 0.5454202 | -0.0108579 | 0.9358382 |
ACar 18:1 | 0.1497714 | 0.3725798 | -0.1827091 | 0.4822519 | 0.1042645 | 0.4231727 |
ACar 18:2 | 0.4060170 | 0.0651662 | -0.0261240 | 0.8381580 | 0.2659019 | 0.1181930 |
CE 16:1 | -0.2393473 | 0.5455739 | -1.0242836 | 0.5455890 | -0.0097207 | 0.9747158 |
CE 20:3 | -0.0575209 | 0.8713129 | -0.7621231 | 0.6470813 | -0.0384021 | 0.8890723 |
CE 20:4 | -0.4739992 | 0.6429068 | -2.5014171 | 1.5534188 | -0.2657013 | 0.7374094 |
CE 22:6 | -0.5684598 | 0.1045788 | -1.2576149 | 0.1206954 | 0.1246949 | 0.6435376 |
Cer 18:1_22:0;O2 | -0.0201622 | 0.8810419 | -0.2874701 | 0.2471457 | 0.0486967 | 0.6352381 |
Cer 18:1_23:0;O2 | -0.1123454 | 0.4408576 | -0.4010144 | 0.1763235 | 0.1170558 | 0.2923756 |
Cer 18:1_24:0;O2 | -0.0737621 | 0.6238426 | -0.3719685 | 0.2244443 | 0.1520137 | 0.1865159 |
Cer 18:1_24:1;O2 | -0.0853714 | 0.6205958 | -0.4273035 | 0.2565608 | 0.0299679 | 0.8193815 |
DG 16:0_18:1 | -0.5996116 | 0.0952333 | -1.3064252 | 0.1072019 | 0.4563129 | 0.1014212 |
LPC 18:2/0:0 | 0.0261630 | 0.8961300 | -0.3715107 | 0.4238367 | 0.2540322 | 0.1050070 |
LPC 20:1/0:0 | 0.0553695 | 0.7777656 | -0.3338537 | 0.4445927 | 0.3274332 | 0.0338501 |
LPC 20:2/0:0 | 0.2411377 | 0.1648779 | -0.1012754 | 0.5835507 | 0.3446595 | 0.0116218 |
LPC 20:5/0:0 | 0.0053583 | 0.9850481 | -0.5620439 | 0.5727605 | 0.2690298 | 0.2271328 |
LPC 22:6/0:0 | 0.1131122 | 0.5770376 | -0.2889618 | 0.5151862 | 0.0335758 | 0.8307911 |
PC 12:0_16:0 | 0.0135789 | 0.7822187 | -0.0838795 | 0.1110372 | 0.0153501 | 0.6870284 |
PC 14:0_16:0 | 0.1466922 | 0.6336215 | -0.4636148 | 0.7569992 | -0.0020921 | 0.9930001 |
PC 14:0_17:0 | -0.2190648 | 0.2077570 | -0.5623913 | 0.1242616 | 0.0077429 | 0.9539729 |
PC 14:0_20:4 | -0.1730002 | 0.5102714 | -0.6936979 | 0.3476976 | 0.1829976 | 0.3696505 |
PC 14:0_22:6 | -0.1474656 | 0.6089432 | -0.7190164 | 0.4240851 | 0.1676813 | 0.4535624 |
PC 15:0_18:2 | -0.0524513 | 0.7341240 | -0.3587999 | 0.2538972 | -0.0286941 | 0.8105838 |
PC 15:0_20:3 | -0.2453673 | 0.3724080 | -0.7898662 | 0.2991317 | -0.0176458 | 0.9339004 |
PC 15:0_20:4 | -0.3740808 | 0.0592587 | -0.7631346 | 0.0149730 | 0.1770565 | 0.2461775 |
PC 16:0_16:0 | -0.2920096 | 0.0719636 | -0.6107091 | 0.0266899 | 0.0945786 | 0.4483889 |
PC 16:0_16:1 | -0.0231040 | 0.9355831 | -0.5903767 | 0.5441686 | 0.0069193 | 0.9750966 |
PC 16:0_18:0 | -0.1452168 | 0.2629878 | -0.4016288 | 0.1111952 | 0.1319465 | 0.1902922 |
PC 16:0_18:1 | -0.1383699 | 0.4029604 | -0.4659534 | 0.1892137 | 0.0336193 | 0.7928600 |
PC 16:0_20:3 (2) | -0.1702313 | 0.4837443 | -0.6518673 | 0.3114047 | 0.1195126 | 0.5259241 |
PC 16:0_20:5 | -0.3636391 | 0.1549701 | -0.8677444 | 0.1404662 | 0.2984784 | 0.1324998 |
PC 16:0_22:4 | -0.0448397 | 0.8172821 | -0.4299129 | 0.3402335 | 0.1271143 | 0.3992820 |
PC 16:0_22:6 | -0.5146326 | 0.0292143 | -0.9758257 | -0.0534394 | 0.0625356 | 0.7286701 |
PC 16:1_18:2 | 0.4494407 | 0.3216828 | -0.4477120 | 1.3465934 | -0.9784905 | 0.0064334 |
PC 17:0_18:1 | -0.2191765 | 0.0829206 | -0.4675889 | 0.0292359 | -0.0244267 | 0.8013436 |
PC 18:0_18:1 | -0.1502116 | 0.3707655 | -0.4824003 | 0.1819771 | -0.0138155 | 0.9152362 |
PC 18:0_22:5 | -0.1923947 | 0.2204263 | -0.5024636 | 0.1176741 | 0.2780432 | 0.0239838 |
PC 18:0_22:6 | -0.2681355 | 0.1857039 | -0.6679468 | 0.1316759 | 0.0127866 | 0.9347668 |
PC 18:1_18:1 | -0.2571897 | 0.1396903 | -0.6003328 | 0.0859534 | 0.0546066 | 0.6839629 |
PC 18:1_18:2 | -0.1714662 | 0.3408590 | -0.5276733 | 0.1847410 | 0.2736221 | 0.0521252 |
PC 18:1_20:3 | -0.1091854 | 0.5920988 | -0.5132106 | 0.2948397 | 0.1652206 | 0.2969821 |
PC 18:1_20:4 | -0.0633083 | 0.7241763 | -0.4191870 | 0.2925703 | 0.2239555 | 0.1101866 |
PC 18:2_18:2 | -0.2261089 | 0.1585235 | -0.5422924 | 0.0900747 | 0.0971760 | 0.4324436 |
PC 18:2_18:3 | -0.3996579 | 0.0798421 | -0.8479810 | 0.0486652 | 0.3186570 | 0.0718400 |
PC 33:1 | -0.1644012 | 0.3484732 | -0.5113961 | 0.1825936 | -0.0930956 | 0.4929662 |
PC 37:4 | -0.3398433 | 0.0361548 | -0.6571877 | -0.0224989 | 0.2519338 | 0.0449085 |
PC 37:6 | -0.3535679 | 0.1393382 | -0.8248736 | 0.1177378 | 0.0081421 | 0.9647345 |
PC 38:5 | -0.4422097 | 0.0224419 | -0.8201926 | -0.0642268 | 0.2880285 | 0.0539869 |
PC 42:5 | -0.1613297 | 0.4629247 | -0.5967276 | 0.2740682 | 0.0855392 | 0.6153877 |
SM 31:1;O2 | -0.3690965 | 0.0808682 | -0.7845579 | 0.0463650 | 0.1743462 | 0.2759877 |
SM 32:0;O2 | -0.2774461 | 0.1599113 | -0.6666977 | 0.1118056 | -0.0369782 | 0.8045239 |
SM 32:2;O2 | -0.3114585 | 0.0883728 | -0.6707708 | 0.0478538 | 0.0999384 | 0.4693359 |
SM 33:1;O2 | -0.2993774 | 0.0452149 | -0.5922148 | -0.0065400 | 0.0631107 | 0.5747829 |
SM 35:2;O2 | -0.4061385 | 0.0489765 | -0.8104100 | -0.0018670 | 0.1516794 | 0.3297017 |
SM 36:0;O2 | -0.2058760 | 0.5580837 | -0.9025676 | 0.4908157 | -0.2602312 | 0.3318432 |
SM 36:2;O2 | -0.2169125 | 0.1302071 | -0.4992504 | 0.0654253 | 0.0199476 | 0.8539487 |
SM 38:1;O2 | -0.1551470 | 0.2890837 | -0.4444847 | 0.1341907 | 0.0032600 | 0.9765777 |
SM 39:1;O2 | -0.2987730 | 0.0529542 | -0.6014478 | 0.0039017 | 0.0869924 | 0.4547002 |
SM 41:1;O2 | -0.2971419 | 0.0648989 | -0.6130752 | 0.0187913 | 0.1345764 | 0.2688749 |
SM 43:1;O2 | -0.7415400 | 0.0109741 | -1.3081404 | -0.1749397 | 0.0716822 | 0.7417395 |
SM 43:2;O2 | -1.1668568 | 0.0025507 | -1.9120737 | -0.4216398 | -0.0713239 | 0.8030923 |
SM 43:2;O2 (2) | -0.1945990 | 0.3371286 | -0.5956856 | 0.2064877 | 0.1333748 | 0.3873403 |
TG 12:0_14:0_18:1 | -0.0330125 | 0.9438371 | -0.9629391 | 0.8969141 | -0.0474005 | 0.8962131 |
TG 12:0_14:0_18:2 | 0.3493235 | 0.5073271 | -0.6947746 | 1.3934217 | -0.3243574 | 0.4275121 |
TG 12:0_16:0_18:1 | 0.1593311 | 0.7254139 | -0.7405377 | 1.0592000 | -0.2148654 | 0.5416217 |
TG 14:0_16:0_16:0 | -0.1099065 | 0.7163210 | -0.7098682 | 0.4900551 | -0.3459400 | 0.1427835 |
TG 14:0_16:0_18:1 | 0.1016002 | 0.8139941 | -0.7552096 | 0.9584100 | -0.1065911 | 0.7502685 |
TG 14:0_16:0_18:2 | 0.1011717 | 0.8005699 | -0.6934602 | 0.8958036 | 0.1016602 | 0.7434346 |
TG 15:0_16:0_18:2 | -0.0311329 | 0.9262187 | -0.6982884 | 0.6360226 | -0.3572331 | 0.1731309 |
TG 15:0_18:1_18:2 | -0.1857974 | 0.4609569 | -0.6850228 | 0.3134280 | 0.0691498 | 0.7230714 |
TG 16:0_16:0_16:0 | -0.2663593 | 0.4026483 | -0.8965311 | 0.3638125 | -0.3624022 | 0.1438244 |
TG 16:0_16:0_18:0 | -0.1787784 | 0.5188927 | -0.7280447 | 0.3704879 | -0.1220738 | 0.5698916 |
TG 16:0_16:0_18:1 | -0.1216314 | 0.7592961 | -0.9091558 | 0.6658930 | -0.1191680 | 0.6986922 |
TG 16:0_16:1_18:1 | 1.2876450 | 0.4140617 | -1.8341891 | 4.4094790 | -0.4924338 | 0.6865881 |
TG 16:0_17:0_18:1 | -0.1864501 | 0.5363656 | -0.7841199 | 0.4112197 | -0.5023279 | 0.0340090 |
TG 16:0_18:0_18:1 | -0.1113751 | 0.7557415 | -0.8216550 | 0.5989049 | -0.2905406 | 0.2968479 |
TG 16:0_18:1_18:1 | -0.2144118 | 0.4431592 | -0.7682077 | 0.3393841 | -0.0179505 | 0.9338876 |
TG 16:0_18:1_20:4 | -0.2943499 | 0.2710194 | -0.8229608 | 0.2342610 | 0.1254269 | 0.5441541 |
TG 16:0_18:1_22:6 | -0.6479987 | 0.1002709 | -1.4236174 | 0.1276200 | 0.0834186 | 0.7831711 |
TG 16:0_18:2_18:2 | 0.1198833 | 0.6842957 | -0.4649029 | 0.7046696 | 0.2424123 | 0.2904683 |
TG 17:0_18:1_18:1 | -0.3118499 | 0.2040642 | -0.7965877 | 0.1728880 | -0.0522966 | 0.7825124 |
TG 18:1_18:1_18:1 | -0.0848329 | 0.9130435 | -1.6264245 | 1.4567587 | -1.6303343 | 0.0081494 |
TG 18:1_18:1_18:2 | -0.1196989 | 0.5668366 | -0.5340203 | 0.2946224 | 0.3059881 | 0.0616384 |
TG 18:1_18:2_18:2 | 0.0206791 | 0.9317940 | -0.4587846 | 0.5001429 | 0.4788231 | 0.0122656 |
TG 18:1_18:2_18:3 | -0.3501035 | 0.1992873 | -0.8885074 | 0.1883004 | 0.5355836 | 0.0125955 |
TG 18:1_18:2_20:4 | -0.1953887 | 0.3409300 | -0.6013529 | 0.2105756 | 0.3348127 | 0.0374015 |
TG 18:2_18:2_18:3 | 0.1166303 | 0.7392568 | -0.5785057 | 0.8117663 | 0.6052193 | 0.0282504 |
TG 54:6 | 0.2164407 | 0.1414655 | -0.0736475 | 0.5065289 | -0.2234289 | 0.0515142 |
Open code
if (file.exists("gitignore/lm_results/result_lipids_VGdur_valid.csv") == FALSE) {
write.table(result_lipid_val,
"gitignore/lm_results/result_lipids_VGdur_valid.csv",
row.names = FALSE
) }
7.4 Forest plot
7.4.1 Prepare data
Open code
## subset result tables
<- result_lipid %>%
result_lipid_subset filter(outcome %in% diet_sensitive_lipids_narrowed)
<- result_lipid_val %>%
result_lipid_val_subset filter(outcome %in% diet_sensitive_lipids_narrowed)
## create a data frame
<- data.frame(
data_forest outcome = rep(diet_sensitive_lipids_narrowed, 3),
beta = c(
$logFD_Diet_duration_inCZ,
result_lipid_subset$logFD_Diet_duration_inIT,
result_lipid_subset$logFD_VGduration
result_lipid_val_subset
),lower = c(
$CI_L_Diet_duration_inCZ,
result_lipid_subset$CI_L_Diet_duration_inIT,
result_lipid_subset$CI_L_VGduration
result_lipid_val_subset
),upper = c(
$CI_U_Diet_duration_inCZ,
result_lipid_subset$CI_U_Diet_duration_inIT,
result_lipid_subset$CI_U_VGduration
result_lipid_val_subset
),dataset = c(
rep("CZ", len),
rep("IT", len),
rep("Validation", len)
)
)
<- data_forest %>%
data_forest mutate(in_winner = if_else(outcome %in% winners, TRUE, FALSE, missing = FALSE)) %>%
left_join(
%>% mutate(outcome = lipid) %>% select(-lipid),
elacoef by = 'outcome') %>%
mutate(outcome = factor(outcome, levels = validation_order))
7.4.1.1 Plotting
Open code
<- "forest_plot_lipid_VGduration"
plotac <- "gitignore/figures"
path
<- c("CZ" = "#150999", "IT" = "#329243", "Validation" = "grey60")
colors
assign(plotac, ggplot(
aes(x = outcome, y = beta, ymin = lower, ymax = upper, color = dataset)
data_forest, +
) geom_pointrange(position = position_dodge(width = 0.5), size = 0.5) +
geom_hline(yintercept = 0, color = "black") +
geom_errorbar(position = position_dodge(width = 0.5), width = 0.2) +
scale_color_manual(values = colors) +
labs(
y = "Effect of vegan duration (+10y) on log2 lipid level",
x = "Outcome",
color = "Dataset"
+
) theme_minimal() +
coord_flip() +
scale_x_discrete(
labels = setNames(
ifelse(data_forest$in_winner,
paste0("**", data_forest$outcome, "**"),
as.character(data_forest$outcome)
$outcome
), data_forest
)+
) theme(
axis.text.x = element_text(size = 10),
axis.text.y = ggtext::element_markdown(size = 10),
axis.title.x = element_text(size = 12),
axis.title.y = element_text(size = 12),
legend.position = "bottom"
)
)
get(plotac)
Diet_duration
, Country
, their interaction (Diet_duration x Country
), and Age
as fixed-effect predictors. Age
was included as it correlates with Diet_duration
and could act as a confounder. In the Czech validation cohort, Diet_duration
and Age
were fixed-effect predictors. Diet-sensitive lipids are shown in bold, in the same order as in the forest plot of vegan–omnivore differencesOpen code
if (file.exists(paste0(path, "/", plotac, ".svg")) == FALSE) {
ggsave(
path = paste0(path),
filename = plotac,
device = "svg",
width = 7,
height = 16
) }
7.5 Lipids changing with vegan diet duration
7.5.1 Table
Open code
::kable(
kableExtra%>%
result_lipid filter(P_Diet_duration_avg < 0.05) %>%
select(
outcome, P_Diet_duration_avg,
logFD_Diet_duration_inCZ, logFD_Diet_duration_inIT%>%
) left_join(result_lipid_val, by = "outcome") %>%
select(
outcome, P_Diet_duration_avg, P_VGduration,
logFD_Diet_duration_inCZ, logFD_Diet_duration_inIT, logFD_VGduration%>%
) arrange(P_VGduration) %>%
rename(
`P[VG duration, train]` = `P_Diet_duration_avg`,
`P[VG duration, val]` = `P_VGduration`,
`logFD[VGduration, CZ` = `logFD_Diet_duration_inCZ`,
`logFD[VGduration, IT` = `logFD_Diet_duration_inIT`,
`logFD[VGduration, val]` = `logFD_VGduration`
),caption = 'Lipids associated with the duration of a vegan diet in the training (Czech and Italian) and validation cohorts. Columns show p-values for the effect of vegan diet duration in training (`train`, average effect across both training cohorts) and validation data (`val`), together with log2 fold changes per +10 years of vegan diet within the Czech, Italian, and validation cohorts. Only lipids with significant associations with diet (FDR < 0.05) were included in the analyses, and only those with a significant association with vegan diet duration in training cohorts (p-value for the average effect across both countries < 0.05) are shown')
outcome | P[VG duration, train] | P[VG duration, val] | logFD[VGduration, CZ | logFD[VGduration, IT | logFD[VGduration, val] |
---|---|---|---|---|---|
SM 43:1;O2 | 0.0096077 | 0.0109741 | -0.6940443 | -1.3006009 | -0.7415400 |
SM 33:1;O2 | 0.0467280 | 0.0452149 | -0.2427320 | -0.2293327 | -0.2993774 |
TG 16:0_18:1_22:6 | 0.0473005 | 0.1002709 | -0.4984612 | -0.8186249 | -0.6479987 |
PC 37:6 | 0.0173581 | 0.1393382 | -0.5010994 | -0.9983619 | -0.3535679 |
PC 14:0_17:0 | 0.0287767 | 0.2077570 | -0.4311913 | -0.3964272 | -0.2190648 |
SM 43:2;O2 (2) | 0.0030194 | 0.3371286 | -0.2410349 | -1.9641711 | -0.1945990 |
PC 33:1 | 0.0101934 | 0.3484732 | -0.3969565 | -0.5640754 | -0.1644012 |
PC 15:0_20:3 | 0.0306704 | 0.3724080 | -0.4978392 | -0.5293839 | -0.2453673 |
SM 36:0;O2 | 0.0416489 | 0.5580837 | -0.3683099 | -0.5856239 | -0.2058760 |
Open code
<- result_lipid %>%
lipids_vegdur_sensitive filter(P_Diet_duration_avg < 0.05) %>%
select(
outcome, P_Diet_duration_avg,
logFD_Diet_duration_inCZ, logFD_Diet_duration_inIT%>%
) left_join(result_lipid_val, by = "outcome") %>%
select(
outcome, P_Diet_duration_avg, P_VGduration,
logFD_Diet_duration_inCZ, logFD_Diet_duration_inIT, logFD_VGduration%>%
) arrange(P_VGduration) %>%
select(outcome) %>% pull()
\(\Rightarrow\) Some lipids, especially a few strongly related to an omnivorous diet, appear to be negatively associated with the duration on a vegan diet. The lower tail of the lipids (those on the bottom of the forest plot, i.e., those with the strongest negative association with the vegan diet) tends to be negatively associated with the duration of the vegan diet in vegans.
Specifically:
SM 43:1;O2
and SM 33:1;O2
: Significant Diet duration
effect (averaged over both countries), consistent and also statistically significant in the validation cohort. and also statistically significant in the validation cohort.
TG 16:0_18:1_22:6
, PC 37:6
, PC 14:0_17:0
, SM 43:2;O2 (2)
, PC 33:1
, PC 15:0_20:3
and SM 36:0;O2
: Significant Diet duration
effect (averaged over both countries), consistent but not statistically significant in the validation cohort.
7.5.2 Figure
7.5.2.1 Plotting
Open code
<- "forest_plot_lipid_VGduration_selected"
plotac <- "gitignore/figures"
path
<- c("CZ" = "#150999", "IT" = "#329243", "Validation" = "grey60")
colors
assign(plotac, ggplot(
%>% filter(outcome %in% lipids_vegdur_sensitive),
data_forest aes(x = outcome, y = beta, ymin = lower, ymax = upper, color = dataset)
+
) geom_pointrange(position = position_dodge(width = 0.5), size = 0.5) +
geom_hline(yintercept = 0, color = "black") +
geom_errorbar(position = position_dodge(width = 0.5), width = 0.2) +
scale_color_manual(values = colors) +
labs(
y = "Effect of vegan duration (+10y) on log2 lipid level",
x = "Outcome",
color = "Dataset"
+
) theme_minimal() +
coord_flip() +
scale_x_discrete(
labels = setNames(
ifelse(data_forest$in_winner,
paste0("**", data_forest$outcome, "**"),
as.character(data_forest$outcome)
$outcome
), data_forest
)+
) theme(
axis.text.x = element_text(size = 10),
axis.text.y = ggtext::element_markdown(size = 10),
axis.title.x = element_text(size = 12),
axis.title.y = element_text(size = 12),
legend.position = "bottom"
)
)
get(plotac)
Diet_duration
, Country
, their interaction (Diet_duration x Country
), and Age
as fixed-effect predictors. Age
was included as it correlates with Diet_duration
and could act as a confounder. In the Czech validation cohort, Diet_duration
and Age
were fixed-effect predictors. Diet-sensitive lipids are shown in bold, in the same order as in the forest plot of vegan–omnivore differencesOpen code
if (file.exists(paste0(path, "/", plotac, ".svg")) == FALSE) {
ggsave(
path = paste0(path),
filename = plotac,
device = "svg",
width = 7,
height = 5
) }
7.6 Age vs vegan diet duration
Lets look on detailed results for the two omnivores-related lipids whose level decreases with the duration of the vegan diet
Open code
::kable(
kableExtra%>% filter(grepl("SM 33:1;O2|SM 43:1;O2", outcome)),
result_lipid caption = 'Results of linear models, modelling the log2-transformed level of given lipid with vegan status duration (`Diet_duration`), `Country`, their interaction (`Diet_duration × Country`) and `Age` as predictors, using training data only (Czech and Italian vegan cohorts). Only the effect on the two omnivores-related lipids whose level decreases with the duration of the vegan diet are shown. Look above for the full table (all lipids) and detailed table description'
)
outcome | logFD_ITcountry_avg | P_ITcountry_avg | logFD_Age | P_Age | logFD_Diet_duration_avg | P_Diet_duration_avg | logFD_Diet_duration_inCZ | P_Diet_duration_inCZ | logFD_Diet_duration_inIT | P_Diet_duration_inIT | diet_country_int | P_diet_country_int | CI_L_Diet_duration_avg | CI_U_Diet_duration_avg | CI_L_Diet_duration_inCZ | CI_U_Diet_duration_inCZ | CI_L_Diet_duration_inIT | CI_U_Diet_duration_inIT |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SM 33:1;O2 | 0.1369351 | 0.2803237 | 0.1809195 | 0.0000027 | -0.2360324 | 0.0467280 | -0.2427320 | 0.0448505 | -0.2293327 | 0.2229531 | 0.0133993 | 0.9489255 | -0.4685687 | -0.0034961 | -0.4797581 | -0.0057059 | -0.6007421 | 0.1420766 |
SM 43:1;O2 | 0.0769943 | 0.8499034 | 0.4430337 | 0.0002495 | -0.9973226 | 0.0096077 | -0.6940443 | 0.0739939 | -1.3006009 | 0.0333213 | -0.6065566 | 0.3687421 | -1.7457151 | -0.2489301 | -1.4568868 | 0.0687981 | -2.4959411 | -0.1052608 |
Open code
::kable(
kableExtra%>% filter(grepl("SM 33:1;O2|SM 43:1;O2", outcome)),
result_lipid_val caption = 'Results of linear models, modelling the log2-transformed level of given lipid with vegan status duration (`Diet_duration`) and `Age` as predictors, using data from the validation cohort. Only the effect on the two omnivores-related lipids whose level decreases with the duration of the vegan diet are shown. Look above for the full table (all lipids) and detailed table description'
)
outcome | logFD_VGduration | P_VGduration | CI_L_VGduration | CI_U_VGduration | logFD_Age | P_Age |
---|---|---|---|---|---|---|
SM 33:1;O2 | -0.2993774 | 0.0452149 | -0.5922148 | -0.0065400 | 0.0631107 | 0.5747829 |
SM 43:1;O2 | -0.7415400 | 0.0109741 | -1.3081404 | -0.1749397 | 0.0716822 | 0.7417395 |
\(\Rightarrow\) Level of these lipids is affected with age in training cohort but not in the validation cohort
8 Reproducibility
Open code
sessionInfo()
## R version 4.4.3 (2025-02-28)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 22.04.5 LTS
##
## Matrix products: default
## BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=cs_CZ.UTF-8 LC_COLLATE=en_US.UTF-8
## [5] LC_MONETARY=cs_CZ.UTF-8 LC_MESSAGES=en_US.UTF-8
## [7] LC_PAPER=cs_CZ.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=cs_CZ.UTF-8 LC_IDENTIFICATION=C
##
## time zone: Europe/Prague
## tzcode source: system (glibc)
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] vegan_2.6-6.1 lattice_0.22-5 permute_0.9-7
## [4] zCompositions_1.5.0-4 truncnorm_1.0-8 NADA_1.6-1.1
## [7] survival_3.7-0 MicrobiomeStat_1.2 glmnet_4.1-8
## [10] pROC_1.18.0 arm_1.12-2 lme4_1.1-35.5
## [13] Matrix_1.7-0 MASS_7.3-65 car_3.1-2
## [16] carData_3.0-5 emmeans_1.10.4 brms_2.21.0
## [19] Rcpp_1.0.13 rms_6.8-1 Hmisc_5.1-3
## [22] glmmTMB_1.1.9 ggtext_0.1.2 ggdist_3.3.2
## [25] cowplot_1.1.1 ggpubr_0.4.0 sjPlot_2.8.16
## [28] kableExtra_1.4.0 flextable_0.9.6 gtsummary_2.0.2
## [31] compositions_2.0-8 janitor_2.2.0 stringi_1.8.7
## [34] lubridate_1.9.4 forcats_1.0.0 stringr_1.5.1
## [37] dplyr_1.1.4 purrr_1.0.4 readr_2.1.5
## [40] tidyr_1.3.1 tibble_3.3.0 ggplot2_3.5.1
## [43] tidyverse_1.3.1 readxl_1.3.1 openxlsx_4.2.8
## [46] RJDBC_0.2-10 rJava_1.0-11 DBI_1.2.3
##
## loaded via a namespace (and not attached):
## [1] fs_1.6.6 matrixStats_1.3.0 httr_1.4.2
## [4] insight_0.20.2 numDeriv_2016.8-1.1 tools_4.4.3
## [7] backports_1.5.0 utf8_1.2.6 sjlabelled_1.2.0
## [10] R6_2.6.1 mgcv_1.9-1 withr_3.0.2
## [13] Brobdingnag_1.2-7 prettyunits_1.2.0 gridExtra_2.3
## [16] bayesm_3.1-6 quantreg_5.98 cli_3.6.5
## [19] textshaping_0.3.6 performance_0.12.2 officer_0.6.6
## [22] sandwich_3.0-1 labeling_0.4.2 mvtnorm_1.1-3
## [25] robustbase_0.93-9 polspline_1.1.25 ggridges_0.5.3
## [28] askpass_1.1 QuickJSR_1.3.1 commonmark_1.9.1
## [31] systemfonts_1.0.4 StanHeaders_2.32.10 foreign_0.8-90
## [34] gfonts_0.2.0 svglite_2.1.3 rstudioapi_0.16.0
## [37] httpcode_0.3.0 generics_0.1.4 shape_1.4.6
## [40] distributional_0.4.0 zip_2.2.0 inline_0.3.19
## [43] loo_2.4.1 abind_1.4-5 lifecycle_1.0.4
## [46] multcomp_1.4-18 yaml_2.3.10 snakecase_0.11.1
## [49] grid_4.4.3 promises_1.2.0.1 crayon_1.5.3
## [52] haven_2.4.3 pillar_1.11.0 knitr_1.50
## [55] statip_0.2.3 boot_1.3-31 estimability_1.5.1
## [58] codetools_0.2-19 glue_1.7.0 V8_4.4.2
## [61] fontLiberation_0.1.0 data.table_1.15.4 vctrs_0.6.5
## [64] cellranger_1.1.0 gtable_0.3.0 assertthat_0.2.1
## [67] datawizard_0.12.2 xfun_0.52 mime_0.12
## [70] coda_0.19-4 modeest_2.4.0 timeDate_3043.102
## [73] iterators_1.0.14 statmod_1.4.36 TH.data_1.1-0
## [76] nlme_3.1-168 fontquiver_0.2.1 rstan_2.32.6
## [79] fBasics_4041.97 tensorA_0.36.2.1 TMB_1.9.14
## [82] rpart_4.1.24 colorspace_2.0-2 nnet_7.3-20
## [85] tidyselect_1.2.1 processx_3.8.4 timeSeries_4032.109
## [88] compiler_4.4.3 curl_6.4.0 rvest_1.0.2
## [91] htmlTable_2.4.0 SparseM_1.81 xml2_1.3.3
## [94] fontBitstreamVera_0.1.1 posterior_1.6.0 checkmate_2.3.2
## [97] scales_1.3.0 DEoptimR_1.0-10 callr_3.7.6
## [100] spatial_7.3-15 digest_0.6.37 minqa_1.2.4
## [103] rmarkdown_2.27 htmltools_0.5.8.1 pkgconfig_2.0.3
## [106] base64enc_0.1-3 stabledist_0.7-2 dbplyr_2.1.1
## [109] fastmap_1.2.0 rlang_1.1.6 htmlwidgets_1.6.4
## [112] shiny_1.9.1 farver_2.1.0 zoo_1.8-9
## [115] jsonlite_2.0.0 magrittr_2.0.3 Formula_1.2-4
## [118] bayesplot_1.8.1 munsell_0.5.0 gdtools_0.3.7
## [121] stable_1.1.6 plyr_1.8.6 pkgbuild_1.3.1
## [124] parallel_4.4.3 ggrepel_0.9.5 sjmisc_2.8.10
## [127] ggeffects_1.7.0 splines_4.4.3 gridtext_0.1.5
## [130] hms_1.1.3 sjstats_0.19.0 ps_1.7.7
## [133] uuid_1.0-3 markdown_1.13 ggsignif_0.6.3
## [136] stats4_4.4.3 rmutil_1.1.10 rstantools_2.1.1
## [139] crul_1.5.0 reprex_2.0.1 evaluate_1.0.4
## [142] RcppParallel_5.1.8 modelr_0.1.8 nloptr_2.0.0
## [145] tzdb_0.5.0 foreach_1.5.2 httpuv_1.6.5
## [148] MatrixModels_0.5-3 openssl_1.4.6 clue_0.3-65
## [151] broom_1.0.6 xtable_1.8-4 rstatix_0.7.0
## [154] later_1.3.0 viridisLite_0.4.0 ragg_1.4.0
## [157] lmerTest_3.1-3 cluster_2.1.8.1 timechange_0.3.0
## [160] bridgesampling_1.1-2