library(readxl)
## Warning: package 'readxl' was built under R version 4.5.3
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.5.3
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(tidyr)
## Warning: package 'tidyr' was built under R version 4.5.3
library(stringr)
## Warning: package 'stringr' was built under R version 4.5.3
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.3
library(ggrepel)
## Warning: package 'ggrepel' was built under R version 4.5.3
library(tibble)
## Warning: package 'tibble' was built under R version 4.5.3
library(pheatmap)
## Warning: package 'pheatmap' was built under R version 4.5.3
#2. Import positive-mode MS-DIAL data
file_path <- "C:/Users/norba/Downloads/postive mode height.xlsx"
#2. read positive _dim shows how big the data is _names show the names of the columns
msdial <- read_excel(
path = file_path,
sheet = "postive mode height",
skip = 4
)
## New names:
## • `blank` -> `blank...61`
## • `exudate` -> `exudate...62`
## • `FC` -> `FC...63`
## • `fungi_old` -> `fungi_old...64`
## • `leaf` -> `leaf...65`
## • `new_in` -> `new_in...66`
## • `new_out` -> `new_out...67`
## • `root` -> `root...68`
## • `Soil_control` -> `Soil_control...69`
## • `blank` -> `blank...70`
## • `exudate` -> `exudate...71`
## • `FC` -> `FC...72`
## • `fungi_old` -> `fungi_old...73`
## • `leaf` -> `leaf...74`
## • `new_in` -> `new_in...75`
## • `new_out` -> `new_out...76`
## • `root` -> `root...77`
## • `Soil_control` -> `Soil_control...78`
dim(msdial)
## [1] 5169 78
names(msdial)
## [1] "Alignment ID"
## [2] "Average Rt(min)"
## [3] "Average Mz"
## [4] "Metabolite name"
## [5] "Adduct type"
## [6] "Post curation result"
## [7] "Fill %"
## [8] "MS/MS assigned"
## [9] "Reference RT"
## [10] "Reference m/z"
## [11] "Formula"
## [12] "Ontology"
## [13] "INCHIKEY"
## [14] "SMILES"
## [15] "Annotation tag (VS1.0)"
## [16] "RT matched"
## [17] "m/z matched"
## [18] "MS/MS matched"
## [19] "Comment"
## [20] "Manually modified for quantification"
## [21] "Manually modified for annotation"
## [22] "Isotope tracking parent ID"
## [23] "Isotope tracking weight number"
## [24] "Total score"
## [25] "RT similarity"
## [26] "Dot product"
## [27] "Reverse dot product"
## [28] "Fragment presence %"
## [29] "S/N average"
## [30] "Spectrum reference file name"
## [31] "MS1 isotopic spectrum"
## [32] "MS/MS spectrum"
## [33] "blank_1"
## [34] "blank_2"
## [35] "blank_3"
## [36] "blank_4"
## [37] "exudate_1"
## [38] "exudate_2"
## [39] "exudate_3"
## [40] "FC_1"
## [41] "FC_2"
## [42] "FC_3"
## [43] "fungi_old_1"
## [44] "fungi_old_2"
## [45] "fungi_old_3"
## [46] "leaf_1"
## [47] "leaf_2"
## [48] "leaf_3"
## [49] "new_in_P08"
## [50] "new_in_P09"
## [51] "new_in_P10"
## [52] "new_out_P08"
## [53] "new_out_P09"
## [54] "new_out_P10"
## [55] "root_1"
## [56] "root_2"
## [57] "root_3"
## [58] "Soil_control_1"
## [59] "Soil_control_2"
## [60] "Soil_control_3"
## [61] "blank...61"
## [62] "exudate...62"
## [63] "FC...63"
## [64] "fungi_old...64"
## [65] "leaf...65"
## [66] "new_in...66"
## [67] "new_out...67"
## [68] "root...68"
## [69] "Soil_control...69"
## [70] "blank...70"
## [71] "exudate...71"
## [72] "FC...72"
## [73] "fungi_old...73"
## [74] "leaf...74"
## [75] "new_in...75"
## [76] "new_out...76"
## [77] "root...77"
## [78] "Soil_control...78"
#3. Identify sample-intensity columns
_These are the columns containing the actual MS-DIAL feature peak heights.
sample_columns <- c(
"blank_1", "blank_2", "blank_3", "blank_4",
"exudate_1", "exudate_2", "exudate_3",
"FC_1", "FC_2", "FC_3",
"fungi_old_1", "fungi_old_2", "fungi_old_3",
"leaf_1", "leaf_2", "leaf_3",
"new_in_P08", "new_in_P09", "new_in_P10",
"new_out_P08", "new_out_P09", "new_out_P10",
"root_1", "root_2", "root_3",
"Soil_control_1", "Soil_control_2", "Soil_control_3"
)
#Safety check: making sure every expected sample column exists #can use setdiff() to know what column is missing from one set to the other
#validation step
stopifnot(
all(sample_columns %in% names(msdial))
)
#how many elements are contained in this object?
length(sample_columns)
## [1] 28
#can inspect data with other functions including head(), str(), summary()
#features include: alignment ID, average RT(min), average m/z, metabolite name, adduct type, ms/ms assigned
#4. Make sure intensities are numeric
msdial <- msdial %>%
mutate(
across(
all_of(sample_columns),
as.numeric
)
)
#Check:
sapply(
msdial[, sample_columns],
class
)
## blank_1 blank_2 blank_3 blank_4 exudate_1
## "numeric" "numeric" "numeric" "numeric" "numeric"
## exudate_2 exudate_3 FC_1 FC_2 FC_3
## "numeric" "numeric" "numeric" "numeric" "numeric"
## fungi_old_1 fungi_old_2 fungi_old_3 leaf_1 leaf_2
## "numeric" "numeric" "numeric" "numeric" "numeric"
## leaf_3 new_in_P08 new_in_P09 new_in_P10 new_out_P08
## "numeric" "numeric" "numeric" "numeric" "numeric"
## new_out_P09 new_out_P10 root_1 root_2 root_3
## "numeric" "numeric" "numeric" "numeric" "numeric"
## Soil_control_1 Soil_control_2 Soil_control_3
## "numeric" "numeric" "numeric"
#5. Create sample metadata #note: digit, += one or more, $=end of string
This tells R what each sample actually represents biologically.
sample_metadata <- tibble(
sample = sample_columns
) %>%
mutate(
group = case_when(
str_detect(sample, "^blank") ~
"Blank",
str_detect(sample, "^exudate") ~
"Plant-soil exudate",
str_detect(sample, "^Soil_control") ~
"Soil control",
str_detect(sample, "^FC") ~
"Fungal control",
str_detect(sample, "^fungi_old") ~
"Fungi old",
str_detect(sample, "^leaf") ~
"Leaf",
str_detect(sample, "^root") ~
"Root",
str_detect(sample, "^new_in") ~
"Fungal agar in",
str_detect(sample, "^new_out") ~
"Fungal agar out",
TRUE ~ "Unknown"
),
replicate = case_when(
str_detect(sample, "P08") ~ "1",
str_detect(sample, "P09") ~ "2",
str_detect(sample, "P10") ~ "3",
TRUE ~
str_extract(sample, "\\d+$")
),
broad_matrix = case_when(
group %in% c(
"Plant-soil exudate",
"Soil control"
) ~ "Soil extract",
group %in% c(
"Fungal control",
"Fungi old",
"Fungal agar in",
"Fungal agar out"
) ~ "Fungal agar",
group %in% c(
"Leaf",
"Root"
) ~ "Plant tissue",
group == "Blank" ~
"Blank",
TRUE ~ "Unknown"
)
)
#Check it: view table
sample_metadata
## # A tibble: 28 × 4
## sample group replicate broad_matrix
## <chr> <chr> <chr> <chr>
## 1 blank_1 Blank 1 Blank
## 2 blank_2 Blank 2 Blank
## 3 blank_3 Blank 3 Blank
## 4 blank_4 Blank 4 Blank
## 5 exudate_1 Plant-soil exudate 1 Soil extract
## 6 exudate_2 Plant-soil exudate 2 Soil extract
## 7 exudate_3 Plant-soil exudate 3 Soil extract
## 8 FC_1 Fungal control 1 Fungal agar
## 9 FC_2 Fungal control 2 Fungal agar
## 10 FC_3 Fungal control 3 Fungal agar
## # ℹ 18 more rows
#And: how many replicates for each group
sample_metadata %>%
count(group)
## # A tibble: 9 × 2
## group n
## <chr> <int>
## 1 Blank 4
## 2 Fungal agar in 3
## 3 Fungal agar out 3
## 4 Fungal control 3
## 5 Fungi old 3
## 6 Leaf 3
## 7 Plant-soil exudate 3
## 8 Root 3
## 9 Soil control 3
#6. Initial sample-level QC _no filtering yet #Calculate: number of features with nonzero peak height; sum of detected MS-DIAL feature peak heights. sum of MS-DIAL feature peak heights, not the raw LC-MS total ion chromatogram.
sample_qc <- tibble(
sample = sample_columns,
summed_feature_intensity = colSums(
as.matrix(
msdial[, sample_columns]
),
na.rm = TRUE
),
detected_features = colSums(
as.matrix(
msdial[, sample_columns]
) > 0,
na.rm = TRUE
)
) %>%
left_join(
sample_metadata,
by = "sample"
)
sample_qc
## # A tibble: 28 × 6
## sample summed_feature_inten…¹ detected_features group replicate broad_matrix
## <chr> <dbl> <dbl> <chr> <chr> <chr>
## 1 blank_1 2230813851 2100 Blank 1 Blank
## 2 blank_2 1656171622 2293 Blank 2 Blank
## 3 blank_3 1507329714 2281 Blank 3 Blank
## 4 blank_4 0 0 Blank 4 Blank
## 5 exudat… 2190215581 2540 Plan… 1 Soil extract
## 6 exudat… 2130782455 2487 Plan… 2 Soil extract
## 7 exudat… 2147378630 2509 Plan… 3 Soil extract
## 8 FC_1 11238924950 3766 Fung… 1 Fungal agar
## 9 FC_2 11294010183 3686 Fung… 2 Fungal agar
## 10 FC_3 10770084460 3647 Fung… 3 Fungal agar
## # ℹ 18 more rows
## # ℹ abbreviated name: ¹summed_feature_intensity
#7. Find failed/empty injections
sample_qc %>%
filter(
detected_features == 0 |
summed_feature_intensity == 0
)
## # A tibble: 1 × 6
## sample summed_feature_intens…¹ detected_features group replicate broad_matrix
## <chr> <dbl> <dbl> <chr> <chr> <chr>
## 1 blank_4 0 0 Blank 4 Blank
## # ℹ abbreviated name: ¹summed_feature_intensity
#8. Plot summed feature signal
signal_plot <- ggplot(
sample_qc,
aes(
x = reorder(
sample,
summed_feature_intensity
),
y = summed_feature_intensity,
fill = group
)
) +
geom_col() +
coord_flip() +
labs(
title =
"Sum of detected positive-mode LC-MS feature intensities",
x = NULL,
y =
"Sum of MS-DIAL feature peak heights",
fill = "Sample group"
) +
theme_classic() +
theme(
legend.position = "bottom"
)
signal_plot
#9. Plot number of detected features based on peak heights above 0
feature_count_plot <- ggplot(
sample_qc,
aes(
x = reorder(
sample,
detected_features
),
y = detected_features,
fill = group
)
) +
geom_col() +
coord_flip() +
labs(
title =
"Detected positive-mode LC-MS features per sample",
x = NULL,
y =
"Features with peak height > 0",
fill =
"Sample group"
) +
theme_classic() +
theme(
legend.position = "bottom"
)
feature_count_plot
#10. Calculate replicate QC and CV, cv BEING COEFFICIENT OF VARIATION. CV measures how variable a group is relative to its mean. Lower= replicates are consistent relative to their average. High= more variability across replicates.
group_qc_summary <- sample_qc %>%
filter(
sample != "blank_4"
) %>%
group_by(group) %>%
summarise(
n = n(),
mean_features =
mean(detected_features),
sd_features =
sd(detected_features),
feature_CV_percent =
100 *
sd(detected_features) /
mean(detected_features),
mean_summed_signal =
mean(summed_feature_intensity),
sd_summed_signal =
sd(summed_feature_intensity),
signal_CV_percent =
100 *
sd(summed_feature_intensity) /
mean(summed_feature_intensity),
.groups = "drop"
)
group_qc_summary
## # A tibble: 9 × 8
## group n mean_features sd_features feature_CV_percent mean_summed_signal
## <chr> <int> <dbl> <dbl> <dbl> <dbl>
## 1 Blank 3 2225. 108. 4.86 1798105062.
## 2 Fungal … 3 3331. 96.0 2.88 8563940809
## 3 Fungal … 3 3605. 62.0 1.72 10401688175.
## 4 Fungal … 3 3700. 60.7 1.64 11101006531
## 5 Fungi o… 3 3550 183. 5.15 8011949199.
## 6 Leaf 3 3760. 10.3 0.273 11362451996.
## 7 Plant-s… 3 2512 26.6 1.06 2156125555.
## 8 Root 3 2914. 33.8 1.16 8297253366
## 9 Soil co… 3 2516. 9.07 0.361 2833322383.
## # ℹ 2 more variables: sd_summed_signal <dbl>, signal_CV_percent <dbl>
#11. Build the quantitative feature table _Now we shift from: _What does each sample look like overall? _to: _What happened to each individual LC-MS feature?
#create a smaller analysis focused table by choosing coloumns: core feature information first,
feature_table <- msdial %>%
select(
`Alignment ID`,
`Average Rt(min)`,
`Average Mz`,
`Metabolite name`,
`Adduct type`,
`Post curation result`,
`Fill %`,
`MS/MS assigned`,
any_of(c(
"Reference RT",
"Reference m/z",
"Formula",
"Ontology",
"INCHIKEY",
"SMILES",
"Annotation tag (VS1.0)",
"RT matched",
"m/z matched",
"MS/MS matched",
"Total score",
"RT similarity",
"Dot product",
"Reverse dot product",
"Fragment presence %",
"S/N average"
)),
all_of(sample_columns)
)
#12. Give every feature a readable unique name _Example: _F1540_mz187.1078_rt0.74 _means: _MS-DIAL Alignment ID = 1540 _m/z ≈ 187.1078 _RT ≈ 0.74 min
feature_table <- feature_table %>%
mutate(
feature_name = paste0(
"F",
`Alignment ID`,
"_mz",
round(
`Average Mz`,
4
),
"_rt",
round(
`Average Rt(min)`,
2
)
)
)
#13. Define usable blanks and biological samples
valid_blank_columns <- c(
"blank_1",
"blank_2",
"blank_3"
)
biological_columns <- setdiff(
sample_columns,
c(
valid_blank_columns,
"blank_4"
)
)
#Check:
length(biological_columns)
## [1] 24
#14. Calculate blank/background information for every feature. Background screening step. Essentially, how strong is this feature in biological samples compared with the blanks? Searching for at least 1 biological condition far above the background. Limited because of skewing. A sample could have a feature signal of 0, 0, 10,000.
#blank filter: is the signal sufficiently above analytical background somewhere?
#different from a prevalence filter: is the signal reproduciply detected in a biological sample?
feature_qc <- feature_table %>%
mutate(
blank_mean = rowMeans(
across(
all_of(valid_blank_columns)
),
na.rm = TRUE
),
maximum_biological_signal = apply(
as.matrix(
pick(
all_of(biological_columns)
)
),
1, #operate across rows (margin) 1=row, 2-coloumn
max, #return the largest value (function)
na.rm = TRUE
),
sample_to_blank_ratio =
(
maximum_biological_signal + 1 #prevents division by zeros
) /
(
blank_mean + 1
)
)
#15. Examine different blank thresholds #Before filtering, save a copy:
feature_qc_unfiltered <- feature_qc
#Then compare 3×, 5× and 10×: Is the ratio between blank and feature signals 3x? 5x? 10x? Does my retained feature set change dramatically if I make the background rule stricter?
blank_filter_summary <- tibble(
threshold = c(
"3x",
"5x",
"10x"
),
retained_features = c(
sum(
feature_qc_unfiltered$
sample_to_blank_ratio >= 3,
na.rm = TRUE
),
sum(
feature_qc_unfiltered$
sample_to_blank_ratio >= 5,
na.rm = TRUE
),
sum(
feature_qc_unfiltered$
sample_to_blank_ratio >= 10,
na.rm = TRUE
)
)
)
blank_filter_summary
## # A tibble: 3 × 2
## threshold retained_features
## <chr> <int>
## 1 3x 4274
## 2 5x 4160
## 3 10x 4008
#For our main exploratory analysis: use the threshold of 5x. Taje unfiltered feature table, keep only features whose maximum biological signal is at least 5x that of their blank mean signal.
feature_qc <- feature_qc_unfiltered %>%
filter(
sample_to_blank_ratio >= 5
)
#16. Group-aware prevalence filter
group_columns <- list(
exudate = c(
"exudate_1",
"exudate_2",
"exudate_3"
),
fungal_control = c(
"FC_1",
"FC_2",
"FC_3"
),
fungi_old = c(
"fungi_old_1",
"fungi_old_2",
"fungi_old_3"
),
leaf = c(
"leaf_1",
"leaf_2",
"leaf_3"
),
fungal_agar_in = c(
"new_in_P08",
"new_in_P09",
"new_in_P10"
),
fungal_agar_out = c(
"new_out_P08",
"new_out_P09",
"new_out_P10"
),
root = c(
"root_1",
"root_2",
"root_3"
),
soil_control = c(
"Soil_control_1",
"Soil_control_2",
"Soil_control_3"
)
)
#Calculate detection for features above 0 for each group. For each feature and each sample group, was that feature detected in at least 2 samples?
presence_by_group <- sapply(
group_columns,
function(cols) {
rowSums(
as.matrix(
feature_qc[, cols]
) > 0,
na.rm = TRUE
) >= 2
}
)
#Keep features detected in at least 2 of 3 replicates in at least one biological group:
feature_qc$present_in_any_group <-
apply(
presence_by_group,
1,
any
)
feature_qc <- feature_qc %>%
filter(
present_in_any_group
)
#calculate overall detection count just for reporting:
feature_qc <- feature_qc %>%
mutate(
number_detected = rowSums(
across(
all_of(biological_columns),
~ .x > 0
),
na.rm = TRUE
)
)
#Check filtering: original feature table and filtered feature table
nrow(feature_table)
## [1] 5169
nrow(feature_qc)
## [1] 4144
#17. Build the PCA intensity matrix
intensity_matrix <- feature_qc %>%
select(
feature_name,
all_of(biological_columns)
) %>%
column_to_rownames(
"feature_name"
) %>%
as.matrix()
#Transpose:rows = samples, columns = LC-MS features.
pca_matrix_raw <- t(
intensity_matrix
)
dim(pca_matrix_raw)
## [1] 24 4144
#18. Replace zeros
#For PCA only, replace zeros/missing values with half of that feature’s smallest positive measurement.
replace_zero_half_min <- function(x) {
positive_values <-
x[
x > 0 &
is.finite(x)
]
if (
length(positive_values) == 0
) {
return(
rep(
NA_real_,
length(x)
)
)
}
replacement <-
min(positive_values) / 2
x[
x == 0 |
is.na(x)
] <- replacement
x
}
#Apply:
pca_matrix_imputed <- apply(
pca_matrix_raw,
2,
replace_zero_half_min
)
#Remove anything that still cannot be analyzed:
pca_matrix_imputed <-
pca_matrix_imputed[
,
colSums(
is.na(
pca_matrix_imputed
)
) == 0,
drop = FALSE
]
#19. Median normalize: one normalization method for this pipeline. Calculate one median intensity for each sample, then take the median of all sample medians for target scaling, then sweep or apply the operation acorss a matrix. Rescale every sample so its overall median intensity is comparable with the overall dataset median. for samples.
sample_medians <- apply(
pca_matrix_imputed,
1,
median,
na.rm = TRUE
)
global_median <-
median(
sample_medians
)
pca_matrix_normalized <- sweep(
pca_matrix_imputed,
1,
sample_medians,
"/"
) * global_median
#20. Log2 transformation to compress the scale. for features.
pca_matrix_log <- log2(
pca_matrix_normalized + 1
)
#21. Remove zero-variance features
feature_variance <- apply(
pca_matrix_log,
2,
var,
na.rm = TRUE
)
keep_variable_features <-
is.finite(
feature_variance
) &
feature_variance > 0
pca_matrix_log <-
pca_matrix_log[
,
keep_variable_features,
drop = FALSE
]
#22. Run broad PCA
pca_result <- prcomp(
pca_matrix_log,
center = TRUE,
scale. = TRUE
)
summary(pca_result)
## Importance of components:
## PC1 PC2 PC3 PC4 PC5 PC6 PC7
## Standard deviation 44.3057 30.5913 19.32190 17.40387 11.82203 7.5345 6.8138
## Proportion of Variance 0.4737 0.2258 0.09009 0.07309 0.03373 0.0137 0.0112
## Cumulative Proportion 0.4737 0.6995 0.78961 0.86270 0.89643 0.9101 0.9213
## PC8 PC9 PC10 PC11 PC12 PC13 PC14
## Standard deviation 6.04376 5.88750 5.65514 5.27158 5.06108 4.9463 4.5971
## Proportion of Variance 0.00881 0.00836 0.00772 0.00671 0.00618 0.0059 0.0051
## Cumulative Proportion 0.93015 0.93851 0.94623 0.95294 0.95912 0.9650 0.9701
## PC15 PC16 PC17 PC18 PC19 PC20 PC21
## Standard deviation 4.52484 4.49582 4.24552 4.12879 3.61444 3.32005 3.02688
## Proportion of Variance 0.00494 0.00488 0.00435 0.00411 0.00315 0.00266 0.00221
## Cumulative Proportion 0.97506 0.97994 0.98429 0.98840 0.99155 0.99421 0.99643
## PC22 PC23 PC24
## Standard deviation 2.8788 2.55433 3.718e-14
## Proportion of Variance 0.0020 0.00157 0.000e+00
## Cumulative Proportion 0.9984 1.00000 1.000e+00
#23. Variance explained
variance_explained <-
(
pca_result$sdev^2 /
sum(
pca_result$sdev^2
)
) * 100
variance_explained[1:10]
## [1] 47.3695252 22.5826592 9.0090698 7.3092390 3.3725985 1.3699149
## [7] 1.1203796 0.8814433 0.8364539 0.7717335
#Create table:
variance_table <- tibble(
PC = paste0(
"PC",
seq_along(
variance_explained
)
),
variance_percent =
variance_explained,
cumulative_percent =
cumsum(
variance_explained
)
)
head(
variance_table,
10
)
## # A tibble: 10 × 3
## PC variance_percent cumulative_percent
## <chr> <dbl> <dbl>
## 1 PC1 47.4 47.4
## 2 PC2 22.6 70.0
## 3 PC3 9.01 79.0
## 4 PC4 7.31 86.3
## 5 PC5 3.37 89.6
## 6 PC6 1.37 91.0
## 7 PC7 1.12 92.1
## 8 PC8 0.881 93.0
## 9 PC9 0.836 93.9
## 10 PC10 0.772 94.6
#24. PCA sample scores
pca_scores <-
as.data.frame(
pca_result$x
) %>%
rownames_to_column(
"sample"
) %>%
left_join(
sample_metadata,
by = "sample"
)
#25. Broad PC1 versus PC2 plot
broad_pca_plot <- ggplot(
pca_scores,
aes(
x = PC1,
y = PC2,
fill = group,
shape = broad_matrix
)
) +
geom_point(
size = 4,
color = "black"
) +
geom_text_repel(
aes(label = sample),
size = 3,
max.overlaps = Inf
) +
labs(
title =
"PCA of positive-mode LC-MS features",
subtitle =
"5× blank-filtered, median-normalized and log2-transformed",
x = paste0(
"PC1 (",
round(
variance_explained[1],
1
),
"%)"
),
y = paste0(
"PC2 (",
round(
variance_explained[2],
1
),
"%)"
),
fill =
"Sample group",
shape =
"Sample matrix"
) +
theme_classic()
broad_pca_plot
#26. PC1 vs PC3
pc1_pc3_plot <- ggplot(
pca_scores,
aes(
x = PC1,
y = PC3,
fill = group,
shape = broad_matrix
)
) +
geom_point(
size = 4,
color = "black"
) +
geom_text_repel(
aes(label = sample),
size = 3,
max.overlaps = Inf
) +
labs(
title =
"PCA: PC1 versus PC3",
x = paste0(
"PC1 (",
round(
variance_explained[1],
1
),
"%)"
),
y = paste0(
"PC3 (",
round(
variance_explained[3],
1
),
"%)"
)
) +
theme_classic()
pc1_pc3_plot
#27. Scree plot. post creating new dimensions of the LC-MS features, the scree plot tells us how much of the total variation in my LC-MS dataset it explained by each principal component? Essentially asks, how much variation does each PC explain?
scree_plot <- variance_table %>%
slice_head(
n = 15
) %>%
ggplot(
aes(
x = factor(
PC,
levels = PC
),
y = variance_percent,
group = 1
)
) +
geom_col() +
geom_point() +
geom_line() +
labs(
title =
"Positive-mode PCA scree plot",
x =
"Principal component",
y =
"Variance explained (%)"
) +
theme_classic()
scree_plot
#28. Create reusable focused-PCA function: instead of writing 50 lines three times, you write them once and change only the inputs
#Instead of repeating the same code three times. This code chunk is programming a function that can be used in another code.
run_focused_pca <- function(
groups_to_use,
title_text
) {
samples_to_use <-
sample_metadata %>%
filter(
group %in% groups_to_use
) %>%
pull(sample)
matrix_subset <-
pca_matrix_log[
samples_to_use,
,
drop = FALSE
]
variances <- apply(
matrix_subset,
2,
var,
na.rm = TRUE
)
matrix_subset <-
matrix_subset[
,
is.finite(variances) &
variances > 0,
drop = FALSE
]
result <- prcomp(
matrix_subset,
center = TRUE,
scale. = TRUE
)
variance <-
(
result$sdev^2 /
sum(
result$sdev^2
)
) * 100
scores <-
as.data.frame(
result$x
) %>%
rownames_to_column(
"sample"
) %>%
left_join(
sample_metadata,
by = "sample"
)
plot <- ggplot(
scores,
aes(
x = PC1,
y = PC2,
fill = group
)
) +
geom_point(
shape = 21,
size = 5,
color = "black"
) +
geom_text_repel(
aes(label = sample)
) +
labs(
title = title_text,
x = paste0(
"PC1 (",
round(
variance[1],
1
),
"%)"
),
y = paste0(
"PC2 (",
round(
variance[2],
1
),
"%)"
)
) +
theme_classic()
list(
pca = result,
scores = scores,
variance = variance,
plot = plot
)
}
#29. Exudate versus soil PCA
exudate_soil_pca <-
run_focused_pca(
groups_to_use = c(
"Plant-soil exudate",
"Soil control"
),
title_text =
"PCA: plant-soil exudate versus soil control"
)
exudate_soil_pca$plot
#30. Fungal agar PCA
fungal_pca <-
run_focused_pca(
groups_to_use = c(
"Fungal control",
"Fungal agar in",
"Fungal agar out"
),
title_text =
"PCA of fungal agar samples"
)
fungal_pca$plot
#31. Leaf versus root PCA
tissue_pca <-
run_focused_pca(
groups_to_use = c(
"Leaf",
"Root"
),
title_text =
"PCA of leaf and root extracts"
)
tissue_pca$plot
#32. Extract PCA loadings. PCA loadings essentially asks, which features are driving those directions?
pca_loadings <-
as.data.frame(
pca_result$rotation
) %>%
rownames_to_column(
"feature_name"
)
#Create annotation table:
feature_annotations <- feature_qc %>%
select(
feature_name,
`Alignment ID`,
`Average Rt(min)`,
`Average Mz`,
`Metabolite name`,
`Adduct type`,
`Post curation result`,
`Fill %`,
`MS/MS assigned`,
any_of(c(
"Formula",
"Ontology",
"INCHIKEY",
"SMILES",
"Annotation tag (VS1.0)",
"RT matched",
"m/z matched",
"MS/MS matched",
"Total score",
"RT similarity",
"Dot product",
"Reverse dot product",
"Fragment presence %",
"S/N average"
)),
blank_mean,
sample_to_blank_ratio,
number_detected
)
#Join:
pca_loadings <- pca_loadings %>%
left_join(
feature_annotations,
by = "feature_name"
)
#33. Identify strongest PC1, PC2 and PC3 features. Which 30 LC-MS features have the strongest relationship with this PCA axis? Scores are samples, loadings are features.
#Reusable function: top 30, focused interpretation.visualization
get_top_loadings <- function(
loading_table,
pc_column,
number_to_keep = 30
) {
loading_table %>%
mutate(
selected_loading =
.data[[pc_column]],
absolute_loading =
abs(
.data[[pc_column]]
)
) %>%
arrange(
desc(
absolute_loading
)
) %>%
slice_head(
n = number_to_keep
)
}
#Run:
top_pc1_loadings <-
get_top_loadings(
pca_loadings,
"PC1"
)
top_pc2_loadings <-
get_top_loadings(
pca_loadings,
"PC2"
)
top_pc3_loadings <-
get_top_loadings(
pca_loadings,
"PC3"
)
#Inspect:
top_pc1_loadings %>%
select(
feature_name,
PC1,
`Average Rt(min)`,
`Average Mz`,
`Metabolite name`,
`Adduct type`,
`MS/MS assigned`,
`Total score`,
sample_to_blank_ratio
)
## feature_name PC1 Average Rt(min) Average Mz
## 1 F1540_mz187.1078_rt0.74 0.02248574 0.738 187.1078
## 2 F2962_mz290.135_rt0.76 0.02245567 0.757 290.1350
## 3 F2947_mz289.2165_rt2.58 -0.02244972 2.575 289.2165
## 4 F4792_mz574.2658_rt1.2 -0.02244366 1.196 574.2658
## 5 F2509_mz258.109_rt0.71 0.02243978 0.710 258.1089
## 6 F3171_mz305.0661_rt1 -0.02243147 1.002 305.0661
## 7 F2476_mz255.2112_rt5.92 -0.02241575 5.916 255.2112
## 8 F4171_mz407.117_rt0.49 -0.02240368 0.486 407.1170
## 9 F1813_mz205.1186_rt0.83 0.02239955 0.827 205.1186
## 10 F3627_mz346.1979_rt1.02 0.02239104 1.020 346.1979
## 11 F2017_mz219.1343_rt0.78 0.02236977 0.782 219.1343
## 12 F4147_mz403.2455_rt2.58 -0.02235985 2.576 403.2455
## 13 F4736_mz546.3563_rt3.71 -0.02235006 3.707 546.3563
## 14 F998_mz147.5556_rt0.46 -0.02234104 0.457 147.5556
## 15 F4797_mz576.2815_rt1.18 -0.02233494 1.184 576.2815
## 16 F3269_mz314.2084_rt0.97 0.02233023 0.971 314.2084
## 17 F2499_mz257.15_rt1.13 0.02230504 1.129 257.1500
## 18 F3477_mz332.1817_rt0.98 0.02230464 0.976 332.1817
## 19 F2598_mz265.1122_rt0.48 0.02230401 0.478 265.1121
## 20 F4093_mz394.2956_rt3.31 -0.02230270 3.307 394.2956
## 21 F3561_mz339.0598_rt0.53 -0.02228138 0.533 339.0598
## 22 F3662_mz349.0897_rt1.03 -0.02228041 1.028 349.0897
## 23 F3897_mz371.193_rt1.04 0.02227854 1.042 371.1930
## 24 F1393_mz176.1646_rt0.92 -0.02226368 0.920 176.1646
## 25 F4447_mz456.2082_rt0.9 0.02225681 0.897 456.2082
## 26 F2628_mz267.8584_rt0.42 -0.02225241 0.416 267.8584
## 27 F3312_mz317.1823_rt0.91 0.02224764 0.910 317.1823
## 28 F3975_mz380.2799_rt3.31 -0.02224106 3.310 380.2799
## 29 F5102_mz746.2346_rt0.95 -0.02223807 0.950 746.2346
## 30 F4696_mz529.2036_rt0.97 0.02223455 0.970 529.2036
## Metabolite name Adduct type MS/MS assigned Total score sample_to_blank_ratio
## 1 Unknown [M+H]+ FALSE null 1.343530e+06
## 2 Unknown [M+H]+ FALSE null 1.731103e+06
## 3 Unknown [M+H]+ TRUE null 5.913140e+05
## 4 Unknown [M+H]+ FALSE null 7.476960e+05
## 5 Unknown [M+H]+ FALSE null 1.362876e+06
## 6 Unknown [M+H]+ FALSE null 1.545487e+06
## 7 Unknown [M+H]+ TRUE null 2.841300e+05
## 8 Unknown [M+H]+ FALSE null 6.560310e+05
## 9 Unknown [M+H]+ TRUE null 1.030067e+03
## 10 Unknown [M+H]+ TRUE null 2.467579e+03
## 11 Unknown [M+H]+ TRUE null 4.287320e+03
## 12 Unknown [M+H]+ FALSE null 1.202550e+05
## 13 Unknown [M+H]+ FALSE null 2.249790e+05
## 14 Unknown [M+H]+ FALSE null 4.460070e+05
## 15 Unknown [M+H]+ FALSE null 4.234970e+05
## 16 Unknown [M+H]+ FALSE null 4.680900e+05
## 17 Unknown [M+H]+ TRUE null 9.330970e+05
## 18 Unknown [M+H]+ FALSE null 9.428416e+02
## 19 Unknown [M+H]+ FALSE null 1.933286e+06
## 20 Unknown [M+H]+ FALSE null 3.465870e+05
## 21 Unknown [M+H]+ FALSE null 7.087700e+05
## 22 Unknown [M+H]+ FALSE null 5.415100e+05
## 23 Unknown [M+H]+ FALSE null 2.132412e+02
## 24 Unknown [M+H]+ FALSE null 1.015955e+06
## 25 Unknown [M+H]+ TRUE null 1.487893e+07
## 26 Unknown [M+H]+ FALSE null 2.799610e+05
## 27 Unknown [M+H]+ FALSE null 1.066878e+06
## 28 Unknown [M+H]+ TRUE null 5.969110e+05
## 29 Unknown [M+H]+ FALSE null 1.537780e+05
## 30 Unknown [M+H]+ FALSE null 5.960920e+05
#And:
top_pc2_loadings %>%
select(
feature_name,
PC2,
`Average Rt(min)`,
`Average Mz`,
`Metabolite name`,
`Adduct type`,
`MS/MS assigned`,
`Total score`,
sample_to_blank_ratio
)
## feature_name PC2 Average Rt(min) Average Mz
## 1 F1302_mz170.958_rt0.41 -0.03219109 0.411 170.9580
## 2 F3103_mz301.1627_rt0.42 -0.03212591 0.421 301.1627
## 3 F2031_mz220.9355_rt0.41 -0.03207162 0.408 220.9355
## 4 F3166_mz304.8961_rt0.41 -0.03180513 0.413 304.8961
## 5 F3905_mz372.8828_rt0.41 -0.03150581 0.412 372.8828
## 6 F3507_mz334.9143_rt0.41 -0.03146620 0.410 334.9143
## 7 F1057_mz152.9473_rt0.41 -0.03133150 0.410 152.9473
## 8 F2611_mz266.928_rt0.41 -0.03122706 0.406 266.9280
## 9 F4140_mz402.9017_rt0.41 -0.03120089 0.408 402.9017
## 10 F1803_mz204.9574_rt0.41 -0.03088462 0.410 204.9574
## 11 F1021_mz149.1073_rt0.66 -0.03079202 0.659 149.1073
## 12 F4421_mz449.349_rt2.14 -0.03074170 2.140 449.3490
## 13 F4264_mz421.3178_rt2.14 -0.03071827 2.140 421.3178
## 14 F4248_mz418.8769_rt0.41 -0.03061512 0.410 418.8769
## 15 F4222_mz414.2158_rt2.14 -0.03060079 2.140 414.2158
## 16 F4450_mz456.8441_rt0.41 -0.03049742 0.412 456.8441
## 17 F2936_mz288.9192_rt0.41 -0.03049121 0.409 288.9192
## 18 F4622_mz502.84_rt0.41 -0.03042883 0.412 502.8400
## 19 F4077_mz392.2551_rt2.83 -0.03040429 2.829 392.2551
## 20 F4179_mz407.3019_rt2.14 -0.03038725 2.140 407.3019
## 21 F1528_mz186.124_rt0.47 -0.03038559 0.465 186.1240
## 22 F4046_mz388.8576_rt0.41 -0.03027706 0.414 388.8576
## 23 F3922_mz374.2404_rt0.49 -0.03023684 0.490 374.2404
## 24 F2916_mz287.6636_rt0.88 -0.03019375 0.878 287.6636
## 25 F4187_mz408.2342_rt0.48 -0.03015262 0.484 408.2342
## 26 F3665_mz349.1608_rt0.43 -0.03001440 0.432 349.1608
## 27 F4610_mz497.2096_rt0.47 -0.02999937 0.465 497.2096
## 28 F4367_mz440.8693_rt0.41 -0.02996052 0.413 440.8693
## 29 F3954_mz378.1759_rt0.48 -0.02982101 0.479 378.1759
## 30 F3124_mz302.122_rt0.53 -0.02980856 0.533 302.1220
## Metabolite name Adduct type MS/MS assigned Total score sample_to_blank_ratio
## 1 Unknown [M+H]+ FALSE null 2.799679e+01
## 2 Unknown [M+H]+ FALSE null 5.729148e+00
## 3 Unknown [M+H]+ FALSE null 2.628354e+01
## 4 Unknown [M+H]+ FALSE null 6.676007e+00
## 5 Unknown [M+H]+ FALSE null 2.875420e+05
## 6 Unknown [M+H]+ FALSE null 1.715160e+05
## 7 Unknown [M+H]+ FALSE null 2.055147e+01
## 8 Unknown [M+H]+ FALSE null 1.995660e+05
## 9 Unknown [M+H]+ FALSE null 1.063670e+05
## 10 Unknown [M+H]+ FALSE null 2.476935e+01
## 11 Unknown [M+H]+ FALSE null 3.280387e+01
## 12 Unknown [M+H]+ FALSE null 2.450820e+05
## 13 Unknown [M+H]+ TRUE null 2.008854e+06
## 14 Unknown [M+H]+ FALSE null 1.497140e+05
## 15 Unknown [M+H]+ TRUE null 3.133160e+05
## 16 Unknown [M+H]+ FALSE null 2.229150e+05
## 17 Unknown [M+H]+ FALSE null 7.727608e+01
## 18 Unknown [M+H]+ FALSE null 1.462620e+05
## 19 Unknown [M+H]+ TRUE null 5.088650e+05
## 20 Unknown [M+H]+ TRUE null 3.718761e+06
## 21 Unknown [M+H]+ FALSE null 5.509780e+05
## 22 Unknown [M+H]+ FALSE null 2.128150e+05
## 23 Unknown [M+H]+ FALSE null 1.646210e+05
## 24 Unknown [M+H]+ FALSE null 1.231370e+05
## 25 Unknown [M+H]+ FALSE null 1.412290e+05
## 26 Unknown [M+H]+ FALSE null 1.049030e+05
## 27 Unknown [M+H]+ FALSE null 1.232970e+05
## 28 Unknown [M+H]+ FALSE null 2.850830e+05
## 29 Unknown [M+H]+ FALSE null 1.452350e+05
## 30 Unknown [M+H]+ FALSE null 3.853020e+05
#Reusable function: top 100, broad interpretation/visualization
get_top_loadings100 <- function(
loading_table,
pc_column,
number_to_keep = 100
) {
loading_table %>%
mutate(
selected_loading =
.data[[pc_column]],
absolute_loading =
abs(
.data[[pc_column]]
)
) %>%
arrange(
desc(
absolute_loading
)
) %>%
slice_head(
n = number_to_keep
)
}
#Run:
top_pc1_loadings100 <-
get_top_loadings100(
pca_loadings,
"PC1"
)
top_pc2_loadings100 <-
get_top_loadings100(
pca_loadings,
"PC2"
)
top_pc3_loadings100 <-
get_top_loadings100(
pca_loadings,
"PC3"
)
#Inspect:
top_pc1_loadings100 %>%
select(
feature_name,
PC1,
`Average Rt(min)`,
`Average Mz`,
`Metabolite name`,
`Adduct type`,
`MS/MS assigned`,
`Total score`,
sample_to_blank_ratio
)
## feature_name PC1 Average Rt(min) Average Mz
## 1 F1540_mz187.1078_rt0.74 0.02248574 0.738 187.10782
## 2 F2962_mz290.135_rt0.76 0.02245567 0.757 290.13498
## 3 F2947_mz289.2165_rt2.58 -0.02244972 2.575 289.21652
## 4 F4792_mz574.2658_rt1.2 -0.02244366 1.196 574.26575
## 5 F2509_mz258.109_rt0.71 0.02243978 0.710 258.10895
## 6 F3171_mz305.0661_rt1 -0.02243147 1.002 305.06610
## 7 F2476_mz255.2112_rt5.92 -0.02241575 5.916 255.21117
## 8 F4171_mz407.117_rt0.49 -0.02240368 0.486 407.11697
## 9 F1813_mz205.1186_rt0.83 0.02239955 0.827 205.11861
## 10 F3627_mz346.1979_rt1.02 0.02239104 1.020 346.19794
## 11 F2017_mz219.1343_rt0.78 0.02236977 0.782 219.13425
## 12 F4147_mz403.2455_rt2.58 -0.02235985 2.576 403.24554
## 13 F4736_mz546.3563_rt3.71 -0.02235006 3.707 546.35626
## 14 F998_mz147.5556_rt0.46 -0.02234104 0.457 147.55560
## 15 F4797_mz576.2815_rt1.18 -0.02233494 1.184 576.28149
## 16 F3269_mz314.2084_rt0.97 0.02233023 0.971 314.20840
## 17 F2499_mz257.15_rt1.13 0.02230504 1.129 257.15002
## 18 F3477_mz332.1817_rt0.98 0.02230464 0.976 332.18173
## 19 F2598_mz265.1122_rt0.48 0.02230401 0.478 265.11215
## 20 F4093_mz394.2956_rt3.31 -0.02230270 3.307 394.29559
## 21 F3561_mz339.0598_rt0.53 -0.02228138 0.533 339.05978
## 22 F3662_mz349.0897_rt1.03 -0.02228041 1.028 349.08972
## 23 F3897_mz371.193_rt1.04 0.02227854 1.042 371.19302
## 24 F1393_mz176.1646_rt0.92 -0.02226368 0.920 176.16464
## 25 F4447_mz456.2082_rt0.9 0.02225681 0.897 456.20816
## 26 F2628_mz267.8584_rt0.42 -0.02225241 0.416 267.85840
## 27 F3312_mz317.1823_rt0.91 0.02224764 0.910 317.18234
## 28 F3975_mz380.2799_rt3.31 -0.02224106 3.310 380.27988
## 29 F5102_mz746.2346_rt0.95 -0.02223807 0.950 746.23462
## 30 F4696_mz529.2036_rt0.97 0.02223455 0.970 529.20361
## 31 F1814_mz205.1262_rt0.92 0.02223437 0.916 205.12624
## 32 F3037_mz296.259_rt2.19 -0.02223416 2.192 296.25897
## 33 F1941_mz215.0527_rt0.61 -0.02222433 0.610 215.05270
## 34 F1544_mz187.1443_rt1 0.02222370 0.998 187.14432
## 35 F1929_mz214.1804_rt0.93 -0.02222204 0.930 214.18040
## 36 F3900_mz371.2293_rt0.96 0.02221284 0.962 371.22928
## 37 F5159_mz795.5023_rt9.2 -0.02220450 9.199 795.50226
## 38 F3470_mz331.2271_rt3.31 -0.02219901 3.307 331.22711
## 39 F2224_mz235.1193_rt0.81 0.02219376 0.807 235.11928
## 40 F3286_mz315.2324_rt5.03 -0.02218449 5.028 315.23239
## 41 F1846_mz208.0642_rt0.71 0.02218229 0.714 208.06416
## 42 F1175_mz162.0915_rt1.32 0.02217763 1.319 162.09149
## 43 F4666_mz518.3245_rt2.63 -0.02217606 2.629 518.32446
## 44 F4424_mz450.9708_rt0.42 -0.02216933 0.419 450.97083
## 45 F3696_mz351.8194_rt0.41 -0.02216266 0.413 351.81940
## 46 F2164_mz230.1139_rt0.49 0.02216069 0.489 230.11386
## 47 F3267_mz314.0922_rt0.85 0.02216040 0.850 314.09216
## 48 F2444_mz253.1188_rt0.99 0.02215903 0.988 253.11880
## 49 F4880_mz611.1401_rt0.92 -0.02215535 0.918 611.14014
## 50 F3899_mz371.2197_rt3.31 -0.02215170 3.307 371.21970
## 51 F3850_mz366.2644_rt5.02 -0.02215058 5.021 366.26440
## 52 F4885_mz613.4836_rt8.94 -0.02214307 8.938 613.48364
## 53 F4806_mz581.2355_rt1.19 -0.02214132 1.190 581.23547
## 54 F3656_mz348.2535_rt3.3 -0.02213138 3.299 348.25348
## 55 F1098_mz156.1135_rt0.92 0.02212923 0.922 156.11351
## 56 F3480_mz332.2187_rt0.96 0.02211678 0.958 332.21869
## 57 F2004_mz218.1501_rt0.45 0.02211540 0.446 218.15010
## 58 F3933_mz375.2147_rt5.69 -0.02211308 5.693 375.21466
## 59 F1845_mz208.0641_rt0.75 0.02210633 0.753 208.06407
## 60 F3481_mz332.2354_rt5.02 -0.02210579 5.021 332.23544
## 61 F1904_mz212.1647_rt0.93 -0.02210398 0.934 212.16472
## 62 F4335_mz433.2457_rt1.1 0.02210015 1.102 433.24573
## 63 F3038_mz296.6046_rt0.46 -0.02209621 0.464 296.60461
## 64 F3273_mz315.0328_rt0.45 -0.02209578 0.454 315.03284
## 65 F851_mz139.0391_rt0.48 -0.02208928 0.481 139.03908
## 66 F3478_mz332.1823_rt0.9 0.02208514 0.901 332.18231
## 67 F4352_mz438.1975_rt0.9 0.02206148 0.896 438.19748
## 68 F4224_mz414.236_rt0.95 0.02205954 0.951 414.23599
## 69 F4214_mz413.1576_rt1.25 -0.02205700 1.251 413.15759
## 70 F3535_mz337.0925_rt1 -0.02205597 1.005 337.09253
## 71 F278_mz98.0966_rt0.92 -0.02204872 0.920 98.09656
## 72 F2234_mz236.1284_rt1.32 0.02204827 1.324 236.12836
## 73 F4124_mz399.1449_rt0.46 -0.02204048 0.457 399.14490
## 74 F3363_mz320.1823_rt0.91 0.02203663 0.906 320.18231
## 75 F3465_mz331.1983_rt0.97 0.02203431 0.968 331.19827
## 76 F2204_mz233.0924_rt0.9 0.02202121 0.900 233.09241
## 77 F2688_mz272.161_rt0.94 0.02201311 0.935 272.16095
## 78 F3976_mz380.28_rt3.55 -0.02201049 3.552 380.28000
## 79 F1601_mz191.1547_rt1.05 0.02200630 1.046 191.15472
## 80 F3322_mz317.2117_rt2.87 -0.02199946 2.868 317.21167
## 81 F1154_mz160.1333_rt0.49 0.02198594 0.488 160.13332
## 82 F2360_mz246.1454_rt0.47 0.02198191 0.470 246.14542
## 83 F3753_mz358.09_rt0.94 -0.02196866 0.936 358.09000
## 84 F3362_mz320.1611_rt1.03 0.02196446 1.032 320.16113
## 85 F2914_mz287.2374_rt3.91 -0.02196352 3.907 287.23743
## 86 F3425_mz327.2299_rt5.39 -0.02195769 5.389 327.22986
## 87 F3785_mz360.2133_rt0.97 0.02194769 0.966 360.21329
## 88 F3393_mz323.172_rt0.99 0.02194128 0.991 323.17200
## 89 F2913_mz287.2373_rt5.39 -0.02193424 5.386 287.23730
## 90 F2523_mz259.1293_rt0.78 0.02192935 0.783 259.12927
## 91 F2584_mz263.1717_rt0.49 0.02192846 0.492 263.17166
## 92 F4733_mz545.1996_rt1.09 -0.02192662 1.094 545.19965
## 93 F631_mz124.0394_rt0.67 0.02192551 0.671 124.03944
## 94 F3963_mz379.1868_rt3.56 -0.02192254 3.555 379.18680
## 95 F4486_mz463.1972_rt1.09 -0.02192058 1.087 463.19724
## 96 F4074_mz392.1819_rt0.96 0.02191729 0.955 392.18195
## 97 F3133_mz302.2201_rt1.93 -0.02191724 1.932 302.22012
## 98 F2359_mz246.1453_rt0.96 0.02191380 0.960 246.14532
## 99 F3628_mz346.1981_rt0.92 0.02190739 0.924 346.19806
## 100 F4801_mz577.2058_rt1.31 -0.02189069 1.311 577.20575
## Metabolite name Adduct type MS/MS assigned Total score
## 1 Unknown [M+H]+ FALSE null
## 2 Unknown [M+H]+ FALSE null
## 3 Unknown [M+H]+ TRUE null
## 4 Unknown [M+H]+ FALSE null
## 5 Unknown [M+H]+ FALSE null
## 6 Unknown [M+H]+ FALSE null
## 7 Unknown [M+H]+ TRUE null
## 8 Unknown [M+H]+ FALSE null
## 9 Unknown [M+H]+ TRUE null
## 10 Unknown [M+H]+ TRUE null
## 11 Unknown [M+H]+ TRUE null
## 12 Unknown [M+H]+ FALSE null
## 13 Unknown [M+H]+ FALSE null
## 14 Unknown [M+H]+ FALSE null
## 15 Unknown [M+H]+ FALSE null
## 16 Unknown [M+H]+ FALSE null
## 17 Unknown [M+H]+ TRUE null
## 18 Unknown [M+H]+ FALSE null
## 19 Unknown [M+H]+ FALSE null
## 20 Unknown [M+H]+ FALSE null
## 21 Unknown [M+H]+ FALSE null
## 22 Unknown [M+H]+ FALSE null
## 23 Unknown [M+H]+ FALSE null
## 24 Unknown [M+H]+ FALSE null
## 25 Unknown [M+H]+ TRUE null
## 26 Unknown [M+H]+ FALSE null
## 27 Unknown [M+H]+ FALSE null
## 28 Unknown [M+H]+ TRUE null
## 29 Unknown [M+H]+ FALSE null
## 30 Unknown [M+H]+ FALSE null
## 31 Unknown [M+H]+ FALSE null
## 32 Unknown [M+H]+ FALSE null
## 33 Unknown [M+H]+ TRUE null
## 34 Unknown [M+H]+ FALSE null
## 35 Unknown [M+H]+ TRUE null
## 36 Unknown [M+H]+ FALSE null
## 37 Unknown [M+H]+ TRUE null
## 38 Unknown [M+H]+ TRUE null
## 39 Unknown [M+H]+ TRUE null
## 40 Unknown [M+H]+ TRUE null
## 41 Unknown [M+H]+ FALSE null
## 42 Unknown [M+H]+ FALSE null
## 43 Unknown [M+H]+ FALSE null
## 44 Unknown [M+H]+ FALSE null
## 45 Unknown [M+H]+ FALSE null
## 46 Unknown [M+H]+ FALSE null
## 47 Unknown [M+H]+ TRUE null
## 48 Unknown [M+H]+ TRUE null
## 49 Unknown [M+H]+ FALSE null
## 50 Unknown [M+H]+ TRUE null
## 51 Unknown [M+H]+ TRUE null
## 52 Unknown [M+H]+ TRUE null
## 53 Unknown [M+H]+ FALSE null
## 54 Unknown [M+H]+ FALSE null
## 55 Unknown [M+H]+ FALSE null
## 56 Unknown [M+H]+ FALSE null
## 57 Unknown [M+H]+ FALSE null
## 58 Unknown [M+H]+ FALSE null
## 59 Unknown [M+H]+ FALSE null
## 60 Unknown [M+H]+ FALSE null
## 61 Unknown [M+H]+ TRUE null
## 62 Unknown [M+H]+ FALSE null
## 63 Unknown [M+H]+ FALSE null
## 64 Unknown [M+H]+ FALSE null
## 65 Unknown [M+2H]2+ FALSE null
## 66 Unknown [M+H]+ FALSE null
## 67 Unknown [M+H]+ TRUE null
## 68 Unknown [M+H]+ FALSE null
## 69 Unknown [M+H]+ FALSE null
## 70 Unknown [M+H]+ FALSE null
## 71 Unknown [M+H]+ TRUE null
## 72 Unknown [M+H]+ TRUE null
## 73 Unknown [M+H]+ FALSE null
## 74 Unknown [M+H]+ FALSE null
## 75 Unknown [M+H]+ TRUE null
## 76 Unknown [M+H]+ FALSE null
## 77 Unknown [M+H]+ FALSE null
## 78 Unknown [M+H]+ TRUE null
## 79 Unknown [M+H]+ FALSE null
## 80 Unknown [M+H]+ TRUE null
## 81 Unknown [M+H]+ FALSE null
## 82 Unknown [M+H]+ FALSE null
## 83 Unknown [M+H]+ FALSE null
## 84 Unknown [M+H]+ FALSE null
## 85 Unknown [M+H]+ TRUE null
## 86 Unknown [M+H]+ TRUE null
## 87 Unknown [M+H]+ FALSE null
## 88 Unknown [M+H]+ FALSE null
## 89 Unknown [M+H]+ TRUE null
## 90 Unknown [M+H]+ TRUE null
## 91 Unknown [M+H]+ FALSE null
## 92 Unknown [M+H]+ FALSE null
## 93 Unknown [M+H]+ TRUE null
## 94 Unknown [M+H]+ FALSE null
## 95 Unknown [M+H]+ FALSE null
## 96 Unknown [M+H]+ TRUE null
## 97 Unknown [M+H]+ FALSE null
## 98 Unknown [M+H]+ FALSE null
## 99 Unknown [M+H]+ FALSE null
## 100 Unknown [M+H]+ FALSE null
## sample_to_blank_ratio
## 1 1.343530e+06
## 2 1.731103e+06
## 3 5.913140e+05
## 4 7.476960e+05
## 5 1.362876e+06
## 6 1.545487e+06
## 7 2.841300e+05
## 8 6.560310e+05
## 9 1.030067e+03
## 10 2.467579e+03
## 11 4.287320e+03
## 12 1.202550e+05
## 13 2.249790e+05
## 14 4.460070e+05
## 15 4.234970e+05
## 16 4.680900e+05
## 17 9.330970e+05
## 18 9.428416e+02
## 19 1.933286e+06
## 20 3.465870e+05
## 21 7.087700e+05
## 22 5.415100e+05
## 23 2.132412e+02
## 24 1.015955e+06
## 25 1.487893e+07
## 26 2.799610e+05
## 27 1.066878e+06
## 28 5.969110e+05
## 29 1.537780e+05
## 30 5.960920e+05
## 31 1.561417e+02
## 32 3.692090e+05
## 33 2.067381e+03
## 34 1.523875e+06
## 35 3.575458e+06
## 36 8.671710e+05
## 37 9.629390e+05
## 38 8.571340e+05
## 39 5.831804e+02
## 40 1.190093e+06
## 41 2.151078e+06
## 42 2.386901e+02
## 43 1.106220e+05
## 44 1.534040e+05
## 45 6.054400e+05
## 46 6.177060e+05
## 47 4.377064e+06
## 48 5.999575e+02
## 49 1.132765e+06
## 50 6.730110e+05
## 51 5.838490e+05
## 52 8.087010e+05
## 53 1.993160e+05
## 54 1.097950e+05
## 55 1.273218e+02
## 56 6.213350e+05
## 57 1.574746e+06
## 58 1.365180e+05
## 59 2.151078e+06
## 60 1.850810e+05
## 61 2.330309e+06
## 62 1.942220e+05
## 63 2.124120e+05
## 64 2.112020e+05
## 65 2.992793e+01
## 66 9.862850e+05
## 67 6.776281e+06
## 68 4.306879e+02
## 69 1.053790e+05
## 70 3.299000e+05
## 71 2.646182e+02
## 72 4.477380e+05
## 73 3.228190e+05
## 74 6.668840e+05
## 75 6.587164e+02
## 76 1.365720e+06
## 77 8.390220e+02
## 78 3.550130e+06
## 79 1.136995e+03
## 80 8.923140e+05
## 81 8.556487e+01
## 82 1.391551e+06
## 83 1.669139e+02
## 84 2.556250e+05
## 85 1.319042e+06
## 86 3.282400e+05
## 87 9.373820e+05
## 88 1.133258e+06
## 89 4.389830e+05
## 90 1.765855e+07
## 91 4.885481e+02
## 92 1.717720e+05
## 93 9.302907e+01
## 94 1.023090e+05
## 95 7.056280e+05
## 96 5.558535e+06
## 97 1.880374e+02
## 98 6.356461e+03
## 99 7.991630e+05
## 100 1.166030e+05
#And:
top_pc2_loadings100 %>%
select(
feature_name,
PC2,
`Average Rt(min)`,
`Average Mz`,
`Metabolite name`,
`Adduct type`,
`MS/MS assigned`,
`Total score`,
sample_to_blank_ratio
)
## feature_name PC2 Average Rt(min) Average Mz
## 1 F1302_mz170.958_rt0.41 -0.03219109 0.411 170.95804
## 2 F3103_mz301.1627_rt0.42 -0.03212591 0.421 301.16272
## 3 F2031_mz220.9355_rt0.41 -0.03207162 0.408 220.93546
## 4 F3166_mz304.8961_rt0.41 -0.03180513 0.413 304.89606
## 5 F3905_mz372.8828_rt0.41 -0.03150581 0.412 372.88278
## 6 F3507_mz334.9143_rt0.41 -0.03146620 0.410 334.91428
## 7 F1057_mz152.9473_rt0.41 -0.03133150 0.410 152.94733
## 8 F2611_mz266.928_rt0.41 -0.03122706 0.406 266.92801
## 9 F4140_mz402.9017_rt0.41 -0.03120089 0.408 402.90167
## 10 F1803_mz204.9574_rt0.41 -0.03088462 0.410 204.95743
## 11 F1021_mz149.1073_rt0.66 -0.03079202 0.659 149.10732
## 12 F4421_mz449.349_rt2.14 -0.03074170 2.140 449.34897
## 13 F4264_mz421.3178_rt2.14 -0.03071827 2.140 421.31781
## 14 F4248_mz418.8769_rt0.41 -0.03061512 0.410 418.87692
## 15 F4222_mz414.2158_rt2.14 -0.03060079 2.140 414.21582
## 16 F4450_mz456.8441_rt0.41 -0.03049742 0.412 456.84409
## 17 F2936_mz288.9192_rt0.41 -0.03049121 0.409 288.91925
## 18 F4622_mz502.84_rt0.41 -0.03042883 0.412 502.84003
## 19 F4077_mz392.2551_rt2.83 -0.03040429 2.829 392.25510
## 20 F4179_mz407.3019_rt2.14 -0.03038725 2.140 407.30191
## 21 F1528_mz186.124_rt0.47 -0.03038559 0.465 186.12396
## 22 F4046_mz388.8576_rt0.41 -0.03027706 0.414 388.85764
## 23 F3922_mz374.2404_rt0.49 -0.03023684 0.490 374.24042
## 24 F2916_mz287.6636_rt0.88 -0.03019375 0.878 287.66364
## 25 F4187_mz408.2342_rt0.48 -0.03015262 0.484 408.23419
## 26 F3665_mz349.1608_rt0.43 -0.03001440 0.432 349.16080
## 27 F4610_mz497.2096_rt0.47 -0.02999937 0.465 497.20956
## 28 F4367_mz440.8693_rt0.41 -0.02996052 0.413 440.86929
## 29 F3954_mz378.1759_rt0.48 -0.02982101 0.479 378.17590
## 30 F3124_mz302.122_rt0.53 -0.02980856 0.533 302.12198
## 31 F1924_mz213.9698_rt0.45 -0.02979202 0.447 213.96980
## 32 F2577_mz263.0879_rt0.48 -0.02978939 0.479 263.08795
## 33 F2056_mz222.9204_rt0.43 -0.02977186 0.434 222.92035
## 34 F3242_mz312.0452_rt0.45 -0.02976313 0.446 312.04520
## 35 F3740_mz356.907_rt0.41 -0.02973744 0.408 356.90701
## 36 F2650_mz269.9267_rt0.47 -0.02973309 0.470 269.92673
## 37 F4163_mz405.3519_rt3.41 -0.02972532 3.411 405.35193
## 38 F3597_mz344.0147_rt0.49 -0.02970627 0.494 344.01474
## 39 F3893_mz371.1463_rt0.79 -0.02969415 0.791 371.14633
## 40 F4008_mz383.966_rt0.49 -0.02963785 0.493 383.96600
## 41 F3186_mz306.8904_rt0.41 -0.02962215 0.409 306.89038
## 42 F4645_mz508.857_rt0.41 -0.02959255 0.412 508.85696
## 43 F3720_mz354.0124_rt0.52 -0.02955443 0.515 354.01239
## 44 F3496_mz333.2144_rt0.49 -0.02953023 0.493 333.21436
## 45 F3866_mz367.9921_rt0.5 -0.02952793 0.496 367.99213
## 46 F50_mz70.0128_rt0.59 -0.02951530 0.587 70.01280
## 47 F4276_mz423.3626_rt3.1 -0.02947979 3.098 423.36258
## 48 F4831_mz590.2325_rt0.49 -0.02946616 0.488 590.23248
## 49 F3606_mz344.876_rt0.39 -0.02940703 0.391 344.87595
## 50 F213_mz89.1075_rt0.39 0.02939676 0.394 89.10750
## 51 F4947_mz652.2298_rt0.49 -0.02936062 0.489 652.22980
## 52 F3787_mz360.2252_rt0.48 -0.02935179 0.484 360.22522
## 53 F88_mz74.9756_rt0.4 -0.02931057 0.399 74.97564
## 54 F494_mz114.4976_rt0.4 -0.02929790 0.399 114.49761
## 55 F3493_mz333.1776_rt0.51 -0.02925679 0.512 333.17761
## 56 F5124_mz768.5384_rt2.14 -0.02924251 2.138 768.53845
## 57 F1353_mz173.9295_rt0.39 -0.02922595 0.394 173.92946
## 58 F1399_mz177.0075_rt0.4 -0.02921678 0.396 177.00754
## 59 F2786_mz277.9588_rt0.45 -0.02919552 0.447 277.95880
## 60 F3859_mz367.1717_rt0.48 -0.02919508 0.484 367.17175
## 61 F932_mz144.618_rt0.47 -0.02916657 0.466 144.61798
## 62 F2756_mz275.9257_rt0.45 -0.02913718 0.451 275.92572
## 63 F3953_mz377.739_rt9.7 -0.02908152 9.698 377.73904
## 64 F4918_mz633.2749_rt0.46 -0.02908048 0.456 633.27490
## 65 F302_mz99.5313_rt0.66 -0.02907374 0.655 99.53130
## 66 F836_mz138.0551_rt0.48 0.02905358 0.477 138.05513
## 67 F613_mz122.0967_rt0.91 -0.02904991 0.913 122.09670
## 68 F2736_mz274.9753_rt0.4 -0.02903611 0.403 274.97534
## 69 F4391_mz443.9871_rt0.49 -0.02901150 0.491 443.98709
## 70 F2922_mz288.0046_rt0.49 -0.02900604 0.491 288.00458
## 71 F452_mz111.5494_rt0.4 -0.02899154 0.396 111.54935
## 72 F4669_mz519.2039_rt0.47 -0.02897202 0.465 519.20386
## 73 F4624_mz504.1905_rt0.67 -0.02896211 0.668 504.19049
## 74 F786_mz134.1178_rt0.54 -0.02894260 0.545 134.11778
## 75 F4827_mz588.8113_rt0.39 -0.02892966 0.393 588.81134
## 76 F1158_mz160.9872_rt0.48 -0.02887731 0.475 160.98715
## 77 F342_mz102.5308_rt0.73 -0.02884602 0.726 102.53078
## 78 F4951_mz654.2264_rt0.69 -0.02884430 0.693 654.22638
## 79 F1396_mz176.9619_rt0.45 -0.02881112 0.450 176.96191
## 80 F4788_mz572.8366_rt0.39 -0.02880736 0.394 572.83661
## 81 F327_mz101.9501_rt0.47 -0.02880408 0.473 101.95007
## 82 F4735_mz546.2744_rt0.9 -0.02880152 0.901 546.27435
## 83 F4282_mz424.1821_rt0.5 -0.02879524 0.503 424.18207
## 84 F3833_mz365.1057_rt0.61 0.02877335 0.611 365.10574
## 85 F904_mz142.9767_rt0.47 -0.02876142 0.474 142.97670
## 86 F2532_mz259.9482_rt0.45 -0.02874850 0.447 259.94815
## 87 F3061_mz298.1502_rt0.51 -0.02874474 0.512 298.15021
## 88 F1577_mz190.0031_rt0.42 -0.02869618 0.418 190.00308
## 89 F3755_mz358.1355_rt0.48 -0.02868780 0.484 358.13550
## 90 F4537_mz474.834_rt0.39 -0.02868035 0.393 474.83395
## 91 F947_mz145.0175_rt0.39 -0.02866924 0.393 145.01750
## 92 F1503_mz184.0033_rt0.47 -0.02865042 0.474 184.00330
## 93 F329_mz102.034_rt0.39 -0.02861612 0.394 102.03397
## 94 F1802_mz204.9095_rt0.43 -0.02855637 0.433 204.90947
## 95 F4356_mz439.1568_rt0.52 -0.02854921 0.522 439.15680
## 96 F3486_mz332.844_rt0.43 -0.02853288 0.426 332.84402
## 97 F2441_mz252.9188_rt0.45 -0.02849968 0.447 252.91884
## 98 F4518_mz471.3791_rt0.39 -0.02848455 0.392 471.37906
## 99 F5109_mz751.512_rt2.14 -0.02847715 2.139 751.51196
## 100 F4173_mz407.1667_rt0.51 -0.02846994 0.513 407.16666
## Metabolite name Adduct type MS/MS assigned Total score
## 1 Unknown [M+H]+ FALSE null
## 2 Unknown [M+H]+ FALSE null
## 3 Unknown [M+H]+ FALSE null
## 4 Unknown [M+H]+ FALSE null
## 5 Unknown [M+H]+ FALSE null
## 6 Unknown [M+H]+ FALSE null
## 7 Unknown [M+H]+ FALSE null
## 8 Unknown [M+H]+ FALSE null
## 9 Unknown [M+H]+ FALSE null
## 10 Unknown [M+H]+ FALSE null
## 11 Unknown [M+H]+ FALSE null
## 12 Unknown [M+H]+ FALSE null
## 13 Unknown [M+H]+ TRUE null
## 14 Unknown [M+H]+ FALSE null
## 15 Unknown [M+H]+ TRUE null
## 16 Unknown [M+H]+ FALSE null
## 17 Unknown [M+H]+ FALSE null
## 18 Unknown [M+H]+ FALSE null
## 19 Unknown [M+H]+ TRUE null
## 20 Unknown [M+H]+ TRUE null
## 21 Unknown [M+H]+ FALSE null
## 22 Unknown [M+H]+ FALSE null
## 23 Unknown [M+H]+ FALSE null
## 24 Unknown [M+H]+ FALSE null
## 25 Unknown [M+H]+ FALSE null
## 26 Unknown [M+H]+ FALSE null
## 27 Unknown [M+H]+ FALSE null
## 28 Unknown [M+H]+ FALSE null
## 29 Unknown [M+H]+ FALSE null
## 30 Unknown [M+H]+ FALSE null
## 31 Unknown [M+H]+ FALSE null
## 32 Unknown [M+H]+ TRUE null
## 33 Unknown [M+H]+ FALSE null
## 34 Unknown [M+H]+ FALSE null
## 35 Unknown [M+H]+ FALSE null
## 36 Unknown [M+H]+ FALSE null
## 37 Unknown [M+H]+ FALSE null
## 38 Unknown [M+H]+ FALSE null
## 39 Unknown [M+H]+ FALSE null
## 40 Unknown [M+H]+ FALSE null
## 41 Unknown [M+H]+ FALSE null
## 42 Unknown [M+H]+ FALSE null
## 43 Unknown [M+H]+ FALSE null
## 44 Unknown [M+H]+ FALSE null
## 45 Unknown [M+H]+ FALSE null
## 46 Unknown [M+H]+ FALSE null
## 47 Unknown [M+H]+ FALSE null
## 48 Unknown [M+H]+ FALSE null
## 49 Unknown [M+H]+ FALSE null
## 50 Unknown [M+H]+ FALSE null
## 51 Unknown [M+H]+ FALSE null
## 52 Unknown [M+H]+ FALSE null
## 53 Unknown [M+H]+ FALSE null
## 54 Unknown [M+H]+ FALSE null
## 55 Unknown [M+H]+ FALSE null
## 56 Unknown [M+H]+ TRUE null
## 57 Unknown [M+H]+ FALSE null
## 58 Unknown [M+H]+ FALSE null
## 59 Unknown [M+H]+ FALSE null
## 60 Unknown [M+H]+ FALSE null
## 61 Unknown [M+H]+ FALSE null
## 62 Unknown [M+H]+ FALSE null
## 63 Unknown [M+2H]2+ FALSE null
## 64 Unknown [M+H]+ FALSE null
## 65 Unknown [M+H]+ FALSE null
## 66 Unknown [M+H]2+ TRUE null
## 67 Unknown [M+H]+ TRUE null
## 68 Unknown [M+H]+ FALSE null
## 69 Unknown [M+H]+ FALSE null
## 70 Unknown [M+H]+ FALSE null
## 71 Unknown [M+H]+ FALSE null
## 72 Unknown [M+H]+ FALSE null
## 73 Unknown [M+H]+ FALSE null
## 74 Unknown [M+H]+ FALSE null
## 75 Unknown [M+H]+ FALSE null
## 76 Unknown [M+H]+ TRUE null
## 77 Unknown [M+H]+ FALSE null
## 78 Unknown [M+H]+ FALSE null
## 79 Unknown [M+H]+ FALSE null
## 80 Unknown [M+H]+ FALSE null
## 81 Unknown [M+H]+ FALSE null
## 82 Unknown [M+H]+ FALSE null
## 83 Unknown [M+H]+ FALSE null
## 84 Unknown [M+H]+ TRUE null
## 85 Unknown [M+H]+ TRUE null
## 86 Unknown [M+H]+ FALSE null
## 87 Unknown [M+H]+ FALSE null
## 88 Unknown [M+H]+ FALSE null
## 89 Unknown [M+H]+ FALSE null
## 90 Unknown [M+H]+ FALSE null
## 91 Unknown [M+H]+ FALSE null
## 92 Unknown [M+H]+ FALSE null
## 93 Unknown [M+2H]2+ TRUE null
## 94 Unknown [M+H]+ FALSE null
## 95 Unknown [M+H]+ FALSE null
## 96 Unknown [M+H]+ FALSE null
## 97 Unknown [M+H]+ FALSE null
## 98 Unknown [M+H]+ FALSE null
## 99 Unknown [M+H]+ TRUE null
## 100 Unknown [M+H]+ FALSE null
## sample_to_blank_ratio
## 1 2.799679e+01
## 2 5.729148e+00
## 3 2.628354e+01
## 4 6.676007e+00
## 5 2.875420e+05
## 6 1.715160e+05
## 7 2.055147e+01
## 8 1.995660e+05
## 9 1.063670e+05
## 10 2.476935e+01
## 11 3.280387e+01
## 12 2.450820e+05
## 13 2.008854e+06
## 14 1.497140e+05
## 15 3.133160e+05
## 16 2.229150e+05
## 17 7.727608e+01
## 18 1.462620e+05
## 19 5.088650e+05
## 20 3.718761e+06
## 21 5.509780e+05
## 22 2.128150e+05
## 23 1.646210e+05
## 24 1.231370e+05
## 25 1.412290e+05
## 26 1.049030e+05
## 27 1.232970e+05
## 28 2.850830e+05
## 29 1.452350e+05
## 30 3.853020e+05
## 31 1.740120e+05
## 32 1.752247e+06
## 33 2.680880e+05
## 34 1.618110e+05
## 35 2.555750e+05
## 36 1.322350e+05
## 37 1.157500e+05
## 38 2.043810e+05
## 39 1.823480e+05
## 40 2.590310e+05
## 41 1.376671e+01
## 42 1.540160e+05
## 43 1.132430e+05
## 44 1.219100e+05
## 45 2.966670e+05
## 46 1.773269e+01
## 47 1.562090e+05
## 48 1.451480e+05
## 49 1.035606e+06
## 50 8.511891e+02
## 51 1.061982e+06
## 52 1.127760e+05
## 53 1.488470e+05
## 54 4.684530e+05
## 55 1.248550e+05
## 56 1.575112e+06
## 57 3.424990e+05
## 58 1.152238e+01
## 59 1.580900e+05
## 60 1.152700e+05
## 61 1.003290e+05
## 62 4.383980e+05
## 63 3.555610e+05
## 64 1.171550e+05
## 65 6.846288e+00
## 66 3.193028e+02
## 67 6.475622e+00
## 68 1.397950e+05
## 69 2.699890e+05
## 70 2.901540e+05
## 71 9.830281e+01
## 72 1.234050e+05
## 73 1.084610e+05
## 74 1.588413e+01
## 75 1.556500e+05
## 76 7.105651e+00
## 77 6.177745e+00
## 78 1.591830e+05
## 79 3.069846e+01
## 80 2.963270e+05
## 81 2.249378e+02
## 82 2.272610e+05
## 83 1.748310e+05
## 84 3.326971e+06
## 85 3.052830e+01
## 86 2.101520e+05
## 87 2.046500e+05
## 88 3.114133e+01
## 89 1.754360e+05
## 90 3.773200e+05
## 91 1.366358e+02
## 92 5.600042e+01
## 93 5.745952e+01
## 94 2.084140e+05
## 95 2.489010e+05
## 96 1.213070e+05
## 97 6.083295e+01
## 98 1.893890e+05
## 99 3.452300e+05
## 100 2.440480e+05
#34 quality control
#34A. Check suspicious very-early RT loadings. Many high-loading features occur around RT 0.4–0.8 min. Could indicate potential loss of anlyte retention, co-elution with interfering matrix components, or system faults like phase mismatch, flow instability, and column degradation.
#Quantify early-RT features among the top 100 PC1/PC2 drivers #rank by strongest PC1 or PC2 loading, take the top 100, how many have RT <1min?
early_rt_summary <- pca_loadings %>%
mutate(
important_PC12 =
pmax(
abs(PC1),
abs(PC2)
)
) %>%
arrange(
desc(
important_PC12
)
) %>%
slice_head(
n = 100
) %>%
count(
early_RT =
`Average Rt(min)` < 1
)
early_rt_summary
## early_RT n
## 1 FALSE 10
## 2 TRUE 90
#which of those major PCA drivers how RT <1MIN?
early_rt_top100 <- pca_loadings %>%
mutate(
important_PC12 =
pmax(
abs(PC1),
abs(PC2)
)
) %>%
arrange(
desc(
important_PC12
)
) %>%
slice_head(
n = 100
) %>%
mutate(
early_RT =
`Average Rt(min)` < 1
)
# Confirm the early-RT counts
early_rt_top100 %>%
count(
early_RT
)
## early_RT n
## 1 FALSE 10
## 2 TRUE 90
# Inspect only the early-RT features among the top 100 PCA drivers
early_rt_top100 %>%
filter(
early_RT
) %>%
select(
feature_name,
`Average Rt(min)`,
`Average Mz`,
`Metabolite name`,
`Adduct type`,
`MS/MS assigned`,
PC1,
PC2,
important_PC12,
sample_to_blank_ratio
)
## feature_name Average Rt(min) Average Mz Metabolite name
## 1 F1302_mz170.958_rt0.41 0.411 170.95804 Unknown
## 2 F3103_mz301.1627_rt0.42 0.421 301.16272 Unknown
## 3 F2031_mz220.9355_rt0.41 0.408 220.93546 Unknown
## 4 F3166_mz304.8961_rt0.41 0.413 304.89606 Unknown
## 5 F3905_mz372.8828_rt0.41 0.412 372.88278 Unknown
## 6 F3507_mz334.9143_rt0.41 0.410 334.91428 Unknown
## 7 F1057_mz152.9473_rt0.41 0.410 152.94733 Unknown
## 8 F2611_mz266.928_rt0.41 0.406 266.92801 Unknown
## 9 F4140_mz402.9017_rt0.41 0.408 402.90167 Unknown
## 10 F1803_mz204.9574_rt0.41 0.410 204.95743 Unknown
## 11 F1021_mz149.1073_rt0.66 0.659 149.10732 Unknown
## 12 F4248_mz418.8769_rt0.41 0.410 418.87692 Unknown
## 13 F4450_mz456.8441_rt0.41 0.412 456.84409 Unknown
## 14 F2936_mz288.9192_rt0.41 0.409 288.91925 Unknown
## 15 F4622_mz502.84_rt0.41 0.412 502.84003 Unknown
## 16 F1528_mz186.124_rt0.47 0.465 186.12396 Unknown
## 17 F4046_mz388.8576_rt0.41 0.414 388.85764 Unknown
## 18 F3922_mz374.2404_rt0.49 0.490 374.24042 Unknown
## 19 F2916_mz287.6636_rt0.88 0.878 287.66364 Unknown
## 20 F4187_mz408.2342_rt0.48 0.484 408.23419 Unknown
## 21 F3665_mz349.1608_rt0.43 0.432 349.16080 Unknown
## 22 F4610_mz497.2096_rt0.47 0.465 497.20956 Unknown
## 23 F4367_mz440.8693_rt0.41 0.413 440.86929 Unknown
## 24 F3954_mz378.1759_rt0.48 0.479 378.17590 Unknown
## 25 F3124_mz302.122_rt0.53 0.533 302.12198 Unknown
## 26 F1924_mz213.9698_rt0.45 0.447 213.96980 Unknown
## 27 F2577_mz263.0879_rt0.48 0.479 263.08795 Unknown
## 28 F2056_mz222.9204_rt0.43 0.434 222.92035 Unknown
## 29 F3242_mz312.0452_rt0.45 0.446 312.04520 Unknown
## 30 F3740_mz356.907_rt0.41 0.408 356.90701 Unknown
## 31 F2650_mz269.9267_rt0.47 0.470 269.92673 Unknown
## 32 F3597_mz344.0147_rt0.49 0.494 344.01474 Unknown
## 33 F3893_mz371.1463_rt0.79 0.791 371.14633 Unknown
## 34 F4008_mz383.966_rt0.49 0.493 383.96600 Unknown
## 35 F3186_mz306.8904_rt0.41 0.409 306.89038 Unknown
## 36 F4645_mz508.857_rt0.41 0.412 508.85696 Unknown
## 37 F3720_mz354.0124_rt0.52 0.515 354.01239 Unknown
## 38 F3496_mz333.2144_rt0.49 0.493 333.21436 Unknown
## 39 F3866_mz367.9921_rt0.5 0.496 367.99213 Unknown
## 40 F50_mz70.0128_rt0.59 0.587 70.01280 Unknown
## 41 F4831_mz590.2325_rt0.49 0.488 590.23248 Unknown
## 42 F3606_mz344.876_rt0.39 0.391 344.87595 Unknown
## 43 F213_mz89.1075_rt0.39 0.394 89.10750 Unknown
## 44 F4947_mz652.2298_rt0.49 0.489 652.22980 Unknown
## 45 F3787_mz360.2252_rt0.48 0.484 360.22522 Unknown
## 46 F88_mz74.9756_rt0.4 0.399 74.97564 Unknown
## 47 F494_mz114.4976_rt0.4 0.399 114.49761 Unknown
## 48 F3493_mz333.1776_rt0.51 0.512 333.17761 Unknown
## 49 F1353_mz173.9295_rt0.39 0.394 173.92946 Unknown
## 50 F1399_mz177.0075_rt0.4 0.396 177.00754 Unknown
## 51 F2786_mz277.9588_rt0.45 0.447 277.95880 Unknown
## 52 F3859_mz367.1717_rt0.48 0.484 367.17175 Unknown
## 53 F932_mz144.618_rt0.47 0.466 144.61798 Unknown
## 54 F2756_mz275.9257_rt0.45 0.451 275.92572 Unknown
## 55 F4918_mz633.2749_rt0.46 0.456 633.27490 Unknown
## 56 F302_mz99.5313_rt0.66 0.655 99.53130 Unknown
## 57 F836_mz138.0551_rt0.48 0.477 138.05513 Unknown
## 58 F613_mz122.0967_rt0.91 0.913 122.09670 Unknown
## 59 F2736_mz274.9753_rt0.4 0.403 274.97534 Unknown
## 60 F4391_mz443.9871_rt0.49 0.491 443.98709 Unknown
## 61 F2922_mz288.0046_rt0.49 0.491 288.00458 Unknown
## 62 F452_mz111.5494_rt0.4 0.396 111.54935 Unknown
## 63 F4669_mz519.2039_rt0.47 0.465 519.20386 Unknown
## 64 F4624_mz504.1905_rt0.67 0.668 504.19049 Unknown
## 65 F786_mz134.1178_rt0.54 0.545 134.11778 Unknown
## 66 F4827_mz588.8113_rt0.39 0.393 588.81134 Unknown
## 67 F1158_mz160.9872_rt0.48 0.475 160.98715 Unknown
## 68 F342_mz102.5308_rt0.73 0.726 102.53078 Unknown
## 69 F4951_mz654.2264_rt0.69 0.693 654.22638 Unknown
## 70 F1396_mz176.9619_rt0.45 0.450 176.96191 Unknown
## 71 F4788_mz572.8366_rt0.39 0.394 572.83661 Unknown
## 72 F327_mz101.9501_rt0.47 0.473 101.95007 Unknown
## 73 F4735_mz546.2744_rt0.9 0.901 546.27435 Unknown
## 74 F4282_mz424.1821_rt0.5 0.503 424.18207 Unknown
## 75 F3833_mz365.1057_rt0.61 0.611 365.10574 Unknown
## 76 F904_mz142.9767_rt0.47 0.474 142.97670 Unknown
## 77 F2532_mz259.9482_rt0.45 0.447 259.94815 Unknown
## 78 F3061_mz298.1502_rt0.51 0.512 298.15021 Unknown
## 79 F1577_mz190.0031_rt0.42 0.418 190.00308 Unknown
## 80 F3755_mz358.1355_rt0.48 0.484 358.13550 Unknown
## 81 F4537_mz474.834_rt0.39 0.393 474.83395 Unknown
## 82 F947_mz145.0175_rt0.39 0.393 145.01750 Unknown
## 83 F1503_mz184.0033_rt0.47 0.474 184.00330 Unknown
## 84 F329_mz102.034_rt0.39 0.394 102.03397 Unknown
## 85 F1802_mz204.9095_rt0.43 0.433 204.90947 Unknown
## 86 F4356_mz439.1568_rt0.52 0.522 439.15680 Unknown
## 87 F3486_mz332.844_rt0.43 0.426 332.84402 Unknown
## 88 F2441_mz252.9188_rt0.45 0.447 252.91884 Unknown
## 89 F4518_mz471.3791_rt0.39 0.392 471.37906 Unknown
## 90 F4173_mz407.1667_rt0.51 0.513 407.16666 Unknown
## Adduct type MS/MS assigned PC1 PC2 important_PC12
## 1 [M+H]+ FALSE -6.061858e-04 -0.03219109 0.03219109
## 2 [M+H]+ FALSE -5.796748e-04 -0.03212591 0.03212591
## 3 [M+H]+ FALSE 8.561003e-04 -0.03207162 0.03207162
## 4 [M+H]+ FALSE -3.556515e-03 -0.03180513 0.03180513
## 5 [M+H]+ FALSE 4.598453e-03 -0.03150581 0.03150581
## 6 [M+H]+ FALSE -2.419179e-03 -0.03146620 0.03146620
## 7 [M+H]+ FALSE 5.689159e-03 -0.03133150 0.03133150
## 8 [M+H]+ FALSE 9.428743e-04 -0.03122706 0.03122706
## 9 [M+H]+ FALSE -1.502155e-03 -0.03120089 0.03120089
## 10 [M+H]+ FALSE 3.831483e-03 -0.03088462 0.03088462
## 11 [M+H]+ FALSE 1.149242e-03 -0.03079202 0.03079202
## 12 [M+H]+ FALSE -4.761720e-03 -0.03061512 0.03061512
## 13 [M+H]+ FALSE 6.761532e-03 -0.03049742 0.03049742
## 14 [M+H]+ FALSE -4.651279e-03 -0.03049121 0.03049121
## 15 [M+H]+ FALSE -4.808522e-03 -0.03042883 0.03042883
## 16 [M+H]+ FALSE 4.020829e-03 -0.03038559 0.03038559
## 17 [M+H]+ FALSE -5.685921e-03 -0.03027706 0.03027706
## 18 [M+H]+ FALSE -1.587674e-03 -0.03023684 0.03023684
## 19 [M+H]+ FALSE -2.682838e-04 -0.03019375 0.03019375
## 20 [M+H]+ FALSE -5.524345e-03 -0.03015262 0.03015262
## 21 [M+H]+ FALSE -7.021586e-03 -0.03001440 0.03001440
## 22 [M+H]+ FALSE -7.001366e-03 -0.02999937 0.02999937
## 23 [M+H]+ FALSE 6.503922e-03 -0.02996052 0.02996052
## 24 [M+H]+ FALSE -5.265991e-03 -0.02982101 0.02982101
## 25 [M+H]+ FALSE -6.802437e-03 -0.02980856 0.02980856
## 26 [M+H]+ FALSE -8.122452e-03 -0.02979202 0.02979202
## 27 [M+H]+ TRUE -4.906475e-03 -0.02978939 0.02978939
## 28 [M+H]+ FALSE -2.720797e-03 -0.02977186 0.02977186
## 29 [M+H]+ FALSE -6.763162e-03 -0.02976313 0.02976313
## 30 [M+H]+ FALSE 5.610277e-03 -0.02973744 0.02973744
## 31 [M+H]+ FALSE -8.118298e-03 -0.02973309 0.02973309
## 32 [M+H]+ FALSE -8.124454e-03 -0.02970627 0.02970627
## 33 [M+H]+ FALSE 1.275186e-03 -0.02969415 0.02969415
## 34 [M+H]+ FALSE -8.104267e-03 -0.02963785 0.02963785
## 35 [M+H]+ FALSE -6.100496e-03 -0.02962215 0.02962215
## 36 [M+H]+ FALSE 2.469610e-03 -0.02959255 0.02959255
## 37 [M+H]+ FALSE -8.080883e-03 -0.02955443 0.02955443
## 38 [M+H]+ FALSE -2.691558e-03 -0.02953023 0.02953023
## 39 [M+H]+ FALSE -8.085048e-03 -0.02952793 0.02952793
## 40 [M+H]+ FALSE -6.747369e-03 -0.02951530 0.02951530
## 41 [M+H]+ FALSE 1.720497e-03 -0.02946616 0.02946616
## 42 [M+H]+ FALSE -4.405961e-03 -0.02940703 0.02940703
## 43 [M+H]+ FALSE 5.137317e-03 0.02939676 0.02939676
## 44 [M+H]+ FALSE 3.153459e-03 -0.02936062 0.02936062
## 45 [M+H]+ FALSE -2.285617e-03 -0.02935179 0.02935179
## 46 [M+H]+ FALSE -3.651001e-03 -0.02931057 0.02931057
## 47 [M+H]+ FALSE -6.846564e-03 -0.02929790 0.02929790
## 48 [M+H]+ FALSE -4.610489e-03 -0.02925679 0.02925679
## 49 [M+H]+ FALSE -7.943988e-03 -0.02922595 0.02922595
## 50 [M+H]+ FALSE -8.720212e-03 -0.02921678 0.02921678
## 51 [M+H]+ FALSE -8.031569e-03 -0.02919552 0.02919552
## 52 [M+H]+ FALSE -5.310134e-03 -0.02919508 0.02919508
## 53 [M+H]+ FALSE -5.459767e-03 -0.02916657 0.02916657
## 54 [M+H]+ FALSE -8.017335e-03 -0.02913718 0.02913718
## 55 [M+H]+ FALSE -1.728937e-03 -0.02908048 0.02908048
## 56 [M+H]+ FALSE -7.735236e-03 -0.02907374 0.02907374
## 57 [M+H]2+ TRUE -1.383671e-03 0.02905358 0.02905358
## 58 [M+H]+ TRUE 1.944435e-03 -0.02904991 0.02904991
## 59 [M+H]+ FALSE -4.926122e-03 -0.02903611 0.02903611
## 60 [M+H]+ FALSE -7.995344e-03 -0.02901150 0.02901150
## 61 [M+H]+ FALSE -7.981252e-03 -0.02900604 0.02900604
## 62 [M+H]+ FALSE -7.641356e-03 -0.02899154 0.02899154
## 63 [M+H]+ FALSE 1.863771e-03 -0.02897202 0.02897202
## 64 [M+H]+ FALSE 9.494646e-04 -0.02896211 0.02896211
## 65 [M+H]+ FALSE -5.288636e-03 -0.02894260 0.02894260
## 66 [M+H]+ FALSE -7.463401e-03 -0.02892966 0.02892966
## 67 [M+H]+ TRUE -7.969158e-03 -0.02887731 0.02887731
## 68 [M+H]+ FALSE 9.705815e-04 -0.02884602 0.02884602
## 69 [M+H]+ FALSE 4.907726e-04 -0.02884430 0.02884430
## 70 [M+H]+ FALSE -9.621745e-03 -0.02881112 0.02881112
## 71 [M+H]+ FALSE -5.233978e-03 -0.02880736 0.02880736
## 72 [M+H]+ FALSE -7.943254e-03 -0.02880408 0.02880408
## 73 [M+H]+ FALSE 4.932765e-03 -0.02880152 0.02880152
## 74 [M+H]+ FALSE -3.160561e-03 -0.02879524 0.02879524
## 75 [M+H]+ TRUE 7.837247e-04 0.02877335 0.02877335
## 76 [M+H]+ TRUE -7.954094e-03 -0.02876142 0.02876142
## 77 [M+H]+ FALSE -8.792785e-03 -0.02874850 0.02874850
## 78 [M+H]+ FALSE 6.017098e-05 -0.02874474 0.02874474
## 79 [M+H]+ FALSE -6.825720e-03 -0.02869618 0.02869618
## 80 [M+H]+ FALSE -4.997288e-03 -0.02868780 0.02868780
## 81 [M+H]+ FALSE -6.733200e-03 -0.02868035 0.02868035
## 82 [M+H]+ FALSE -7.862822e-03 -0.02866924 0.02866924
## 83 [M+H]+ FALSE -7.938044e-03 -0.02865042 0.02865042
## 84 [M+2H]2+ TRUE -7.945738e-03 -0.02861612 0.02861612
## 85 [M+H]+ FALSE -7.515961e-03 -0.02855637 0.02855637
## 86 [M+H]+ FALSE -1.130087e-03 -0.02854921 0.02854921
## 87 [M+H]+ FALSE 6.826057e-04 -0.02853288 0.02853288
## 88 [M+H]+ FALSE -7.900464e-03 -0.02849968 0.02849968
## 89 [M+H]+ FALSE -7.841037e-03 -0.02848455 0.02848455
## 90 [M+H]+ FALSE -3.070750e-03 -0.02846994 0.02846994
## sample_to_blank_ratio
## 1 2.799679e+01
## 2 5.729148e+00
## 3 2.628354e+01
## 4 6.676007e+00
## 5 2.875420e+05
## 6 1.715160e+05
## 7 2.055147e+01
## 8 1.995660e+05
## 9 1.063670e+05
## 10 2.476935e+01
## 11 3.280387e+01
## 12 1.497140e+05
## 13 2.229150e+05
## 14 7.727608e+01
## 15 1.462620e+05
## 16 5.509780e+05
## 17 2.128150e+05
## 18 1.646210e+05
## 19 1.231370e+05
## 20 1.412290e+05
## 21 1.049030e+05
## 22 1.232970e+05
## 23 2.850830e+05
## 24 1.452350e+05
## 25 3.853020e+05
## 26 1.740120e+05
## 27 1.752247e+06
## 28 2.680880e+05
## 29 1.618110e+05
## 30 2.555750e+05
## 31 1.322350e+05
## 32 2.043810e+05
## 33 1.823480e+05
## 34 2.590310e+05
## 35 1.376671e+01
## 36 1.540160e+05
## 37 1.132430e+05
## 38 1.219100e+05
## 39 2.966670e+05
## 40 1.773269e+01
## 41 1.451480e+05
## 42 1.035606e+06
## 43 8.511891e+02
## 44 1.061982e+06
## 45 1.127760e+05
## 46 1.488470e+05
## 47 4.684530e+05
## 48 1.248550e+05
## 49 3.424990e+05
## 50 1.152238e+01
## 51 1.580900e+05
## 52 1.152700e+05
## 53 1.003290e+05
## 54 4.383980e+05
## 55 1.171550e+05
## 56 6.846288e+00
## 57 3.193028e+02
## 58 6.475622e+00
## 59 1.397950e+05
## 60 2.699890e+05
## 61 2.901540e+05
## 62 9.830281e+01
## 63 1.234050e+05
## 64 1.084610e+05
## 65 1.588413e+01
## 66 1.556500e+05
## 67 7.105651e+00
## 68 6.177745e+00
## 69 1.591830e+05
## 70 3.069846e+01
## 71 2.963270e+05
## 72 2.249378e+02
## 73 2.272610e+05
## 74 1.748310e+05
## 75 3.326971e+06
## 76 3.052830e+01
## 77 2.101520e+05
## 78 2.046500e+05
## 79 3.114133e+01
## 80 1.754360e+05
## 81 3.773200e+05
## 82 1.366358e+02
## 83 5.600042e+01
## 84 5.745952e+01
## 85 2.084140e+05
## 86 2.489010e+05
## 87 1.213070e+05
## 88 6.083295e+01
## 89 1.893890e+05
## 90 2.440480e+05
#start with all RT <1MIN features, which 30 most strongly drive PC1? Also examine their blank ratios.
early_rt_pc1_top30 <- pca_loadings %>%
filter(
`Average Rt(min)` < 1
) %>%
arrange(
desc(
abs(PC1)
)
) %>%
select(
feature_name,
`Average Rt(min)`,
`Average Mz`,
`Metabolite name`,
`Adduct type`,
`MS/MS assigned`,
PC1,
PC2,
sample_to_blank_ratio
) %>%
slice_head(
n = 30
)
early_rt_pc1_top30
## feature_name Average Rt(min) Average Mz Metabolite name
## 1 F1540_mz187.1078_rt0.74 0.738 187.1078 Unknown
## 2 F2962_mz290.135_rt0.76 0.757 290.1350 Unknown
## 3 F2509_mz258.109_rt0.71 0.710 258.1089 Unknown
## 4 F4171_mz407.117_rt0.49 0.486 407.1170 Unknown
## 5 F1813_mz205.1186_rt0.83 0.827 205.1186 Unknown
## 6 F2017_mz219.1343_rt0.78 0.782 219.1343 Unknown
## 7 F998_mz147.5556_rt0.46 0.457 147.5556 Unknown
## 8 F3269_mz314.2084_rt0.97 0.971 314.2084 Unknown
## 9 F3477_mz332.1817_rt0.98 0.976 332.1817 Unknown
## 10 F2598_mz265.1122_rt0.48 0.478 265.1121 Unknown
## 11 F3561_mz339.0598_rt0.53 0.533 339.0598 Unknown
## 12 F1393_mz176.1646_rt0.92 0.920 176.1646 Unknown
## 13 F4447_mz456.2082_rt0.9 0.897 456.2082 Unknown
## 14 F2628_mz267.8584_rt0.42 0.416 267.8584 Unknown
## 15 F3312_mz317.1823_rt0.91 0.910 317.1823 Unknown
## 16 F5102_mz746.2346_rt0.95 0.950 746.2346 Unknown
## 17 F4696_mz529.2036_rt0.97 0.970 529.2036 Unknown
## 18 F1814_mz205.1262_rt0.92 0.916 205.1262 Unknown
## 19 F1941_mz215.0527_rt0.61 0.610 215.0527 Unknown
## 20 F1544_mz187.1443_rt1 0.998 187.1443 Unknown
## 21 F1929_mz214.1804_rt0.93 0.930 214.1804 Unknown
## 22 F3900_mz371.2293_rt0.96 0.962 371.2293 Unknown
## 23 F2224_mz235.1193_rt0.81 0.807 235.1193 Unknown
## 24 F1846_mz208.0642_rt0.71 0.714 208.0642 Unknown
## 25 F4424_mz450.9708_rt0.42 0.419 450.9708 Unknown
## 26 F3696_mz351.8194_rt0.41 0.413 351.8194 Unknown
## 27 F2164_mz230.1139_rt0.49 0.489 230.1139 Unknown
## 28 F3267_mz314.0922_rt0.85 0.850 314.0922 Unknown
## 29 F2444_mz253.1188_rt0.99 0.988 253.1188 Unknown
## 30 F4880_mz611.1401_rt0.92 0.918 611.1401 Unknown
## Adduct type MS/MS assigned PC1 PC2 sample_to_blank_ratio
## 1 [M+H]+ FALSE 0.02248574 1.291958e-03 1.343530e+06
## 2 [M+H]+ FALSE 0.02245567 1.725585e-03 1.731103e+06
## 3 [M+H]+ FALSE 0.02243978 1.170765e-03 1.362876e+06
## 4 [M+H]+ FALSE -0.02240368 2.220515e-03 6.560310e+05
## 5 [M+H]+ TRUE 0.02239955 9.827054e-04 1.030067e+03
## 6 [M+H]+ TRUE 0.02236977 2.148670e-03 4.287320e+03
## 7 [M+H]+ FALSE -0.02234104 7.063401e-04 4.460070e+05
## 8 [M+H]+ FALSE 0.02233023 -5.644396e-04 4.680900e+05
## 9 [M+H]+ FALSE 0.02230464 1.665517e-03 9.428416e+02
## 10 [M+H]+ FALSE 0.02230401 -6.838796e-04 1.933286e+06
## 11 [M+H]+ FALSE -0.02228138 -2.471043e-04 7.087700e+05
## 12 [M+H]+ FALSE -0.02226368 -2.052142e-03 1.015955e+06
## 13 [M+H]+ TRUE 0.02225681 1.986739e-03 1.487893e+07
## 14 [M+H]+ FALSE -0.02225241 -5.652263e-04 2.799610e+05
## 15 [M+H]+ FALSE 0.02224764 1.197292e-03 1.066878e+06
## 16 [M+H]+ FALSE -0.02223807 -2.751795e-03 1.537780e+05
## 17 [M+H]+ FALSE 0.02223455 -1.127021e-03 5.960920e+05
## 18 [M+H]+ FALSE 0.02223437 -1.289293e-05 1.561417e+02
## 19 [M+H]+ TRUE -0.02222433 4.703078e-03 2.067381e+03
## 20 [M+H]+ FALSE 0.02222370 -1.672998e-03 1.523875e+06
## 21 [M+H]+ TRUE -0.02222204 3.705412e-03 3.575458e+06
## 22 [M+H]+ FALSE 0.02221284 1.592881e-03 8.671710e+05
## 23 [M+H]+ TRUE 0.02219376 -1.860349e-03 5.831804e+02
## 24 [M+H]+ FALSE 0.02218229 1.660427e-05 2.151078e+06
## 25 [M+H]+ FALSE -0.02216933 1.350040e-03 1.534040e+05
## 26 [M+H]+ FALSE -0.02216266 -1.353455e-03 6.054400e+05
## 27 [M+H]+ FALSE 0.02216069 -4.351925e-04 6.177060e+05
## 28 [M+H]+ TRUE 0.02216040 -3.249797e-04 4.377064e+06
## 29 [M+H]+ TRUE 0.02215903 3.833633e-04 5.999575e+02
## 30 [M+H]+ FALSE -0.02215535 -3.304562e-03 1.132765e+06
#35. Create combined PCA candidate table. It is a master ranking of PCA-important features across PC1, PC2, PC3. Essential question: which LC-MS features contribute most strongly to any of the first three principal components? For example, a feature with no PC1 loading but a huge PC3 loading could still be important. *Does not weight a loading by how much variance its PC explains.
important_pca_features <-
pca_loadings %>%
mutate(
maximum_absolute_loading =
pmax(
abs(PC1),
abs(PC2),
abs(PC3),
na.rm = TRUE
)
) %>%
arrange(
desc(
maximum_absolute_loading
)
)
#Inspect top 50: the strongest PCA contributors according to this particular ranking criterion. Across PC1-PC3 generally, which features are the major PCA contributors?
important_pca_features %>%
slice_head(
n = 50
)
## feature_name PC1 PC2 PC3
## 1 F2021_mz219.1749_rt1.21 -0.0023124257 -0.0031873182 -0.04765649
## 2 F181_mz86.0602_rt0.45 0.0035232699 -0.0020643142 0.04751207
## 3 F2587_mz264.0986_rt1.08 -0.0008101837 0.0047912913 -0.04657358
## 4 F1754_mz201.1642_rt1.21 -0.0009097643 -0.0063153075 -0.04619582
## 5 F362_mz104.0707_rt0.55 -0.0059197744 0.0018646139 0.04479748
## 6 F3461_mz331.1297_rt1.01 0.0055679372 0.0062541742 -0.04433748
## 7 F1765_mz202.1078_rt1 0.0071619844 -0.0057968487 -0.04425191
## 8 F1789_mz203.1798_rt1.6 -0.0001207470 -0.0108908202 -0.04380014
## 9 F958_mz145.1015_rt1.21 -0.0077919335 -0.0011051580 -0.04377972
## 10 F2350_mz245.181_rt0.44 -0.0016008983 0.0024934151 -0.04375792
## 11 F2125_mz227.1434_rt1.54 0.0006878993 -0.0129972221 -0.04366255
## 12 F2323_mz244.095_rt1.18 0.0096405515 0.0022942639 -0.04359272
## 13 F3172_mz305.1348_rt0.66 -0.0011750135 0.0004084759 -0.04310667
## 14 F259_mz97.0286_rt1.01 0.0032809710 -0.0079873596 -0.04306262
## 15 F2020_mz219.1747_rt1.58 0.0005261545 -0.0119296008 -0.04264450
## 16 F3243_mz312.0542_rt1 0.0026979909 -0.0139025079 -0.04251409
## 17 F3857_mz367.1217_rt1.32 0.0016825960 -0.0134236740 -0.04241669
## 18 F3348_mz319.0188_rt0.42 -0.0049265620 -0.0047892435 0.04239879
## 19 F1700_mz198.0976_rt0.69 0.0098755330 0.0092584673 0.04218219
## 20 F1358_mz174.0553_rt0.89 0.0031342761 -0.0149849747 -0.04208213
## 21 F2799_mz279.0771_rt1.16 0.0049543996 -0.0128588703 -0.04200991
## 22 F1111_mz157.0498_rt0.92 -0.0021273974 -0.0140406305 -0.04200545
## 23 F2257_mz238.1443_rt1.83 0.0013494929 -0.0161025344 -0.04178782
## 24 F2053_mz222.1129_rt1.18 0.0104403749 -0.0086703325 -0.04175702
## 25 F1939_mz215.0377_rt1.17 0.0011488007 -0.0160472570 -0.04168164
## 26 F2606_mz266.1032_rt0.92 -0.0057437936 -0.0032433715 -0.04155718
## 27 F839_mz138.0763_rt0.71 0.0054257951 -0.0132971448 -0.04153739
## 28 F1866_mz209.1176_rt1.18 -0.0085881243 -0.0105710664 -0.04146088
## 29 F1003_mz148.0396_rt1.21 0.0089015921 -0.0031280697 -0.04132057
## 30 F2935_mz288.2902_rt1.87 0.0054277490 0.0030214851 0.04126466
## 31 F1552_mz188.0381_rt0.95 -0.0057972168 -0.0010512108 -0.04114067
## 32 F2809_mz279.947_rt1.27 0.0008867266 -0.0146269906 -0.04102795
## 33 F1777_mz203.0377_rt1.09 0.0029519124 -0.0146707943 -0.04089714
## 34 F4488_mz463.2825_rt1.54 0.0014972783 -0.0163839159 -0.04086962
## 35 F4754_mz555.4048_rt3.1 0.0020976137 -0.0144193475 -0.04079935
## 36 F4477_mz461.3273_rt1.44 0.0015611297 -0.0157091268 -0.04078027
## 37 F4362_mz439.3581_rt1.32 0.0013915010 -0.0160591617 -0.04076230
## 38 F4128_mz399.2724_rt1.22 -0.0029930069 -0.0171085082 -0.04071666
## 39 F1304_mz171.0168_rt0.44 0.0082834891 0.0114562673 0.04068073
## 40 F3714_mz353.248_rt1.46 -0.0077013695 -0.0137043488 -0.04064179
## 41 F2043_mz221.1905_rt1.6 0.0003942910 -0.0157438018 -0.04058113
## 42 F2645_mz269.1752_rt1.19 -0.0058605398 -0.0156252012 -0.04057058
## 43 F3007_mz294.0437_rt1 -0.0007007332 -0.0175732308 -0.04054068
## 44 F4641_mz507.3161_rt1.32 0.0029807965 -0.0119538437 -0.04042515
## 45 F885_mz141.0549_rt1.07 0.0068144553 -0.0076190563 -0.04040986
## 46 F2120_mz227.1282_rt1.18 -0.0046270069 -0.0155916176 -0.04040705
## 47 F4410_mz448.1673_rt0.53 0.0113503336 0.0012655078 0.04038724
## 48 F379_mz105.0701_rt1.26 0.0106835884 0.0044195457 -0.04034331
## 49 F4756_mz555.4051_rt3.42 0.0034680179 -0.0125367896 -0.04022931
## 50 F4456_mz457.3686_rt1.32 0.0011432662 -0.0170096701 -0.04010130
## PC4 PC5 PC6 PC7 PC8
## 1 2.759112e-03 0.0034384730 -0.028040999 0.0069478460 0.0012148420
## 2 1.481202e-02 -0.0034249367 -0.011332752 0.0234892568 0.0110051735
## 3 3.405912e-03 0.0026324770 -0.023863271 0.0038099192 -0.0035333263
## 4 1.276117e-02 -0.0011618533 -0.038401783 -0.0044170397 -0.0106656833
## 5 1.175493e-02 0.0195207654 -0.022020517 0.0183837204 0.0212036479
## 6 1.309418e-02 -0.0026063441 0.028263390 0.0112594726 -0.0276751795
## 7 1.185673e-03 -0.0137610059 -0.012484704 0.0087392756 0.0216586235
## 8 1.327198e-02 -0.0009877471 -0.040706339 0.0184460994 0.0051746529
## 9 9.278661e-04 0.0028730559 -0.034777935 -0.0025992316 -0.0129729296
## 10 -6.861453e-03 0.0294817013 -0.025205651 -0.0084856855 0.0117220148
## 11 1.546887e-02 -0.0045802971 -0.028452376 0.0050394783 0.0000673967
## 12 2.649610e-03 0.0192470251 -0.019082762 0.0046318551 -0.0011962225
## 13 -7.673362e-03 0.0337041619 0.011361569 0.0109802526 -0.0081519330
## 14 4.440997e-04 -0.0248325292 -0.013267830 0.0055085070 0.0152286604
## 15 1.563875e-02 -0.0013927761 -0.026340144 0.0036847168 -0.0167812376
## 16 1.612187e-02 -0.0031794634 -0.023382802 0.0061502320 0.0084690977
## 17 1.688768e-02 -0.0106484054 -0.022815056 0.0084479932 0.0021840498
## 18 9.509300e-03 -0.0240949622 0.005798994 -0.0281707071 -0.0290776770
## 19 2.576347e-03 -0.0039177101 -0.007958551 0.0236945767 0.0127160536
## 20 1.455125e-02 0.0049942178 -0.010413761 0.0192406724 0.0001509724
## 21 1.216988e-02 0.0016066050 -0.015576091 -0.0177072234 0.0149140018
## 22 9.650822e-03 -0.0173528154 -0.011609394 0.0214358492 -0.0051003057
## 23 1.598486e-02 -0.0011133939 -0.013772587 -0.0004624750 0.0038945382
## 24 1.244307e-05 -0.0098662772 -0.022097586 0.0136676528 -0.0114811116
## 25 1.659865e-02 -0.0042818490 -0.009132110 -0.0047794206 0.0072322006
## 26 1.191872e-03 -0.0064427094 0.009283817 -0.0268658887 -0.0200072105
## 27 1.333950e-02 0.0084875949 -0.016346108 0.0150979542 0.0045973022
## 28 3.772468e-03 -0.0054537034 -0.034250259 -0.0044470328 -0.0133233747
## 29 1.412734e-02 -0.0105199064 -0.030612338 -0.0115973584 -0.0059214809
## 30 1.981352e-02 -0.0219556836 -0.005957899 -0.0146061340 0.0001505689
## 31 2.262959e-02 -0.0145134123 -0.018739348 0.0220388224 -0.0196951411
## 32 1.434062e-02 -0.0015579258 -0.038557498 0.0201865292 0.0021890111
## 33 1.551955e-02 -0.0033521486 -0.024699775 0.0012757706 0.0111524172
## 34 1.554171e-02 -0.0022020257 -0.022839159 0.0068003840 0.0064169085
## 35 1.565069e-02 -0.0040772067 -0.032464409 0.0243669399 0.0033578007
## 36 1.614503e-02 -0.0052830778 -0.025180327 0.0175241034 0.0027829797
## 37 1.629360e-02 -0.0056472845 -0.022613797 0.0150224022 0.0027425661
## 38 1.383122e-02 -0.0050312693 -0.009529679 0.0040063657 0.0157296364
## 39 4.048542e-03 -0.0031504515 -0.014323557 0.0209756698 -0.0151395388
## 40 1.053671e-02 -0.0072013587 0.005480943 -0.0035476300 0.0221605147
## 41 1.441969e-02 -0.0022980423 -0.035724742 0.0170437749 0.0017316140
## 42 4.691780e-03 0.0056583335 -0.010041468 0.0131092933 0.0137727661
## 43 1.519045e-02 -0.0041190936 -0.019685301 0.0004858044 0.0012114216
## 44 1.468448e-02 -0.0019655972 -0.043048054 0.0345284033 0.0037857648
## 45 1.471111e-02 -0.0271038829 -0.016342002 0.0076719226 0.0130444909
## 46 1.030616e-02 -0.0112773065 -0.024257259 0.0059038179 -0.0060577388
## 47 -1.435386e-02 -0.0037164242 -0.004604797 -0.0086984848 -0.0336579690
## 48 -1.057416e-02 -0.0146355343 -0.009507502 -0.0164380806 -0.0005385149
## 49 1.671823e-02 -0.0114046565 -0.035238032 0.0320105775 0.0030146356
## 50 1.604744e-02 -0.0056457310 -0.022507289 0.0128581478 0.0051300618
## PC9 PC10 PC11 PC12 PC13
## 1 0.0080846759 -0.0048841929 0.0168104285 -8.024312e-04 1.774244e-02
## 2 -0.0023368699 0.0029236905 0.0184261292 -1.283137e-02 1.345354e-02
## 3 0.0125699923 0.0143130265 0.0145549237 2.109367e-03 4.813093e-03
## 4 0.0243716113 -0.0000423285 0.0103868173 -6.075167e-03 2.816142e-04
## 5 -0.0046185507 -0.0004995599 0.0189359196 -3.889139e-03 3.304819e-03
## 6 0.0007938443 -0.0019797603 0.0203861241 3.723502e-03 1.522773e-02
## 7 0.0101550792 -0.0197797557 0.0247105297 -1.167819e-02 7.856038e-03
## 8 0.0070866462 -0.0008700570 0.0122731741 -1.903499e-03 -8.305637e-05
## 9 -0.0153554322 -0.0196946523 -0.0036251411 -2.704755e-03 -7.220412e-03
## 10 -0.0001219791 -0.0444987095 0.0041174733 5.307675e-03 8.038157e-03
## 11 0.0059245090 0.0007278206 0.0053829655 -6.570516e-05 -3.729499e-03
## 12 -0.0093912174 0.0146041670 -0.0078225612 6.659465e-03 6.858273e-03
## 13 0.0196509037 0.0026846045 0.0062081778 2.110271e-03 -4.595345e-02
## 14 -0.0064961155 -0.0124010285 -0.0172033418 -1.773146e-02 3.203290e-03
## 15 0.0162712861 -0.0005996837 0.0229548630 -1.762822e-02 1.065653e-02
## 16 -0.0123657391 0.0062241082 -0.0013114102 4.931751e-03 5.953330e-03
## 17 0.0014899419 0.0007648195 0.0027289002 2.367034e-03 -4.439925e-03
## 18 -0.0229270406 0.0211899257 -0.0298277738 9.240185e-03 -8.021066e-03
## 19 0.0109976481 -0.0057607035 0.0152270296 -1.601961e-02 1.119163e-03
## 20 0.0012426847 0.0174471019 0.0062909679 9.608105e-04 6.622924e-03
## 21 -0.0183257257 0.0018114433 0.0031502451 1.458870e-02 5.038491e-03
## 22 -0.0267309252 -0.0101140969 -0.0102058461 5.957680e-03 1.110473e-02
## 23 -0.0081383779 -0.0075989306 -0.0115171243 4.423369e-03 -1.036288e-02
## 24 0.0002833236 0.0123460944 0.0046725738 1.841150e-05 2.802990e-03
## 25 -0.0086487669 0.0016817335 -0.0024288514 4.594628e-03 -1.425880e-02
## 26 0.0193371816 0.0169505057 -0.0062424065 -6.698292e-03 -2.384210e-02
## 27 -0.0032829853 0.0119628921 0.0069989313 5.738913e-03 9.987384e-03
## 28 0.0114814850 -0.0107418738 -0.0005606055 -9.201328e-03 1.395700e-02
## 29 -0.0024105664 0.0071891734 -0.0030395325 -6.103874e-03 1.959228e-02
## 30 -0.0181900335 0.0295349456 0.0288073787 -1.092941e-02 2.716753e-02
## 31 -0.0113176682 -0.0192899711 0.0076282399 5.263785e-03 1.184331e-02
## 32 0.0019566285 0.0053388862 0.0024501829 4.883069e-04 4.417846e-04
## 33 -0.0166786129 0.0093037766 0.0009117005 5.892503e-03 1.595566e-02
## 34 -0.0102404969 0.0046603034 -0.0027421216 2.798866e-03 4.534287e-03
## 35 -0.0047767608 0.0024877423 -0.0050727200 1.093087e-03 2.371662e-03
## 36 -0.0053531937 -0.0003447990 -0.0061005420 1.485670e-03 1.692211e-03
## 37 -0.0054740003 -0.0014792062 -0.0064503461 1.692127e-03 1.469025e-03
## 38 -0.0086818658 -0.0134504537 0.0089846759 3.819150e-03 -3.871488e-03
## 39 -0.0043113576 0.0137177075 -0.0052324185 -4.718781e-02 6.681914e-03
## 40 -0.0154092125 -0.0219764927 0.0097823426 5.626536e-03 -5.772722e-03
## 41 0.0022789877 0.0041516084 0.0024301868 6.285525e-04 1.784678e-04
## 42 0.0046106551 -0.0055495305 0.0119029825 -1.134015e-02 2.581462e-02
## 43 0.0019689719 -0.0025377593 0.0009961725 1.775445e-03 -1.607261e-03
## 44 -0.0041468963 0.0073516989 -0.0033394732 2.456945e-04 3.160183e-03
## 45 -0.0030262638 0.0247459338 0.0104313571 -9.311933e-03 2.615802e-02
## 46 -0.0013414324 -0.0097341533 -0.0030886576 3.176189e-03 -2.445025e-02
## 47 -0.0094563616 0.0105008772 0.0079781180 7.716359e-03 3.946620e-03
## 48 -0.0046214141 -0.0056967737 0.0048100333 -1.729761e-02 8.443610e-03
## 49 -0.0038376200 0.0056082094 -0.0026025609 1.367232e-03 9.083165e-04
## 50 -0.0076138356 0.0040790916 -0.0032428136 4.443505e-03 -4.309212e-03
## PC14 PC15 PC16 PC17 PC18
## 1 -0.0012595619 0.0443105874 0.0105828822 -1.329215e-02 -1.284763e-02
## 2 0.0036533052 -0.0071718714 0.0014171248 -6.801800e-03 1.796017e-03
## 3 0.0037031763 -0.0117705982 0.0414009806 4.838051e-02 3.897981e-02
## 4 0.0047387466 0.0003574954 0.0050766238 1.551670e-03 1.739539e-04
## 5 -0.0085407922 0.0103059641 -0.0157523652 4.873938e-04 9.465723e-03
## 6 -0.0051750767 0.0264240249 0.0079793539 1.026315e-02 3.589070e-03
## 7 0.0396711690 0.0114403512 -0.0140239100 -8.337765e-04 4.251056e-03
## 8 0.0062236585 -0.0053884497 0.0049171916 1.627228e-03 -1.408125e-05
## 9 -0.0147576157 0.0115432056 0.0014916644 9.607237e-04 4.442515e-02
## 10 0.0123285271 -0.0091848514 0.0149617070 1.582429e-02 1.710447e-02
## 11 0.0017166703 0.0089319606 -0.0009609624 -2.780971e-03 6.038498e-03
## 12 -0.0075373791 0.0200016009 -0.0076262324 4.706708e-03 1.120601e-02
## 13 0.0168310636 -0.0231054452 0.0291954600 2.109496e-02 6.327256e-03
## 14 0.0504253494 0.0154106927 -0.0063899297 8.526444e-03 -1.694396e-02
## 15 0.0042017985 -0.0242873110 0.0077322340 -1.513179e-02 1.705856e-02
## 16 -0.0021021611 0.0097471215 -0.0007913688 -7.553508e-03 -1.332078e-02
## 17 -0.0056137953 0.0212276624 -0.0092602832 2.279156e-03 7.285127e-03
## 18 0.0101202849 -0.0049741807 0.0096500223 2.915438e-02 -1.728818e-03
## 19 0.0012489571 -0.0002948539 -0.0062309475 -2.005456e-03 2.071348e-03
## 20 0.0012148509 -0.0073710085 -0.0008971886 -5.262753e-03 -1.607960e-02
## 21 0.0019569455 0.0026945140 0.0358948755 1.183968e-02 -5.586458e-03
## 22 -0.0168786940 0.0062643570 0.0126895256 -5.955770e-03 -9.354903e-03
## 23 0.0001916894 -0.0072395075 -0.0035847238 3.757004e-03 -3.606476e-03
## 24 0.0054763340 -0.0032469313 0.0024646255 2.056075e-03 -2.368143e-03
## 25 0.0028303671 -0.0040690389 0.0134698169 7.258024e-03 -4.471163e-03
## 26 -0.0150456496 -0.0168720426 -0.0881417447 1.657641e-02 -2.454083e-02
## 27 0.0005813991 0.0090010881 0.0262371330 -1.555734e-03 -3.071114e-02
## 28 0.0165368111 -0.0123482454 0.0074905987 1.023841e-03 5.686885e-03
## 29 0.0140063291 0.0097501864 -0.0192055199 2.877564e-02 -1.653120e-02
## 30 -0.0057180275 -0.0046831952 0.0022893901 -8.024211e-03 -8.627003e-04
## 31 0.0150283983 -0.0230379359 0.0039369017 2.722836e-02 -1.544346e-02
## 32 0.0032655735 -0.0055574991 0.0074267603 2.124167e-03 -5.057475e-04
## 33 -0.0039333126 0.0134872599 -0.0035364818 -1.336171e-02 -3.007575e-02
## 34 0.0025191930 -0.0113139026 0.0051563990 7.104041e-03 1.352420e-02
## 35 0.0059974977 -0.0125557802 0.0130181210 -6.485663e-03 -1.863168e-03
## 36 0.0058570814 -0.0121493000 0.0121419265 -5.992784e-03 -1.552274e-03
## 37 0.0057924580 -0.0117857306 0.0120519872 -6.234476e-03 -1.872661e-03
## 38 0.0054083318 -0.0044391422 0.0010344050 3.713126e-03 -1.384414e-03
## 39 0.0039213982 0.0114259128 0.0042494456 1.862026e-03 -4.444213e-04
## 40 0.0064692749 -0.0034082058 -0.0012496677 4.032326e-03 -2.579719e-03
## 41 0.0031679180 -0.0051339897 0.0068348564 2.516161e-03 -3.646436e-04
## 42 0.0044888002 -0.0028037986 -0.0148778503 -2.736105e-03 1.921207e-02
## 43 0.0023472328 -0.0021707294 0.0051772800 2.756809e-03 -1.589856e-03
## 44 0.0059901189 -0.0133751426 0.0132474859 -5.428136e-03 -8.874413e-04
## 45 0.0156388761 0.0082025875 0.0091437824 4.319663e-03 7.902914e-03
## 46 0.0088964757 -0.0057485650 0.0124801306 2.461690e-03 1.337708e-02
## 47 0.0043542971 0.0242981416 0.0035485137 1.202249e-02 -5.470523e-03
## 48 -0.0028858710 0.0090968958 -0.0032632064 9.049360e-03 -1.682790e-04
## 49 -0.0026694559 0.0069318024 -0.0017355366 -2.392662e-05 5.735229e-03
## 50 -0.0006230589 0.0085953739 0.0001454010 -3.255012e-03 5.656574e-03
## PC19 PC20 PC21 PC22 PC23
## 1 4.733245e-03 -0.0258720837 -0.0036893046 2.664400e-02 -0.0081482083
## 2 -6.351747e-03 0.0091004422 0.0098200916 -4.653334e-03 -0.0046572644
## 3 -6.905013e-03 -0.0048690226 -0.0178113785 -3.581833e-03 -0.0131639343
## 4 4.236940e-03 0.0008671781 0.0047293564 2.959374e-04 0.0015274138
## 5 1.403812e-03 -0.0082441663 0.0113204181 -6.724134e-03 -0.0023066457
## 6 7.464623e-04 0.0041308189 -0.0043323517 -6.731901e-05 0.0052216857
## 7 1.638562e-03 -0.0019015267 -0.0026887632 -1.055372e-02 -0.0124169835
## 8 2.709933e-03 0.0008024034 0.0057526629 -6.387098e-04 0.0012553027
## 9 4.761684e-03 0.0205342222 0.0146229426 -4.558254e-02 0.0014386772
## 10 -2.530299e-02 0.0043569094 0.0063409116 -3.353735e-03 0.0024561868
## 11 1.111999e-02 0.0012894649 0.0045902527 -6.706868e-04 0.0016591900
## 12 -3.263243e-03 0.0038153559 0.0038860316 -3.845760e-03 0.0017143967
## 13 8.110915e-03 -0.0087233768 0.0067646558 7.654174e-04 0.0016758229
## 14 1.012874e-02 0.0269187381 0.0076808618 2.788882e-02 0.0493427770
## 15 -6.304455e-03 -0.0138045644 0.0167370919 4.475520e-03 -0.0017840801
## 16 8.009636e-04 0.0042663485 0.0031931498 -8.387851e-04 0.0009202429
## 17 -1.806763e-02 0.0086662095 0.0044516434 -7.482564e-04 0.0015236701
## 18 -5.709593e-03 0.0002032371 -0.0016347188 2.961397e-03 -0.0034873541
## 19 4.226996e-03 0.0128005877 -0.0163691503 -1.514256e-03 -0.0091346991
## 20 -4.573366e-03 0.0013187035 0.0036004893 -3.626059e-04 0.0008552190
## 21 -2.555747e-04 -0.0060991206 0.0233995012 -1.353430e-02 -0.0181733900
## 22 5.105075e-03 -0.0023227995 0.0025390128 -2.175809e-03 0.0037812618
## 23 -2.622085e-04 0.0020353318 0.0032466919 2.232741e-05 0.0023563800
## 24 7.382730e-04 0.0144832023 0.0061971085 -3.590893e-03 0.0068025462
## 25 1.346328e-03 0.0022248007 0.0038558427 1.475384e-03 0.0018321707
## 26 -3.430618e-03 -0.0001201746 -0.0018970123 2.468227e-04 0.0027373392
## 27 -6.697550e-03 0.0035213487 0.0032464067 2.604588e-04 0.0001278179
## 28 -2.330428e-03 0.0005918264 0.0011395623 -5.711700e-03 0.0061347436
## 29 4.923564e-03 0.0284759459 0.0092287163 -2.333707e-02 0.0129161599
## 30 7.802044e-05 0.0137326717 -0.0289900074 1.648808e-02 0.0162457612
## 31 6.310687e-05 0.0018250362 -0.0015082335 1.822500e-02 0.0156907524
## 32 -1.439150e-03 0.0015898697 0.0060826006 -5.774738e-04 0.0008304996
## 33 6.448526e-03 0.0041828978 0.0017511001 -9.330581e-04 0.0002719493
## 34 8.105707e-03 0.0005595722 0.0051243681 -7.667113e-04 0.0020532092
## 35 -6.519685e-03 0.0020986523 0.0057463725 -3.142241e-04 0.0006658383
## 36 4.233049e-03 0.0003923186 0.0046712010 -7.349851e-05 0.0011541045
## 37 1.335289e-03 0.0010742234 0.0045800297 6.828491e-05 0.0011694148
## 38 4.523900e-03 0.0017810545 0.0034175451 -2.702019e-05 0.0020759885
## 39 -9.576624e-04 -0.0014654643 -0.0132217081 1.548808e-02 0.0283341090
## 40 -4.644379e-03 0.0039573234 0.0022704235 2.350460e-04 0.0021128494
## 41 2.911883e-03 0.0009111430 0.0057300221 -4.629044e-04 0.0009688671
## 42 -7.937326e-03 -0.0186377150 0.0069586952 -4.140356e-02 0.0165114695
## 43 -5.066327e-03 0.0033084509 0.0046467988 3.177738e-04 0.0013692515
## 44 -1.552527e-03 0.0006087432 0.0062995806 -8.797552e-04 0.0004670477
## 45 2.143032e-03 0.0085962445 -0.0007370746 2.609370e-03 0.0036713522
## 46 -2.128765e-03 0.0062045953 0.0202272072 1.232255e-02 -0.0184476756
## 47 -1.469310e-04 0.0003912850 -0.0015344676 -6.002579e-04 -0.0021470595
## 48 -4.787184e-03 -0.0299140967 -0.0018443545 4.959365e-02 -0.0588168082
## 49 1.691492e-03 0.0029516767 0.0044291490 -1.249722e-03 0.0012924158
## 50 -3.786573e-04 0.0036734926 0.0050870888 -9.191537e-04 0.0011106385
## PC24 Alignment ID Average Rt(min) Average Mz Metabolite name
## 1 -9.447776e-03 2021 1.207 219.17487 Unknown
## 2 3.548880e-02 181 0.453 86.06023 Unknown
## 3 3.100702e-03 2587 1.084 264.09857 Unknown
## 4 -2.530701e-03 1754 1.207 201.16420 Unknown
## 5 -6.467051e-03 362 0.549 104.07069 Unknown
## 6 -1.453455e-02 3461 1.011 331.12967 Unknown
## 7 4.738609e-03 1765 1.003 202.10780 Unknown
## 8 1.173626e-03 1789 1.604 203.17984 Unknown
## 9 3.300536e-04 958 1.207 145.10153 Unknown
## 10 -1.119780e-02 2350 0.437 245.18100 Unknown
## 11 -1.009465e-02 2125 1.543 227.14345 Unknown
## 12 -2.454976e-04 2323 1.179 244.09496 Unknown
## 13 5.011033e-03 3172 0.659 305.13480 Unknown
## 14 1.730218e-02 259 1.015 97.02865 Unknown
## 15 -5.986664e-03 2020 1.582 219.17470 Unknown
## 16 -4.818599e-03 3243 1.003 312.05423 Unknown
## 17 -7.267106e-03 3857 1.320 367.12167 Unknown
## 18 3.936501e-03 3348 0.421 319.01883 Unknown
## 19 3.919197e-03 1700 0.693 198.09758 Unknown
## 20 -5.762722e-03 1358 0.893 174.05533 Unknown
## 21 2.181861e-03 2799 1.158 279.07709 Unknown
## 22 -1.200554e-03 1111 0.923 157.04982 Unknown
## 23 -8.060672e-03 2257 1.828 238.14426 Unknown
## 24 1.483689e-02 2053 1.179 222.11288 Unknown
## 25 2.270209e-03 1939 1.173 215.03769 Unknown
## 26 -8.446740e-03 2606 0.915 266.10324 Unknown
## 27 -7.173321e-03 839 0.708 138.07628 Unknown
## 28 -6.662914e-03 1866 1.180 209.11765 Unknown
## 29 -4.087945e-03 1003 1.207 148.03957 Unknown
## 30 2.158549e-03 2935 1.869 288.29022 Unknown
## 31 -5.381733e-03 1552 0.952 188.03806 Unknown
## 32 7.006039e-03 2809 1.268 279.94705 Unknown
## 33 -4.898810e-03 1777 1.094 203.03772 Unknown
## 34 -1.062976e-03 4488 1.543 463.28250 Unknown
## 35 6.785334e-03 4754 3.095 555.40479 Unknown
## 36 -7.387979e-03 4477 1.444 461.32727 Unknown
## 37 -2.397439e-03 4362 1.325 439.35806 Unknown
## 38 -6.508233e-05 4128 1.217 399.27237 Unknown
## 39 8.680095e-03 1304 0.440 171.01677 Unknown
## 40 3.525560e-03 3714 1.463 353.24805 Unknown
## 41 -1.803787e-03 2043 1.604 221.19049 Unknown
## 42 -1.565152e-02 2645 1.187 269.17523 Unknown
## 43 -6.835547e-03 3007 1.001 294.04367 Unknown
## 44 -3.027037e-03 4641 1.317 507.31610 Unknown
## 45 1.269779e-02 885 1.069 141.05486 Unknown
## 46 1.557196e-02 2120 1.178 227.12816 Unknown
## 47 -3.198174e-02 4410 0.532 448.16733 Unknown
## 48 -6.685368e-04 379 1.256 105.07012 Unknown
## 49 -3.037297e-03 4756 3.420 555.40509 Unknown
## 50 -6.480070e-03 4456 1.325 457.36862 Unknown
## Adduct type
## 1 [M+H]+
## 2 [M+H]+
## 3 [M+H]+
## 4 [M+H]+
## 5 [M+H]+
## 6 [M+H]+
## 7 [M+H]+
## 8 [M+H]+
## 9 [M+H]+
## 10 [M+H]+
## 11 [M+H]+
## 12 [M+H]+
## 13 [M+H]+
## 14 [M+H]+
## 15 [M+H]+
## 16 [M+H]+
## 17 [M+H]+
## 18 [M+H]+
## 19 [M+H]+
## 20 [M+H]+
## 21 [M+H]+
## 22 [M+H]+
## 23 [M+H]+
## 24 [M+H]+
## 25 [M+H]+
## 26 [M+H]+
## 27 [M+H]+
## 28 [M+H]+
## 29 [M+H]+
## 30 [M+H]+
## 31 [M+H]+
## 32 [M+H]+
## 33 [M+H]+
## 34 [M+H]+
## 35 [M+H]+
## 36 [M+H]+
## 37 [M+H]+
## 38 [M+H]+
## 39 [M+H]+
## 40 [M+H]+
## 41 [M+H]+
## 42 [M+H]+
## 43 [M+H]+
## 44 [M+H]+
## 45 [M+H]+
## 46 [M+H]+
## 47 [M+H]+
## 48 [M+H]+
## 49 [M+H]+
## 50 [M+H]+
## Post curation result
## 1 ion correlated with 2799; ion correlated with 2619; ion correlated with 2102; ion correlated with 1003; ion correlated with 1754; ion correlated with 1272; ion correlated with 1996; similar chromatogram in higher mz_4583
## 2 found in higher mz's MsMs_2435; found in higher mz's MsMs_2215; similar chromatogram in higher mz_1573; similar chromatogram in higher mz_1517; similar chromatogram in higher mz_1822; similar chromatogram in higher mz_3069; similar chromatogram in higher mz_1091; similar chromatogram in higher mz_3230; similar chromatogram in higher mz_4109; similar chromatogram in higher mz_4205; similar chromatogram in higher mz_4451; similar chromatogram in higher mz_4528; similar chromatogram in higher mz_4465; similar chromatogram in higher mz_2044; similar chromatogram in higher mz_1420; similar chromatogram in higher mz_3005; similar chromatogram in higher mz_4646; similar chromatogram in higher mz_4212; similar chromatogram in higher mz_3240; similar chromatogram in higher mz_4651; similar chromatogram in higher mz_2103
## 3 ion correlated with 1578; ion correlated with 1606; ion correlated with 2486; ion correlated with 2253; ion correlated with 2418; ion correlated with 523; similar chromatogram in higher mz_3734
## 4 ion correlated with 2799; ion correlated with 1939; ion correlated with 2619; ion correlated with 1003; ion correlated with 2021; ion correlated with 3568; ion correlated with 1272; ion correlated with 1996; ion correlated with 379
## 5 <NA>
## 6 ion correlated with 1552; ion correlated with 4067; ion correlated with 3243; ion correlated with 4175
## 7 ion correlated with 4067; ion correlated with 4082; ion correlated with 3243; ion correlated with 650; ion correlated with 1504; ion correlated with 1578; ion correlated with 1606
## 8 similar chromatogram in higher mz_2084
## 9 ion correlated with 2645; ion correlated with 1754; ion correlated with 2021
## 10 <NA>
## 11 ion correlated with 4162; ion correlated with 4375; ion correlated with 4488; ion correlated with 2020
## 12 ion correlated with 3623
## 13 <NA>
## 14 ion correlated with 1542; ion correlated with 1504; found in higher mz's MsMs_650; found in higher mz's MsMs_3013; found in higher mz's MsMs_3243; found in higher mz's MsMs_1504
## 15 ion correlated with 4162; ion correlated with 4375; ion correlated with 4488; ion correlated with 2125; ion correlated with 2247; ion correlated with 2084; found in higher mz's MsMs_2247
## 16 ion correlated with 1552; ion correlated with 4067; ion correlated with 4082; ion correlated with 1765; ion correlated with 3461; ion correlated with 1504; ion correlated with 4175; ion correlated with 1578; ion correlated with 1606
## 17 ion correlated with 3843; ion correlated with 2579
## 18 <NA>
## 19 ion correlated with 4471; ion correlated with 1187; ion correlated with 1441; ion correlated with 361
## 20 ion correlated with 1507; ion correlated with 638; ion correlated with 1726; ion correlated with 1111
## 21 ion correlated with 1519; ion correlated with 2619; ion correlated with 1003
## 22 ion correlated with 1358; ion correlated with 638; ion correlated with 1726; ion correlated with 670
## 23 <NA>
## 24 <NA>
## 25 ion correlated with 2799; ion correlated with 1003; ion correlated with 1754; ion correlated with 2021; ion correlated with 3568; ion correlated with 1996
## 26 <NA>
## 27 ion correlated with 348; ion correlated with 905; ion correlated with 592
## 28 <NA>
## 29 ion correlated with 2799; ion correlated with 2619; ion correlated with 2120; ion correlated with 2102; ion correlated with 1754; ion correlated with 2021; ion correlated with 1272; ion correlated with 1996
## 30 ion correlated with 2330
## 31 ion correlated with 1358; ion correlated with 638; ion correlated with 1726; ion correlated with 1095; ion correlated with 1111; ion correlated with 2325; ion correlated with 4067; ion correlated with 1765; ion correlated with 3243; ion correlated with 3461; found in higher mz's MsMs_1559
## 32 ion correlated with 2930
## 33 ion correlated with 4289; ion correlated with 2789; ion correlated with 1618; ion correlated with 1005; ion correlated with 1306; ion correlated with 3623
## 34 ion correlated with 4162; ion correlated with 4375; ion correlated with 2125; ion correlated with 2020
## 35 <NA>
## 36 ion correlated with 4376
## 37 ion correlated with 4456
## 38 ion correlated with 2799; ion correlated with 1939; ion correlated with 1003; ion correlated with 1754; ion correlated with 3799; ion correlated with 3568
## 39 ion correlated with 1285; ion correlated with 1831; ion correlated with 4460; ion correlated with 4903
## 40 ion correlated with 4562; ion correlated with 4376
## 41 ion correlated with 1789
## 42 ion correlated with 3623; ion correlated with 958; ion correlated with 1754; ion correlated with 2021; ion correlated with 3568
## 43 ion correlated with 2325; ion correlated with 1552; ion correlated with 4751; ion correlated with 3243; ion correlated with 4289
## 44 ion correlated with 4573
## 45 ion correlated with 1306; similar chromatogram in higher mz_1284; similar chromatogram in higher mz_2816; similar chromatogram in higher mz_2941; similar chromatogram in higher mz_3277
## 46 ion correlated with 2619; ion correlated with 1003; ion correlated with 2021
## 47 ion correlated with 1989
## 48 ion correlated with 1003; ion correlated with 1754; ion correlated with 2021; ion correlated with 3568; ion correlated with 1272; ion correlated with 1996; similar chromatogram in higher mz_1207; found in higher mz's MsMs_1207
## 49 ion correlated with 4277
## 50 ion correlated with 4362; ion correlated with 2579
## Fill % MS/MS assigned Formula Ontology INCHIKEY SMILES
## 1 0.071 FALSE null null null null
## 2 0.536 FALSE null null null null
## 3 0.107 FALSE null null null null
## 4 0.071 FALSE null null null null
## 5 0.036 FALSE null null null null
## 6 0.071 FALSE null null null null
## 7 0.107 TRUE null null null null
## 8 0.107 TRUE null null null null
## 9 0.071 FALSE null null null null
## 10 0.071 FALSE null null null null
## 11 0.036 FALSE null null null null
## 12 0.107 FALSE null null null null
## 13 0.036 FALSE null null null null
## 14 0.071 FALSE null null null null
## 15 0.071 TRUE null null null null
## 16 0.107 TRUE null null null null
## 17 0.071 TRUE null null null null
## 18 0.107 FALSE null null null null
## 19 0.357 FALSE null null null null
## 20 0.107 TRUE null null null null
## 21 0.071 TRUE null null null null
## 22 0.036 TRUE null null null null
## 23 0.071 TRUE null null null null
## 24 0.107 TRUE null null null null
## 25 0.071 FALSE null null null null
## 26 0.071 FALSE null null null null
## 27 0.071 TRUE null null null null
## 28 0.071 FALSE null null null null
## 29 0.071 TRUE null null null null
## 30 0.250 TRUE null null null null
## 31 0.071 FALSE null null null null
## 32 0.107 FALSE null null null null
## 33 0.071 FALSE null null null null
## 34 0.071 FALSE null null null null
## 35 0.107 TRUE null null null null
## 36 0.036 FALSE null null null null
## 37 0.071 FALSE null null null null
## 38 0.036 FALSE null null null null
## 39 0.357 FALSE null null null null
## 40 0.036 FALSE null null null null
## 41 0.107 FALSE null null null null
## 42 0.071 FALSE null null null null
## 43 0.071 FALSE null null null null
## 44 0.107 TRUE null null null null
## 45 0.214 TRUE null null null null
## 46 0.036 FALSE null null null null
## 47 0.036 FALSE null null null null
## 48 0.071 TRUE null null null null
## 49 0.107 TRUE null null null null
## 50 0.071 FALSE null null null null
## Annotation tag (VS1.0) RT matched m/z matched MS/MS matched Total score
## 1 999 FALSE FALSE FALSE null
## 2 999 FALSE FALSE FALSE null
## 3 999 FALSE FALSE FALSE null
## 4 999 FALSE FALSE FALSE null
## 5 999 FALSE FALSE FALSE null
## 6 999 FALSE FALSE FALSE null
## 7 999 FALSE FALSE FALSE null
## 8 999 FALSE FALSE FALSE null
## 9 999 FALSE FALSE FALSE null
## 10 999 FALSE FALSE FALSE null
## 11 999 FALSE FALSE FALSE null
## 12 999 FALSE FALSE FALSE null
## 13 999 FALSE FALSE FALSE null
## 14 999 FALSE FALSE FALSE null
## 15 999 FALSE FALSE FALSE null
## 16 999 FALSE FALSE FALSE null
## 17 999 FALSE FALSE FALSE null
## 18 999 FALSE FALSE FALSE null
## 19 999 FALSE FALSE FALSE null
## 20 999 FALSE FALSE FALSE null
## 21 999 FALSE FALSE FALSE null
## 22 999 FALSE FALSE FALSE null
## 23 999 FALSE FALSE FALSE null
## 24 999 FALSE FALSE FALSE null
## 25 999 FALSE FALSE FALSE null
## 26 999 FALSE FALSE FALSE null
## 27 999 FALSE FALSE FALSE null
## 28 999 FALSE FALSE FALSE null
## 29 999 FALSE FALSE FALSE null
## 30 999 FALSE FALSE FALSE null
## 31 999 FALSE FALSE FALSE null
## 32 999 FALSE FALSE FALSE null
## 33 999 FALSE FALSE FALSE null
## 34 999 FALSE FALSE FALSE null
## 35 999 FALSE FALSE FALSE null
## 36 999 FALSE FALSE FALSE null
## 37 999 FALSE FALSE FALSE null
## 38 999 FALSE FALSE FALSE null
## 39 999 FALSE FALSE FALSE null
## 40 999 FALSE FALSE FALSE null
## 41 999 FALSE FALSE FALSE null
## 42 999 FALSE FALSE FALSE null
## 43 999 FALSE FALSE FALSE null
## 44 999 FALSE FALSE FALSE null
## 45 999 FALSE FALSE FALSE null
## 46 999 FALSE FALSE FALSE null
## 47 999 FALSE FALSE FALSE null
## 48 999 FALSE FALSE FALSE null
## 49 999 FALSE FALSE FALSE null
## 50 999 FALSE FALSE FALSE null
## RT similarity Dot product Reverse dot product Fragment presence %
## 1 null null null null
## 2 null null null null
## 3 null null null null
## 4 null null null null
## 5 null null null null
## 6 null null null null
## 7 null null null null
## 8 null null null null
## 9 null null null null
## 10 null null null null
## 11 null null null null
## 12 null null null null
## 13 null null null null
## 14 null null null null
## 15 null null null null
## 16 null null null null
## 17 null null null null
## 18 null null null null
## 19 null null null null
## 20 null null null null
## 21 null null null null
## 22 null null null null
## 23 null null null null
## 24 null null null null
## 25 null null null null
## 26 null null null null
## 27 null null null null
## 28 null null null null
## 29 null null null null
## 30 null null null null
## 31 null null null null
## 32 null null null null
## 33 null null null null
## 34 null null null null
## 35 null null null null
## 36 null null null null
## 37 null null null null
## 38 null null null null
## 39 null null null null
## 40 null null null null
## 41 null null null null
## 42 null null null null
## 43 null null null null
## 44 null null null null
## 45 null null null null
## 46 null null null null
## 47 null null null null
## 48 null null null null
## 49 null null null null
## 50 null null null null
## S/N average blank_mean sample_to_blank_ratio number_detected
## 1 96.12 578.6667 8.406090e+02 14
## 2 108.33 152351.0000 1.007584e+01 24
## 3 152.84 0.0000 1.324433e+06 13
## 4 104.04 0.0000 4.023510e+05 5
## 5 72.61 50847.0000 2.755985e+01 24
## 6 263.57 0.0000 8.809000e+05 17
## 7 296.01 10267.6667 1.436797e+02 23
## 8 46.37 0.0000 2.942280e+05 5
## 9 50.86 703.6667 2.695260e+02 16
## 10 94.88 0.0000 3.799530e+05 12
## 11 43.69 0.0000 2.273720e+05 5
## 12 71.93 0.0000 4.201240e+05 14
## 13 292.12 0.0000 3.816070e+05 12
## 14 45.50 23135.6667 1.740359e+01 24
## 15 33.26 1925.3333 9.905710e+01 9
## 16 246.04 0.0000 1.490151e+06 5
## 17 117.27 0.0000 5.526720e+05 6
## 18 62.82 0.0000 1.708130e+05 16
## 19 191.32 20539.3333 8.698457e+01 22
## 20 244.67 0.0000 1.895749e+06 5
## 21 99.86 0.0000 1.202615e+06 10
## 22 387.76 50596.3333 5.207913e+01 18
## 23 35.76 0.0000 2.576210e+05 4
## 24 453.87 21574.3333 1.504428e+02 24
## 25 114.37 0.0000 3.211380e+05 4
## 26 44.21 0.0000 1.778750e+05 13
## 27 354.70 904.6667 2.843323e+03 7
## 28 73.13 20202.0000 2.088947e+01 24
## 29 88.75 558.0000 1.214601e+03 18
## 30 234.72 6005.3333 1.466464e+02 22
## 31 288.17 0.0000 8.061710e+05 11
## 32 153.22 0.0000 2.099200e+05 4
## 33 213.37 0.0000 2.782020e+05 5
## 34 1552.53 0.0000 1.504570e+05 4
## 35 9.16 0.0000 3.209180e+05 4
## 36 2429.31 0.0000 1.304820e+05 4
## 37 62.88 0.0000 1.583090e+05 4
## 38 63.38 0.0000 1.022410e+05 5
## 39 107.39 0.0000 2.595263e+06 21
## 40 39.84 0.0000 1.108200e+05 6
## 41 12.54 0.0000 1.243360e+05 4
## 42 28.24 5637.6667 2.450633e+01 24
## 43 4203.04 0.0000 4.052510e+05 4
## 44 15384.46 0.0000 1.644547e+06 4
## 45 736.51 26056.6667 5.311437e+02 24
## 46 108.27 20288.6667 2.334858e+01 24
## 47 14612.33 0.0000 9.620220e+05 15
## 48 34.38 1761.6667 1.246311e+02 20
## 49 9.07 0.0000 4.477540e+05 6
## 50 2969.37 0.0000 1.570780e+05 4
## maximum_absolute_loading
## 1 0.04765649
## 2 0.04751207
## 3 0.04657358
## 4 0.04619582
## 5 0.04479748
## 6 0.04433748
## 7 0.04425191
## 8 0.04380014
## 9 0.04377972
## 10 0.04375792
## 11 0.04366255
## 12 0.04359272
## 13 0.04310667
## 14 0.04306262
## 15 0.04264450
## 16 0.04251409
## 17 0.04241669
## 18 0.04239879
## 19 0.04218219
## 20 0.04208213
## 21 0.04200991
## 22 0.04200545
## 23 0.04178782
## 24 0.04175702
## 25 0.04168164
## 26 0.04155718
## 27 0.04153739
## 28 0.04146088
## 29 0.04132057
## 30 0.04126466
## 31 0.04114067
## 32 0.04102795
## 33 0.04089714
## 34 0.04086962
## 35 0.04079935
## 36 0.04078027
## 37 0.04076230
## 38 0.04071666
## 39 0.04068073
## 40 0.04064179
## 41 0.04058113
## 42 0.04057058
## 43 0.04054068
## 44 0.04042515
## 45 0.04040986
## 46 0.04040705
## 47 0.04038724
## 48 0.04034331
## 49 0.04022931
## 50 0.04010130
#36. PCA feature heatmap. Essential question, for the top 30 PCA-driving LC-MS features, what does their intensity pattern actually look like across all of my samples?
#issues with annotation heatmap, will revisit.
top_feature_names <-
important_pca_features %>%
slice_head(
n = 30
) %>%
pull(
feature_name
)
heatmap_matrix <-
t(
pca_matrix_log[
,
top_feature_names,
drop = FALSE
]
)
#Plot: Top 30 features are the most strong contributors to the major multivariate PCA patterns. Essential question: how do the strongest PCA-driving features vary acorss my samples?
pheatmap(
heatmap_matrix,
scale = "row",
clustering_distance_rows =
"euclidean",
clustering_distance_cols =
"euclidean",
clustering_method =
"complete",
show_rownames = TRUE,
show_colnames = TRUE,
fontsize_row = 7,
fontsize_col = 8,
main =
"Top features driving positive-mode PCA"
)
#36 additional
#PCA Feature-reduction/sensitivity analysis #alternative to a relatively small subset of strongly contributing features recapitulates much of the multivariate structure to: the chemical differences are distributed across many features rather than being driven by a small handful of ions. We want to know if biological/sample structure is retained or changes.
# 36A. Define feature-set sizes
# ------------------------------------------------------------
feature_set_sizes <- c(
ncol(pca_matrix_log), # all available PCA features
2000,
1000,
500,
200,
100,
50,
30,
20,
10
)
# Remove sizes larger than the number of available features
# and remove duplicates
feature_set_sizes <-
feature_set_sizes[
feature_set_sizes <=
ncol(pca_matrix_log)
] %>%
unique()
feature_set_sizes
## [1] 4144 2000 1000 500 200 100 50 30 20 10
#36B. Function to rerun PCA using a selected number of highly ranked PCA features. Essentially, we’re creating a reusable function that reruns PCA for each reduced feature set.
run_reduced_feature_pca <- function(
number_features,
ranked_feature_table,
matrix_to_use,
metadata
) {
# If asking for all features, keep everything available
if (
number_features >=
ncol(matrix_to_use)
) {
selected_features <-
colnames(matrix_to_use)
} else {
selected_features <-
ranked_feature_table %>%
filter(
feature_name %in%
colnames(matrix_to_use)
) %>%
slice_head(
n = number_features
) %>%
pull(
feature_name
)
}
# Subset matrix to selected features
reduced_matrix <-
matrix_to_use[
,
selected_features,
drop = FALSE
]
# Recheck variance because some selected features could
# become non-variable in a subset
reduced_variance <-
apply(
reduced_matrix,
2,
var,
na.rm = TRUE
)
reduced_matrix <-
reduced_matrix[
,
is.finite(
reduced_variance
) &
reduced_variance > 0,
drop = FALSE
]
# Run PCA again
reduced_pca <-
prcomp(
reduced_matrix,
center = TRUE,
scale. = TRUE
)
# Calculate variance explained
variance_percent <-
(
reduced_pca$sdev^2 /
sum(
reduced_pca$sdev^2
)
) * 100
# Extract sample scores
reduced_scores <-
as.data.frame(
reduced_pca$x
) %>%
rownames_to_column(
"sample"
) %>%
left_join(
metadata,
by = "sample"
)
# Extract loadings from the NEW PCA
reduced_loadings <-
as.data.frame(
reduced_pca$rotation
) %>%
rownames_to_column(
"feature_name"
) %>%
mutate(
maximum_absolute_loading =
pmax(
abs(PC1),
abs(PC2),
abs(PC3),
na.rm = TRUE
)
) %>%
arrange(
desc(
maximum_absolute_loading
)
)
# Create PCA plot
reduced_plot <-
ggplot(
reduced_scores,
aes(
x = PC1,
y = PC2,
fill = group
)
) +
geom_point(
shape = 21,
size = 4,
color = "black"
) +
geom_text_repel(
aes(
label = sample
),
size = 3
) +
labs(
title =
paste0(
"PCA using top ",
ncol(reduced_matrix),
" features"
),
x =
paste0(
"PC1 (",
round(
variance_percent[1],
1
),
"%)"
),
y =
paste0(
"PC2 (",
round(
variance_percent[2],
1
),
"%)"
)
) +
theme_classic()
# Return all useful objects
list(
requested_features =
number_features,
actual_features =
ncol(
reduced_matrix
),
selected_features =
colnames(
reduced_matrix
),
pca =
reduced_pca,
scores =
reduced_scores,
loadings =
reduced_loadings,
variance =
variance_percent,
plot =
reduced_plot
)
}
reduced_pca_results <-
lapply(
feature_set_sizes,
function(n_features) {
run_reduced_feature_pca(
number_features =
n_features,
ranked_feature_table =
important_pca_features,
matrix_to_use =
pca_matrix_log,
metadata =
sample_metadata
)
}
)
names(
reduced_pca_results
) <-
paste0(
"Top_",
feature_set_sizes
)
#check
names(
reduced_pca_results
)
## [1] "Top_4144" "Top_2000" "Top_1000" "Top_500" "Top_200" "Top_100"
## [7] "Top_50" "Top_30" "Top_20" "Top_10"
pca_reduction_summary <-
bind_rows(
lapply(
names(reduced_pca_results),
function(result_name) {
x <- reduced_pca_results[[result_name]]
tibble(
feature_set =
result_name,
requested_features =
x$requested_features,
actual_features =
x$actual_features,
PC1_percent =
x$variance[1],
PC2_percent =
x$variance[2],
PC3_percent =
x$variance[3],
PC1_PC2_percent =
x$variance[1] +
x$variance[2],
PC1_PC2_PC3_percent =
x$variance[1] +
x$variance[2] +
x$variance[3]
)
}
)
)
pca_reduction_summary
## # A tibble: 10 × 8
## feature_set requested_features actual_features PC1_percent PC2_percent
## <chr> <dbl> <int> <dbl> <dbl>
## 1 Top_4144 4144 4144 47.4 22.6
## 2 Top_2000 2000 2000 40.4 30.3
## 3 Top_1000 1000 1000 42.0 22.8
## 4 Top_500 500 500 44.7 23.6
## 5 Top_200 200 200 58.6 14.6
## 6 Top_100 100 100 68.8 9.33
## 7 Top_50 50 50 78.0 6.98
## 8 Top_30 30 30 76.1 7.83
## 9 Top_20 20 20 76.6 7.85
## 10 Top_10 10 10 79.1 7.05
## # ℹ 3 more variables: PC3_percent <dbl>, PC1_PC2_percent <dbl>,
## # PC1_PC2_PC3_percent <dbl>
pca_reduction_variance_long <-
pca_reduction_summary %>%
select(
actual_features,
PC1_percent,
PC2_percent,
PC1_PC2_percent
) %>%
pivot_longer(
cols =
c(
PC1_percent,
PC2_percent,
PC1_PC2_percent
),
names_to =
"variance_measure",
values_to =
"percent"
)
#plot. essentially answers the question: as i reduce thousands of features toward 10, does the variance become increasingly concentrated in PC1/PC2?
ggplot(
pca_reduction_variance_long,
aes(
x = actual_features,
y = percent,
group = variance_measure,
linetype = variance_measure
)
) +
geom_point(
size = 3
) +
geom_line() +
scale_x_log10() +
labs(
title =
"PCA variance across progressively reduced feature sets",
subtitle =
"Features ranked using strongest loading across PC1-PC3",
x =
"Number of features used in PCA (log scale)",
y =
"Variance explained (%)",
linetype =
NULL
) +
theme_classic()
reduced_pca_results$Top_2000$plot
reduced_pca_results$Top_1000$plot
reduced_pca_results$Top_500$plot
reduced_pca_results$Top_200$plot
reduced_pca_results$Top_100$plot
reduced_pca_results$Top_50$plot
reduced_pca_results$Top_30$plot
reduced_pca_results$Top_20$plot
reduced_pca_results$Top_10$plot
reduced_pca_results[[1]]$plot
# 36G. Compare the strongest loadings after recalculating PCA. Inspect
whether the newly calculated loadings remain similar as you reduce the
feature set.
top_loadings_by_reduction <-
bind_rows(
lapply(
names(reduced_pca_results),
function(result_name) {
x <- reduced_pca_results[[result_name]]
x$loadings %>%
slice_head(
n = 20
) %>%
mutate(
feature_set =
result_name
)
}
)
)
top_loadings_by_reduction
## feature_name PC1 PC2 PC3
## 1 F2021_mz219.1749_rt1.21 -2.312426e-03 -0.0031873182 -0.047656488
## 2 F181_mz86.0602_rt0.45 3.523270e-03 -0.0020643142 0.047512072
## 3 F2587_mz264.0986_rt1.08 -8.101837e-04 0.0047912913 -0.046573579
## 4 F1754_mz201.1642_rt1.21 -9.097643e-04 -0.0063153075 -0.046195823
## 5 F362_mz104.0707_rt0.55 -5.919774e-03 0.0018646139 0.044797481
## 6 F3461_mz331.1297_rt1.01 5.567937e-03 0.0062541742 -0.044337483
## 7 F1765_mz202.1078_rt1 7.161984e-03 -0.0057968487 -0.044251914
## 8 F1789_mz203.1798_rt1.6 -1.207470e-04 -0.0108908202 -0.043800142
## 9 F958_mz145.1015_rt1.21 -7.791934e-03 -0.0011051580 -0.043779718
## 10 F2350_mz245.181_rt0.44 -1.600898e-03 0.0024934151 -0.043757917
## 11 F2125_mz227.1434_rt1.54 6.878993e-04 -0.0129972221 -0.043662554
## 12 F2323_mz244.095_rt1.18 9.640552e-03 0.0022942639 -0.043592725
## 13 F3172_mz305.1348_rt0.66 -1.175014e-03 0.0004084759 -0.043106671
## 14 F259_mz97.0286_rt1.01 3.280971e-03 -0.0079873596 -0.043062623
## 15 F2020_mz219.1747_rt1.58 5.261545e-04 -0.0119296008 -0.042644501
## 16 F3243_mz312.0542_rt1 2.697991e-03 -0.0139025079 -0.042514086
## 17 F3857_mz367.1217_rt1.32 1.682596e-03 -0.0134236740 -0.042416695
## 18 F3348_mz319.0188_rt0.42 -4.926562e-03 -0.0047892435 0.042398790
## 19 F1700_mz198.0976_rt0.69 9.875533e-03 0.0092584673 0.042182190
## 20 F1358_mz174.0553_rt0.89 3.134276e-03 -0.0149849747 -0.042082127
## 21 F2021_mz219.1749_rt1.21 -6.858753e-03 -0.0013029142 0.053592644
## 22 F1754_mz201.1642_rt1.21 -6.615598e-03 -0.0056917048 0.053505554
## 23 F2587_mz264.0986_rt1.08 -2.302834e-04 0.0055922893 0.053085907
## 24 F3461_mz331.1297_rt1.01 9.189721e-03 0.0008779324 0.052925598
## 25 F2323_mz244.095_rt1.18 1.231217e-02 -0.0071301561 0.051228938
## 26 F1789_mz203.1798_rt1.6 -8.129255e-03 -0.0111806615 0.050857989
## 27 F2125_mz227.1434_rt1.54 -8.254283e-03 -0.0141969616 0.050807042
## 28 F181_mz86.0602_rt0.45 5.732170e-03 -0.0047991345 -0.050096885
## 29 F2020_mz219.1747_rt1.58 -7.799841e-03 -0.0128965824 0.049896427
## 30 F1765_mz202.1078_rt1 3.952063e-03 -0.0132872307 0.049854248
## 31 F3243_mz312.0542_rt1 -6.064841e-03 -0.0171065175 0.049786617
## 32 F3857_mz367.1217_rt1.32 -7.192790e-03 -0.0155998986 0.049541225
## 33 F1358_mz174.0553_rt0.89 -6.024144e-03 -0.0187084547 0.049434577
## 34 F1003_mz148.0396_rt1.21 8.197229e-03 -0.0118857054 0.049129053
## 35 F839_mz138.0763_rt0.71 -2.010767e-03 -0.0191764122 0.049034967
## 36 F1552_mz188.0381_rt0.95 -9.787388e-03 0.0046245059 0.048896633
## 37 F2799_mz279.0771_rt1.16 -2.495209e-03 -0.0183140690 0.048763130
## 38 F2350_mz245.181_rt0.44 -2.429757e-03 0.0038404597 0.048675208
## 39 F2257_mz238.1443_rt1.83 -9.060094e-03 -0.0181430565 0.048631498
## 40 F1939_mz215.0377_rt1.17 -9.294770e-03 -0.0179025487 0.048444994
## 41 F2486_mz256.1184_rt1.08 -4.209812e-03 -0.0066992497 0.070450946
## 42 F3213_mz309.0873_rt1.33 8.496240e-06 -0.0012417029 0.070280085
## 43 F3428_mz328.1397_rt0.94 8.036308e-03 0.0001416409 0.070236255
## 44 F2102_mz226.1081_rt1.19 -2.279041e-03 -0.0039278113 0.069940120
## 45 F3222_mz310.1192_rt1.07 -8.671016e-03 -0.0071080528 0.069698409
## 46 F2251_mz238.0715_rt0.75 -9.720240e-03 -0.0059760527 0.069373097
## 47 F2707_mz273.1814_rt1.18 5.772988e-03 -0.0007321883 0.069141481
## 48 F2253_mz238.1079_rt1.08 -9.742623e-03 0.0010094320 0.068746272
## 49 F728_mz130.1229_rt1.24 -1.292249e-02 -0.0013878259 0.068073187
## 50 F2572_mz262.1291_rt0.5 -2.978076e-03 -0.0040312219 0.067840213
## 51 F4087_mz394.1657_rt1.5 -1.185037e-02 -0.0070391524 0.067831278
## 52 F2779_mz277.148_rt0.89 -1.306305e-02 0.0049558022 0.067821309
## 53 F2571_mz262.1289_rt0.68 -9.481133e-03 0.0027304278 0.067640998
## 54 F3244_mz312.1114_rt0.75 -7.158433e-03 -0.0044706316 0.067559961
## 55 F2588_mz264.1084_rt0.47 -1.162389e-02 0.0018354250 0.067181959
## 56 F3429_mz328.1399_rt1.1 -4.791848e-03 0.0034850810 0.067151864
## 57 F3639_mz347.1245_rt1.03 -9.675511e-03 -0.0059110738 0.067061260
## 58 F3965_mz379.2082_rt0.92 -1.440688e-02 -0.0061730495 0.067061177
## 59 F3541_mz337.172_rt0.44 -1.408008e-02 -0.0041858763 0.066983768
## 60 F3598_mz344.1345_rt0.82 -8.198905e-03 0.0004351482 0.066901537
## 61 F3590_mz343.0262_rt0.41 1.542396e-02 -0.0407004509 0.094796529
## 62 F3721_mz354.0791_rt0.96 7.797458e-03 -0.0472384260 0.094294611
## 63 F5035_mz707.2215_rt0.53 2.183276e-02 -0.0366804212 0.094106940
## 64 F2784_mz277.2166_rt1.44 1.763249e-02 -0.0368787650 0.093748912
## 65 F2633_mz268.1046_rt1.06 3.228425e-02 -0.0228576295 0.093541333
## 66 F1441_mz180.0869_rt0.69 1.670796e-02 -0.0345190336 0.093457312
## 67 F2812_mz280.0922_rt0.45 1.494253e-02 -0.0374525011 0.092758970
## 68 F1474_mz182.0274_rt1.18 2.577474e-02 -0.0363965651 0.091427903
## 69 F4133_mz400.2699_rt1.26 -8.193005e-03 0.0487181705 -0.091131779
## 70 F1616_mz192.9989_rt0.43 2.643831e-02 -0.0226562766 0.090975883
## 71 F3027_mz295.2272_rt1.44 1.797818e-02 -0.0385493563 0.090842053
## 72 F1400_mz177.0249_rt0.43 2.379012e-02 -0.0304597825 0.090309370
## 73 F3168_mz305.0571_rt0.41 4.497846e-04 -0.0558229842 0.089192285
## 74 F4744_mz551.1962_rt0.88 1.869170e-02 -0.0410306638 0.089025255
## 75 F1919_mz213.1488_rt1.44 7.662633e-03 -0.0516021369 0.088797083
## 76 F3657_mz348.2749_rt1.44 3.055175e-02 -0.0174598826 0.088334168
## 77 F4577_mz487.1796_rt0.66 9.370571e-03 -0.0509111053 0.087767717
## 78 F1024_mz149.1326_rt1.44 1.611615e-02 -0.0383090222 0.087223364
## 79 F1666_mz195.1382_rt1.44 4.189661e-03 -0.0539758837 0.086544771
## 80 F2578_mz263.1032_rt1.06 -2.716857e-03 0.0861744420 -0.014916630
## 81 F3166_mz304.8961_rt0.41 -4.273500e-02 -0.0695642772 -0.173063772
## 82 F3103_mz301.1627_rt0.42 -3.656661e-02 -0.0956232293 -0.165537384
## 83 F1919_mz213.1488_rt1.44 3.384818e-02 -0.1628989323 0.012250735
## 84 F1996_mz217.1592_rt1.23 -5.665320e-02 -0.0116158924 0.161272347
## 85 F1302_mz170.958_rt0.41 -3.792090e-02 -0.0954258730 -0.158684192
## 86 F2316_mz243.1838_rt0.44 -4.633658e-02 0.0770522293 0.154617779
## 87 F2517_mz259.0648_rt0.42 3.991161e-02 -0.0417127519 -0.149902898
## 88 F3027_mz295.2272_rt1.44 3.933805e-02 -0.1490321850 0.042551534
## 89 F3090_mz300.1447_rt0.89 -4.023362e-02 0.1081539319 0.148533535
## 90 F2939_mz289.0922_rt0.57 -3.147453e-02 0.1038640713 0.147340360
## 91 F379_mz105.0701_rt1.26 -5.974109e-02 0.0018419211 0.146605943
## 92 F3235_mz311.1582_rt1.19 -5.258351e-02 -0.0446252512 0.145914944
## 93 F3055_mz298.0637_rt0.45 2.975507e-02 -0.1450362370 -0.072862495
## 94 F4365_mz440.2505_rt1.17 -3.849235e-02 0.1444823830 0.059808894
## 95 F71_mz74.0601_rt0.45 4.867066e-02 -0.1431682182 0.003446579
## 96 F1474_mz182.0274_rt1.18 4.723573e-02 -0.1421640027 0.058316079
## 97 F2031_mz220.9355_rt0.41 -4.517039e-02 -0.0954016172 -0.141924498
## 98 F1050_mz152.0569_rt0.64 4.529538e-02 -0.1418010945 0.013622065
## 99 F3420_mz327.0523_rt0.42 3.736483e-02 -0.1415072887 -0.035251500
## 100 F4538_mz475.1779_rt0.47 5.032863e-02 -0.1402133958 0.039942711
## 101 F1996_mz217.1592_rt1.23 -7.371001e-02 0.0136358843 -0.263910885
## 102 F71_mz74.0601_rt0.45 6.762267e-02 -0.2458305008 -0.062876706
## 103 F1048_mz152.0568_rt0.48 6.582404e-02 -0.2441276694 0.071834409
## 104 F3223_mz310.1291_rt0.94 -8.285776e-02 -0.0517312569 -0.233837876
## 105 F379_mz105.0701_rt1.26 -8.033052e-02 0.0179396950 -0.231830145
## 106 F3090_mz300.1447_rt0.89 -5.539306e-02 0.2228279382 -0.183248097
## 107 F2323_mz244.095_rt1.18 -9.500128e-02 0.0078783434 -0.221309129
## 108 F2316_mz243.1838_rt0.44 -6.510736e-02 0.1572497028 -0.218873814
## 109 F3262_mz313.2381_rt1.45 6.857405e-02 -0.2165276067 -0.092433575
## 110 F2693_mz273.076_rt1.17 -7.392829e-02 0.2067679842 0.073030655
## 111 F3348_mz319.0188_rt0.42 8.411390e-02 -0.0829050351 0.190654576
## 112 F4980_mz672.4172_rt3.78 8.614278e-02 -0.1161636762 -0.178953386
## 113 F804_mz136.0619_rt0.64 9.696272e-02 -0.0909961515 -0.175552605
## 114 F3461_mz331.1297_rt1.01 -9.031161e-02 0.0546521933 -0.174638834
## 115 F181_mz86.0602_rt0.45 9.268494e-02 -0.1745964771 0.057578363
## 116 F3350_mz319.1296_rt0.96 -7.591456e-02 0.1730658772 0.057321089
## 117 F1391_mz176.1188_rt0.97 -7.483488e-02 0.1706247649 0.020601158
## 118 F2578_mz263.1032_rt1.06 -6.945030e-02 0.1684080952 -0.170319723
## 119 F468_mz112.8959_rt0.44 -7.593165e-02 0.1653386239 -0.085564439
## 120 F1045_mz151.9513_rt0.42 9.224357e-02 -0.1213578029 -0.162042575
## 121 F379_mz105.0701_rt1.26 -1.054392e-01 0.1503559885 -0.351700739
## 122 F181_mz86.0602_rt0.45 1.203876e-01 -0.3275014870 -0.007313221
## 123 F2935_mz288.2902_rt1.87 1.104216e-01 -0.3157016518 -0.103959596
## 124 F2323_mz244.095_rt1.18 -1.247140e-01 0.1159833603 -0.291973830
## 125 F3172_mz305.1348_rt0.66 -1.148709e-01 0.2889531841 -0.011846089
## 126 F2350_mz245.181_rt0.44 -1.202910e-01 0.2771509861 -0.016930607
## 127 F2053_mz222.1129_rt1.18 -1.386919e-01 -0.0452259648 -0.256042247
## 128 F4410_mz448.1673_rt0.53 1.214955e-01 -0.1517446179 -0.247432056
## 129 F1003_mz148.0396_rt1.21 -1.356853e-01 -0.0478462572 -0.245542474
## 130 F3348_mz319.0188_rt0.42 1.100160e-01 -0.2437458299 0.199657200
## 131 F1700_mz198.0976_rt0.69 1.291115e-01 -0.1687820700 -0.240787298
## 132 F1304_mz171.0168_rt0.44 1.274670e-01 -0.1527596292 -0.235001223
## 133 F3714_mz353.248_rt1.46 -1.410722e-01 0.0136929397 0.230259666
## 134 F3461_mz331.1297_rt1.01 -1.185473e-01 0.1460808081 -0.226934934
## 135 F1866_mz209.1176_rt1.18 -1.415098e-01 0.0579476952 0.205664622
## 136 F1765_mz202.1078_rt1 -1.405803e-01 0.0215478077 -0.199490989
## 137 F2587_mz264.0986_rt1.08 -1.309620e-01 0.1965434458 -0.080956601
## 138 F362_mz104.0707_rt0.55 1.215263e-01 -0.1658388499 0.193100754
## 139 F2645_mz269.1752_rt1.19 -1.437541e-01 0.0089573094 0.183888199
## 140 F885_mz141.0549_rt1.07 -1.398363e-01 -0.1211464476 -0.183715296
## 141 F2935_mz288.2902_rt1.87 -1.538530e-01 0.3680623464 -0.104687758
## 142 F2323_mz244.095_rt1.18 1.741703e-01 -0.0535424492 -0.365074982
## 143 F1700_mz198.0976_rt0.69 -1.692026e-01 0.1786402660 -0.352427797
## 144 F1866_mz209.1176_rt1.18 1.810868e-01 -0.0486436119 0.341762249
## 145 F181_mz86.0602_rt0.45 -1.700827e-01 0.3344207671 -0.021229864
## 146 F3348_mz319.0188_rt0.42 -1.569571e-01 0.2305499175 0.317739799
## 147 F3172_mz305.1348_rt0.66 1.617087e-01 -0.3176475524 -0.066057969
## 148 F3461_mz331.1297_rt1.01 1.653629e-01 -0.0719526819 -0.300776488
## 149 F2350_mz245.181_rt0.44 1.680883e-01 -0.2951008674 -0.051398753
## 150 F2053_mz222.1129_rt1.18 1.842032e-01 0.1441931429 -0.256832107
## 151 F1003_mz148.0396_rt1.21 1.805387e-01 0.1616251359 -0.237694381
## 152 F958_mz145.1015_rt1.21 1.746876e-01 -0.1963098647 0.219176514
## 153 F1765_mz202.1078_rt1 1.871562e-01 0.0704320194 -0.218814577
## 154 F1754_mz201.1642_rt1.21 2.008965e-01 0.0230334215 0.071679136
## 155 F2125_mz227.1434_rt1.54 2.006730e-01 0.1484211470 0.096060459
## 156 F362_mz104.0707_rt0.55 -1.692917e-01 0.0989172132 0.200015563
## 157 F1789_mz203.1798_rt1.6 1.996783e-01 0.1106955737 0.086349735
## 158 F3243_mz312.0542_rt1 1.972045e-01 0.1994975463 0.044383563
## 159 F3857_mz367.1217_rt1.32 1.963530e-01 0.1901444620 0.074417390
## 160 F2021_mz219.1749_rt1.21 1.953106e-01 -0.0896052822 0.031338502
## 161 F1700_mz198.0976_rt0.69 2.048375e-01 0.0600924801 -0.495702920
## 162 F958_mz145.1015_rt1.21 -2.169771e-01 -0.1054856368 0.398747991
## 163 F2323_mz244.095_rt1.18 -2.171562e-01 -0.1399432267 -0.354876268
## 164 F3172_mz305.1348_rt0.66 -2.047228e-01 -0.3501894809 0.088899023
## 165 F181_mz86.0602_rt0.45 2.136059e-01 0.3374186370 -0.161535897
## 166 F3461_mz331.1297_rt1.01 -2.077496e-01 -0.1446518778 -0.336372315
## 167 F1765_mz202.1078_rt1 -2.286850e-01 0.0810485115 -0.325103982
## 168 F2350_mz245.181_rt0.44 -2.134191e-01 -0.3173899445 0.131344565
## 169 F3348_mz319.0188_rt0.42 2.018481e-01 0.3045879216 0.276316454
## 170 F3857_mz367.1217_rt1.32 -2.333657e-01 0.3022826434 0.004516051
## 171 F3243_mz312.0542_rt1 -2.337673e-01 0.2922125652 -0.022693347
## 172 F2125_mz227.1434_rt1.54 -2.397426e-01 0.2615544452 0.061928806
## 173 F1358_mz174.0553_rt0.89 -2.311419e-01 0.2606075102 -0.056068527
## 174 F1754_mz201.1642_rt1.21 -2.447799e-01 0.1148354035 0.108240746
## 175 F2021_mz219.1749_rt1.21 -2.418569e-01 -0.0279734212 0.095887658
## 176 F1789_mz203.1798_rt1.6 -2.404004e-01 0.2194811534 0.080327468
## 177 F362_mz104.0707_rt0.55 2.077364e-01 0.1425305012 0.240224781
## 178 F2020_mz219.1747_rt1.58 -2.342984e-01 0.2313820204 0.069473433
## 179 F2587_mz264.0986_rt1.08 -2.267012e-01 -0.1917230337 0.041275099
## 180 F259_mz97.0286_rt1.01 -2.210475e-01 0.1494938361 -0.154233961
## 181 F362_mz104.0707_rt0.55 2.946592e-01 -0.5827287876 0.115556163
## 182 F181_mz86.0602_rt0.45 3.135230e-01 -0.1313580443 0.537366420
## 183 F1789_mz203.1798_rt1.6 -3.194312e-01 -0.2553674350 0.465627716
## 184 F3461_mz331.1297_rt1.01 -2.956981e-01 0.4555062330 0.058279663
## 185 F1765_mz202.1078_rt1 -3.114490e-01 0.2607633238 0.423268317
## 186 F958_mz145.1015_rt1.21 -3.122336e-01 -0.4187698116 -0.239909646
## 187 F2350_mz245.181_rt0.44 -3.097305e-01 -0.2380529160 -0.363380051
## 188 F2021_mz219.1749_rt1.21 -3.380845e-01 -0.1604715553 0.094651621
## 189 F1754_mz201.1642_rt1.21 -3.349755e-01 -0.2015902896 0.294007774
## 190 F2587_mz264.0986_rt1.08 -3.293518e-01 -0.0636329100 -0.116280464
## PC4 PC5 PC6 PC7 PC8
## 1 0.0027591124 0.0034384730 -0.0280409989 0.0069478460 0.0012148420
## 2 0.0148120249 -0.0034249367 -0.0113327522 0.0234892568 0.0110051735
## 3 0.0034059115 0.0026324770 -0.0238632713 0.0038099192 -0.0035333263
## 4 0.0127611713 -0.0011618533 -0.0384017831 -0.0044170397 -0.0106656833
## 5 0.0117549331 0.0195207654 -0.0220205171 0.0183837204 0.0212036479
## 6 0.0130941825 -0.0026063441 0.0282633901 0.0112594726 -0.0276751795
## 7 0.0011856732 -0.0137610059 -0.0124847038 0.0087392756 0.0216586235
## 8 0.0132719813 -0.0009877471 -0.0407063390 0.0184460994 0.0051746529
## 9 0.0009278661 0.0028730559 -0.0347779351 -0.0025992316 -0.0129729296
## 10 -0.0068614526 0.0294817013 -0.0252056511 -0.0084856855 0.0117220148
## 11 0.0154688686 -0.0045802971 -0.0284523756 0.0050394783 0.0000673967
## 12 0.0026496104 0.0192470251 -0.0190827622 0.0046318551 -0.0011962225
## 13 -0.0076733624 0.0337041619 0.0113615686 0.0109802526 -0.0081519330
## 14 0.0004440997 -0.0248325292 -0.0132678301 0.0055085070 0.0152286604
## 15 0.0156387518 -0.0013927761 -0.0263401441 0.0036847168 -0.0167812376
## 16 0.0161218657 -0.0031794634 -0.0233828019 0.0061502320 0.0084690977
## 17 0.0168876841 -0.0106484054 -0.0228150558 0.0084479932 0.0021840498
## 18 0.0095092997 -0.0240949622 0.0057989944 -0.0281707071 -0.0290776770
## 19 0.0025763465 -0.0039177101 -0.0079585511 0.0236945767 0.0127160536
## 20 0.0145512538 0.0049942178 -0.0104137614 0.0192406724 0.0001509724
## 21 -0.0095286115 -0.0099194356 0.0336765738 0.0042905640 0.0179571004
## 22 0.0106358748 -0.0056686076 0.0369561662 0.0183686476 -0.0032538703
## 23 -0.0091719806 -0.0109762331 0.0266788680 0.0044584477 0.0215791488
## 24 0.0106635793 -0.0024139962 -0.0321195145 -0.0466398370 0.0176644758
## 25 -0.0193623277 0.0109960469 0.0287692841 0.0136445529 0.0122320890
## 26 0.0140036825 -0.0056651174 0.0554073405 0.0088396620 0.0038635501
## 27 0.0190763842 -0.0061500799 0.0324328044 0.0159423191 0.0014499644
## 28 0.0432240084 0.0211627869 0.0318952392 -0.0139812127 0.0291546933
## 29 0.0175063232 -0.0002802370 0.0296762565 0.0015268263 0.0123859205
## 30 -0.0019077666 -0.0344209479 0.0132034051 0.0020461800 0.0044494905
## 31 0.0198831301 -0.0035987518 0.0291879780 0.0243781287 0.0111679398
## 32 0.0256849459 -0.0124433377 0.0262128403 0.0105764282 0.0011427337
## 33 0.0131770972 0.0084789904 0.0238249914 -0.0117652455 0.0232737252
## 34 0.0184001460 -0.0184916153 0.0234085087 0.0371275406 0.0047346221
## 35 0.0088176200 0.0106986550 0.0292115299 0.0004410270 0.0240365987
## 36 0.0380336021 -0.0125868305 0.0258979049 -0.0097795787 -0.0234035484
## 37 0.0087203941 0.0001985903 0.0075497456 0.0538250486 0.0129858908
## 38 -0.0417184576 0.0175766937 0.0276819640 0.0347580596 -0.0448236208
## 39 0.0181534647 0.0018438167 0.0141169162 0.0252336546 -0.0221580525
## 40 0.0205707076 -0.0012765847 0.0057539992 0.0281318386 -0.0027735217
## 41 0.0127775065 0.0232470970 -0.0133127613 0.0131447989 0.0150908229
## 42 -0.0229790242 -0.0228555910 -0.0264764405 -0.0165479461 0.0048214452
## 43 -0.0050914643 0.0077208659 -0.0194433691 -0.0274811594 0.0222779938
## 44 -0.0018991804 0.0218952837 -0.0088118871 0.0090722702 -0.0160815486
## 45 0.0046920859 0.0103810767 -0.0013134725 -0.0134571568 0.0024706831
## 46 -0.0122745046 -0.0154437561 -0.0164629860 0.0105064149 -0.0191780305
## 47 0.0024604251 0.0364772980 0.0381438824 -0.0019380872 0.0002723497
## 48 0.0303029774 0.0063497975 -0.0096082256 0.0201743998 0.0036341886
## 49 0.0097671380 0.0283385596 0.0050204847 0.0147770480 0.0105428331
## 50 -0.0309298015 -0.0248420052 0.0059689929 0.0251670411 -0.0215762383
## 51 -0.0194282219 -0.0264137632 -0.0197767685 0.0097327525 -0.0246265037
## 52 -0.0142042607 -0.0285906091 0.0023340051 -0.0160341519 0.0164801543
## 53 -0.0279911387 -0.0388248907 0.0141627900 -0.0032710536 0.0091306954
## 54 -0.0330344702 -0.0369942446 0.0169439513 0.0074627807 0.0090736224
## 55 -0.0113352659 -0.0200211560 -0.0059334088 -0.0237774207 -0.0194517011
## 56 -0.0313645435 -0.0250233462 0.0029509619 0.0101401409 -0.0113269200
## 57 -0.0227812216 -0.0117144686 -0.0177439923 0.0122155193 0.0121741565
## 58 -0.0041296252 -0.0079041990 -0.0013959625 0.0037177098 0.0304535042
## 59 -0.0162664556 -0.0291998624 0.0021017400 -0.0234146781 0.0209904999
## 60 -0.0349371536 -0.0457341681 0.0101099627 0.0049365522 0.0161676341
## 61 0.0265088105 0.0456911800 -0.0190876321 0.0245585678 0.0033925844
## 62 -0.0182250600 0.0041716083 -0.0360982636 -0.0227652656 -0.0330619176
## 63 0.0137418008 0.0337248306 -0.0262531343 0.0239332877 -0.0128360427
## 64 0.0386267186 -0.0499887247 -0.0420651287 -0.0309446368 -0.0137397847
## 65 0.0350437078 -0.0144413314 -0.0212933128 -0.0027674255 -0.0014750348
## 66 0.0043204929 -0.0358628915 -0.0354509585 -0.0089793948 0.0239518743
## 67 0.0575561442 -0.0387735445 -0.0008997769 0.0362392433 0.0408603891
## 68 0.0347017730 0.0234944537 -0.0100379283 -0.0012505618 -0.0195900223
## 69 -0.0129170246 0.0209673042 0.0209256397 -0.0121220732 0.0969168158
## 70 0.0696867194 -0.0113252496 -0.0215431763 0.0124344775 -0.0126931044
## 71 0.0312669344 -0.0657247291 -0.0440757368 -0.0584434352 -0.0203209374
## 72 0.0720379864 0.0086039341 -0.0193971515 0.0365599963 -0.0188581810
## 73 0.0002321282 0.0471092558 -0.0101955630 -0.0095075944 -0.0019815564
## 74 -0.0408263191 0.0428899786 0.0781881595 -0.0325542310 0.0390271218
## 75 0.0167468221 -0.0535909994 -0.0382730546 -0.0511744585 -0.0045125496
## 76 0.0598108865 -0.0658777672 -0.0392451155 -0.0375748635 -0.0215116112
## 77 -0.0115718224 0.0617422488 0.0718818400 -0.0026883218 0.0141012712
## 78 0.0279955229 -0.0457496294 -0.0509018641 -0.0538665191 -0.0327064361
## 79 0.0092002697 -0.0496038967 -0.0407916871 -0.0677241877 -0.0044561800
## 80 0.0105321466 0.0353832415 0.0212601426 -0.0332070205 0.0337095142
## 81 -0.1008032532 0.0475449266 -0.0477594768 -0.0562343806 0.0225442891
## 82 -0.0889711385 0.0671341178 -0.0095997885 -0.0019277225 0.0034553222
## 83 -0.0065624842 -0.0631198981 -0.0592062738 -0.1084335888 -0.0016857106
## 84 0.0089309392 -0.0362736702 0.0145251861 -0.1343036556 0.0011633602
## 85 -0.0992443946 0.0376197580 -0.0470530630 -0.0153830227 0.0715950385
## 86 0.0520355162 -0.0886032856 -0.0697322083 -0.0609277247 -0.0554775764
## 87 0.1058114803 -0.1388172551 0.0254051646 0.0169752544 0.0170672457
## 88 0.0363802034 -0.0942346901 -0.0582278602 -0.1227743797 0.0234096693
## 89 -0.0500418087 -0.0482631868 -0.0038217518 0.0789568364 -0.0811260014
## 90 -0.0127332788 0.0104895278 0.0414752103 -0.1125304931 0.0347121564
## 91 0.0164669092 0.1456525708 0.0833755217 0.0029216664 -0.0214208243
## 92 0.1038296314 0.1176857274 -0.0303367386 0.0889400774 -0.0769485505
## 93 0.0182411218 -0.0506348871 -0.0878210748 0.0995459192 -0.1953989163
## 94 -0.0365872694 0.0142776528 -0.0239081587 0.0088025115 0.1764185798
## 95 0.0229313619 0.1272369542 0.0101867036 0.0695698939 0.0206520968
## 96 0.0657679537 0.0303853530 0.0240023693 -0.0086703140 0.0564716725
## 97 -0.1049256527 0.0791175350 -0.0248426592 0.0001493959 0.0433813047
## 98 -0.0652518826 0.1156237830 -0.0581351512 -0.0013878942 0.0105860685
## 99 0.0928802202 -0.0021574911 -0.0062206078 0.0138256937 -0.0128470025
## 100 0.0689111654 0.0486322011 0.0090891206 0.0804739121 -0.0084942126
## 101 -0.0256122166 -0.0660443769 0.0257172495 -0.1503998785 -0.0930380095
## 102 -0.0263942170 0.1551306019 -0.0561616255 0.0949744538 0.0128545138
## 103 -0.1296926866 0.0793100340 -0.0540210737 0.0426047032 0.0919951315
## 104 -0.0989716235 -0.1133008507 -0.0154342412 -0.0916765346 -0.1103766478
## 105 -0.0401284585 0.2279911785 0.0132066232 0.0270173693 0.0374012706
## 106 -0.0523611696 -0.0614371162 0.0576645769 0.0693048862 0.1134480149
## 107 0.0068244622 -0.0421786924 -0.0424002155 -0.0385288617 0.0581273557
## 108 0.1025895341 -0.1364669823 -0.0267745816 -0.1084374036 0.1277467353
## 109 0.0268782358 -0.1671830934 -0.0807111860 -0.0331030273 -0.0393981453
## 110 0.1712960928 -0.0767939231 -0.0491722324 0.0230031773 0.0935958189
## 111 0.0645961487 0.0848207982 0.1240281194 -0.1877123321 -0.2326327402
## 112 0.0998291319 0.0070842246 -0.1713912098 -0.0844293112 -0.0601397329
## 113 0.1260644716 -0.0312268000 -0.0290503674 0.0360133180 0.0373186183
## 114 0.0496914261 -0.0173377806 0.2697704145 0.1442916012 -0.0376782928
## 115 0.1232702400 -0.0923478519 -0.0357147549 0.0719100664 -0.0097424867
## 116 0.2186835802 0.0424123658 0.1067150666 0.0679678962 -0.1499468909
## 117 0.0660083192 -0.0490970383 0.0214314090 0.3424762642 -0.1806219390
## 118 0.1843829585 0.0959856902 0.1068518499 -0.0870855572 -0.1126702603
## 119 0.0769606954 -0.2059091152 -0.0031759684 -0.0965939316 0.0868495495
## 120 0.1243952178 0.0243308607 -0.0089835791 0.0599955684 0.0081162016
## 121 0.2042545723 0.0006492638 0.1978642684 -0.0220028514 0.0295571060
## 122 -0.1959805169 0.0714130096 -0.0077666865 0.1273551344 -0.0375614750
## 123 0.0851712231 0.2955708000 -0.1620095965 -0.0314681488 0.0245157358
## 124 -0.1738717093 -0.0539495183 -0.1569416003 -0.1487232296 -0.0736795802
## 125 -0.2306916587 -0.2042071133 -0.2371171067 -0.1114985580 0.0702616334
## 126 -0.2875333814 -0.0367869188 0.1442028987 -0.0303903641 0.1378848141
## 127 0.0574809659 -0.1217547770 0.1151297137 -0.1050242846 -0.0439625650
## 128 0.0594356270 -0.2353125891 0.1871622281 -0.3416751368 0.0308190920
## 129 0.0845116676 0.1594080500 -0.0230422794 -0.1603821405 -0.1421692745
## 130 0.3038687766 0.1125376382 -0.0340569542 -0.4183447882 0.2196903244
## 131 -0.1740947263 0.0875198246 0.0774335912 0.1724295727 -0.0986043953
## 132 -0.1523121135 0.2247974462 0.0684896952 -0.0626254748 -0.0678943844
## 133 0.1327112643 -0.0208061919 -0.0533808064 0.2623936955 0.1205651219
## 134 0.0832898124 0.2361324735 -0.4780814915 0.1813020534 0.1387367594
## 135 0.0089520399 0.1371197445 0.2743478884 -0.1418379025 -0.0339587674
## 136 0.0802616105 -0.0254569911 0.2236446324 0.3344485982 -0.0771393212
## 137 -0.1368613645 0.2854321635 -0.0166232443 -0.2007920147 0.2521323356
## 138 -0.3979558660 0.1279902697 -0.0248446017 0.0671265495 -0.1673643919
## 139 -0.0690985853 -0.0955868190 0.0801067910 0.1839816613 -0.1546434460
## 140 0.1648510689 0.1597661779 0.0251184788 0.1273610883 0.0677758381
## 141 0.0231011483 0.3678750834 0.2012171316 0.0870158968 -0.0237758475
## 142 -0.1153544763 0.0042824954 0.1601493179 0.0240027463 -0.2222027612
## 143 -0.1585827124 0.1302958055 -0.1373002543 -0.1758174662 -0.0366014516
## 144 -0.0415161589 0.1751456821 -0.1817648421 0.0058867133 -0.0251437092
## 145 -0.2713299496 0.0415972732 -0.0230762452 -0.1128952768 0.0430740606
## 146 0.2512991362 0.0974951843 0.1822904503 0.3566207226 -0.2574691522
## 147 -0.1676552024 -0.3179534705 0.2441833425 -0.0268533216 -0.0722731323
## 148 0.1530903867 0.2232304629 0.4178480002 0.0933745660 0.5278318551
## 149 -0.2953106496 0.0101031954 -0.1612351701 0.1353027424 -0.2590249809
## 150 0.1042349951 -0.0836716531 -0.1298836996 -0.0021813445 -0.1366180312
## 151 0.1084291174 0.2696014202 0.0298990712 -0.0174512555 -0.3635588384
## 152 -0.1152297137 0.3200694194 -0.0900714614 0.1701120206 -0.0284753830
## 153 0.0933083446 0.0349236256 -0.3650918077 -0.1585589372 0.0655420274
## 154 -0.1084389111 0.2452694499 0.0357562251 -0.1122212924 -0.1008384031
## 155 -0.0705376138 0.0369324176 0.0089310184 -0.0792945936 0.0049433287
## 156 -0.5050653823 0.1128564755 0.0619927431 -0.2181020338 0.0099808967
## 157 -0.1932376637 0.0823924129 -0.0821372401 -0.1038267523 0.0010015024
## 158 -0.0472738132 -0.0748673923 0.0314488340 -0.0092269070 0.0121038221
## 159 -0.0013448345 0.0446300152 0.0172300070 -0.0767088501 0.0686928372
## 160 -0.1188012567 0.1659430092 -0.1081302164 -0.0271325280 0.3143401106
## 161 -0.3062253115 0.0875755768 -0.2322658628 -0.2148922827 0.0952417986
## 162 -0.0568788622 0.0813551875 -0.3938641177 0.1700697587 0.1337017053
## 163 -0.1934243967 -0.1243685055 0.0247322488 0.3166843337 0.6208709107
## 164 -0.1314424231 -0.1577131093 0.5187358806 -0.3832482349 -0.0357090536
## 165 -0.3479305658 -0.0291535089 -0.0559661581 -0.1477287005 -0.0164700142
## 166 0.0954563298 -0.5764612081 -0.2615332903 0.2079359550 -0.3368870401
## 167 0.0829899839 0.3553050698 -0.0797483576 -0.1718738927 -0.1712715848
## 168 -0.2577157910 0.3037965990 -0.0033078045 -0.0040620435 0.2252767722
## 169 0.3202359332 -0.3001413078 -0.1629106013 -0.1869356932 0.3819123961
## 170 0.0129455543 -0.0560215490 -0.0156629605 0.1219034753 0.0645708666
## 171 -0.0214227260 -0.0295332403 0.1429688741 0.2168961627 0.1831240232
## 172 -0.0463524351 -0.0273324871 0.0340606347 0.0051635236 0.0276722992
## 173 -0.0739408244 -0.1580075165 0.3939340859 0.0517870265 0.0142899465
## 174 -0.1068180604 -0.0518282443 -0.1671499540 -0.1731204945 -0.0468622822
## 175 -0.0806667322 0.0991581492 -0.1730594209 0.3030986359 -0.3619721587
## 176 -0.1781008951 0.0693223062 -0.0102198617 -0.1361517934 -0.0007230303
## 177 -0.5694130485 0.0348743556 -0.0731258011 0.1641204948 -0.1280034486
## 178 -0.1215951354 -0.1327051026 0.0476933818 -0.2646060802 -0.1844786441
## 179 -0.1162948564 -0.2386752840 -0.4028801797 -0.4776314155 0.1445308193
## 180 0.3631208941 0.4251513488 -0.1087443530 -0.1345092726 0.0582376014
## 181 -0.3999214960 -0.1488706559 -0.2510713569 -0.0193741770 -0.1977183316
## 182 -0.2862113255 -0.1891959383 0.1399247490 0.2199225686 0.0332016844
## 183 0.1337822814 0.0890647507 0.0851471841 -0.0242326299 0.3162547059
## 184 -0.6892061060 0.1112953045 -0.3498204636 0.2082452327 0.1955593191
## 185 0.2593962914 -0.4398696052 -0.0116717253 0.3042827036 -0.4528837853
## 186 0.0471538445 0.3522548518 -0.0469685793 0.6880426955 -0.1893574981
## 187 -0.0465510501 -0.7433544650 -0.0761102447 0.0253695273 0.3595906882
## 188 0.0158270732 0.0741365901 -0.5282286994 -0.5013560151 -0.3965861204
## 189 0.0340819825 0.2142994241 0.1084177072 -0.1764894263 0.4039367200
## 190 -0.4383538751 -0.0125762561 0.6991743950 -0.2411736073 -0.3617094835
## PC9 PC10 PC11 PC12 PC13
## 1 0.0080846759 -0.0048841929 1.681043e-02 -8.024312e-04 1.774244e-02
## 2 -0.0023368699 0.0029236905 1.842613e-02 -1.283137e-02 1.345354e-02
## 3 0.0125699923 0.0143130265 1.455492e-02 2.109367e-03 4.813093e-03
## 4 0.0243716113 -0.0000423285 1.038682e-02 -6.075167e-03 2.816142e-04
## 5 -0.0046185507 -0.0004995599 1.893592e-02 -3.889139e-03 3.304819e-03
## 6 0.0007938443 -0.0019797603 2.038612e-02 3.723502e-03 1.522773e-02
## 7 0.0101550792 -0.0197797557 2.471053e-02 -1.167819e-02 7.856038e-03
## 8 0.0070866462 -0.0008700570 1.227317e-02 -1.903499e-03 -8.305637e-05
## 9 -0.0153554322 -0.0196946523 -3.625141e-03 -2.704755e-03 -7.220412e-03
## 10 -0.0001219791 -0.0444987095 4.117473e-03 5.307675e-03 8.038157e-03
## 11 0.0059245090 0.0007278206 5.382966e-03 -6.570516e-05 -3.729499e-03
## 12 -0.0093912174 0.0146041670 -7.822561e-03 6.659465e-03 6.858273e-03
## 13 0.0196509037 0.0026846045 6.208178e-03 2.110271e-03 -4.595345e-02
## 14 -0.0064961155 -0.0124010285 -1.720334e-02 -1.773146e-02 3.203290e-03
## 15 0.0162712861 -0.0005996837 2.295486e-02 -1.762822e-02 1.065653e-02
## 16 -0.0123657391 0.0062241082 -1.311410e-03 4.931751e-03 5.953330e-03
## 17 0.0014899419 0.0007648195 2.728900e-03 2.367034e-03 -4.439925e-03
## 18 -0.0229270406 0.0211899257 -2.982777e-02 9.240185e-03 -8.021066e-03
## 19 0.0109976481 -0.0057607035 1.522703e-02 -1.601961e-02 1.119163e-03
## 20 0.0012426847 0.0174471019 6.290968e-03 9.608105e-04 6.622924e-03
## 21 0.0235964791 -0.0286279749 1.450932e-03 -1.377880e-02 -4.939673e-02
## 22 0.0389278512 -0.0371616943 -5.253957e-02 -1.441086e-02 -2.786033e-03
## 23 0.0372542388 -0.0234126656 -2.613127e-02 2.640056e-03 4.568895e-02
## 24 0.0359479600 0.0245251903 9.071148e-03 4.405775e-03 -2.734768e-02
## 25 0.0086557002 0.0092194221 9.408499e-03 7.207580e-03 -3.783019e-02
## 26 0.0093296065 -0.0240098926 -1.235372e-02 7.547618e-04 1.219960e-02
## 27 0.0094511876 -0.0150775270 -2.118140e-02 2.317765e-03 -1.405362e-02
## 28 -0.0134277653 0.0006986057 1.302474e-02 -1.740599e-02 1.884227e-02
## 29 0.0450744405 -0.0120534659 -4.051427e-02 -2.265285e-02 3.214047e-02
## 30 -0.0190281790 -0.0411627637 4.988615e-03 -2.527906e-02 1.989263e-03
## 31 -0.0006776212 0.0033577479 1.286037e-02 5.244521e-03 -1.557831e-02
## 32 -0.0033317340 -0.0049587436 -1.343330e-02 4.990359e-03 -3.730787e-02
## 33 0.0000933831 -0.0005322379 2.536529e-03 5.793021e-03 1.068512e-02
## 34 0.0351563677 -0.0042212216 -1.580721e-02 -3.084877e-02 -2.647251e-02
## 35 0.0091831391 -0.0058877256 1.263868e-02 9.571493e-03 8.947355e-03
## 36 0.0440197786 0.0216410820 1.742598e-02 3.570836e-04 3.525789e-02
## 37 0.0161892782 -0.0068742897 1.914532e-02 1.892944e-02 2.019363e-02
## 38 0.0224130438 -0.0320771871 2.881345e-02 -1.726395e-02 2.240058e-02
## 39 -0.0060855346 0.0082298106 -2.966657e-04 8.629251e-03 3.842369e-03
## 40 -0.0071957155 0.0055170021 -8.729018e-03 1.936235e-02 1.615812e-02
## 41 -0.0008907025 0.0073992258 -2.160417e-03 8.580426e-03 4.510439e-03
## 42 0.0029365373 0.0105349976 1.324899e-02 -2.861471e-03 -1.010844e-02
## 43 0.0132416063 -0.0010198212 -3.757786e-03 -1.226563e-02 -1.982795e-02
## 44 0.0051057044 0.0095955565 1.191809e-02 -4.400930e-02 -3.348785e-02
## 45 0.0200310162 0.0208443579 8.829210e-03 -2.210706e-02 -1.960100e-02
## 46 0.0090613768 -0.0012052519 3.761404e-03 -1.475732e-02 9.642179e-03
## 47 -0.0026772197 -0.0072797400 7.505902e-03 -9.169510e-03 -2.174485e-02
## 48 0.0089736423 0.0038161661 -1.382132e-02 4.044699e-03 -1.071848e-02
## 49 -0.0083839244 0.0189508570 1.555332e-02 -3.358578e-02 -4.698596e-03
## 50 0.0498448418 -0.0059030133 -2.395219e-02 -4.146158e-02 4.565443e-02
## 51 0.0087118411 0.0015838368 1.210608e-03 -1.272826e-02 1.527196e-02
## 52 0.0176905394 0.0004233507 3.726949e-04 -2.337156e-02 1.148559e-02
## 53 0.0136912980 0.0054818223 5.808123e-04 -1.110682e-02 1.876660e-02
## 54 0.0238867908 -0.0051444661 -4.447525e-05 -2.051574e-02 2.520536e-02
## 55 0.0387610214 -0.0035257357 2.555580e-03 -1.074150e-02 -3.486508e-04
## 56 0.0395605659 -0.0133180024 -8.936946e-03 5.347429e-02 1.089981e-02
## 57 0.0294950266 -0.0175121730 -3.982309e-03 3.689014e-02 -3.192469e-02
## 58 0.0522335540 0.0007022069 -7.008782e-04 -2.413366e-02 2.756883e-02
## 59 0.0001042775 0.0026610303 6.169414e-03 -1.732988e-02 -1.544177e-03
## 60 -0.0017892591 0.0039155165 1.042610e-03 -7.896827e-03 1.052449e-02
## 61 0.0381601355 -0.0850285047 8.033301e-03 4.448272e-03 -2.864331e-02
## 62 0.0294097626 -0.0295218187 1.172029e-02 4.448300e-02 2.292444e-02
## 63 0.0235325478 -0.1077769627 1.382936e-02 3.078545e-02 -4.030282e-02
## 64 -0.0452573890 0.0185960874 2.299940e-02 2.950285e-02 -6.877011e-03
## 65 -0.0223838208 0.0067334042 1.989835e-02 -3.209183e-02 -9.733764e-03
## 66 -0.0693149740 0.0795194759 5.690776e-02 -3.563658e-02 -7.386768e-02
## 67 -0.0321402080 0.0639955209 -7.265587e-03 7.077701e-02 -1.091105e-02
## 68 0.0334605844 -0.0476233461 1.121658e-02 -7.575569e-02 2.441918e-02
## 69 -0.0583780487 -0.0301365035 -4.463011e-02 2.649384e-02 -2.035793e-04
## 70 0.0338399144 -0.0479307615 2.760883e-02 -9.291250e-02 3.482046e-03
## 71 -0.0388667300 0.0128032834 -1.469853e-02 1.090819e-03 2.835866e-03
## 72 -0.0296112485 0.0090212689 -2.215369e-02 8.732061e-02 -4.404043e-02
## 73 -0.0317652138 0.0308798676 2.506387e-03 -7.005392e-04 2.776480e-02
## 74 -0.0069082522 0.0070537009 -2.216723e-02 -1.009346e-02 -9.917764e-03
## 75 -0.0295234271 -0.0039063054 1.463487e-02 -1.257277e-02 1.769392e-02
## 76 -0.0267616713 0.0139127854 -1.375439e-02 -2.062495e-02 -2.567999e-03
## 77 -0.0015823203 0.0031790419 -6.284960e-03 -2.890587e-03 1.021828e-02
## 78 -0.0324877973 0.0503701063 -2.027220e-02 -6.744566e-02 -3.700659e-03
## 79 -0.0254309146 -0.0059516258 1.440265e-02 -2.268318e-02 3.933854e-02
## 80 0.0312568080 -0.0022704180 -1.494613e-02 -8.119910e-02 2.381918e-02
## 81 0.0116167924 -0.0238882963 -4.792984e-02 -4.053499e-02 4.845062e-02
## 82 -0.0483038539 -0.0271394177 1.765350e-02 5.118696e-03 -2.687450e-02
## 83 -0.0148224531 0.0045398889 -1.998077e-02 -4.431530e-02 3.340685e-02
## 84 -0.0382989081 -0.0156094423 -3.007040e-02 -1.886808e-01 2.280388e-01
## 85 -0.0427922367 -0.0740541740 -3.073859e-02 -3.299762e-02 -6.201298e-05
## 86 0.0844604651 -0.0706075196 9.016395e-02 5.661600e-02 1.747417e-02
## 87 -0.1798486159 -0.0113288365 -5.736501e-02 1.151779e-01 4.494459e-02
## 88 0.0221789804 0.0467590437 1.660777e-02 -3.720846e-02 -4.896263e-03
## 89 -0.0863137052 0.0340994531 -5.359957e-02 -8.455721e-03 4.145240e-02
## 90 -0.0415397888 0.0164269011 -9.175814e-02 1.711958e-01 -1.227033e-01
## 91 0.0200361827 -0.0301162951 2.507868e-02 -2.320587e-02 2.194644e-02
## 92 0.0339653415 0.0895882641 7.814146e-03 8.094594e-02 -4.137966e-03
## 93 0.0669249138 -0.0250122972 5.284823e-02 -8.898700e-02 5.208751e-02
## 94 0.0334895533 0.0442163317 -1.026048e-02 3.879619e-02 2.285029e-01
## 95 0.0357601249 0.0115676501 7.464497e-03 -5.670100e-02 -4.191150e-03
## 96 -0.0395348981 -0.0738852553 -3.788939e-02 -5.093800e-02 -2.740192e-02
## 97 -0.0201970015 -0.0092753030 2.610458e-02 -2.346695e-02 1.169613e-02
## 98 -0.0214723229 0.0034343262 3.716903e-04 2.635713e-02 4.460315e-02
## 99 -0.2202100338 -0.0695981001 -1.344600e-01 7.631364e-02 6.648999e-02
## 100 -0.0793887097 -0.0705714215 -2.351872e-02 4.951064e-03 1.493660e-02
## 101 -0.0050327068 -0.0509933764 2.554752e-01 1.543992e-01 -2.965969e-01
## 102 -0.0006049677 -0.0036753076 -5.735808e-02 4.939995e-02 -5.050502e-02
## 103 0.0473929079 -0.0431569361 -1.115889e-02 -4.215462e-02 -3.305798e-02
## 104 -0.0800505212 0.0478504045 -9.558352e-02 1.090453e-01 2.203175e-01
## 105 -0.0168914223 0.0234116907 5.511179e-02 -3.878950e-02 -3.500165e-02
## 106 0.2304792914 -0.0308758797 3.851269e-02 9.897680e-02 -3.986377e-02
## 107 0.0510902080 0.1411080062 9.096584e-02 -1.162442e-01 6.738817e-02
## 108 -0.1233763521 0.0291707000 -8.307023e-02 -1.568619e-01 -2.090611e-03
## 109 -0.2082306582 0.0014664105 1.129260e-01 5.400730e-03 1.306700e-01
## 110 -0.0397848575 0.0067859370 1.734898e-02 -1.239379e-01 3.650377e-02
## 111 0.2126419239 0.1087429098 4.265911e-03 4.842289e-02 -1.358583e-01
## 112 -0.0775865234 -0.1750613015 1.410595e-01 1.399527e-02 -1.988091e-02
## 113 -0.0246762566 -0.0230245065 3.007463e-02 4.158371e-02 -1.523113e-04
## 114 0.0585275566 0.1157196627 -1.830459e-01 -1.013288e-01 1.131053e-01
## 115 -0.0808258966 -0.0062796032 -1.558557e-02 3.191541e-03 -4.597953e-02
## 116 0.1092346458 0.0053338930 1.288380e-03 -3.038151e-01 1.043042e-01
## 117 0.0865645923 0.2364731118 3.390905e-01 8.999672e-02 1.457483e-02
## 118 -0.0011239726 -0.1148053222 -1.854683e-02 2.115951e-02 2.294238e-03
## 119 0.0308455693 -0.1571426395 -2.735530e-01 7.457155e-02 -2.963359e-01
## 120 0.0893813929 -0.1017593618 -3.301490e-02 -6.339897e-02 -4.916281e-02
## 121 -0.1200236719 -0.0852768745 1.422984e-01 2.968101e-03 1.496175e-01
## 122 0.0253124859 -0.1347620373 -2.008672e-02 -7.448480e-02 -1.385917e-01
## 123 -0.2406167746 -0.2303841738 1.451263e-01 1.597484e-02 6.571977e-02
## 124 -0.1944720922 0.2261126900 -1.568342e-01 -1.115834e-01 1.073151e-01
## 125 0.3962270217 -0.1987461673 -9.926717e-02 7.309882e-02 4.460728e-02
## 126 -0.2795158647 -0.1545731618 -2.867094e-01 7.590109e-02 -2.728205e-01
## 127 0.1791321667 0.0474221263 5.855091e-02 -1.106562e-01 -6.263464e-02
## 128 0.0090388546 0.0887196865 1.547687e-01 1.365139e-02 -4.498102e-01
## 129 -0.2103393238 -0.0634800792 -3.162579e-01 4.390176e-02 -1.323878e-01
## 130 0.0248886054 -0.0327793191 -1.076191e-01 5.669436e-02 -2.331330e-02
## 131 0.1017637262 -0.1157261482 -1.392127e-01 -1.609049e-01 -3.921805e-02
## 132 0.1755579650 0.1259848503 -1.136619e-01 1.119665e-01 -3.805639e-02
## 133 -0.1269312193 -0.1015829210 -7.908842e-02 -5.963971e-02 -3.579331e-02
## 134 0.0701264045 0.1596382652 1.628832e-01 -1.194476e-01 -3.886283e-01
## 135 0.0273371003 -0.0920771906 1.489752e-01 2.021436e-01 -1.360666e-01
## 136 -0.0116551129 -0.2738702807 -2.343663e-02 -1.181610e-01 -1.563825e-01
## 137 0.0738386098 -0.2504637101 1.339957e-01 -1.620603e-01 3.329821e-01
## 138 -0.2347727238 0.0218711876 -9.349660e-02 -3.260754e-03 4.761329e-02
## 139 -0.0668603189 -0.0440940657 2.378381e-01 -1.860058e-01 -1.397987e-01
## 140 -0.0160859408 -0.1214020055 1.518239e-01 -1.049194e-01 2.779653e-01
## 141 -0.0479789165 0.1900981469 -2.056257e-01 9.889008e-02 8.695952e-02
## 142 0.3597263623 -0.2646093798 -5.410856e-02 -9.819085e-02 -4.811402e-02
## 143 -0.1136852263 -0.1226291135 2.289417e-01 -4.861504e-03 4.485221e-02
## 144 -0.2049863907 -0.0188483924 -1.611155e-01 5.591580e-02 -2.898309e-01
## 145 -0.1108457321 0.0085045439 2.033764e-01 2.961859e-02 -1.569653e-01
## 146 -0.1072632737 -0.0404718615 8.700774e-02 -2.123841e-01 -1.800193e-01
## 147 -0.3977604617 0.0077872252 2.183217e-01 -2.536630e-01 -4.841348e-02
## 148 0.0344803948 0.2124997894 2.559877e-01 6.408624e-02 -2.772783e-01
## 149 0.1554474168 0.3530906604 5.659195e-02 2.473323e-01 -2.949357e-01
## 150 -0.1368496552 -0.4939670589 -8.013855e-02 1.157097e-01 -1.352523e-02
## 151 0.1621475291 0.0441822177 4.049892e-02 -1.155049e-01 -2.766658e-01
## 152 0.2577013335 -0.2869721447 3.509995e-01 2.102190e-01 8.640233e-02
## 153 -0.1359914464 0.3143288114 1.011816e-01 1.492398e-01 3.170974e-01
## 154 -0.1626704228 0.0015891028 -1.609786e-01 -4.236023e-02 -8.496619e-02
## 155 -0.0143165925 -0.0289819758 4.736275e-02 -2.647173e-02 1.257430e-01
## 156 0.2226620489 0.1334074011 1.707513e-01 -2.920701e-01 2.397770e-02
## 157 -0.1122047004 -0.1060525844 4.245786e-02 -1.269544e-01 4.610805e-02
## 158 0.1896023318 0.0021132892 -3.549699e-02 -6.343778e-02 5.257427e-02
## 159 0.0983196734 -0.0382060939 1.712664e-01 -2.571453e-02 2.196765e-01
## 160 0.1701166586 0.0578767095 -5.080991e-01 -2.707286e-01 6.500829e-02
## 161 -0.0228721723 -0.0534783195 2.124744e-01 2.322285e-01 8.009997e-02
## 162 -0.3181606730 0.2480690116 5.124141e-01 1.007343e-02 -1.416364e-01
## 163 0.0796014608 -0.1781609015 4.569399e-02 1.512401e-01 -1.985780e-02
## 164 0.2004383236 0.2717354169 2.260078e-01 2.488744e-01 1.986388e-01
## 165 -0.0572746266 0.2112143927 -1.123617e-01 -2.590730e-02 -2.181626e-01
## 166 -0.0940560723 0.4169368134 -1.590313e-01 1.343512e-01 -1.434742e-02
## 167 -0.1429855156 0.0947208788 -3.124117e-02 -2.971619e-01 4.752886e-01
## 168 -0.2713473744 0.2057152268 -6.413126e-01 3.331940e-02 5.211415e-02
## 169 0.1039404059 0.1137754890 -2.909258e-01 1.791552e-01 2.534098e-01
## 170 -0.0313158571 0.1327732310 1.216462e-01 -1.506088e-01 4.075658e-01
## 171 0.0671296180 0.0509518397 -8.150851e-02 -1.588919e-01 -3.941274e-02
## 172 -0.0086620481 -0.0025025858 1.182479e-01 7.892340e-02 2.432648e-01
## 173 0.0452671657 0.0501011320 -2.494557e-02 -2.208259e-01 -2.782623e-01
## 174 -0.0069026566 -0.2999383846 -2.850972e-02 4.855472e-01 1.779812e-01
## 175 0.4436479033 -0.3416909579 -1.794967e-01 1.135927e-01 2.622612e-02
## 176 0.1109599122 -0.0094813304 1.079710e-01 -1.553393e-02 -1.391393e-01
## 177 0.2873858668 0.3387004146 -4.907965e-02 3.625212e-02 1.281590e-01
## 178 -0.4716707911 -0.2252724024 -1.365351e-01 1.577394e-01 -2.572389e-01
## 179 0.3268589492 -0.0962722253 -4.457541e-02 -4.939446e-01 -1.267631e-01
## 180 0.3256359530 0.3782275616 -2.310050e-02 3.145195e-01 -3.719915e-01
## 181 0.3421749190 -0.3981982306 NA NA NA
## 182 -0.3012808244 0.5640534768 NA NA NA
## 183 -0.4714697923 -0.5098761706 NA NA NA
## 184 0.0036445525 -0.1014462267 NA NA NA
## 185 0.2874722953 -0.1208553014 NA NA NA
## 186 -0.0678848720 0.1649394853 NA NA NA
## 187 -0.0886263957 0.1304354415 NA NA NA
## 188 -0.2452587369 0.3121317960 NA NA NA
## 189 0.6418015226 0.3092723574 NA NA NA
## 190 -0.0518149109 -0.0334171671 NA NA NA
## PC14 PC15 PC16 PC17 PC18
## 1 -0.0012595619 0.0443105874 0.0105828822 -0.0132921526 -1.284763e-02
## 2 0.0036533052 -0.0071718714 0.0014171248 -0.0068018002 1.796017e-03
## 3 0.0037031763 -0.0117705982 0.0414009806 0.0483805064 3.897981e-02
## 4 0.0047387466 0.0003574954 0.0050766238 0.0015516695 1.739539e-04
## 5 -0.0085407922 0.0103059641 -0.0157523652 0.0004873938 9.465723e-03
## 6 -0.0051750767 0.0264240249 0.0079793539 0.0102631491 3.589070e-03
## 7 0.0396711690 0.0114403512 -0.0140239100 -0.0008337765 4.251056e-03
## 8 0.0062236585 -0.0053884497 0.0049171916 0.0016272282 -1.408125e-05
## 9 -0.0147576157 0.0115432056 0.0014916644 0.0009607237 4.442515e-02
## 10 0.0123285271 -0.0091848514 0.0149617070 0.0158242884 1.710447e-02
## 11 0.0017166703 0.0089319606 -0.0009609624 -0.0027809708 6.038498e-03
## 12 -0.0075373791 0.0200016009 -0.0076262324 0.0047067076 1.120601e-02
## 13 0.0168310636 -0.0231054452 0.0291954600 0.0210949593 6.327256e-03
## 14 0.0504253494 0.0154106927 -0.0063899297 0.0085264437 -1.694396e-02
## 15 0.0042017985 -0.0242873110 0.0077322340 -0.0151317946 1.705856e-02
## 16 -0.0021021611 0.0097471215 -0.0007913688 -0.0075535075 -1.332078e-02
## 17 -0.0056137953 0.0212276624 -0.0092602832 0.0022791561 7.285127e-03
## 18 0.0101202849 -0.0049741807 0.0096500223 0.0291543770 -1.728818e-03
## 19 0.0012489571 -0.0002948539 -0.0062309475 -0.0020054563 2.071348e-03
## 20 0.0012148509 -0.0073710085 -0.0008971886 -0.0052627532 -1.607960e-02
## 21 -0.0259330848 0.0357322745 -0.0314529194 0.0006733424 3.156427e-02
## 22 -0.0100304777 0.0030926918 0.0042149525 0.0005863587 7.813112e-03
## 23 0.0009865568 0.0477920831 0.0429913214 -0.0500449597 -6.564863e-02
## 24 -0.0240792182 0.0208288749 -0.0044527431 -0.0235216782 -4.498182e-03
## 25 0.0238999571 0.0055680559 0.0057602432 -0.0060849510 -2.159187e-02
## 26 -0.0177770606 -0.0009613007 0.0041305231 -0.0050941833 6.972631e-03
## 27 -0.0102641771 0.0045516939 -0.0003041669 0.0031122765 -2.314061e-03
## 28 -0.0287990080 -0.0089811824 -0.0031694889 0.0036144890 1.742762e-03
## 29 -0.0322899906 -0.0145047718 0.0125133403 0.0361401668 -7.963382e-03
## 30 -0.0662434063 -0.0298040483 -0.0419520815 -0.0250124431 -1.277482e-02
## 31 0.0077256386 0.0036698740 -0.0098290310 -0.0007423352 2.414097e-02
## 32 -0.0101016367 0.0052710443 0.0073215356 -0.0085983306 -8.392713e-03
## 33 0.0170577206 -0.0144525128 -0.0027247883 -0.0012378640 2.510409e-02
## 34 0.0161098695 -0.0284069190 -0.0032996490 -0.0560710795 1.022467e-02
## 35 0.0120699937 0.0316843907 -0.0207224097 -0.0197576520 4.726309e-02
## 36 -0.0217584938 -0.0217615392 0.0056399186 -0.0480597586 1.964838e-02
## 37 0.0015363144 0.0488626257 -0.0033123918 -0.0256850386 6.931949e-03
## 38 -0.0563160925 0.0191233966 0.0060037902 -0.0208851169 -2.797421e-02
## 39 0.0033829123 -0.0042790337 0.0072485954 -0.0061733526 6.417893e-03
## 40 0.0012858321 0.0164368953 0.0024547333 -0.0163562437 8.177830e-03
## 41 -0.0015850130 0.0034724903 -0.0147624911 0.0009752594 -1.034319e-02
## 42 0.0066030949 0.0050088248 -0.0095660130 0.0071798642 -1.538504e-02
## 43 -0.0065813899 0.0248530841 -0.0053006987 0.0212970684 -8.528254e-03
## 44 0.0358257053 0.0411116899 0.0211550530 0.0361351282 1.551723e-02
## 45 -0.0268174116 0.0013849410 0.0074478304 -0.0105668809 3.881375e-02
## 46 0.0004707647 -0.0049706115 -0.0304920694 -0.0167358921 -3.658420e-02
## 47 -0.0002374198 0.0221424683 -0.0016269184 0.0229508371 -1.128132e-03
## 48 0.0031280253 -0.0163773138 -0.0429126300 0.0147760204 1.506204e-02
## 49 0.0235360335 0.0125158754 -0.0045219645 0.0151326396 3.151031e-03
## 50 -0.0138481622 -0.0124276393 0.0228876735 -0.0211342359 -2.491451e-03
## 51 -0.0048039624 -0.0069217176 -0.0008565379 -0.0095270551 -9.158951e-03
## 52 -0.0126305579 -0.0007889606 -0.0148376673 -0.0221439604 1.939436e-03
## 53 -0.0150795516 -0.0062990117 0.0186126630 -0.0101088198 2.663209e-02
## 54 -0.0046290223 -0.0078952029 -0.0155160071 -0.0208577730 -1.955948e-02
## 55 -0.0588740216 -0.0200485501 0.0648606158 0.0183615562 5.217655e-02
## 56 -0.0798870687 0.0050539865 0.0336451671 0.0169868694 1.188863e-02
## 57 -0.0790492117 0.0470337248 -0.0109344309 0.0221370505 -7.519933e-04
## 58 -0.0201831928 0.0087029195 0.0180858176 -0.0128516969 4.547435e-02
## 59 -0.0054997286 0.0016182248 -0.0415967144 -0.0262671873 -1.908413e-02
## 60 -0.0035077875 -0.0094979829 -0.0186647464 -0.0153290674 -2.224661e-02
## 61 -0.0295845070 0.0481151351 -0.0419854040 -0.0176995254 -9.012838e-04
## 62 0.0005710940 -0.0290580020 -0.0627677904 -0.1085054379 2.824895e-02
## 63 -0.0524888168 0.0180406437 0.0070530281 0.0236965456 1.653909e-02
## 64 0.0268405325 -0.0291083049 0.0154393845 0.0408232860 1.031753e-02
## 65 0.0480288683 -0.0304949384 -0.0046997597 -0.0005508178 -3.424373e-02
## 66 0.0861977846 -0.0990949895 -0.0025317532 0.0052270068 6.641401e-03
## 67 0.0041829003 -0.0506157308 -0.0161003746 0.0116727760 -5.484993e-04
## 68 0.0176142199 0.0211006468 -0.0360189717 -0.0281831023 -1.934370e-02
## 69 -0.0208941482 -0.0516833045 -0.0164098532 -0.0283025276 5.800846e-02
## 70 0.0139174437 -0.0033178867 0.0044345775 -0.0150818332 -8.858343e-03
## 71 0.0294407825 -0.0047269477 0.0179769311 0.0143293241 3.631060e-02
## 72 0.0179541938 0.0108317248 -0.0519949673 0.0352115957 1.907416e-02
## 73 -0.0029670836 0.0157474673 0.0287755258 -0.0600628025 1.300981e-02
## 74 -0.0046365322 0.0321185492 -0.0046142913 -0.0099123109 -1.633497e-02
## 75 0.0140251788 -0.0297737586 0.0514655716 0.0230382314 2.816764e-02
## 76 0.0552547099 0.0004686759 -0.0230294109 0.0154712558 4.956208e-03
## 77 0.0083528184 0.0075185438 -0.0192023361 -0.0130311415 2.136592e-03
## 78 0.1260202045 -0.0130240936 -0.0242289778 -0.0061897833 6.299808e-03
## 79 0.0068721213 -0.0252762545 0.0765995498 0.0019891704 1.621947e-02
## 80 0.0261162963 -0.0778870809 0.0970375538 0.0669911690 1.806560e-02
## 81 0.0098360689 0.0193837399 -0.0607732447 -0.0161848613 7.753141e-02
## 82 0.0271783576 0.0335883578 -0.0200813625 0.0256733558 -9.888443e-02
## 83 -0.0078351227 0.0027089768 -0.1170062076 -0.0466552623 -3.746237e-03
## 84 -0.0232186574 0.0075153437 0.1529521996 -0.0667780924 -1.879560e-02
## 85 0.0068738498 0.0167765589 0.0173844292 0.0417391211 2.456681e-02
## 86 0.1579768774 0.0528733151 -0.0336840302 -0.0113405969 9.324326e-03
## 87 -0.0620667953 -0.0564636806 -0.0011086387 -0.0670024161 1.172195e-01
## 88 0.0075675508 -0.0150964328 -0.0458308162 -0.0690314213 1.706106e-02
## 89 -0.0230219042 -0.1130688971 -0.0240643938 0.0559715418 1.234175e-02
## 90 0.0032272816 0.0698861130 -0.3190989102 -0.1292434827 -1.448935e-02
## 91 0.0336899184 0.0003219865 0.0704662854 -0.0332331669 -5.983101e-02
## 92 0.0181802066 -0.0611748157 -0.0274501650 -0.0102370687 -1.411719e-02
## 93 0.0888778321 0.0445583696 0.0408034333 0.0122563235 9.027213e-02
## 94 -0.0315336001 0.0193867611 0.0096287631 -0.1219834545 -2.880332e-02
## 95 0.0018249777 0.0022795592 -0.0065125406 0.0190255410 3.206824e-02
## 96 0.0174297615 -0.0385065395 0.0597343537 0.0162951440 2.378655e-02
## 97 0.0317953750 0.0175636728 -0.0247280565 -0.0338383379 -5.830923e-02
## 98 0.0201039261 -0.0208738693 -0.0347381493 0.0037206038 5.028223e-02
## 99 -0.0015540508 -0.0988046452 -0.0148813064 -0.0105372351 8.218758e-03
## 100 -0.0555305922 -0.0137000810 0.0184612245 0.0703122007 2.532310e-02
## 101 0.0086171646 -0.2088878997 0.0925679122 -0.0766652951 2.732615e-02
## 102 0.0273112302 -0.0553825631 0.1524123385 0.0508489702 -3.759397e-02
## 103 0.1317351665 0.0794104595 0.0510952726 0.0890690367 5.860553e-02
## 104 0.0783060490 -0.1740011157 0.0431042872 0.0282910920 -3.194831e-02
## 105 0.0825902553 -0.1399742259 -0.0826755745 0.1144108520 1.271717e-01
## 106 -0.0029266189 0.1218629113 -0.1322468189 -0.0291974455 -1.097482e-01
## 107 -0.0697455061 0.1761338220 -0.0713710216 -0.0710736617 1.057776e-02
## 108 0.1698883655 0.0744179984 0.0270026242 -0.0565080885 2.680707e-02
## 109 -0.0132745008 0.1585060488 -0.0337344539 0.2942273268 8.431138e-02
## 110 -0.1277273364 -0.1754501856 0.2314164393 -0.0014093818 1.557467e-01
## 111 -0.0020353155 -0.0079712282 0.1082411556 -0.0289905687 8.170974e-02
## 112 0.0243311668 0.0954712031 0.0255239860 0.0153859652 6.011596e-02
## 113 0.0626386081 -0.0632891068 -0.0246568715 -0.0977624213 -2.369743e-02
## 114 -0.0619691640 -0.1453376166 -0.0713409636 0.0171381621 -8.428820e-04
## 115 0.0455361497 -0.0642982823 -0.1066339824 -0.0560817967 -5.197404e-02
## 116 0.0906913432 -0.0607619283 0.0160943005 -0.0297172319 -4.478966e-02
## 117 0.0289064467 0.0782685976 -0.0423624588 0.2040248141 -4.423124e-02
## 118 -0.0718868971 0.1422839569 -0.0080898843 -0.0938109449 5.594259e-02
## 119 -0.1079452637 0.0183775193 -0.0796118550 0.2258735905 -1.918774e-01
## 120 0.0763405839 0.0743605722 0.0191000765 0.2202582631 -1.186451e-01
## 121 0.4853283284 -0.2518176839 -0.0367826776 -0.4016632187 4.439097e-02
## 122 0.0319529886 -0.0284036491 0.0635583282 -0.0628888187 4.891765e-02
## 123 -0.0403170362 -0.1134514055 -0.1064679366 0.0733792382 -4.806027e-01
## 124 -0.1063357556 -0.0258025447 -0.0891139216 -0.1011586002 4.557027e-02
## 125 -0.0147077346 0.2214975059 -0.0644401537 -0.1389060373 -3.423099e-01
## 126 0.0270908306 -0.2326704076 0.0061185139 -0.0627887358 1.025193e-01
## 127 -0.0976498683 -0.0997201907 0.1483528719 0.1290902752 -2.273830e-01
## 128 -0.0372345583 0.1636537636 0.3303369321 -0.1736163465 -2.212440e-01
## 129 -0.2319428564 0.0168516021 0.1198812024 0.1252505482 1.207093e-01
## 130 -0.0727971955 0.1229650520 0.0338888386 -0.2543703205 2.337585e-01
## 131 0.1986227044 0.0365475556 0.1031967288 0.1293036817 6.151980e-02
## 132 -0.0547197718 0.0195331444 -0.5002308171 -0.3960233435 -6.629702e-02
## 133 0.0689438394 0.0458666296 0.0447011775 -0.1359400446 -2.358278e-01
## 134 -0.0223491882 0.1865721062 -0.0618974341 -0.0021366559 1.317756e-01
## 135 -0.1725974219 -0.0950336077 -0.0634376780 0.0560347854 5.731158e-02
## 136 -0.0007137641 0.1690115542 0.1412430568 -0.0252711066 -6.856779e-03
## 137 -0.1769914918 0.0810335430 0.2622844091 -0.1638375811 7.177616e-02
## 138 0.0602428987 0.2001052817 0.1597217907 -0.3211043460 -9.214552e-02
## 139 -0.4553978081 -0.1400551816 -0.0037315854 -0.3494578430 1.317226e-01
## 140 -0.2597411544 0.0498141735 -0.0085197248 0.0190181753 3.454696e-02
## 141 -0.3071882719 -0.4929872302 0.1208146117 -0.0283565801 -2.627767e-01
## 142 0.0238358801 -0.1932977626 -0.1327224910 -0.3970692110 7.358462e-02
## 143 0.1355697161 0.1626936354 0.3996429937 0.0902394299 -1.634378e-01
## 144 -0.0959986536 0.0764897958 -0.1205826943 0.0269659764 1.420425e-01
## 145 -0.0572969337 0.1154481410 -0.1624925488 0.0137358295 3.151148e-02
## 146 0.2794089507 0.2065058123 -0.1967856127 -0.2046366679 -3.530636e-01
## 147 0.1075667134 -0.2915796658 -0.0387288645 0.1742526532 -3.130387e-01
## 148 0.1383139210 0.0886075775 -0.0885496721 0.0281349165 -6.421139e-03
## 149 -0.1831444760 0.1908668635 0.1989610745 -0.2559642550 -2.972683e-01
## 150 -0.0077291195 0.0223273610 -0.1529751946 -0.0190093984 -3.461559e-01
## 151 0.0022283023 0.1903357421 -0.0785425177 0.3833138963 1.271578e-01
## 152 0.0978372038 -0.3250744662 -0.1628961406 0.2621431787 -5.406857e-03
## 153 0.0693771591 0.1244374306 -0.4504003747 0.0150035308 -1.822842e-01
## 154 0.3298884172 0.0027043908 0.3023846385 0.1655595219 1.556893e-01
## 155 0.2609712929 -0.1038143827 0.0623384748 -0.0165969441 9.837852e-02
## 156 -0.0680193046 -0.0074300328 -0.2951693078 0.0168181043 -1.358642e-01
## 157 -0.0900717941 0.0380391456 0.1265687462 0.0971834832 -1.401965e-01
## 158 -0.0863597959 -0.0830380838 0.0565508803 0.0108895576 3.429972e-02
## 159 0.2262012128 0.1702255602 0.0400260712 -0.3993774858 1.236693e-01
## 160 0.2710611551 0.0270769726 0.0158192701 -0.0623571554 -3.383942e-01
## 161 -0.2890933663 0.2404335576 -0.0535940695 -0.0235159652 -2.275832e-01
## 162 0.1045393473 0.2369652858 -0.1026998187 -0.1120516501 1.336384e-01
## 163 0.3840883719 -0.0500671806 0.1295509073 -0.0467692475 -1.485052e-02
## 164 0.0689317771 0.2593143350 0.0303732354 0.0585080476 7.285924e-02
## 165 0.0376945022 0.3156557579 0.0672142608 0.0311237239 5.493374e-01
## 166 -0.0547501459 -0.0408837189 -0.1150478037 -0.0111305260 -8.623321e-02
## 167 0.4563887344 0.0413238077 -0.2276958075 -0.1606354362 4.299472e-02
## 168 -0.2660152292 0.0768834305 0.0083088443 -0.0376306419 -3.214098e-02
## 169 0.1901164481 0.2921770673 -0.0948689488 -0.1697717355 -1.297626e-01
## 170 -0.3499103319 -0.0312782182 0.6588803878 -0.1352828867 2.265662e-02
## 171 -0.1527972606 0.0776404132 -0.4034994450 0.4386565854 6.265594e-02
## 172 -0.0532760615 -0.0175777863 -0.0958170207 0.5263891104 -9.880561e-03
## 173 -0.0099691646 -0.0182915519 -0.1040421944 -0.5068660311 1.089489e-01
## 174 -0.1398714622 -0.4154519852 -0.2320757202 -0.2254055317 4.127486e-01
## 175 0.0755664024 0.5227368368 0.1095873436 -0.0440190916 4.635595e-02
## 176 -0.2009425099 0.0693811234 -0.2583703265 -0.2619237324 -5.499884e-01
## 177 0.3080837169 -0.3550312692 0.0348926640 0.0188040877 -1.850531e-01
## 178 0.3473889848 0.0309976304 0.3108698115 0.1896906186 -2.560194e-01
## 179 -0.0128262713 -0.1198535885 0.0836013533 0.1268715171 6.780788e-02
## 180 0.0589086067 -0.1493370899 0.1891952439 0.0751294676 9.872565e-03
## 181 NA NA NA NA NA
## 182 NA NA NA NA NA
## 183 NA NA NA NA NA
## 184 NA NA NA NA NA
## 185 NA NA NA NA NA
## 186 NA NA NA NA NA
## 187 NA NA NA NA NA
## 188 NA NA NA NA NA
## 189 NA NA NA NA NA
## 190 NA NA NA NA NA
## PC19 PC20 PC21 PC22 PC23
## 1 0.0047332450 -2.587208e-02 -0.0036893046 2.664400e-02 -0.0081482083
## 2 -0.0063517471 9.100442e-03 0.0098200916 -4.653334e-03 -0.0046572644
## 3 -0.0069050134 -4.869023e-03 -0.0178113785 -3.581833e-03 -0.0131639343
## 4 0.0042369395 8.671781e-04 0.0047293564 2.959374e-04 0.0015274138
## 5 0.0014038121 -8.244166e-03 0.0113204181 -6.724134e-03 -0.0023066457
## 6 0.0007464623 4.130819e-03 -0.0043323517 -6.731901e-05 0.0052216857
## 7 0.0016385624 -1.901527e-03 -0.0026887632 -1.055372e-02 -0.0124169835
## 8 0.0027099330 8.024034e-04 0.0057526629 -6.387098e-04 0.0012553027
## 9 0.0047616839 2.053422e-02 0.0146229426 -4.558254e-02 0.0014386772
## 10 -0.0253029926 4.356909e-03 0.0063409116 -3.353735e-03 0.0024561868
## 11 0.0111199919 1.289465e-03 0.0045902527 -6.706868e-04 0.0016591900
## 12 -0.0032632430 3.815356e-03 0.0038860316 -3.845760e-03 0.0017143967
## 13 0.0081109149 -8.723377e-03 0.0067646558 7.654174e-04 0.0016758229
## 14 0.0101287449 2.691874e-02 0.0076808618 2.788882e-02 0.0493427770
## 15 -0.0063044555 -1.380456e-02 0.0167370919 4.475520e-03 -0.0017840801
## 16 0.0008009636 4.266349e-03 0.0031931498 -8.387851e-04 0.0009202429
## 17 -0.0180676293 8.666209e-03 0.0044516434 -7.482564e-04 0.0015236701
## 18 -0.0057095931 2.032371e-04 -0.0016347188 2.961397e-03 -0.0034873541
## 19 0.0042269963 1.280059e-02 -0.0163691503 -1.514256e-03 -0.0091346991
## 20 -0.0045733660 1.318704e-03 0.0036004893 -3.626059e-04 0.0008552190
## 21 -0.0323805176 -4.838856e-02 -0.0009938485 4.049151e-02 -0.0098577165
## 22 0.0056582656 -2.601766e-03 0.0047559383 -5.529358e-03 -0.0021022401
## 23 -0.0223175408 4.375114e-03 -0.0344043656 1.764314e-02 0.0230424629
## 24 0.0021045586 -2.326941e-05 -0.0109750613 3.960000e-03 -0.0046997862
## 25 -0.0004097007 1.009545e-02 0.0061173772 -3.829456e-03 -0.0035547275
## 26 0.0047895453 4.042546e-04 0.0050864657 -5.387670e-03 -0.0021116704
## 27 0.0174756642 -1.095083e-02 -0.0036663470 -6.013100e-03 -0.0032807242
## 28 0.0047552781 1.854270e-02 0.0209285302 -4.970762e-03 0.0137686402
## 29 -0.0157410997 -1.516418e-02 0.0349158911 -1.819396e-03 0.0066413320
## 30 -0.0003109310 -8.452631e-03 -0.0050090145 -1.134965e-02 0.0325128764
## 31 0.0018427540 7.238550e-03 0.0039080447 -4.890495e-03 -0.0023827345
## 32 -0.0165749491 2.540245e-02 0.0159168610 -4.249815e-03 -0.0059915654
## 33 -0.0059632610 1.095324e-02 0.0094420310 -8.288287e-04 -0.0013866318
## 34 0.0411580096 3.656966e-02 0.0079508281 -4.800366e-02 0.0033323369
## 35 -0.0144977419 1.615874e-02 0.0117879311 9.422576e-04 -0.0006086203
## 36 0.0022131861 -2.659060e-03 -0.0072351835 1.856672e-02 -0.0394398051
## 37 -0.0021384825 -9.797285e-03 0.0350376935 -1.020728e-02 0.0449517120
## 38 -0.0320219684 3.098384e-02 0.0266913477 -3.939791e-03 -0.0021411118
## 39 0.0043503144 1.527422e-03 0.0012345530 -3.665014e-03 -0.0044458818
## 40 0.0047324471 -1.291629e-03 0.0004087790 -1.056711e-03 -0.0048456946
## 41 0.0037117297 3.374926e-03 0.0017807014 -5.474654e-02 0.0303333946
## 42 0.0046797146 -3.589734e-03 0.0015375299 -3.240679e-03 0.0069156229
## 43 0.0010756678 -4.355926e-03 0.0061007178 -2.334632e-03 0.0063605450
## 44 -0.0122088094 2.594001e-02 0.0502439300 2.110752e-02 0.0210334233
## 45 -0.0406220113 2.229108e-02 0.0032650195 -1.289955e-02 0.0044265554
## 46 0.0014437859 -9.990489e-03 0.0015832161 -2.732026e-03 0.0094032723
## 47 0.0017766458 1.914295e-02 -0.0153057036 3.451401e-03 0.0077473643
## 48 -0.0063026053 5.481708e-03 0.0063495981 -5.491752e-03 0.0135464926
## 49 -0.0125021807 9.421565e-03 0.0059936062 1.066197e-02 -0.0267134779
## 50 -0.0365434243 1.494822e-02 -0.0002886465 -5.313623e-03 0.0095700231
## 51 -0.0010813066 -1.036101e-03 -0.0019992059 -2.121955e-03 0.0097476992
## 52 -0.0004178438 -3.747745e-03 0.0023376213 -5.235947e-03 0.0114870343
## 53 -0.0045231699 5.202230e-03 -0.0006507392 -2.430407e-03 0.0122458739
## 54 -0.0036378910 -1.395648e-02 0.0058952896 -2.488560e-03 0.0111976745
## 55 -0.0093783876 5.833903e-03 0.0064409009 -3.318679e-03 0.0085477851
## 56 -0.0034244495 9.320869e-03 0.0075222926 -5.967353e-02 0.0305665553
## 57 -0.0045727214 -5.125962e-03 0.0095540591 1.461379e-03 0.0053523354
## 58 -0.0077568975 1.489067e-02 -0.0044912833 -3.453496e-03 0.0161574999
## 59 0.0056618743 -7.124045e-03 0.0008398851 -6.103618e-03 0.0087290331
## 60 -0.0007844089 -1.606544e-02 0.0082483544 -2.961686e-03 0.0094310974
## 61 0.0071252760 -3.422290e-03 -0.0029919366 -8.181368e-03 0.0101099342
## 62 0.0031648188 3.677194e-03 0.0002585425 -4.590105e-03 0.0204252343
## 63 0.0099485087 2.710380e-03 0.0064637854 -5.202249e-03 0.0112533558
## 64 -0.0272656030 1.198655e-01 0.0631147594 1.603439e-02 -0.0254660211
## 65 0.0457174062 2.979024e-02 -0.0133449646 5.746877e-02 0.1907084924
## 66 -0.0589782202 -3.322311e-02 0.1392817450 6.059094e-02 -0.0087125505
## 67 -0.0365495059 1.020542e-01 -0.0364378171 -1.593811e-02 -0.0189154649
## 68 -0.0488511629 3.820000e-02 -0.0479525706 9.783858e-02 0.1074555473
## 69 0.0062962233 1.745416e-02 -0.0336674255 1.150536e-01 -0.0025148597
## 70 -0.0753629292 1.284994e-01 -0.1027715652 -5.688835e-02 0.0085313562
## 71 0.0701159907 6.148912e-02 -0.0080244096 -3.628590e-02 -0.1113029372
## 72 -0.0117272024 6.922530e-02 -0.0152022738 -1.913288e-02 -0.0110798082
## 73 -0.0162514957 3.074819e-03 0.0041231202 -1.000745e-03 0.0128869489
## 74 -0.0229840681 -1.724219e-02 0.0301442557 -4.860582e-03 0.0792037060
## 75 -0.0171231817 4.994642e-03 -0.0124994438 9.483172e-02 0.0360676384
## 76 -0.0224957975 8.622478e-02 -0.0013963474 -5.150401e-03 -0.0096595944
## 77 0.0030297033 -7.084869e-03 0.0027763276 -3.121630e-03 -0.0017152959
## 78 0.1613471575 -1.409364e-01 -0.0229416315 8.821791e-02 -0.0685692718
## 79 0.0099929125 -1.632669e-02 0.0010826550 2.492767e-02 -0.0899043792
## 80 -0.0023893322 1.921060e-02 0.0257115769 1.663207e-02 0.0021794714
## 81 0.0546500854 4.963206e-03 0.0075153268 -4.168566e-02 0.0552923600
## 82 0.0127504360 -8.315086e-02 0.0436567654 -3.479289e-02 0.0791172633
## 83 -0.0288188279 1.411964e-01 -0.0074616532 6.257145e-02 0.0239972786
## 84 -0.1129202711 -2.223384e-03 -0.0309192025 -1.557201e-02 0.0077106506
## 85 0.1025269813 -5.191738e-02 0.0680904691 -7.063218e-02 0.0787305052
## 86 0.0044614781 7.468696e-03 0.0202176832 4.002904e-02 0.0029117477
## 87 -0.3244584210 -6.514796e-02 0.2272559917 -2.223229e-02 -0.2630450245
## 88 0.1539906984 -3.265645e-02 0.0509620777 -5.323788e-02 -0.1349097391
## 89 -0.0086605076 3.638655e-03 0.0310045266 3.344684e-03 0.0392137477
## 90 0.0251560954 3.605598e-02 -0.0335505668 -1.610525e-02 -0.0541212516
## 91 0.3122714362 4.526698e-02 0.0347372287 -1.496161e-02 -0.3122789511
## 92 -0.0104472742 8.675832e-02 0.1109864604 8.100687e-02 -0.2346693944
## 93 -0.0191489142 1.551707e-02 -0.0087734958 -5.311320e-02 0.0031791555
## 94 0.0145702453 -5.630883e-04 -0.0347352339 -1.387265e-03 -0.0029222604
## 95 -0.0264769249 -1.374889e-02 -0.0001157989 3.483443e-02 -0.0281339168
## 96 -0.0896132576 1.533681e-01 -0.0973680316 -4.842868e-02 0.1359270649
## 97 0.0198875813 -9.595871e-03 0.1068700231 -7.094947e-02 0.0239025068
## 98 -0.0248917238 -6.056260e-02 0.1669988796 3.090566e-01 0.0320630297
## 99 0.0558276211 -1.514145e-02 -0.0035185135 -1.023141e-04 0.0804396413
## 100 0.0150350049 -1.937224e-02 0.0284468722 -2.386931e-02 0.0081629770
## 101 -0.1582735807 4.609703e-02 -0.0144325338 2.629363e-02 -0.0508950449
## 102 0.0229156501 -2.910959e-03 0.0300303335 -9.147263e-02 0.0334339251
## 103 0.0437817201 -2.110706e-02 0.0314611718 1.526660e-04 0.0333695415
## 104 -0.0620123208 -3.634429e-02 -0.0224092629 3.400643e-03 0.0696141354
## 105 0.3060086047 -2.440281e-01 0.3152869111 -1.118768e-03 -0.0951184965
## 106 0.0376224302 -7.410449e-02 -0.0389252273 -6.548786e-02 0.0430490536
## 107 -0.0398969090 3.881458e-02 0.0378095918 -7.773219e-02 -0.0150214858
## 108 -0.0356391258 -1.023169e-01 0.0700295833 -9.853472e-02 0.0053813406
## 109 0.0245212130 -1.997912e-01 -0.1990766567 1.981470e-02 0.1421563713
## 110 -0.1201141298 -7.479563e-02 -0.0420850829 5.371839e-02 -0.0314140420
## 111 0.0584513496 -4.166292e-02 0.0628571959 -2.698566e-02 0.0921899747
## 112 -0.0453299087 -4.456151e-02 0.1340458264 4.642323e-01 -0.0745148512
## 113 -0.0192614453 2.146876e-02 0.0067692151 -5.425460e-02 -0.2238788348
## 114 0.0321298395 1.083258e-01 -0.0695803115 1.111962e-01 0.0401142991
## 115 -0.0248398455 5.558269e-02 0.0644256358 -1.500149e-01 -0.1286719568
## 116 0.0196367388 6.477287e-03 -0.0899965767 -3.077929e-02 0.0240235260
## 117 -0.1479643351 -1.310286e-01 0.0590184729 -4.211809e-02 -0.1434980623
## 118 0.0718486215 -6.701554e-02 0.0875342774 -5.373792e-02 -0.0332421335
## 119 -0.0024589745 1.808108e-01 0.0974928312 1.422281e-02 0.0117076902
## 120 0.0593492532 1.810835e-01 0.1156198703 -2.645561e-02 -0.0009760448
## 121 0.1289640811 -3.078635e-02 -0.0549812608 7.755475e-02 -0.2005720737
## 122 0.1067783655 -3.253130e-02 -0.3110234511 1.651906e-01 -0.1934267386
## 123 -0.3410062909 1.305757e-02 0.0805549888 -1.544893e-01 0.0369045651
## 124 -0.2067944667 -3.341849e-01 0.0332069072 -5.716889e-02 -0.0402257704
## 125 0.1525636051 -5.215838e-02 0.0112121995 -9.343034e-02 -0.0033076810
## 126 -0.3803934193 1.004381e-01 -0.1227244711 -3.813457e-02 0.0259440488
## 127 -0.0871484476 3.615763e-02 -0.1185412123 1.500997e-01 0.1004557418
## 128 -0.1124216465 -1.151935e-02 0.1127723557 1.791980e-02 0.0693002489
## 129 0.3170779779 1.042611e-01 -0.0108670831 1.486359e-01 -0.1313077483
## 130 0.0595359126 -1.563363e-01 -0.0515185074 -2.918751e-01 -0.0465623683
## 131 0.0672576146 2.832746e-01 0.1826876517 -9.565791e-02 -0.1809650357
## 132 0.1254486600 3.132008e-01 -0.0250882913 -1.201298e-01 0.1245849037
## 133 -0.0668249136 1.480518e-01 -0.1291130339 -6.474437e-02 -0.0275503979
## 134 -0.0050584030 -6.832470e-02 -0.0018633340 5.977838e-02 -0.1608188499
## 135 -0.0003353031 4.970662e-02 0.0225473177 -1.164949e-01 -0.3437373648
## 136 0.1692020935 -2.077395e-01 0.0546801203 -5.397683e-01 0.0451770801
## 137 -0.1212873056 2.700325e-01 0.0947100299 1.796702e-02 -0.0695556386
## 138 0.1044867627 -2.075065e-01 -0.0415440105 2.025305e-01 -0.0255865092
## 139 0.1196544098 7.137874e-02 0.0853845658 -4.630962e-02 0.1889910941
## 140 0.0121083698 -1.334202e-01 -0.1647790658 9.939683e-02 -0.0090245248
## 141 -0.2228854632 -1.515214e-01 0.0549964139 -2.182579e-02 0.0914366368
## 142 0.2930695929 -1.320761e-01 -0.1379089659 1.081881e-01 0.0609438405
## 143 0.0874005539 -1.459693e-01 -0.3314438238 -1.585958e-01 -0.1613491579
## 144 -0.0665330350 -3.228617e-01 0.0032006285 -2.039944e-01 -0.0518222631
## 145 -0.0335288799 2.272505e-01 -0.1908910449 7.997317e-02 -0.4201154689
## 146 0.0652717234 -1.401701e-01 -0.1131497403 1.422337e-01 -0.0579718705
## 147 -0.0493359114 -3.620236e-02 -0.0970391884 -1.150164e-02 0.1183798900
## 148 -0.0282694469 1.319232e-02 0.1892700796 5.915190e-02 -0.1259284954
## 149 -0.1958687540 2.298615e-02 0.1004133702 5.121454e-02 -0.1265381530
## 150 -0.2136123423 1.989450e-01 0.3952441821 -1.629872e-01 -0.1147991562
## 151 0.0755690273 1.549921e-02 0.0286759361 -1.928981e-01 0.2722629160
## 152 -0.2128214126 -6.070239e-02 -0.2571305198 -9.505358e-03 -0.1464384062
## 153 0.0534912262 -3.639586e-01 -0.0747806499 1.229712e-01 0.1805372998
## 154 -0.0089654119 2.090682e-02 0.0878016067 2.949833e-01 0.1117058893
## 155 0.0846838609 -1.479236e-01 0.4285886260 -2.670434e-01 -0.2782682033
## 156 0.1087152937 1.425759e-01 0.2416066804 -1.842145e-01 0.2303952431
## 157 0.0792298477 1.654454e-02 0.2311919108 5.755985e-01 0.0333459620
## 158 0.0384516242 -2.002556e-01 -0.0729923249 3.378404e-01 -0.1788680001
## 159 -0.5218887623 2.228443e-01 -0.0901912157 3.056714e-02 0.2858404999
## 160 0.0832543229 5.384943e-02 -0.1927961613 -1.978438e-01 -0.2000113427
## 161 0.1111109167 4.245535e-01 NA NA NA
## 162 0.0246954306 1.298581e-01 NA NA NA
## 163 -0.0279938771 -1.860669e-01 NA NA NA
## 164 -0.1385982566 2.847524e-02 NA NA NA
## 165 -0.0687707982 -3.813980e-01 NA NA NA
## 166 0.0050364433 -6.708124e-02 NA NA NA
## 167 -0.0542274632 -6.653490e-03 NA NA NA
## 168 0.1266138228 2.640410e-02 NA NA NA
## 169 0.0386517182 8.825570e-02 NA NA NA
## 170 -0.1814625575 9.032293e-03 NA NA NA
## 171 -0.4801246099 3.122533e-01 NA NA NA
## 172 0.6750012311 -2.020417e-01 NA NA NA
## 173 0.4026351763 3.368639e-01 NA NA NA
## 174 -0.1226767656 2.187174e-02 NA NA NA
## 175 0.0425111022 7.805825e-02 NA NA NA
## 176 -0.1637942340 -5.280984e-01 NA NA NA
## 177 -0.0156879332 1.738575e-01 NA NA NA
## 178 -0.1215195650 1.747249e-01 NA NA NA
## 179 0.0392573122 8.015755e-02 NA NA NA
## 180 0.0200327272 6.665436e-02 NA NA NA
## 181 NA NA NA NA NA
## 182 NA NA NA NA NA
## 183 NA NA NA NA NA
## 184 NA NA NA NA NA
## 185 NA NA NA NA NA
## 186 NA NA NA NA NA
## 187 NA NA NA NA NA
## 188 NA NA NA NA NA
## 189 NA NA NA NA NA
## 190 NA NA NA NA NA
## PC24 maximum_absolute_loading feature_set
## 1 -0.0094477761 0.04765649 Top_4144
## 2 0.0354888027 0.04751207 Top_4144
## 3 0.0031007016 0.04657358 Top_4144
## 4 -0.0025307014 0.04619582 Top_4144
## 5 -0.0064670509 0.04479748 Top_4144
## 6 -0.0145345499 0.04433748 Top_4144
## 7 0.0047386089 0.04425191 Top_4144
## 8 0.0011736261 0.04380014 Top_4144
## 9 0.0003300536 0.04377972 Top_4144
## 10 -0.0111977981 0.04375792 Top_4144
## 11 -0.0100946459 0.04366255 Top_4144
## 12 -0.0002454976 0.04359272 Top_4144
## 13 0.0050110327 0.04310667 Top_4144
## 14 0.0173021765 0.04306262 Top_4144
## 15 -0.0059866644 0.04264450 Top_4144
## 16 -0.0048185990 0.04251409 Top_4144
## 17 -0.0072671058 0.04241669 Top_4144
## 18 0.0039365009 0.04239879 Top_4144
## 19 0.0039191966 0.04218219 Top_4144
## 20 -0.0057627220 0.04208213 Top_4144
## 21 -0.0820472546 0.05359264 Top_2000
## 22 -0.1439875481 0.05350555 Top_2000
## 23 -0.0033791346 0.05308591 Top_2000
## 24 -0.0744948463 0.05292560 Top_2000
## 25 0.0105596812 0.05122894 Top_2000
## 26 0.0825750401 0.05085799 Top_2000
## 27 0.0295680840 0.05080704 Top_2000
## 28 0.0174960762 0.05009689 Top_2000
## 29 0.0389153485 0.04989643 Top_2000
## 30 0.0691288614 0.04985425 Top_2000
## 31 -0.0982887757 0.04978662 Top_2000
## 32 -0.0308271006 0.04954123 Top_2000
## 33 -0.0321442046 0.04943458 Top_2000
## 34 -0.0058137457 0.04912905 Top_2000
## 35 -0.0114559967 0.04903497 Top_2000
## 36 -0.0050147332 0.04889663 Top_2000
## 37 0.0392903507 0.04876313 Top_2000
## 38 -0.0621014466 0.04867521 Top_2000
## 39 -0.0095470782 0.04863150 Top_2000
## 40 0.0027540528 0.04844499 Top_2000
## 41 0.0090607844 0.07045095 Top_1000
## 42 -0.0122563094 0.07028009 Top_1000
## 43 0.0258056773 0.07023625 Top_1000
## 44 0.0192386475 0.06994012 Top_1000
## 45 -0.0095513145 0.06969841 Top_1000
## 46 0.0079491088 0.06937310 Top_1000
## 47 0.0014892591 0.06914148 Top_1000
## 48 0.0017584442 0.06874627 Top_1000
## 49 0.0154862782 0.06807319 Top_1000
## 50 -0.0030865223 0.06784021 Top_1000
## 51 0.0266867810 0.06783128 Top_1000
## 52 0.0354045296 0.06782131 Top_1000
## 53 0.0153202102 0.06764100 Top_1000
## 54 -0.0186296271 0.06755996 Top_1000
## 55 -0.0047240658 0.06718196 Top_1000
## 56 0.0071969671 0.06715186 Top_1000
## 57 -0.0183276706 0.06706126 Top_1000
## 58 -0.0158186877 0.06706118 Top_1000
## 59 0.0276602223 0.06698377 Top_1000
## 60 -0.0205667447 0.06690154 Top_1000
## 61 0.0152681854 0.09479653 Top_500
## 62 0.0493903787 0.09429461 Top_500
## 63 -0.0642388859 0.09410694 Top_500
## 64 -0.0201737701 0.09374891 Top_500
## 65 -0.0199959961 0.09354133 Top_500
## 66 -0.1335863613 0.09345731 Top_500
## 67 -0.0957039114 0.09275897 Top_500
## 68 0.0009370454 0.09142790 Top_500
## 69 -0.0048077190 0.09113178 Top_500
## 70 0.0138633847 0.09097588 Top_500
## 71 0.1019391723 0.09084205 Top_500
## 72 0.0033683065 0.09030937 Top_500
## 73 0.0103041640 0.08919228 Top_500
## 74 -0.0036131517 0.08902526 Top_500
## 75 -0.0973249087 0.08879708 Top_500
## 76 -0.0093612347 0.08833417 Top_500
## 77 -0.0363361904 0.08776772 Top_500
## 78 -0.0136535913 0.08722336 Top_500
## 79 -0.0017146189 0.08654477 Top_500
## 80 -0.1027370841 0.08617444 Top_500
## 81 -0.1217684873 0.17306377 Top_200
## 82 0.0759349862 0.16553738 Top_200
## 83 -0.1696107146 0.16289893 Top_200
## 84 0.0195403542 0.16127235 Top_200
## 85 0.0797383370 0.15868419 Top_200
## 86 -0.0897537267 0.15461778 Top_200
## 87 0.1472972358 0.14990290 Top_200
## 88 0.1868007845 0.14903219 Top_200
## 89 0.0925707271 0.14853354 Top_200
## 90 0.0415543880 0.14734036 Top_200
## 91 0.0088837175 0.14660594 Top_200
## 92 0.0068895292 0.14591494 Top_200
## 93 0.1012060823 0.14503624 Top_200
## 94 0.0049789875 0.14448238 Top_200
## 95 0.0086144344 0.14316822 Top_200
## 96 0.0273727353 0.14216400 Top_200
## 97 -0.1279193184 0.14192450 Top_200
## 98 0.1682825975 0.14180109 Top_200
## 99 -0.0137696094 0.14150729 Top_200
## 100 0.1334610092 0.14021340 Top_200
## 101 -0.1045622213 0.26391089 Top_100
## 102 -0.0355941378 0.24583050 Top_100
## 103 0.1479544406 0.24412767 Top_100
## 104 0.0672985439 0.23383788 Top_100
## 105 -0.0954550981 0.23183014 Top_100
## 106 -0.1302610896 0.22282794 Top_100
## 107 0.0298067750 0.22130913 Top_100
## 108 0.0769867185 0.21887381 Top_100
## 109 -0.0229810861 0.21652761 Top_100
## 110 -0.1052008925 0.20676798 Top_100
## 111 0.0188184858 0.19065458 Top_100
## 112 0.0734625696 0.17895339 Top_100
## 113 -0.2898262319 0.17555260 Top_100
## 114 -0.0013723952 0.17463883 Top_100
## 115 0.3586252684 0.17459648 Top_100
## 116 -0.0560343675 0.17306588 Top_100
## 117 0.0794154960 0.17062476 Top_100
## 118 0.2606894795 0.17031972 Top_100
## 119 0.0319197298 0.16533862 Top_100
## 120 0.0070942157 0.16204258 Top_100
## 121 -0.1292683426 0.35170074 Top_50
## 122 0.5123008734 0.32750149 Top_50
## 123 -0.0246021947 0.31570165 Top_50
## 124 0.2706443903 0.29197383 Top_50
## 125 -0.0018862189 0.28895318 Top_50
## 126 -0.0127937147 0.27715099 Top_50
## 127 0.3298290998 0.25604225 Top_50
## 128 -0.2004387933 0.24743206 Top_50
## 129 -0.0623589040 0.24554247 Top_50
## 130 0.1319989315 0.24374583 Top_50
## 131 -0.0757742222 0.24078730 Top_50
## 132 0.0381400350 0.23500122 Top_50
## 133 -0.0099459194 0.23025967 Top_50
## 134 -0.0571721719 0.22693493 Top_50
## 135 -0.0519391232 0.20566462 Top_50
## 136 0.1257893900 0.19949099 Top_50
## 137 0.0677526353 0.19654345 Top_50
## 138 -0.2300712123 0.19310075 Top_50
## 139 -0.0070757973 0.18388820 Top_50
## 140 -0.1554047793 0.18371530 Top_50
## 141 0.0628359710 0.36806235 Top_30
## 142 0.1871075161 0.36507498 Top_30
## 143 -0.3578483784 0.35242780 Top_30
## 144 0.0386806836 0.34176225 Top_30
## 145 0.5559211399 0.33442077 Top_30
## 146 -0.1163386909 0.31773980 Top_30
## 147 0.0989134808 0.31764755 Top_30
## 148 -0.0748417232 0.30077649 Top_30
## 149 -0.0381496885 0.29510087 Top_30
## 150 0.0652452852 0.25683211 Top_30
## 151 0.0294342451 0.23769438 Top_30
## 152 -0.0546767212 0.21917651 Top_30
## 153 0.1248647897 0.21881458 Top_30
## 154 0.3355522180 0.20089649 Top_30
## 155 -0.1580826947 0.20067299 Top_30
## 156 -0.1335909268 0.20001556 Top_30
## 157 -0.1806025375 0.19967832 Top_30
## 158 -0.1614524694 0.19949755 Top_30
## 159 -0.0425714702 0.19635300 Top_30
## 160 0.0973567972 0.19531059 Top_30
## 161 NA 0.49570292 Top_20
## 162 NA 0.39874799 Top_20
## 163 NA 0.35487627 Top_20
## 164 NA 0.35018948 Top_20
## 165 NA 0.33741864 Top_20
## 166 NA 0.33637232 Top_20
## 167 NA 0.32510398 Top_20
## 168 NA 0.31738994 Top_20
## 169 NA 0.30458792 Top_20
## 170 NA 0.30228264 Top_20
## 171 NA 0.29221257 Top_20
## 172 NA 0.26155445 Top_20
## 173 NA 0.26060751 Top_20
## 174 NA 0.24477989 Top_20
## 175 NA 0.24185686 Top_20
## 176 NA 0.24040045 Top_20
## 177 NA 0.24022478 Top_20
## 178 NA 0.23429841 Top_20
## 179 NA 0.22670117 Top_20
## 180 NA 0.22104746 Top_20
## 181 NA 0.58272879 Top_10
## 182 NA 0.53736642 Top_10
## 183 NA 0.46562772 Top_10
## 184 NA 0.45550623 Top_10
## 185 NA 0.42326832 Top_10
## 186 NA 0.41876981 Top_10
## 187 NA 0.36338005 Top_10
## 188 NA 0.33808453 Top_10
## 189 NA 0.33497550 Top_10
## 190 NA 0.32935185 Top_10
#a feature with times in the top20 at 8, is repeatedly appearing as a strong PCA contributor across many reduced PCAs. A feature with times in top 20=1 may be important only under one particular feature configuration.
stable_pca_drivers <-
top_loadings_by_reduction %>%
count(
feature_name,
sort = TRUE,
name =
"times_in_top20"
)
stable_pca_drivers
## feature_name times_in_top20
## 1 F181_mz86.0602_rt0.45 7
## 2 F3461_mz331.1297_rt1.01 7
## 3 F1765_mz202.1078_rt1 6
## 4 F2323_mz244.095_rt1.18 6
## 5 F2350_mz245.181_rt0.44 6
## 6 F1754_mz201.1642_rt1.21 5
## 7 F1789_mz203.1798_rt1.6 5
## 8 F2021_mz219.1749_rt1.21 5
## 9 F2587_mz264.0986_rt1.08 5
## 10 F3348_mz319.0188_rt0.42 5
## 11 F362_mz104.0707_rt0.55 5
## 12 F1700_mz198.0976_rt0.69 4
## 13 F2125_mz227.1434_rt1.54 4
## 14 F3172_mz305.1348_rt0.66 4
## 15 F3243_mz312.0542_rt1 4
## 16 F3857_mz367.1217_rt1.32 4
## 17 F958_mz145.1015_rt1.21 4
## 18 F1003_mz148.0396_rt1.21 3
## 19 F1358_mz174.0553_rt0.89 3
## 20 F2020_mz219.1747_rt1.58 3
## 21 F379_mz105.0701_rt1.26 3
## 22 F1474_mz182.0274_rt1.18 2
## 23 F1866_mz209.1176_rt1.18 2
## 24 F1919_mz213.1488_rt1.44 2
## 25 F1996_mz217.1592_rt1.23 2
## 26 F2053_mz222.1129_rt1.18 2
## 27 F2316_mz243.1838_rt0.44 2
## 28 F2578_mz263.1032_rt1.06 2
## 29 F259_mz97.0286_rt1.01 2
## 30 F2935_mz288.2902_rt1.87 2
## 31 F3027_mz295.2272_rt1.44 2
## 32 F3090_mz300.1447_rt0.89 2
## 33 F71_mz74.0601_rt0.45 2
## 34 F1024_mz149.1326_rt1.44 1
## 35 F1045_mz151.9513_rt0.42 1
## 36 F1048_mz152.0568_rt0.48 1
## 37 F1050_mz152.0569_rt0.64 1
## 38 F1302_mz170.958_rt0.41 1
## 39 F1304_mz171.0168_rt0.44 1
## 40 F1391_mz176.1188_rt0.97 1
## 41 F1400_mz177.0249_rt0.43 1
## 42 F1441_mz180.0869_rt0.69 1
## 43 F1552_mz188.0381_rt0.95 1
## 44 F1616_mz192.9989_rt0.43 1
## 45 F1666_mz195.1382_rt1.44 1
## 46 F1939_mz215.0377_rt1.17 1
## 47 F2031_mz220.9355_rt0.41 1
## 48 F2102_mz226.1081_rt1.19 1
## 49 F2251_mz238.0715_rt0.75 1
## 50 F2253_mz238.1079_rt1.08 1
## 51 F2257_mz238.1443_rt1.83 1
## 52 F2486_mz256.1184_rt1.08 1
## 53 F2517_mz259.0648_rt0.42 1
## 54 F2571_mz262.1289_rt0.68 1
## 55 F2572_mz262.1291_rt0.5 1
## 56 F2588_mz264.1084_rt0.47 1
## 57 F2633_mz268.1046_rt1.06 1
## 58 F2645_mz269.1752_rt1.19 1
## 59 F2693_mz273.076_rt1.17 1
## 60 F2707_mz273.1814_rt1.18 1
## 61 F2779_mz277.148_rt0.89 1
## 62 F2784_mz277.2166_rt1.44 1
## 63 F2799_mz279.0771_rt1.16 1
## 64 F2812_mz280.0922_rt0.45 1
## 65 F2939_mz289.0922_rt0.57 1
## 66 F3055_mz298.0637_rt0.45 1
## 67 F3103_mz301.1627_rt0.42 1
## 68 F3166_mz304.8961_rt0.41 1
## 69 F3168_mz305.0571_rt0.41 1
## 70 F3213_mz309.0873_rt1.33 1
## 71 F3222_mz310.1192_rt1.07 1
## 72 F3223_mz310.1291_rt0.94 1
## 73 F3235_mz311.1582_rt1.19 1
## 74 F3244_mz312.1114_rt0.75 1
## 75 F3262_mz313.2381_rt1.45 1
## 76 F3350_mz319.1296_rt0.96 1
## 77 F3420_mz327.0523_rt0.42 1
## 78 F3428_mz328.1397_rt0.94 1
## 79 F3429_mz328.1399_rt1.1 1
## 80 F3541_mz337.172_rt0.44 1
## 81 F3590_mz343.0262_rt0.41 1
## 82 F3598_mz344.1345_rt0.82 1
## 83 F3639_mz347.1245_rt1.03 1
## 84 F3657_mz348.2749_rt1.44 1
## 85 F3714_mz353.248_rt1.46 1
## 86 F3721_mz354.0791_rt0.96 1
## 87 F3965_mz379.2082_rt0.92 1
## 88 F4087_mz394.1657_rt1.5 1
## 89 F4133_mz400.2699_rt1.26 1
## 90 F4365_mz440.2505_rt1.17 1
## 91 F4410_mz448.1673_rt0.53 1
## 92 F4538_mz475.1779_rt0.47 1
## 93 F4577_mz487.1796_rt0.66 1
## 94 F468_mz112.8959_rt0.44 1
## 95 F4744_mz551.1962_rt0.88 1
## 96 F4980_mz672.4172_rt3.78 1
## 97 F5035_mz707.2215_rt0.53 1
## 98 F728_mz130.1229_rt1.24 1
## 99 F804_mz136.0619_rt0.64 1
## 100 F839_mz138.0763_rt0.71 1
## 101 F885_mz141.0549_rt1.07 1
stable_pca_drivers_annotated <-
stable_pca_drivers %>%
left_join(
feature_qc %>%
select(
feature_name,
`Average Rt(min)`,
`Average Mz`,
`Metabolite name`,
`Adduct type`,
`MS/MS assigned`,
Formula,
Ontology,
sample_to_blank_ratio
),
by =
"feature_name"
)
stable_pca_drivers_annotated %>%
slice_head(
n = 100
)
## feature_name times_in_top20 Average Rt(min) Average Mz
## 1 F181_mz86.0602_rt0.45 7 0.453 86.06023
## 2 F3461_mz331.1297_rt1.01 7 1.011 331.12967
## 3 F1765_mz202.1078_rt1 6 1.003 202.10780
## 4 F2323_mz244.095_rt1.18 6 1.179 244.09496
## 5 F2350_mz245.181_rt0.44 6 0.437 245.18100
## 6 F1754_mz201.1642_rt1.21 5 1.207 201.16420
## 7 F1789_mz203.1798_rt1.6 5 1.604 203.17984
## 8 F2021_mz219.1749_rt1.21 5 1.207 219.17487
## 9 F2587_mz264.0986_rt1.08 5 1.084 264.09857
## 10 F3348_mz319.0188_rt0.42 5 0.421 319.01883
## 11 F362_mz104.0707_rt0.55 5 0.549 104.07069
## 12 F1700_mz198.0976_rt0.69 4 0.693 198.09758
## 13 F2125_mz227.1434_rt1.54 4 1.543 227.14345
## 14 F3172_mz305.1348_rt0.66 4 0.659 305.13480
## 15 F3243_mz312.0542_rt1 4 1.003 312.05423
## 16 F3857_mz367.1217_rt1.32 4 1.320 367.12167
## 17 F958_mz145.1015_rt1.21 4 1.207 145.10153
## 18 F1003_mz148.0396_rt1.21 3 1.207 148.03957
## 19 F1358_mz174.0553_rt0.89 3 0.893 174.05533
## 20 F2020_mz219.1747_rt1.58 3 1.582 219.17470
## 21 F379_mz105.0701_rt1.26 3 1.256 105.07012
## 22 F1474_mz182.0274_rt1.18 2 1.184 182.02740
## 23 F1866_mz209.1176_rt1.18 2 1.180 209.11765
## 24 F1919_mz213.1488_rt1.44 2 1.438 213.14877
## 25 F1996_mz217.1592_rt1.23 2 1.227 217.15921
## 26 F2053_mz222.1129_rt1.18 2 1.179 222.11288
## 27 F2316_mz243.1838_rt0.44 2 0.440 243.18379
## 28 F2578_mz263.1032_rt1.06 2 1.058 263.10315
## 29 F259_mz97.0286_rt1.01 2 1.015 97.02865
## 30 F2935_mz288.2902_rt1.87 2 1.869 288.29022
## 31 F3027_mz295.2272_rt1.44 2 1.440 295.22723
## 32 F3090_mz300.1447_rt0.89 2 0.892 300.14468
## 33 F71_mz74.0601_rt0.45 2 0.451 74.06015
## 34 F1024_mz149.1326_rt1.44 1 1.440 149.13264
## 35 F1045_mz151.9513_rt0.42 1 0.425 151.95126
## 36 F1048_mz152.0568_rt0.48 1 0.484 152.05682
## 37 F1050_mz152.0569_rt0.64 1 0.645 152.05687
## 38 F1302_mz170.958_rt0.41 1 0.411 170.95804
## 39 F1304_mz171.0168_rt0.44 1 0.440 171.01677
## 40 F1391_mz176.1188_rt0.97 1 0.971 176.11876
## 41 F1400_mz177.0249_rt0.43 1 0.427 177.02486
## 42 F1441_mz180.0869_rt0.69 1 0.694 180.08690
## 43 F1552_mz188.0381_rt0.95 1 0.952 188.03806
## 44 F1616_mz192.9989_rt0.43 1 0.431 192.99886
## 45 F1666_mz195.1382_rt1.44 1 1.442 195.13820
## 46 F1939_mz215.0377_rt1.17 1 1.173 215.03769
## 47 F2031_mz220.9355_rt0.41 1 0.408 220.93546
## 48 F2102_mz226.1081_rt1.19 1 1.187 226.10806
## 49 F2251_mz238.0715_rt0.75 1 0.746 238.07153
## 50 F2253_mz238.1079_rt1.08 1 1.084 238.10786
## 51 F2257_mz238.1443_rt1.83 1 1.828 238.14426
## 52 F2486_mz256.1184_rt1.08 1 1.084 256.11844
## 53 F2517_mz259.0648_rt0.42 1 0.417 259.06479
## 54 F2571_mz262.1289_rt0.68 1 0.681 262.12891
## 55 F2572_mz262.1291_rt0.5 1 0.503 262.12906
## 56 F2588_mz264.1084_rt0.47 1 0.469 264.10837
## 57 F2633_mz268.1046_rt1.06 1 1.062 268.10458
## 58 F2645_mz269.1752_rt1.19 1 1.187 269.17523
## 59 F2693_mz273.076_rt1.17 1 1.173 273.07599
## 60 F2707_mz273.1814_rt1.18 1 1.175 273.18140
## 61 F2779_mz277.148_rt0.89 1 0.889 277.14801
## 62 F2784_mz277.2166_rt1.44 1 1.440 277.21664
## 63 F2799_mz279.0771_rt1.16 1 1.158 279.07709
## 64 F2812_mz280.0922_rt0.45 1 0.452 280.09225
## 65 F2939_mz289.0922_rt0.57 1 0.572 289.09225
## 66 F3055_mz298.0637_rt0.45 1 0.449 298.06369
## 67 F3103_mz301.1627_rt0.42 1 0.421 301.16272
## 68 F3166_mz304.8961_rt0.41 1 0.413 304.89606
## 69 F3168_mz305.0571_rt0.41 1 0.406 305.05707
## 70 F3213_mz309.0873_rt1.33 1 1.327 309.08731
## 71 F3222_mz310.1192_rt1.07 1 1.069 310.11917
## 72 F3223_mz310.1291_rt0.94 1 0.940 310.12909
## 73 F3235_mz311.1582_rt1.19 1 1.189 311.15820
## 74 F3244_mz312.1114_rt0.75 1 0.746 312.11145
## 75 F3262_mz313.2381_rt1.45 1 1.447 313.23813
## 76 F3350_mz319.1296_rt0.96 1 0.960 319.12955
## 77 F3420_mz327.0523_rt0.42 1 0.417 327.05231
## 78 F3428_mz328.1397_rt0.94 1 0.942 328.13974
## 79 F3429_mz328.1399_rt1.1 1 1.096 328.13986
## 80 F3541_mz337.172_rt0.44 1 0.443 337.17197
## 81 F3590_mz343.0262_rt0.41 1 0.413 343.02625
## 82 F3598_mz344.1345_rt0.82 1 0.824 344.13446
## 83 F3639_mz347.1245_rt1.03 1 1.030 347.12445
## 84 F3657_mz348.2749_rt1.44 1 1.440 348.27490
## 85 F3714_mz353.248_rt1.46 1 1.463 353.24805
## 86 F3721_mz354.0791_rt0.96 1 0.963 354.07913
## 87 F3965_mz379.2082_rt0.92 1 0.921 379.20819
## 88 F4087_mz394.1657_rt1.5 1 1.501 394.16571
## 89 F4133_mz400.2699_rt1.26 1 1.261 400.26993
## 90 F4365_mz440.2505_rt1.17 1 1.172 440.25055
## 91 F4410_mz448.1673_rt0.53 1 0.532 448.16733
## 92 F4538_mz475.1779_rt0.47 1 0.468 475.17786
## 93 F4577_mz487.1796_rt0.66 1 0.657 487.17957
## 94 F468_mz112.8959_rt0.44 1 0.441 112.89590
## 95 F4744_mz551.1962_rt0.88 1 0.875 551.19623
## 96 F4980_mz672.4172_rt3.78 1 3.782 672.41724
## 97 F5035_mz707.2215_rt0.53 1 0.528 707.22150
## 98 F728_mz130.1229_rt1.24 1 1.235 130.12289
## 99 F804_mz136.0619_rt0.64 1 0.643 136.06194
## 100 F839_mz138.0763_rt0.71 1 0.708 138.07628
## Metabolite name Adduct type MS/MS assigned Formula Ontology
## 1 Unknown [M+H]+ FALSE null null
## 2 Unknown [M+H]+ FALSE null null
## 3 Unknown [M+H]+ TRUE null null
## 4 Unknown [M+H]+ FALSE null null
## 5 Unknown [M+H]+ FALSE null null
## 6 Unknown [M+H]+ FALSE null null
## 7 Unknown [M+H]+ TRUE null null
## 8 Unknown [M+H]+ FALSE null null
## 9 Unknown [M+H]+ FALSE null null
## 10 Unknown [M+H]+ FALSE null null
## 11 Unknown [M+H]+ FALSE null null
## 12 Unknown [M+H]+ FALSE null null
## 13 Unknown [M+H]+ FALSE null null
## 14 Unknown [M+H]+ FALSE null null
## 15 Unknown [M+H]+ TRUE null null
## 16 Unknown [M+H]+ TRUE null null
## 17 Unknown [M+H]+ FALSE null null
## 18 Unknown [M+H]+ TRUE null null
## 19 Unknown [M+H]+ TRUE null null
## 20 Unknown [M+H]+ TRUE null null
## 21 Unknown [M+H]+ TRUE null null
## 22 Unknown [M+H]+ TRUE null null
## 23 Unknown [M+H]+ FALSE null null
## 24 Unknown [M+H]+ TRUE null null
## 25 Unknown [M+H]+ TRUE null null
## 26 Unknown [M+H]+ TRUE null null
## 27 Unknown [M+H]+ TRUE null null
## 28 Unknown [M+H]+ TRUE null null
## 29 Unknown [M+H]+ FALSE null null
## 30 Unknown [M+H]+ TRUE null null
## 31 Unknown [M+H]+ TRUE null null
## 32 Unknown [M+H]+ FALSE null null
## 33 Unknown [M+H]+ FALSE null null
## 34 Unknown [M+H]+ FALSE null null
## 35 Unknown [M+H]+ FALSE null null
## 36 Unknown [M+H]+ TRUE null null
## 37 Unknown [M+H]+ TRUE null null
## 38 Unknown [M+H]+ FALSE null null
## 39 Unknown [M+H]+ FALSE null null
## 40 Unknown [M+H]+ FALSE null null
## 41 Unknown [M+H]+ FALSE null null
## 42 Unknown [M+H]+ FALSE null null
## 43 Unknown [M+H]+ FALSE null null
## 44 Unknown [M+H]+ FALSE null null
## 45 Unknown [M+H]+ TRUE null null
## 46 Unknown [M+H]+ FALSE null null
## 47 Unknown [M+H]+ FALSE null null
## 48 Unknown [M+H]+ FALSE null null
## 49 Unknown [M+H]+ TRUE null null
## 50 Unknown [M+H]+ TRUE null null
## 51 Unknown [M+H]+ TRUE null null
## 52 Unknown [M+H]+ TRUE null null
## 53 Unknown [M+H]+ FALSE null null
## 54 Unknown [M+H]+ TRUE null null
## 55 Unknown [M+H]+ TRUE null null
## 56 Unknown [M+H]+ FALSE null null
## 57 Unknown [M+H]+ FALSE null null
## 58 Unknown [M+H]+ FALSE null null
## 59 Unknown [M+H]+ FALSE null null
## 60 Unknown [M+H]+ TRUE null null
## 61 Unknown [M+H]+ FALSE null null
## 62 Unknown [M+H]+ FALSE null null
## 63 Unknown [M+H]+ TRUE null null
## 64 Unknown [M+H]+ FALSE null null
## 65 Unknown [M+H]+ FALSE null null
## 66 Unknown [M+H]+ FALSE null null
## 67 Unknown [M+H]+ FALSE null null
## 68 Unknown [M+H]+ FALSE null null
## 69 Unknown [M+H]+ FALSE null null
## 70 Unknown [M+H]+ TRUE null null
## 71 Unknown [M+H]+ FALSE null null
## 72 Unknown [M+H]+ TRUE null null
## 73 Unknown [M+H]+ TRUE null null
## 74 Unknown [M+H]+ TRUE null null
## 75 Unknown [M+H]+ FALSE null null
## 76 Unknown [M+H]+ TRUE null null
## 77 Unknown [M+H]+ FALSE null null
## 78 Unknown [M+H]+ TRUE null null
## 79 Unknown [M+H]+ FALSE null null
## 80 Unknown [M+H]+ FALSE null null
## 81 Unknown [M+H]+ FALSE null null
## 82 Unknown [M+H]+ TRUE null null
## 83 Unknown [M+H]+ FALSE null null
## 84 Unknown [M+H]+ TRUE null null
## 85 Unknown [M+H]+ FALSE null null
## 86 Unknown [M+H]+ FALSE null null
## 87 Unknown [M+H]+ FALSE null null
## 88 Unknown [M+H]+ FALSE null null
## 89 Unknown [M+H]+ FALSE null null
## 90 Unknown [M+H]+ FALSE null null
## 91 Unknown [M+H]+ FALSE null null
## 92 Unknown [M+H]+ FALSE null null
## 93 Unknown [M+H]+ FALSE null null
## 94 Unknown [M+H]+ FALSE null null
## 95 Unknown [M+H]+ FALSE null null
## 96 Unknown [M+H]+ FALSE null null
## 97 Unknown [M+H]+ FALSE null null
## 98 Unknown [M+H]+ TRUE null null
## 99 Unknown [M+H]+ TRUE null null
## 100 Unknown [M+H]+ TRUE null null
## sample_to_blank_ratio
## 1 1.007584e+01
## 2 8.809000e+05
## 3 1.436797e+02
## 4 4.201240e+05
## 5 3.799530e+05
## 6 4.023510e+05
## 7 2.942280e+05
## 8 8.406090e+02
## 9 1.324433e+06
## 10 1.708130e+05
## 11 2.755985e+01
## 12 8.698457e+01
## 13 2.273720e+05
## 14 3.816070e+05
## 15 1.490151e+06
## 16 5.526720e+05
## 17 2.695260e+02
## 18 1.214601e+03
## 19 1.895749e+06
## 20 9.905710e+01
## 21 1.246311e+02
## 22 6.622475e+01
## 23 2.088947e+01
## 24 3.202566e+01
## 25 1.009995e+03
## 26 1.504428e+02
## 27 1.146484e+06
## 28 1.206323e+06
## 29 1.740359e+01
## 30 1.466464e+02
## 31 3.578941e+01
## 32 2.923920e+05
## 33 1.292048e+01
## 34 3.653273e+02
## 35 7.676659e+01
## 36 5.466437e+00
## 37 1.779081e+01
## 38 2.799679e+01
## 39 2.595263e+06
## 40 1.069650e+05
## 41 9.395608e+00
## 42 1.860259e+01
## 43 8.061710e+05
## 44 9.303990e+05
## 45 3.190229e+01
## 46 3.211380e+05
## 47 2.628354e+01
## 48 5.126910e+05
## 49 1.880942e+06
## 50 2.467115e+03
## 51 2.576210e+05
## 52 9.043660e+05
## 53 3.581600e+05
## 54 7.603815e+06
## 55 8.712198e+03
## 56 2.124891e+03
## 57 1.208814e+02
## 58 2.450633e+01
## 59 4.496951e+02
## 60 8.007141e+06
## 61 6.254196e+06
## 62 1.595300e+05
## 63 1.202615e+06
## 64 1.719333e+06
## 65 6.566920e+05
## 66 2.162850e+05
## 67 5.729148e+00
## 68 6.676007e+00
## 69 1.199840e+05
## 70 2.065759e+06
## 71 2.155970e+05
## 72 8.484799e+06
## 73 1.715223e+03
## 74 4.306275e+06
## 75 1.019933e+02
## 76 9.239130e+05
## 77 1.008750e+05
## 78 4.691067e+07
## 79 4.156180e+05
## 80 2.995643e+06
## 81 3.214230e+05
## 82 5.176065e+06
## 83 2.877730e+05
## 84 3.900073e+03
## 85 1.108200e+05
## 86 3.519410e+05
## 87 4.396190e+05
## 88 1.155180e+05
## 89 2.103320e+05
## 90 1.042780e+05
## 91 9.620220e+05
## 92 1.247586e+06
## 93 1.069468e+06
## 94 4.593800e+05
## 95 1.763030e+05
## 96 1.314560e+05
## 97 1.453199e+06
## 98 2.654121e+02
## 99 1.000900e+03
## 100 2.843323e+03
#create a simple stability plot
stable_pca_driver_plot_data <-
stable_pca_drivers_annotated %>%
slice_head(
n = 30
)
#plot
ggplot(
stable_pca_driver_plot_data,
aes(
x =
reorder(
feature_name,
times_in_top20
),
y =
times_in_top20
)
) +
geom_col() +
coord_flip() +
labs(
title =
"Features repeatedly driving PCA across feature reductions",
subtitle =
"Count of reduced PCA analyses in which each feature appeared among the top 20 loadings",
x =
NULL,
y =
"Number of PCA reductions"
) +
theme_classic()
plot_reduced_heatmap <- function(
number_to_plot,
title_text
) {
feature_names <-
important_pca_features %>%
filter(
feature_name %in%
colnames(
pca_matrix_log
)
) %>%
slice_head(
n = number_to_plot
) %>%
pull(
feature_name
)
heatmap_data <-
t(
pca_matrix_log[
,
feature_names,
drop = FALSE
]
)
pheatmap(
heatmap_data,
scale =
"row",
clustering_distance_rows =
"euclidean",
clustering_distance_cols =
"euclidean",
clustering_method =
"complete",
show_rownames =
number_to_plot <= 100,
show_colnames =
TRUE,
fontsize_row =
ifelse(
number_to_plot <= 30,
7,
4
),
main =
title_text
)
}
plot_reduced_heatmap(
500,
"Top 500 PCA-driving features"
)
plot_reduced_heatmap(
100,
"Top 100 PCA-driving features"
)
plot_reduced_heatmap(
30,
"Top 30 PCA-driving features"
)
plot_reduced_heatmap(
10,
"Top 10 PCA-driving features"
)
write.csv(
pca_reduction_summary,
"positive_mode_PCA_feature_reduction_summary.csv",
row.names = FALSE
)
write.csv(
top_loadings_by_reduction,
"positive_mode_PCA_top_loadings_across_reductions.csv",
row.names = FALSE
)
write.csv(
stable_pca_drivers_annotated,
"positive_mode_stable_PCA_drivers.csv",
row.names = FALSE
)
#essentially asking, how much of the original multivariate relationship among samples survives feature reduction? A Mantel permutation test gives us a p-value for the relationship between distance matrices.
get_pca_distance <- function(
pca_object,
variance_percent,
variance_cutoff = 80
) {
cumulative_variance <-
cumsum(
variance_percent
)
number_pcs <-
which(
cumulative_variance >=
variance_cutoff
)[1]
scores_to_use <-
pca_object$x[
,
seq_len(
number_pcs
),
drop = FALSE
]
dist(
scores_to_use,
method = "euclidean"
)
}
#calculate the full-data reference
full_result <-
reduced_pca_results[[1]]
full_distance <-
get_pca_distance(
pca_object =
full_result$pca,
variance_percent =
full_result$variance,
variance_cutoff =
80
)
#correlate every reduced PCA with the full PCA. R=0.78 means that at 500 features, they are similar to the relationships in the full dataset
pca_structure_correlations <-
bind_rows(
lapply(
names(
reduced_pca_results
),
function(result_name) {
x <-
reduced_pca_results[[result_name]]
reduced_distance <-
get_pca_distance(
pca_object =
x$pca,
variance_percent =
x$variance,
variance_cutoff =
80
)
correlation <-
cor(
as.vector(
full_distance
),
as.vector(
reduced_distance
),
method =
"spearman"
)
tibble(
feature_set =
result_name,
actual_features =
x$actual_features,
distance_correlation =
correlation
)
}
)
)
pca_structure_correlations
## # A tibble: 10 × 3
## feature_set actual_features distance_correlation
## <chr> <int> <dbl>
## 1 Top_4144 4144 1
## 2 Top_2000 2000 0.915
## 3 Top_1000 1000 0.754
## 4 Top_500 500 0.668
## 5 Top_200 200 0.635
## 6 Top_100 100 0.552
## 7 Top_50 50 0.422
## 8 Top_30 30 0.404
## 9 Top_20 20 0.382
## 10 Top_10 10 0.265
library(
vegan
)
## Warning: package 'vegan' was built under R version 4.5.3
## Loading required package: permute
## Warning: package 'permute' was built under R version 4.5.3
pca_structure_tests <-
bind_rows(
lapply(
names(
reduced_pca_results
),
function(result_name) {
x <-
reduced_pca_results[[result_name]]
reduced_distance <-
get_pca_distance(
pca_object =
x$pca,
variance_percent =
x$variance,
variance_cutoff =
80
)
mantel_result <-
vegan::mantel(
full_distance,
reduced_distance,
method =
"spearman",
permutations =
9999
)
tibble(
feature_set =
result_name,
actual_features =
x$actual_features,
mantel_r =
unname(
mantel_result$statistic
),
p_value =
mantel_result$signif
)
}
)
)
pca_structure_tests
## # A tibble: 10 × 4
## feature_set actual_features mantel_r p_value
## <chr> <int> <dbl> <dbl>
## 1 Top_4144 4144 1 0.0001
## 2 Top_2000 2000 0.915 0.0001
## 3 Top_1000 1000 0.754 0.0001
## 4 Top_500 500 0.668 0.0001
## 5 Top_200 200 0.635 0.0001
## 6 Top_100 100 0.552 0.0001
## 7 Top_50 50 0.422 0.0004
## 8 Top_30 30 0.404 0.0011
## 9 Top_20 20 0.382 0.0013
## 10 Top_10 10 0.265 0.015
#does the top N PCA-driving feature set preserve the full metabolomic sample structure better than would be expected from randomly choosing N features?
get_pca_distance <- function(
pca_object,
variance_percent,
variance_cutoff = 80
) {
cumulative_variance <-
cumsum(
variance_percent
)
number_pcs <-
which(
cumulative_variance >=
variance_cutoff
)[1]
scores_to_use <-
pca_object$x[
,
seq_len(number_pcs),
drop = FALSE
]
dist(
scores_to_use,
method = "euclidean"
)
}
full_result <-
reduced_pca_results[[1]]
full_distance <-
get_pca_distance(
pca_object =
full_result$pca,
variance_percent =
full_result$variance,
variance_cutoff =
80
)
full_distance
## exudate_1 exudate_2 exudate_3 FC_1 FC_2
## exudate_2 1.630266
## exudate_3 1.445933 1.272540
## FC_1 97.091272 95.934991 96.328944
## FC_2 97.227680 96.165305 96.489436 9.102839
## FC_3 96.995857 95.933407 96.227524 10.244776 2.770545
## fungi_old_1 90.053021 88.632738 89.244618 29.038996 37.331572
## fungi_old_2 87.797006 86.221736 87.042652 73.734255 81.360790
## fungi_old_3 87.169966 85.591993 86.413581 74.163590 81.719881
## leaf_1 112.021627 111.870588 111.324637 136.516729 138.706253
## leaf_2 102.927116 102.789104 102.204290 130.727821 132.685434
## leaf_3 109.585172 109.474416 108.901351 135.640765 137.620007
## new_in_P08 70.247657 68.999499 69.116133 39.512273 40.480358
## new_in_P09 79.980377 78.762009 78.959797 27.011946 28.031725
## new_in_P10 72.075276 70.843984 70.973284 36.656662 37.483441
## new_out_P08 88.278091 87.157987 87.362112 18.257351 16.709041
## new_out_P09 94.045420 92.944063 93.229941 10.098556 6.855107
## new_out_P10 93.175396 92.076708 92.366938 9.841235 6.817773
## root_1 64.030629 63.461895 62.716183 107.798164 108.279805
## root_2 63.544043 62.926159 62.210353 105.568557 105.981599
## root_3 62.359428 61.771764 61.033997 105.925014 106.390431
## Soil_control_1 2.951209 4.107489 3.831656 99.619805 99.686572
## Soil_control_2 2.720580 3.239343 3.182499 98.703333 98.858911
## Soil_control_3 2.786925 3.688786 3.806868 99.168821 99.307785
## FC_3 fungi_old_1 fungi_old_2 fungi_old_3 leaf_1
## exudate_2
## exudate_3
## FC_1
## FC_2
## FC_3
## fungi_old_1 38.006528
## fungi_old_2 81.783034 45.136259
## fungi_old_3 82.124303 45.649492 1.214767
## leaf_1 137.685066 130.893248 129.384225 129.506444
## leaf_2 131.615492 125.221851 123.944435 124.002488 9.982833
## leaf_3 136.588508 130.475786 129.532488 129.634852 3.959713
## new_in_P08 38.926012 39.640273 65.065926 64.959483 115.813232
## new_in_P09 26.383961 33.276330 67.461651 67.547063 122.253539
## new_in_P10 35.902208 38.344714 65.971651 65.910811 116.925697
## new_out_P08 14.588601 35.913867 75.838179 76.048572 128.498411
## new_out_P09 4.970695 35.136258 78.208125 78.518788 134.754108
## new_out_P10 5.226351 34.711472 77.722135 78.033962 134.070396
## root_1 106.581979 100.950070 97.490318 96.811416 96.238314
## root_2 104.270268 98.890023 96.040187 95.349792 99.042737
## root_3 104.709118 99.154557 96.079851 95.405001 96.169981
## Soil_control_1 99.446675 92.556817 89.747223 89.095567 113.737446
## Soil_control_2 98.613558 91.363241 88.309765 87.651582 113.651484
## Soil_control_3 99.095204 91.894156 88.886843 88.235763 114.079125
## leaf_2 leaf_3 new_in_P08 new_in_P09 new_in_P10
## exudate_2
## exudate_3
## FC_1
## FC_2
## FC_3
## fungi_old_1
## fungi_old_2
## fungi_old_3
## leaf_1
## leaf_2
## leaf_3 7.605970
## new_in_P08 108.304727 114.558754
## new_in_P09 115.334157 121.136686 13.101634
## new_in_P10 109.535366 115.681632 3.061640 10.180899
## new_out_P08 121.966989 127.358910 25.076743 12.599797 22.030625
## new_out_P09 128.564753 133.678926 34.232150 21.534335 31.213523
## new_out_P10 127.874211 132.986264 33.920237 21.321917 30.904190
## root_1 86.908141 94.402628 68.710377 81.479809 71.522770
## root_2 89.718403 97.221428 66.301739 79.102173 69.133650
## root_3 86.803360 94.316339 66.850964 79.645385 69.663769
## Soil_control_1 104.600085 111.272030 72.538494 82.370059 74.398353
## Soil_control_2 104.516552 111.223919 71.444630 81.336408 73.330289
## Soil_control_3 104.979156 111.640566 72.340574 82.099144 74.189044
## new_out_P08 new_out_P09 new_out_P10 root_1 root_2
## exudate_2
## exudate_3
## FC_1
## FC_2
## FC_3
## fungi_old_1
## fungi_old_2
## fungi_old_3
## leaf_1
## leaf_2
## leaf_3
## new_in_P08
## new_in_P09
## new_in_P10
## new_out_P08
## new_out_P09 10.056328
## new_out_P10 10.064883 1.196262
## root_1 92.503515 102.165343 101.824818
## root_2 90.159920 99.840095 99.521926 3.816630
## root_3 90.667790 100.302606 99.953342 2.106621 3.252093
## Soil_control_1 90.701550 96.498535 95.639546 64.483233 64.011506
## Soil_control_2 89.785646 95.620173 94.766164 63.735160 63.216175
## Soil_control_3 90.428596 96.152705 95.289041 65.104591 64.609101
## root_3 Soil_control_1 Soil_control_2
## exudate_2
## exudate_3
## FC_1
## FC_2
## FC_3
## fungi_old_1
## fungi_old_2
## fungi_old_3
## leaf_1
## leaf_2
## leaf_3
## new_in_P08
## new_in_P09
## new_in_P10
## new_out_P08
## new_out_P09
## new_out_P10
## root_1
## root_2
## root_3
## Soil_control_1 62.859313
## Soil_control_2 62.097225 1.590789
## Soil_control_3 63.470919 1.221845 1.453830
pca_structure_correlations <-
bind_rows(
lapply(
names(reduced_pca_results),
function(result_name) {
x <-
reduced_pca_results[[result_name]]
reduced_distance <-
get_pca_distance(
pca_object =
x$pca,
variance_percent =
x$variance,
variance_cutoff =
80
)
structure_correlation <-
cor(
as.vector(full_distance),
as.vector(reduced_distance),
method = "spearman"
)
tibble(
feature_set =
result_name,
actual_features =
x$actual_features,
structure_correlation =
structure_correlation
)
}
)
)
pca_structure_correlations
## # A tibble: 10 × 3
## feature_set actual_features structure_correlation
## <chr> <int> <dbl>
## 1 Top_4144 4144 1
## 2 Top_2000 2000 0.915
## 3 Top_1000 1000 0.754
## 4 Top_500 500 0.668
## 5 Top_200 200 0.635
## 6 Top_100 100 0.552
## 7 Top_50 50 0.422
## 8 Top_30 30 0.404
## 9 Top_20 20 0.382
## 10 Top_10 10 0.265
#correlation near 1 → reduced PCA preserves the full sample relationships very well
correlation around 0.5 → moderate preservation
correlation near 0 → reduced feature set no longer resembles the full structure
pca_structure_plot <-
ggplot(
pca_structure_correlations,
aes(
x = actual_features,
y = structure_correlation
)
) +
geom_point(
size = 3
) +
geom_line() +
scale_x_log10() +
labs(
title =
"Preservation of full PCA structure during feature reduction",
subtitle =
"Correlation of pairwise sample distances with the full-feature PCA",
x =
"Number of features used in PCA (log scale)",
y =
"Spearman correlation with full PCA"
) +
theme_classic()
pca_structure_plot
library(vegan)
pca_structure_mantel <-
bind_rows(
lapply(
names(reduced_pca_results),
function(result_name) {
x <-
reduced_pca_results[[result_name]]
reduced_distance <-
get_pca_distance(
pca_object =
x$pca,
variance_percent =
x$variance,
variance_cutoff =
80
)
mantel_result <-
vegan::mantel(
full_distance,
reduced_distance,
method = "spearman",
permutations = 9999
)
tibble(
feature_set =
result_name,
actual_features =
x$actual_features,
mantel_r =
unname(
mantel_result$statistic
),
mantel_p_value =
mantel_result$signif
)
}
)
)
pca_structure_mantel
## # A tibble: 10 × 4
## feature_set actual_features mantel_r mantel_p_value
## <chr> <int> <dbl> <dbl>
## 1 Top_4144 4144 1 0.0001
## 2 Top_2000 2000 0.915 0.0001
## 3 Top_1000 1000 0.754 0.0001
## 4 Top_500 500 0.668 0.0001
## 5 Top_200 200 0.635 0.0001
## 6 Top_100 100 0.552 0.0001
## 7 Top_50 50 0.422 0.0008
## 8 Top_30 30 0.404 0.0009
## 9 Top_20 20 0.382 0.0007
## 10 Top_10 10 0.265 0.0129
#essential question: if I randomly chose the same number of features, how well would they preserve the full PCA structure? First create a function that runs PCA on a random subset.
get_random_subset_correlation <- function(
number_features,
matrix_to_use,
full_distance,
variance_cutoff = 80
) {
random_features <-
sample(
colnames(matrix_to_use),
size = number_features,
replace = FALSE
)
random_matrix <-
matrix_to_use[
,
random_features,
drop = FALSE
]
random_variance <-
apply(
random_matrix,
2,
var,
na.rm = TRUE
)
random_matrix <-
random_matrix[
,
is.finite(random_variance) &
random_variance > 0,
drop = FALSE
]
random_pca <-
prcomp(
random_matrix,
center = TRUE,
scale. = TRUE
)
random_variance_percent <-
(
random_pca$sdev^2 /
sum(random_pca$sdev^2)
) * 100
random_distance <-
get_pca_distance(
pca_object =
random_pca,
variance_percent =
random_variance_percent,
variance_cutoff =
variance_cutoff
)
cor(
as.vector(full_distance),
as.vector(random_distance),
method = "spearman"
)
}
permutation_feature_sizes <-
c(
2000,
1000,
500,
200,
100,
50,
30,
20,
10
)
permutation_feature_sizes <-
permutation_feature_sizes[
permutation_feature_sizes <
ncol(pca_matrix_log)
]
permutation_feature_sizes
## [1] 2000 1000 500 200 100 50 30 20 10
number_permutations <- 1000
set.seed(123)
random_structure_results <-
bind_rows(
lapply(
permutation_feature_sizes,
function(n_features) {
random_correlations <-
replicate(
number_permutations,
get_random_subset_correlation(
number_features =
n_features,
matrix_to_use =
pca_matrix_log,
full_distance =
full_distance,
variance_cutoff =
80
)
)
tibble(
actual_features =
n_features,
permutation =
seq_along(
random_correlations
),
random_structure_correlation =
random_correlations
)
}
)
)
random_structure_results
## # A tibble: 9,000 × 3
## actual_features permutation random_structure_correlation
## <dbl> <int> <dbl>
## 1 2000 1 1.000
## 2 2000 2 0.999
## 3 2000 3 0.999
## 4 2000 4 0.999
## 5 2000 5 0.999
## 6 2000 6 1.000
## 7 2000 7 0.999
## 8 2000 8 0.999
## 9 2000 9 0.999
## 10 2000 10 1.000
## # ℹ 8,990 more rows
observed_structure_results <-
pca_structure_correlations %>%
filter(
actual_features %in%
permutation_feature_sizes
) %>%
select(
actual_features,
observed_correlation =
structure_correlation
)
observed_structure_results
## # A tibble: 9 × 2
## actual_features observed_correlation
## <int> <dbl>
## 1 2000 0.915
## 2 1000 0.754
## 3 500 0.668
## 4 200 0.635
## 5 100 0.552
## 6 50 0.422
## 7 30 0.404
## 8 20 0.382
## 9 10 0.265
pca_reduction_permutation_tests <-
observed_structure_results %>%
left_join(
random_structure_results %>%
group_by(
actual_features
) %>%
summarise(
random_mean =
mean(
random_structure_correlation,
na.rm = TRUE
),
random_median =
median(
random_structure_correlation,
na.rm = TRUE
),
random_sd =
sd(
random_structure_correlation,
na.rm = TRUE
),
random_lower_95 =
quantile(
random_structure_correlation,
0.025,
na.rm = TRUE
),
random_upper_95 =
quantile(
random_structure_correlation,
0.975,
na.rm = TRUE
),
.groups =
"drop"
),
by =
"actual_features"
)
#calculate the empirical p-value separately
pca_reduction_permutation_tests <-
pca_reduction_permutation_tests %>%
rowwise() %>%
mutate(
empirical_p_value = {
random_values <-
random_structure_results %>%
filter(
actual_features ==
.data$actual_features
) %>%
pull(
random_structure_correlation
)
(
sum(
random_values >=
observed_correlation,
na.rm = TRUE
) + 1
) /
(
length(
random_values
) + 1
)
}
) %>%
ungroup()
pca_reduction_permutation_tests
## # A tibble: 9 × 8
## actual_features observed_correlation random_mean random_median random_sd
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2000 0.915 0.999 0.999 0.000441
## 2 1000 0.754 0.998 0.998 0.00264
## 3 500 0.668 0.995 0.997 0.00480
## 4 200 0.635 0.987 0.991 0.00827
## 5 100 0.552 0.978 0.981 0.0114
## 6 50 0.422 0.961 0.965 0.0171
## 7 30 0.404 0.943 0.947 0.0262
## 8 20 0.382 0.922 0.930 0.0371
## 9 10 0.265 0.871 0.886 0.0645
## # ℹ 3 more variables: random_lower_95 <dbl>, random_upper_95 <dbl>,
## # empirical_p_value <dbl>
pca_reduction_random_plot <-
ggplot(
pca_reduction_permutation_tests,
aes(
x = actual_features
)
) +
geom_ribbon(
aes(
ymin =
random_lower_95,
ymax =
random_upper_95
),
alpha =
0.25
) +
geom_line(
aes(
y =
random_mean
),
linetype =
"dashed"
) +
geom_point(
aes(
y =
observed_correlation
),
size =
3
) +
geom_line(
aes(
y =
observed_correlation
)
) +
scale_x_log10() +
labs(
title =
"PCA structure retained during feature reduction",
subtitle =
"Observed PCA-selected features compared with random feature subsets",
x =
"Number of features (log scale)",
y =
"Correlation with full PCA sample structure"
) +
theme_classic()
pca_reduction_random_plot
#figure interpretation #solid observed line how well PCA-selected features preserve the full structure
dashed line = average preservation from random feature sets
ribbon = 95% range from random feature subsets
pca_reduction_pvalue_plot <-
ggplot(
pca_reduction_permutation_tests,
aes(
x =
actual_features,
y =
empirical_p_value
)
) +
geom_point(
size = 3
) +
geom_line() +
geom_hline(
yintercept =
0.05,
linetype =
"dashed"
) +
scale_x_log10() +
labs(
title =
"Permutation evidence across PCA feature reductions",
subtitle =
"Tests whether PCA-selected features preserve structure better than random subsets",
x =
"Number of features (log scale)",
y =
"Empirical p-value"
) +
theme_classic()
pca_reduction_pvalue_plot
write.csv(
pca_structure_correlations,
"positive_mode_PCA_structure_correlations.csv",
row.names = FALSE
)
write.csv(
pca_structure_mantel,
"positive_mode_PCA_structure_mantel_tests.csv",
row.names = FALSE
)
write.csv(
random_structure_results,
"positive_mode_PCA_random_feature_permutations.csv",
row.names = FALSE
)
write.csv(
pca_reduction_permutation_tests,
"positive_mode_PCA_feature_reduction_permutation_tests.csv",
row.names = FALSE
)
#37. Presence/absence analysis across biological groups. Use feature_qc, not the imputed PCA matrix. Presence/absence must be based on actual observed peak heights.
#First define all sample groups:
presence_groups <- list(
Exudate = c(
"exudate_1",
"exudate_2",
"exudate_3"
),
Soil = c(
"Soil_control_1",
"Soil_control_2",
"Soil_control_3"
),
Leaf = c(
"leaf_1",
"leaf_2",
"leaf_3"
),
Root = c(
"root_1",
"root_2",
"root_3"
),
Fungal_in = c(
"new_in_P08",
"new_in_P09",
"new_in_P10"
),
Fungal_out = c(
"new_out_P08",
"new_out_P09",
"new_out_P10"
),
Fungal_control = c(
"FC_1",
"FC_2",
"FC_3"
),
Fungi_old = c(
"fungi_old_1",
"fungi_old_2",
"fungi_old_3"
)
)
We’ll define a feature as present when it occurs in at least 2 of 3 biological replicates.
run_presence_comparison <- function(
data,
group1_cols,
group2_cols,
group1_name,
group2_name,
min_replicates = 2
) {
result <- data %>%
mutate(
group1_detected_n = rowSums(
across(
all_of(group1_cols),
~ .x > 0
),
na.rm = TRUE
),
group2_detected_n = rowSums(
across(
all_of(group2_cols),
~ .x > 0
),
na.rm = TRUE
),
group1_present =
group1_detected_n >= min_replicates,
group2_present =
group2_detected_n >= min_replicates,
presence_category = case_when(
group1_present &
group2_present ~
"Shared",
group1_present &
!group2_present ~
paste0(
group1_name,
" only"
),
!group1_present &
group2_present ~
paste0(
group2_name,
" only"
),
TRUE ~
"Neither consistently detected"
)
)
summary <- result %>%
count(
presence_category
) %>%
mutate(
percent =
100 * n / sum(n),
comparison =
paste0(
group1_name,
" vs ",
group2_name
)
) %>%
select(
comparison,
presence_category,
n,
percent
)
return(
list(
feature_table = result,
summary = summary
)
)
}
This asks:
Which features appear with the plant-containing soil extraction compared with soil alone?
presence_exudate_soil <-
run_presence_comparison(
data = feature_qc,
group1_cols =
presence_groups$Exudate,
group2_cols =
presence_groups$Soil,
group1_name =
"Exudate",
group2_name =
"Soil"
)
presence_exudate_soil$summary
## # A tibble: 4 × 4
## comparison presence_category n percent
## <chr> <chr> <int> <dbl>
## 1 Exudate vs Soil Exudate only 129 3.11
## 2 Exudate vs Soil Neither consistently detected 2505 60.4
## 3 Exudate vs Soil Shared 1386 33.4
## 4 Exudate vs Soil Soil only 124 2.99
This asks:
Which features are shared between aboveground and belowground plant tissue, and which are tissue-associated?
presence_leaf_root <-
run_presence_comparison(
data = feature_qc,
group1_cols =
presence_groups$Leaf,
group2_cols =
presence_groups$Root,
group1_name =
"Leaf",
group2_name =
"Root"
)
presence_leaf_root$summary
## # A tibble: 4 × 4
## comparison presence_category n percent
## <chr> <chr> <int> <dbl>
## 1 Leaf vs Root Leaf only 1024 24.7
## 2 Leaf vs Root Neither consistently detected 1162 28.0
## 3 Leaf vs Root Root only 153 3.69
## 4 Leaf vs Root Shared 1805 43.6
Yes, I definitely want this comparison.
It asks:
Which features detected in roots are also detectable in the plant-soil extract?
presence_exudate_root <-
run_presence_comparison(
data = feature_qc,
group1_cols =
presence_groups$Exudate,
group2_cols =
presence_groups$Root,
group1_name =
"Exudate",
group2_name =
"Root"
)
presence_exudate_root$summary
## # A tibble: 4 × 4
## comparison presence_category n percent
## <chr> <chr> <int> <dbl>
## 1 Exudate vs Root Exudate only 401 9.68
## 2 Exudate vs Root Neither consistently detected 1785 43.1
## 3 Exudate vs Root Root only 844 20.4
## 4 Exudate vs Root Shared 1114 26.9
A feature classified as:
Shared
means it occurred in ≥2/3 exudates and ≥2/3 roots.
That is potentially interesting.
But:
shared ≠ secreted.
It only establishes chemical correspondence at the aligned-feature level.
This comparison is also worthwhile:
presence_exudate_leaf <-
run_presence_comparison(
data = feature_qc,
group1_cols =
presence_groups$Exudate,
group2_cols =
presence_groups$Leaf,
group1_name =
"Exudate",
group2_name =
"Leaf"
)
presence_exudate_leaf$summary
## # A tibble: 4 × 4
## comparison presence_category n percent
## <chr> <chr> <int> <dbl>
## 1 Exudate vs Leaf Exudate only 301 7.26
## 2 Exudate vs Leaf Leaf only 1615 39.0
## 3 Exudate vs Leaf Neither consistently detected 1014 24.5
## 4 Exudate vs Leaf Shared 1214 29.3
This can help distinguish whether exudate-associated signals resemble general plant chemistry or are more strongly associated with roots.
presence_fungal_in_out <-
run_presence_comparison(
data = feature_qc,
group1_cols =
presence_groups$Fungal_in,
group2_cols =
presence_groups$Fungal_out,
group1_name =
"Fungal in",
group2_name =
"Fungal out"
)
presence_fungal_in_out$summary
## # A tibble: 4 × 4
## comparison presence_category n percent
## <chr> <chr> <int> <dbl>
## 1 Fungal in vs Fungal out Fungal in only 89 2.15
## 2 Fungal in vs Fungal out Fungal out only 378 9.12
## 3 Fungal in vs Fungal out Neither consistently detected 1387 33.5
## 4 Fungal in vs Fungal out Shared 2290 55.3
presence_fungal_in_control <-
run_presence_comparison(
data = feature_qc,
group1_cols =
presence_groups$Fungal_in,
group2_cols =
presence_groups$Fungal_control,
group1_name =
"Fungal in",
group2_name =
"Fungal control"
)
presence_fungal_in_control$summary
## # A tibble: 4 × 4
## comparison presence_category n percent
## <chr> <chr> <int> <dbl>
## 1 Fungal in vs Fungal control Fungal control only 482 11.6
## 2 Fungal in vs Fungal control Fungal in only 109 2.63
## 3 Fungal in vs Fungal control Neither consistently detected 1283 31.0
## 4 Fungal in vs Fungal control Shared 2270 54.8
I would add this too.
It tells us whether the region outside visible fungal growth has nevertheless been chemically altered relative to the control.
presence_fungal_out_control <-
run_presence_comparison(
data = feature_qc,
group1_cols =
presence_groups$Fungal_out,
group2_cols =
presence_groups$Fungal_control,
group1_name =
"Fungal out",
group2_name =
"Fungal control"
)
presence_fungal_out_control$summary
## # A tibble: 4 × 4
## comparison presence_category n percent
## <chr> <chr> <int> <dbl>
## 1 Fungal out vs Fungal control Fungal control only 196 4.73
## 2 Fungal out vs Fungal control Fungal out only 112 2.70
## 3 Fungal out vs Fungal control Neither consistently detected 1280 30.9
## 4 Fungal out vs Fungal control Shared 2556 61.7
That could actually be biologically interesting if diffusible metabolites extend beyond the visible colony.
presence_summary_all <- bind_rows(
presence_exudate_soil$summary,
presence_leaf_root$summary,
presence_exudate_root$summary,
presence_exudate_leaf$summary,
presence_fungal_in_out$summary,
presence_fungal_in_control$summary,
presence_fungal_out_control$summary
)
presence_summary_all
## # A tibble: 28 × 4
## comparison presence_category n percent
## <chr> <chr> <int> <dbl>
## 1 Exudate vs Soil Exudate only 129 3.11
## 2 Exudate vs Soil Neither consistently detected 2505 60.4
## 3 Exudate vs Soil Shared 1386 33.4
## 4 Exudate vs Soil Soil only 124 2.99
## 5 Leaf vs Root Leaf only 1024 24.7
## 6 Leaf vs Root Neither consistently detected 1162 28.0
## 7 Leaf vs Root Root only 153 3.69
## 8 Leaf vs Root Shared 1805 43.6
## 9 Exudate vs Root Exudate only 401 9.68
## 10 Exudate vs Root Neither consistently detected 1785 43.1
## # ℹ 18 more rows
Sort it:
presence_summary_all <- presence_summary_all %>%
arrange(
comparison,
desc(n)
)
presence_summary_all
## # A tibble: 28 × 4
## comparison presence_category n percent
## <chr> <chr> <int> <dbl>
## 1 Exudate vs Leaf Leaf only 1615 39.0
## 2 Exudate vs Leaf Shared 1214 29.3
## 3 Exudate vs Leaf Neither consistently detected 1014 24.5
## 4 Exudate vs Leaf Exudate only 301 7.26
## 5 Exudate vs Root Neither consistently detected 1785 43.1
## 6 Exudate vs Root Shared 1114 26.9
## 7 Exudate vs Root Root only 844 20.4
## 8 Exudate vs Root Exudate only 401 9.68
## 9 Exudate vs Soil Neither consistently detected 2505 60.4
## 10 Exudate vs Soil Shared 1386 33.4
## # ℹ 18 more rows
Save:
write.csv(
presence_summary_all,
"positive_mode_presence_absence_summary.csv",
row.names = FALSE
)
Pairwise comparisons are useful, but what you’re proposing is actually better expressed as:
Which features occur across leaf → root → exudate?
Let’s calculate presence in all three.
plant_compartment_presence <- feature_qc %>%
mutate(
leaf_detected_n =
rowSums(
across(
all_of(
presence_groups$Leaf
),
~ .x > 0
),
na.rm = TRUE
),
root_detected_n =
rowSums(
across(
all_of(
presence_groups$Root
),
~ .x > 0
),
na.rm = TRUE
),
exudate_detected_n =
rowSums(
across(
all_of(
presence_groups$Exudate
),
~ .x > 0
),
na.rm = TRUE
),
soil_detected_n =
rowSums(
across(
all_of(
presence_groups$Soil
),
~ .x > 0
),
na.rm = TRUE
),
leaf_present =
leaf_detected_n >= 2,
root_present =
root_detected_n >= 2,
exudate_present =
exudate_detected_n >= 2,
soil_present =
soil_detected_n >= 2
)
plant_compartment_presence <-
plant_compartment_presence %>%
mutate(
plant_pattern =
case_when(
leaf_present &
root_present &
exudate_present ~
"Leaf + Root + Exudate",
!leaf_present &
root_present &
exudate_present ~
"Root + Exudate",
leaf_present &
!root_present &
exudate_present ~
"Leaf + Exudate",
leaf_present &
root_present &
!exudate_present ~
"Leaf + Root",
leaf_present &
!root_present &
!exudate_present ~
"Leaf only",
!leaf_present &
root_present &
!exudate_present ~
"Root only",
!leaf_present &
!root_present &
exudate_present ~
"Exudate only",
TRUE ~
"None consistently detected"
)
)
Summarize:
plant_pattern_summary <-
plant_compartment_presence %>%
count(
plant_pattern,
sort = TRUE
) %>%
mutate(
percent =
100 * n / sum(n)
)
plant_pattern_summary
## # A tibble: 8 × 3
## plant_pattern n percent
## <chr> <int> <dbl>
## 1 Leaf + Root + Exudate 1042 25.1
## 2 None consistently detected 933 22.5
## 3 Leaf only 852 20.6
## 4 Leaf + Root 763 18.4
## 5 Exudate only 229 5.53
## 6 Leaf + Exudate 172 4.15
## 7 Root only 81 1.95
## 8 Root + Exudate 72 1.74
This is probably one of the most useful exploratory tables for your plant samples.
Now let’s get closer to your biological idea.
We want features that:
are present in exudate; are present in root and/or leaf; are not consistently detected in soil control.
That helps eliminate features that are simply normal soil-associated signals.
Root + exudate, absent from soil
root_exudate_not_soil <-
plant_compartment_presence %>%
filter(
root_present,
exudate_present,
!soil_present
) %>%
arrange(
desc(
sample_to_blank_ratio
)
)
nrow(
root_exudate_not_soil
)
## [1] 58
Inspect:
root_exudate_not_soil %>%
select(
feature_name,
`Average Rt(min)`,
`Average Mz`,
`Metabolite name`,
`Adduct type`,
`MS/MS assigned`,
Formula,
Ontology,
`Total score`,
sample_to_blank_ratio,
leaf_present,
root_present,
exudate_present,
soil_present
) %>%
head(50)
## # A tibble: 50 × 14
## feature_name `Average Rt(min)` `Average Mz` `Metabolite name` `Adduct type`
## <chr> <dbl> <dbl> <chr> <chr>
## 1 F3781_mz360.1… 0.549 360. Unknown [M+H]+
## 2 F1621_mz193.0… 0.476 193. Unknown [M+H]+
## 3 F387_mz106.05… 0.447 106. Unknown [M+H]+
## 4 F3515_mz335.2… 3.55 335. Unknown [M+H]+
## 5 F4676_mz522.2… 0.487 522. Unknown [M+H]+
## 6 F1505_mz184.0… 0.466 184. Unknown [M+H]+
## 7 F3309_mz317.1… 1.04 317. Unknown [M+H]+
## 8 F2903_mz287.1… 0.482 287. Unknown [M+H]+
## 9 F2902_mz287.1… 0.927 287. Unknown [M+H]+
## 10 F3733_mz355.1… 1.17 355. Unknown [M+H]+
## # ℹ 40 more rows
## # ℹ 9 more variables: `MS/MS assigned` <lgl>, Formula <chr>, Ontology <chr>,
## # `Total score` <chr>, sample_to_blank_ratio <dbl>, leaf_present <lgl>,
## # root_present <lgl>, exudate_present <lgl>, soil_present <lgl>
This is a very interesting candidate list.
These may represent broadly plant-associated compounds detectable from the soil/exudate extraction.
leaf_root_exudate_not_soil <-
plant_compartment_presence %>%
filter(
leaf_present,
root_present,
exudate_present,
!soil_present
) %>%
arrange(
desc(
sample_to_blank_ratio
)
)
nrow(
leaf_root_exudate_not_soil
)
## [1] 53
View:
leaf_root_exudate_not_soil %>%
select(
feature_name,
`Average Rt(min)`,
`Average Mz`,
`Metabolite name`,
`Adduct type`,
`MS/MS assigned`,
Formula,
Ontology,
`Total score`,
sample_to_blank_ratio
) %>%
head(50)
## # A tibble: 50 × 10
## feature_name `Average Rt(min)` `Average Mz` `Metabolite name` `Adduct type`
## <chr> <dbl> <dbl> <chr> <chr>
## 1 F3781_mz360.1… 0.549 360. Unknown [M+H]+
## 2 F1621_mz193.0… 0.476 193. Unknown [M+H]+
## 3 F387_mz106.05… 0.447 106. Unknown [M+H]+
## 4 F3515_mz335.2… 3.55 335. Unknown [M+H]+
## 5 F4676_mz522.2… 0.487 522. Unknown [M+H]+
## 6 F1505_mz184.0… 0.466 184. Unknown [M+H]+
## 7 F3309_mz317.1… 1.04 317. Unknown [M+H]+
## 8 F2903_mz287.1… 0.482 287. Unknown [M+H]+
## 9 F2902_mz287.1… 0.927 287. Unknown [M+H]+
## 10 F3733_mz355.1… 1.17 355. Unknown [M+H]+
## # ℹ 40 more rows
## # ℹ 5 more variables: `MS/MS assigned` <lgl>, Formula <chr>, Ontology <chr>,
## # `Total score` <chr>, sample_to_blank_ratio <dbl>
This may be even more interesting for root-associated chemistry.
root_exudate_specific_candidates <-
plant_compartment_presence %>%
filter(
!leaf_present,
root_present,
exudate_present,
!soil_present
) %>%
arrange(
desc(
sample_to_blank_ratio
)
)
nrow(
root_exudate_specific_candidates
)
## [1] 5
Inspect:
root_exudate_specific_candidates %>%
select(
feature_name,
`Average Rt(min)`,
`Average Mz`,
`Metabolite name`,
`Adduct type`,
`MS/MS assigned`,
Formula,
Ontology,
`Total score`,
sample_to_blank_ratio
) %>%
head(50)
## # A tibble: 5 × 10
## feature_name `Average Rt(min)` `Average Mz` `Metabolite name` `Adduct type`
## <chr> <dbl> <dbl> <chr> <chr>
## 1 F4601_mz494.81… 0.417 495. Unknown [M+H]+
## 2 F2544_mz260.19… 0.897 260. Unknown [M+H]+
## 3 F1207_mz164.10… 1.26 164. Unknown [M+H]+
## 4 F1085_mz155.04… 0.441 155. Unknown [M+H]+
## 5 F5091_mz739.74… 9.70 740. Unknown [M+H]+
## # ℹ 5 more variables: `MS/MS assigned` <lgl>, Formula <chr>, Ontology <chr>,
## # `Total score` <chr>, sample_to_blank_ratio <dbl>
This category would get my attention.
Conceptually:
Leaf absent Root present Exudate present Soil absent
That pattern is consistent with a root-associated compound appearing in the rhizosphere/exudate extraction.
Still not proof of secretion—but much stronger biological prioritization than just “exudate peak high.”
You should also keep these.
A compound doesn’t have to accumulate strongly inside root tissue to be released outside the plant.
exudate_only_not_soil <-
plant_compartment_presence %>%
filter(
!leaf_present,
!root_present,
exudate_present,
!soil_present
) %>%
arrange(
desc(
sample_to_blank_ratio
)
)
nrow(
exudate_only_not_soil
)
## [1] 42
Those could potentially include:
low-abundance secreted compounds; compounds rapidly exported from roots; root-derived transformation products; microbially transformed plant compounds; compounds produced specifically in the rhizosphere.
So do not discard them simply because they aren’t detected in root tissue.
write.csv(
plant_compartment_presence,
"positive_mode_plant_compartment_presence.csv",
row.names = FALSE
)
write.csv(
plant_pattern_summary,
"positive_mode_plant_pattern_summary.csv",
row.names = FALSE
)
write.csv(
root_exudate_not_soil,
"positive_mode_root_exudate_not_soil.csv",
row.names = FALSE
)
write.csv(
leaf_root_exudate_not_soil,
"positive_mode_leaf_root_exudate_not_soil.csv",
row.names = FALSE
)
write.csv(
root_exudate_specific_candidates,
"positive_mode_root_exudate_specific_candidates.csv",
row.names = FALSE
)
write.csv(
exudate_only_not_soil,
"positive_mode_exudate_only_not_soil.csv",
row.names = FALSE
)
quantitative_comparisons <- list(
# -------------------------
# PLANT / SOIL COMPARISONS
# -------------------------
Exudate_vs_Soil = list(
group1_cols = presence_groups$Exudate,
group2_cols = presence_groups$Soil,
group1_name = "Exudate",
group2_name = "Soil"
),
Exudate_vs_Root = list(
group1_cols = presence_groups$Exudate,
group2_cols = presence_groups$Root,
group1_name = "Exudate",
group2_name = "Root"
),
Exudate_vs_Leaf = list(
group1_cols = presence_groups$Exudate,
group2_cols = presence_groups$Leaf,
group1_name = "Exudate",
group2_name = "Leaf"
),
Leaf_vs_Root = list(
group1_cols = presence_groups$Leaf,
group2_cols = presence_groups$Root,
group1_name = "Leaf",
group2_name = "Root"
),
# -------------------------
# FUNGAL COMPARISONS
# -------------------------
Fungal_in_vs_out = list(
group1_cols = presence_groups$Fungal_in,
group2_cols = presence_groups$Fungal_out,
group1_name = "Fungal in",
group2_name = "Fungal out"
),
Fungal_in_vs_control = list(
group1_cols = presence_groups$Fungal_in,
group2_cols = presence_groups$Fungal_control,
group1_name = "Fungal in",
group2_name = "Fungal control"
),
Fungal_out_vs_control = list(
group1_cols = presence_groups$Fungal_out,
group2_cols = presence_groups$Fungal_control,
group1_name = "Fungal out",
group2_name = "Fungal control"
),
# old fungal sample vs agar control
Fungi_old_vs_control = list(
group1_cols = presence_groups$Fungi_old,
group2_cols = presence_groups$Fungal_control,
group1_name = "Fungi old",
group2_name = "Fungal control"
),
# directly tests whether old and newer colony-underneath agar differ
Fungi_old_vs_Fungal_in = list(
group1_cols = presence_groups$Fungi_old,
group2_cols = presence_groups$Fungal_in,
group1_name = "Fungi old",
group2_name = "Fungal in"
),
# optional spatial comparison with older fungus
Fungi_old_vs_Fungal_out = list(
group1_cols = presence_groups$Fungi_old,
group2_cols = presence_groups$Fungal_out,
group1_name = "Fungi old",
group2_name = "Fungal out"
)
)
The most biologically direct fungal age comparison is:
Fungi old vs Fungal in
because both represent fungus-associated agar. If those are very similar, age/maturity may matter less than the mere presence of fungal growth.
This separates:
detection/presence patterns; features suitable for quantitative abundance testing.
prepare_quantitative_comparison <- function(
data,
group1_cols,
group2_cols,
group1_name,
group2_name,
min_replicates = 2
) {
detection_table <- data %>%
mutate(
group1_n = rowSums(
across(
all_of(group1_cols),
~ .x > 0
),
na.rm = TRUE
),
group2_n = rowSums(
across(
all_of(group2_cols),
~ .x > 0
),
na.rm = TRUE
),
detection_category = case_when(
group1_n >= min_replicates &
group2_n >= min_replicates ~
"Quantifiable in both",
group1_n >= min_replicates &
group2_n < min_replicates ~
paste0(
group1_name,
"-associated detection"
),
group1_n < min_replicates &
group2_n >= min_replicates ~
paste0(
group2_name,
"-associated detection"
),
TRUE ~
"Not consistently detected in either"
)
)
detection_summary <- detection_table %>%
count(
detection_category
) %>%
mutate(
percent =
100 * n / sum(n)
)
abundance_features <- detection_table %>%
filter(
detection_category ==
"Quantifiable in both"
)
sample_cols <- c(
group1_cols,
group2_cols
)
raw_matrix <- abundance_features %>%
select(
feature_name,
all_of(sample_cols)
) %>%
column_to_rownames(
"feature_name"
) %>%
as.matrix() %>%
t()
list(
detection_table =
detection_table,
detection_summary =
detection_summary,
abundance_features =
abundance_features,
raw_matrix =
raw_matrix,
group1_name =
group1_name,
group2_name =
group2_name,
group1_cols =
group1_cols,
group2_cols =
group2_cols
)
}
prepared_comparisons <- lapply(
quantitative_comparisons,
function(x) {
prepare_quantitative_comparison(
data =
feature_qc,
group1_cols =
x$group1_cols,
group2_cols =
x$group2_cols,
group1_name =
x$group1_name,
group2_name =
x$group2_name
)
}
)
Check exudate vs soil:
prepared_comparisons$
Exudate_vs_Soil$
detection_summary
## # A tibble: 4 × 3
## detection_category n percent
## <chr> <int> <dbl>
## 1 Exudate-associated detection 129 3.11
## 2 Not consistently detected in either 2505 60.4
## 3 Quantifiable in both 1386 33.4
## 4 Soil-associated detection 124 2.99
Check fungi old vs control:
prepared_comparisons$
Fungi_old_vs_control$
detection_summary
## # A tibble: 4 × 3
## detection_category n percent
## <chr> <int> <dbl>
## 1 Fungal control-associated detection 483 11.7
## 2 Fungi old-associated detection 300 7.24
## 3 Not consistently detected in either 1092 26.4
## 4 Quantifiable in both 2269 54.8
# Create combined detection summary across all comparisons
detection_summary_all <- bind_rows(
lapply(
names(prepared_comparisons),
function(comparison_name) {
prepared_comparisons[[comparison_name]]$detection_summary %>%
mutate(
comparison = comparison_name
)
}
)
) %>%
select(
comparison,
detection_category,
n,
percent
)
detection_summary_all
## # A tibble: 40 × 4
## comparison detection_category n percent
## <chr> <chr> <int> <dbl>
## 1 Exudate_vs_Soil Exudate-associated detection 129 3.11
## 2 Exudate_vs_Soil Not consistently detected in either 2505 60.4
## 3 Exudate_vs_Soil Quantifiable in both 1386 33.4
## 4 Exudate_vs_Soil Soil-associated detection 124 2.99
## 5 Exudate_vs_Root Exudate-associated detection 401 9.68
## 6 Exudate_vs_Root Not consistently detected in either 1785 43.1
## 7 Exudate_vs_Root Quantifiable in both 1114 26.9
## 8 Exudate_vs_Root Root-associated detection 844 20.4
## 9 Exudate_vs_Leaf Exudate-associated detection 301 7.26
## 10 Exudate_vs_Leaf Leaf-associated detection 1615 39.0
## # ℹ 30 more rows
Save
write.csv(
detection_summary_all,
"positive_mode_all_detection_summaries.csv",
row.names = FALSE
)
Check old vs new/in:
prepared_comparisons$
Fungi_old_vs_Fungal_in$
detection_summary
## # A tibble: 4 × 3
## detection_category n percent
## <chr> <int> <dbl>
## 1 Fungal in-associated detection 326 7.87
## 2 Fungi old-associated detection 516 12.5
## 3 Not consistently detected in either 1249 30.1
## 4 Quantifiable in both 2053 49.5
detection_summary_all <- bind_rows(
lapply(
names(prepared_comparisons),
function(comparison_name) {
prepared_comparisons[[comparison_name]]$detection_summary %>%
mutate(
comparison = comparison_name
)
}
)
) %>%
select(
comparison,
detection_category,
n,
percent
)
detection_summary_all
## # A tibble: 40 × 4
## comparison detection_category n percent
## <chr> <chr> <int> <dbl>
## 1 Exudate_vs_Soil Exudate-associated detection 129 3.11
## 2 Exudate_vs_Soil Not consistently detected in either 2505 60.4
## 3 Exudate_vs_Soil Quantifiable in both 1386 33.4
## 4 Exudate_vs_Soil Soil-associated detection 124 2.99
## 5 Exudate_vs_Root Exudate-associated detection 401 9.68
## 6 Exudate_vs_Root Not consistently detected in either 1785 43.1
## 7 Exudate_vs_Root Quantifiable in both 1114 26.9
## 8 Exudate_vs_Root Root-associated detection 844 20.4
## 9 Exudate_vs_Leaf Exudate-associated detection 301 7.26
## 10 Exudate_vs_Leaf Leaf-associated detection 1615 39.0
## # ℹ 30 more rows
Save:
prepared_comparisons$Fungi_old_vs_Fungal_in$detection_summary
## # A tibble: 4 × 3
## detection_category n percent
## <chr> <int> <dbl>
## 1 Fungal in-associated detection 326 7.87
## 2 Fungi old-associated detection 516 12.5
## 3 Not consistently detected in either 1249 30.1
## 4 Quantifiable in both 2053 49.5
quantifiable_feature_counts <- tibble(
comparison = names(prepared_comparisons),
quantifiable_features = sapply(
prepared_comparisons,
function(x) {
nrow(x$abundance_features)
}
)
)
quantifiable_feature_counts
## # A tibble: 10 × 2
## comparison quantifiable_features
## <chr> <int>
## 1 Exudate_vs_Soil 1386
## 2 Exudate_vs_Root 1114
## 3 Exudate_vs_Leaf 1214
## 4 Leaf_vs_Root 1805
## 5 Fungal_in_vs_out 2290
## 6 Fungal_in_vs_control 2270
## 7 Fungal_out_vs_control 2556
## 8 Fungi_old_vs_control 2269
## 9 Fungi_old_vs_Fungal_in 2053
## 10 Fungi_old_vs_Fungal_out 2236
This table will be very useful. It tells you how much chemical overlap is available for actual abundance testing.
For example:
Exudate vs Soil 1386 Fungal in vs control ? Fungi old vs control ? Fungi old vs Fungal in ?
zero_summary_all <- bind_rows(
lapply(
names(prepared_comparisons),
function(comparison_name) {
x <- prepared_comparisons[[comparison_name]]$raw_matrix
tibble(
comparison = comparison_name,
total_values = length(x),
zero_values = sum(
x == 0,
na.rm = TRUE
),
zero_percent = 100 *
sum(
x == 0,
na.rm = TRUE
) /
length(x)
)
}
)
)
zero_summary_all
## # A tibble: 10 × 4
## comparison total_values zero_values zero_percent
## <chr> <int> <int> <dbl>
## 1 Exudate_vs_Soil 8316 283 3.40
## 2 Exudate_vs_Root 6684 248 3.71
## 3 Exudate_vs_Leaf 7284 251 3.45
## 4 Leaf_vs_Root 10830 392 3.62
## 5 Fungal_in_vs_out 13740 371 2.70
## 6 Fungal_in_vs_control 13620 365 2.68
## 7 Fungal_out_vs_control 15336 350 2.28
## 8 Fungi_old_vs_control 13614 402 2.95
## 9 Fungi_old_vs_Fungal_in 12318 434 3.52
## 10 Fungi_old_vs_Fungal_out 13416 424 3.16
Save:
write.csv(
zero_summary_all,
"positive_mode_quantitative_zero_summary.csv",
row.names = FALSE
)
normalize_comparison_matrix <- function(
raw_matrix
) {
sample_medians <- apply(
raw_matrix,
1,
function(x) {
positive_values <-
x[
x > 0 &
is.finite(x)
]
median(
positive_values,
na.rm = TRUE
)
}
)
global_median <-
median(
sample_medians,
na.rm = TRUE
)
normalized_matrix <-
sweep(
raw_matrix,
1,
sample_medians,
"/"
) *
global_median
log_matrix <-
log2(
normalized_matrix + 1
)
list(
normalized =
normalized_matrix,
log =
log_matrix,
sample_medians =
sample_medians,
global_median =
global_median
)
}
Run:
normalized_comparisons <- lapply(
prepared_comparisons,
function(x) {
normalize_comparison_matrix(
x$raw_matrix
)
}
)
#61. Comparison-specific PCA function. PCA Scored tell us which samples/groups separate along those PCs? Or, where the samples fall along those axes.
run_quantitative_pca <- function(
log_matrix,
metadata,
title_text
) {
feature_var <- apply(
log_matrix,
2,
var,
na.rm = TRUE
)
matrix_use <-
log_matrix[
,
is.finite(feature_var) &
feature_var > 0,
drop = FALSE
]
pca <-
prcomp(
matrix_use,
center = TRUE,
scale. = TRUE
)
variance <-
(
pca$sdev^2 /
sum(
pca$sdev^2
)
) * 100
scores <-
as.data.frame(
pca$x
) %>%
rownames_to_column(
"sample"
) %>%
left_join(
metadata,
by = "sample"
)
plot <-
ggplot(
scores,
aes(
x = PC1,
y = PC2,
fill = group
)
) +
geom_point(
shape = 21,
size = 5,
color = "black"
) +
geom_text_repel(
aes(label = sample)
) +
labs(
title =
title_text,
x = paste0(
"PC1 (",
round(
variance[1],
1
),
"%)"
),
y = paste0(
"PC2 (",
round(
variance[2],
1
),
"%)"
)
) +
theme_classic()
list(
pca = pca,
variance = variance,
scores = scores,
plot = plot
)
}
quantitative_pca_results <- lapply(
names(
normalized_comparisons
),
function(comparison_name) {
run_quantitative_pca(
log_matrix =
normalized_comparisons
[[comparison_name]]
$log,
metadata =
sample_metadata,
title_text =
paste0(
"PCA: ",
gsub(
"_",
" ",
comparison_name
),
"\nQuantifiable features only"
)
)
}
)
names(
quantitative_pca_results
) <-
names(
normalized_comparisons
)
Inspect fungal-age PCAs
Old vs agar control:
quantitative_pca_results$
Fungi_old_vs_control$plot
Old vs new/in:
quantitative_pca_results$
Fungi_old_vs_Fungal_in$plot
Old vs new/out:
quantitative_pca_results$
Fungi_old_vs_Fungal_out$plot
These three together are particularly informative.
Conceptually:
Old vs control → Does older fungal growth alter the agar metabolome?
New/in vs control → Does current fungal growth alter the agar metabolome?
Old vs new/in → Does colony age/maturity alter the fungal-associated metabolome?
Old vs new/out → How does older fungus-associated agar compare with agar outside the newer colony?
Install once in Console if necessary:
if (!requireNamespace("BiocManager", quietly = TRUE)) {
install.packages("BiocManager")
}
BiocManager::install("limma")
## Bioconductor version 3.22 (BiocManager 1.30.27), R 4.5.2 (2025-10-31 ucrt)
## Warning: package(s) not installed when version(s) same as or greater than current; use
## `force = TRUE` to re-install: 'limma'
## Installation paths not writeable, unable to update packages
## path: C:/Program Files/R/R-4.5.2/library
## packages:
## class, cluster, foreign, KernSmooth, lattice, MASS, Matrix, mgcv, nlme,
## nnet, rpart, spatial, survival
## Old packages: 'cli', 'Rcpp', 'rlang', 'stringi', 'xfun'
Then add near your other library() calls:
library(limma)
run_limma_comparison <- function(
log_matrix,
group1_cols,
group2_cols,
group1_name,
group2_name,
annotation_table
) {
# limma requires rows = features,
# columns = samples
limma_matrix <-
t(
log_matrix
)
sample_order <-
colnames(
limma_matrix
)
comparison_group <-
ifelse(
sample_order %in%
group1_cols,
group1_name,
group2_name
)
comparison_group <-
factor(
comparison_group,
levels = c(
group2_name,
group1_name
)
)
design <-
model.matrix(
~ comparison_group
)
fit <-
lmFit(
limma_matrix,
design
)
fit <-
eBayes(
fit
)
results <-
topTable(
fit,
coef = 2,
number = Inf,
adjust.method = "BH",
sort.by = "P"
) %>%
rownames_to_column(
"feature_name"
) %>%
left_join(
annotation_table,
by = "feature_name"
) %>%
mutate(
comparison =
paste0(
group1_name,
" vs ",
group2_name
),
higher_in =
case_when(
logFC > 0 ~
group1_name,
logFC < 0 ~
group2_name,
TRUE ~
"Equal"
),
result_category =
case_when(
adj.P.Val < 0.05 &
logFC >= 1 ~
paste0(
group1_name,
" enriched - FDR supported"
),
adj.P.Val < 0.05 &
logFC <= -1 ~
paste0(
group2_name,
" enriched - FDR supported"
),
P.Value < 0.05 &
logFC >= 1 ~
paste0(
group1_name,
" enriched - exploratory"
),
P.Value < 0.05 &
logFC <= -1 ~
paste0(
group2_name,
" enriched - exploratory"
),
TRUE ~
"Not selected"
)
)
results
}
limma_results <- lapply(
names(normalized_comparisons),
function(comparison_name) {
comparison_info <- quantitative_comparisons[[comparison_name]]
run_limma_comparison(
log_matrix =
normalized_comparisons[[comparison_name]]$log,
group1_cols =
comparison_info$group1_cols,
group2_cols =
comparison_info$group2_cols,
group1_name =
comparison_info$group1_name,
group2_name =
comparison_info$group2_name,
annotation_table =
feature_annotations
)
}
)
names(limma_results) <- names(normalized_comparisons)
Old vs control:
head(
limma_results$
Fungi_old_vs_control,
20
)
## feature_name logFC AveExpr t P.Value adj.P.Val
## 1 F2053_mz222.1129_rt1.18 5.152462 19.19795 16.302037 1.423468e-05 0.01966830
## 2 F2247_mz237.1852_rt1.58 8.103483 15.24967 14.154766 2.873491e-05 0.01966830
## 3 F2481_mz256.0819_rt0.65 8.978030 18.14663 13.572778 3.538052e-05 0.01966830
## 4 F650_mz125.0236_rt1.02 8.117728 17.64571 13.428817 3.729794e-05 0.01966830
## 5 F1578_mz190.0502_rt1.03 5.798827 19.04082 13.027112 4.334134e-05 0.01966830
## 6 F2323_mz244.095_rt1.18 3.999527 16.82617 12.245229 5.881783e-05 0.02224294
## 7 F1306_mz171.0655_rt1.1 10.589724 18.42494 11.766885 7.155466e-05 0.02319393
## 8 F1207_mz164.1072_rt1.26 5.053455 18.97947 11.351529 8.535668e-05 0.02406475
## 9 F1003_mz148.0396_rt1.21 6.981601 15.72617 10.614671 1.185244e-04 0.02406475
## 10 F1866_mz209.1176_rt1.18 4.183145 16.65052 10.614363 1.185412e-04 0.02406475
## 11 F885_mz141.0549_rt1.07 8.711202 19.25571 10.458123 1.274320e-04 0.02406475
## 12 F1259_mz167.1069_rt1.06 3.103585 16.27433 10.351966 1.339268e-04 0.02406475
## 13 F2392_mz248.1497_rt1.19 5.561651 16.86255 10.290360 1.378765e-04 0.02406475
## 14 F1765_mz202.1078_rt1 4.912713 17.95407 9.549646 1.981297e-04 0.03211116
## 15 F728_mz130.1229_rt1.24 4.137836 19.26719 9.344218 2.200869e-04 0.03329181
## 16 F4435_mz453.1987_rt0.95 2.268436 18.70400 8.840853 2.873387e-04 0.04074822
## 17 F1415_mz178.0865_rt1.13 1.717025 17.99205 8.702812 3.098741e-04 0.04135908
## 18 F2120_mz227.1282_rt1.18 3.599122 17.08500 8.436425 3.595820e-04 0.04532731
## 19 F807_mz136.0759_rt1.14 -2.574659 18.26616 -8.242328 4.018153e-04 0.04564105
## 20 F3227_mz310.1765_rt0.8 -5.287868 17.66086 -8.240238 4.023010e-04 0.04564105
## B Alignment ID Average Rt(min) Average Mz Metabolite name
## 1 3.7212599 2053 1.179 222.1129 Unknown
## 2 3.2029610 2247 1.584 237.1852 Unknown
## 3 3.0392581 2481 0.652 256.0819 Unknown
## 4 2.9970192 650 1.019 125.0236 Unknown
## 5 2.8752896 1578 1.032 190.0502 Unknown
## 6 2.6209135 2323 1.179 244.0950 Unknown
## 7 2.4529403 1306 1.100 171.0655 Unknown
## 8 2.2988030 1207 1.259 164.1072 Unknown
## 9 2.0047168 1003 1.207 148.0396 Unknown
## 10 2.0045880 1866 1.180 209.1176 Unknown
## 11 1.9385915 885 1.069 141.0549 Unknown
## 12 1.8929844 1259 1.059 167.1069 Unknown
## 13 1.8662275 2392 1.192 248.1497 Unknown
## 14 1.5270154 1765 1.003 202.1078 Unknown
## 15 1.4268786 728 1.235 130.1229 Unknown
## 16 1.1694278 4435 0.954 453.1987 Unknown
## 17 1.0956752 1415 1.130 178.0865 Unknown
## 18 0.9493064 2120 1.178 227.1282 Unknown
## 19 0.8391807 807 1.139 136.0759 Unknown
## 20 0.8379786 3227 0.799 310.1765 Unknown
## Adduct type
## 1 [M+H]+
## 2 [M+H]+
## 3 [M+H]+
## 4 [M+H]+
## 5 [M+H]+
## 6 [M+H]+
## 7 [M+H]+
## 8 [M+H]+
## 9 [M+H]+
## 10 [M+H]+
## 11 [M+H]+
## 12 [M+H]+
## 13 [M+H]+
## 14 [M+H]+
## 15 [M+H]+
## 16 [M+H]+
## 17 [M+H]+
## 18 [M+H]+
## 19 [M+H]+
## 20 [M+H]+
## Post curation result
## 1 <NA>
## 2 <NA>
## 3 <NA>
## 4 ion correlated with 1578; ion correlated with 885; similar chromatogram in higher mz_966; similar chromatogram in higher mz_2975; similar chromatogram in higher mz_3144; similar chromatogram in higher mz_4033; similar chromatogram in higher mz_4175; similar chromatogram in higher mz_4321; found in higher mz's MsMs_1504
## 5 ion correlated with 650; ion correlated with 885
## 6 ion correlated with 3623
## 7 ion correlated with 885
## 8 ion correlated with 580; ion correlated with 728
## 9 ion correlated with 2799; ion correlated with 2619; ion correlated with 2120; ion correlated with 2102; ion correlated with 1754; ion correlated with 2021; ion correlated with 1272; ion correlated with 1996
## 10 <NA>
## 11 ion correlated with 1306; similar chromatogram in higher mz_1284; similar chromatogram in higher mz_2816; similar chromatogram in higher mz_2941; similar chromatogram in higher mz_3277
## 12 ion correlated with 3491
## 13 ion correlated with 2194; ion correlated with 2707; ion correlated with 2166; ion correlated with 3235; ion correlated with 2358; ion correlated with 1768
## 14 ion correlated with 4067; ion correlated with 4082; ion correlated with 3243; ion correlated with 650; ion correlated with 1504; ion correlated with 1578; ion correlated with 1606
## 15 ion correlated with 580; ion correlated with 1207; similar chromatogram in higher mz_1444; similar chromatogram in higher mz_1176
## 16 <NA>
## 17 similar chromatogram in higher mz_2723
## 18 ion correlated with 2619; ion correlated with 1003; ion correlated with 2021
## 19 ion correlated with 3603; ion correlated with 3335; ion correlated with 3569; ion correlated with 2499; ion correlated with 1811
## 20 ion correlated with 2962; ion correlated with 4683; ion correlated with 2192
## Fill % MS/MS assigned Formula Ontology INCHIKEY SMILES
## 1 0.107 TRUE null null null null
## 2 0.107 TRUE null null null null
## 3 0.214 TRUE null null null null
## 4 0.107 TRUE null null null null
## 5 0.107 TRUE null null null null
## 6 0.107 FALSE null null null null
## 7 0.107 TRUE null null null null
## 8 0.250 TRUE null null null null
## 9 0.071 TRUE null null null null
## 10 0.071 FALSE null null null null
## 11 0.214 TRUE null null null null
## 12 0.179 FALSE null null null null
## 13 0.107 TRUE null null null null
## 14 0.107 TRUE null null null null
## 15 0.286 TRUE null null null null
## 16 0.286 FALSE null null null null
## 17 0.107 TRUE null null null null
## 18 0.036 FALSE null null null null
## 19 0.179 TRUE null null null null
## 20 0.143 FALSE null null null null
## Annotation tag (VS1.0) RT matched m/z matched MS/MS matched Total score
## 1 999 FALSE FALSE FALSE null
## 2 999 FALSE FALSE FALSE null
## 3 999 FALSE FALSE FALSE null
## 4 999 FALSE FALSE FALSE null
## 5 999 FALSE FALSE FALSE null
## 6 999 FALSE FALSE FALSE null
## 7 999 FALSE FALSE FALSE null
## 8 999 FALSE FALSE FALSE null
## 9 999 FALSE FALSE FALSE null
## 10 999 FALSE FALSE FALSE null
## 11 999 FALSE FALSE FALSE null
## 12 999 FALSE FALSE FALSE null
## 13 999 FALSE FALSE FALSE null
## 14 999 FALSE FALSE FALSE null
## 15 999 FALSE FALSE FALSE null
## 16 999 FALSE FALSE FALSE null
## 17 999 FALSE FALSE FALSE null
## 18 999 FALSE FALSE FALSE null
## 19 999 FALSE FALSE FALSE null
## 20 999 FALSE FALSE FALSE null
## RT similarity Dot product Reverse dot product Fragment presence %
## 1 null null null null
## 2 null null null null
## 3 null null null null
## 4 null null null null
## 5 null null null null
## 6 null null null null
## 7 null null null null
## 8 null null null null
## 9 null null null null
## 10 null null null null
## 11 null null null null
## 12 null null null null
## 13 null null null null
## 14 null null null null
## 15 null null null null
## 16 null null null null
## 17 null null null null
## 18 null null null null
## 19 null null null null
## 20 null null null null
## S/N average blank_mean sample_to_blank_ratio number_detected
## 1 453.87 21574.3333 1.504428e+02 24
## 2 102.13 1426.3333 5.250056e+02 18
## 3 720.63 0.0000 5.673333e+06 12
## 4 304.95 13448.0000 2.372970e+02 24
## 5 1425.28 625.6667 6.774554e+03 20
## 6 71.93 0.0000 4.201240e+05 14
## 7 608.99 26035.6667 6.606384e+02 24
## 8 275.22 3108.0000 9.666150e+02 17
## 9 88.75 558.0000 1.214601e+03 18
## 10 73.13 20202.0000 2.088947e+01 24
## 11 736.51 26056.6667 5.311437e+02 24
## 12 48.16 62457.3333 1.121436e+01 24
## 13 106.81 6117.6667 2.586565e+02 23
## 14 296.01 10267.6667 1.436797e+02 23
## 15 134.51 10188.6667 2.654121e+02 23
## 16 6684.92 0.0000 8.291570e+05 13
## 17 44.95 0.0000 4.500990e+05 21
## 18 108.27 20288.6667 2.334858e+01 24
## 19 83.46 20258.3333 4.226378e+01 24
## 20 157.97 29614.3333 6.413060e+01 18
## comparison higher_in
## 1 Fungi old vs Fungal control Fungi old
## 2 Fungi old vs Fungal control Fungi old
## 3 Fungi old vs Fungal control Fungi old
## 4 Fungi old vs Fungal control Fungi old
## 5 Fungi old vs Fungal control Fungi old
## 6 Fungi old vs Fungal control Fungi old
## 7 Fungi old vs Fungal control Fungi old
## 8 Fungi old vs Fungal control Fungi old
## 9 Fungi old vs Fungal control Fungi old
## 10 Fungi old vs Fungal control Fungi old
## 11 Fungi old vs Fungal control Fungi old
## 12 Fungi old vs Fungal control Fungi old
## 13 Fungi old vs Fungal control Fungi old
## 14 Fungi old vs Fungal control Fungi old
## 15 Fungi old vs Fungal control Fungi old
## 16 Fungi old vs Fungal control Fungi old
## 17 Fungi old vs Fungal control Fungi old
## 18 Fungi old vs Fungal control Fungi old
## 19 Fungi old vs Fungal control Fungal control
## 20 Fungi old vs Fungal control Fungal control
## result_category
## 1 Fungi old enriched - FDR supported
## 2 Fungi old enriched - FDR supported
## 3 Fungi old enriched - FDR supported
## 4 Fungi old enriched - FDR supported
## 5 Fungi old enriched - FDR supported
## 6 Fungi old enriched - FDR supported
## 7 Fungi old enriched - FDR supported
## 8 Fungi old enriched - FDR supported
## 9 Fungi old enriched - FDR supported
## 10 Fungi old enriched - FDR supported
## 11 Fungi old enriched - FDR supported
## 12 Fungi old enriched - FDR supported
## 13 Fungi old enriched - FDR supported
## 14 Fungi old enriched - FDR supported
## 15 Fungi old enriched - FDR supported
## 16 Fungi old enriched - FDR supported
## 17 Fungi old enriched - FDR supported
## 18 Fungi old enriched - FDR supported
## 19 Fungal control enriched - FDR supported
## 20 Fungal control enriched - FDR supported
Old vs new/in:
head(
limma_results$
Fungi_old_vs_Fungal_in,
20
)
## feature_name logFC AveExpr t P.Value
## 1 F4756_mz555.4051_rt3.42 6.037349 14.67659 22.084259 3.347906e-06
## 2 F2053_mz222.1129_rt1.18 4.545771 18.78020 20.172263 5.255943e-06
## 3 F4086_mz393.2866_rt2.14 11.173873 19.01125 20.161792 5.269541e-06
## 4 F2331_mz244.264_rt2.03 -4.952738 16.39831 -17.630557 1.026241e-05
## 5 F1476_mz182.0814_rt0.52 -5.065613 20.39236 -17.247546 1.144322e-05
## 6 F2420_mz251.1605_rt0.4 3.453614 20.64873 14.060743 3.139564e-05
## 7 F1910_mz213.0761_rt0.97 -5.302245 15.66974 -13.638792 3.647140e-05
## 8 F2330_mz244.2639_rt1.89 -4.898287 15.79211 -13.348149 4.054252e-05
## 9 F2997_mz293.1824_rt0.43 2.685749 18.30819 11.944295 6.985868e-05
## 10 F886_mz141.0549_rt0.94 -2.682389 18.31508 -11.685705 7.773111e-05
## 11 F1728_mz200.1034_rt0.8 3.426546 15.98694 11.359503 8.922543e-05
## 12 F260_mz97.0287_rt0.94 -2.527842 18.78600 -11.303912 9.138102e-05
## 13 F2934_mz288.29_rt1.99 -3.532579 14.65110 -11.268571 9.278373e-05
## 14 F1386_mz176.0558_rt0.69 2.386311 16.49629 11.160650 9.722883e-05
## 15 F636_mz124.0396_rt1.02 -2.181653 18.55537 -10.679666 1.204091e-04
## 16 F1578_mz190.0502_rt1.03 5.127321 18.65548 10.613827 1.240715e-04
## 17 F2122_mz227.1394_rt0.79 2.933471 17.69896 10.385636 1.378351e-04
## 18 F1062_mz153.0408_rt0.75 2.638015 20.39288 10.297648 1.436232e-04
## 19 F2741_mz275.1105_rt0.92 -2.873671 16.00119 -9.627883 1.986128e-04
## 20 F2247_mz237.1852_rt1.58 6.282090 15.43928 9.395761 2.233032e-04
## adj.P.Val B Alignment ID Average Rt(min) Average Mz Metabolite name
## 1 0.003606122 4.762736 4756 3.420 555.40509 Unknown
## 2 0.003606122 4.494796 2053 1.179 222.11288 Unknown
## 3 0.003606122 4.493192 4086 2.140 393.28659 Unknown
## 4 0.004698585 4.053161 2331 2.033 244.26398 Unknown
## 5 0.004698585 3.976369 1476 0.518 182.08141 Unknown
## 6 0.010404223 3.202471 2420 0.397 251.16052 Unknown
## 7 0.010404223 3.078454 1910 0.966 213.07605 Unknown
## 8 0.010404223 2.989548 2330 1.893 244.26393 Unknown
## 9 0.014257914 2.515809 2997 0.427 293.18243 Unknown
## 10 0.014257914 2.419736 886 0.942 141.05487 Unknown
## 11 0.014257914 2.294232 1728 0.801 200.10335 Unknown
## 12 0.014257914 2.272348 260 0.940 97.02866 Unknown
## 13 0.014257914 2.258359 2934 1.992 288.29001 Unknown
## 14 0.014257914 2.215267 1386 0.687 176.05583 Unknown
## 15 0.015919928 2.016159 636 1.025 124.03963 Unknown
## 16 0.015919928 1.987976 1578 1.032 190.05022 Unknown
## 17 0.016381028 1.888493 2122 0.788 227.13943 Unknown
## 18 0.016381028 1.849370 1062 0.749 153.04083 Unknown
## 19 0.021460639 1.536870 2741 0.921 275.11050 Unknown
## 20 0.022922076 1.422161 2247 1.584 237.18524 Unknown
## Adduct type
## 1 [M+H]+
## 2 [M+H]+
## 3 [M+H]+
## 4 [M+H]+
## 5 [M+H]+
## 6 [M+H]+
## 7 [M+H]+
## 8 [M+H]+
## 9 [M+H]+
## 10 [M+H]+
## 11 [M+H]+
## 12 [M+H]+
## 13 [M+H]+
## 14 [M+H]+
## 15 [M+H]+
## 16 [M+H]+
## 17 [M+H]+
## 18 [M+H]+
## 19 [M+H]+
## 20 [M+H]+
## Post curation result
## 1 ion correlated with 4277
## 2 <NA>
## 3 <NA>
## 4 <NA>
## 5 <NA>
## 6 <NA>
## 7 similar chromatogram in higher mz_4414; found in higher mz's MsMs_4414
## 8 ion correlated with 2935
## 9 ion correlated with 2083
## 10 <NA>
## 11 ion correlated with 2277
## 12 similar chromatogram in higher mz_886; similar chromatogram in higher mz_2802; similar chromatogram in higher mz_3443
## 13 <NA>
## 14 ion correlated with 1390; ion correlated with 970; ion correlated with 917; ion correlated with 1979; ion correlated with 825; ion correlated with 2134; ion correlated with 1891; ion correlated with 1688; ion correlated with 1086
## 15 <NA>
## 16 ion correlated with 650; ion correlated with 885
## 17 <NA>
## 18 similar chromatogram in higher mz_3448
## 19 <NA>
## 20 <NA>
## Fill % MS/MS assigned Formula Ontology INCHIKEY SMILES
## 1 0.107 TRUE null null null null
## 2 0.107 TRUE null null null null
## 3 0.286 TRUE null null null null
## 4 0.214 TRUE null null null null
## 5 0.393 TRUE null null null null
## 6 0.429 TRUE null null null null
## 7 0.107 FALSE null null null null
## 8 0.214 TRUE null null null null
## 9 0.214 FALSE null null null null
## 10 0.250 FALSE null null null null
## 11 0.036 FALSE null null null null
## 12 0.214 FALSE null null null null
## 13 0.107 TRUE null null null null
## 14 0.036 FALSE null null null null
## 15 0.179 TRUE null null null null
## 16 0.107 TRUE null null null null
## 17 0.179 FALSE null null null null
## 18 0.429 TRUE null null null null
## 19 0.143 FALSE null null null null
## 20 0.107 TRUE null null null null
## Annotation tag (VS1.0) RT matched m/z matched MS/MS matched Total score
## 1 999 FALSE FALSE FALSE null
## 2 999 FALSE FALSE FALSE null
## 3 999 FALSE FALSE FALSE null
## 4 999 FALSE FALSE FALSE null
## 5 999 FALSE FALSE FALSE null
## 6 999 FALSE FALSE FALSE null
## 7 999 FALSE FALSE FALSE null
## 8 999 FALSE FALSE FALSE null
## 9 999 FALSE FALSE FALSE null
## 10 999 FALSE FALSE FALSE null
## 11 999 FALSE FALSE FALSE null
## 12 999 FALSE FALSE FALSE null
## 13 999 FALSE FALSE FALSE null
## 14 999 FALSE FALSE FALSE null
## 15 999 FALSE FALSE FALSE null
## 16 999 FALSE FALSE FALSE null
## 17 999 FALSE FALSE FALSE null
## 18 999 FALSE FALSE FALSE null
## 19 999 FALSE FALSE FALSE null
## 20 999 FALSE FALSE FALSE null
## RT similarity Dot product Reverse dot product Fragment presence %
## 1 null null null null
## 2 null null null null
## 3 null null null null
## 4 null null null null
## 5 null null null null
## 6 null null null null
## 7 null null null null
## 8 null null null null
## 9 null null null null
## 10 null null null null
## 11 null null null null
## 12 null null null null
## 13 null null null null
## 14 null null null null
## 15 null null null null
## 16 null null null null
## 17 null null null null
## 18 null null null null
## 19 null null null null
## 20 null null null null
## S/N average blank_mean sample_to_blank_ratio number_detected
## 1 9.07 0.0000 447754.00000 6
## 2 453.87 21574.3333 150.44282 24
## 3 15392.28 4792.6667 9686.10298 22
## 4 140.70 22708.6667 37.67277 24
## 5 575.01 11555.0000 1018.96660 24
## 6 240.90 5197.6667 1565.92036 17
## 7 54.87 5392.0000 85.18950 21
## 8 89.36 22272.3333 30.60507 24
## 9 113.53 2269.3333 537.01850 13
## 10 62.69 50610.6667 16.83572 24
## 11 80.14 3093.3333 131.37660 13
## 12 83.81 56925.0000 17.40749 24
## 13 13.48 12622.0000 18.84037 24
## 14 81.62 0.0000 375909.00000 13
## 15 45.45 105861.0000 16.44961 24
## 16 1425.28 625.6667 6774.55372 20
## 17 124.16 0.0000 939333.00000 14
## 18 157.68 14715.0000 459.11518 19
## 19 41.56 0.0000 279610.00000 15
## 20 102.13 1426.3333 525.00560 18
## comparison higher_in result_category
## 1 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 2 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 3 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 4 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 5 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 6 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 7 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 8 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 9 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 10 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 11 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 12 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 13 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 14 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 15 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 16 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 17 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 18 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 19 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 20 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
Old vs new/out:
head(
limma_results$
Fungi_old_vs_Fungal_out,
20
)
## feature_name logFC AveExpr t P.Value
## 1 F2053_mz222.1129_rt1.18 4.971373 18.96909 24.497732 2.022574e-06
## 2 F2331_mz244.264_rt2.03 -5.138599 16.89291 -23.576038 2.448658e-06
## 3 F2816_mz280.155_rt1.08 5.896853 18.29125 19.117247 6.947178e-06
## 4 F2481_mz256.0819_rt0.65 5.661341 19.48557 16.821607 1.309578e-05
## 5 F2330_mz244.2639_rt1.89 -5.294833 16.39204 -14.324405 2.893730e-05
## 6 F650_mz125.0236_rt1.02 6.890391 17.93997 13.520127 3.843746e-05
## 7 F636_mz124.0396_rt1.02 -2.583304 19.15789 -13.453240 3.938421e-05
## 8 F2997_mz293.1824_rt0.43 2.849215 18.62815 13.080578 4.519927e-05
## 9 F2247_mz237.1852_rt1.58 7.384637 15.28969 12.762393 5.099112e-05
## 10 F2420_mz251.1605_rt0.4 2.650753 21.45185 12.462111 5.728755e-05
## 11 F2934_mz288.29_rt1.99 -3.756156 15.16453 -12.127411 6.543331e-05
## 12 F2004_mz218.1501_rt0.45 -2.333876 18.69544 -12.126371 6.546069e-05
## 13 F1504_mz184.0608_rt1.02 5.394661 16.91627 11.801912 7.471549e-05
## 14 F1578_mz190.0502_rt1.03 5.581090 18.83029 11.271012 9.346774e-05
## 15 F1306_mz171.0655_rt1.1 8.799900 19.00044 11.149764 9.850836e-05
## 16 F2482_mz256.0819_rt0.49 5.185875 19.76870 10.764324 1.168309e-04
## 17 F885_mz141.0549_rt1.07 5.999148 20.29233 10.330573 1.425389e-04
## 18 F3127_mz302.1352_rt0.72 -1.926170 18.41997 -10.057776 1.621773e-04
## 19 F1866_mz209.1176_rt1.18 3.921472 16.46195 9.721181 1.910357e-04
## 20 F2392_mz248.1497_rt1.19 4.568597 17.03967 9.567288 2.062464e-04
## adj.P.Val B Alignment ID Average Rt(min) Average Mz Metabolite name
## 1 0.002737599 5.148174 2053 1.179 222.1129 Unknown
## 2 0.002737599 5.043488 2331 2.033 244.2640 Unknown
## 3 0.005177964 4.396304 2816 1.076 280.1550 Unknown
## 4 0.007320541 3.940996 2481 0.652 256.0819 Unknown
## 5 0.012197509 3.309911 2330 1.893 244.2639 Unknown
## 6 0.012197509 3.068490 650 1.019 125.0236 Unknown
## 7 0.012197509 3.047442 636 1.025 124.0396 Unknown
## 8 0.012197509 2.927285 2997 0.427 293.1824 Unknown
## 9 0.012197509 2.820675 2247 1.584 237.1852 Unknown
## 10 0.012197509 2.716506 2420 0.397 251.1605 Unknown
## 11 0.012197509 2.596134 2934 1.992 288.2900 Unknown
## 12 0.012197509 2.595753 2004 0.446 218.1501 Unknown
## 13 0.012851065 2.474552 1504 1.019 184.0608 Unknown
## 14 0.014684313 2.266103 1578 1.032 190.0502 Unknown
## 15 0.014684313 2.216644 1306 1.100 171.0655 Unknown
## 16 0.016327116 2.054587 2482 0.491 256.0819 Unknown
## 17 0.018748054 1.862990 885 1.069 141.0549 Unknown
## 18 0.020146026 1.737185 3127 0.721 302.1352 Unknown
## 19 0.020881999 1.575986 1866 1.180 209.1176 Unknown
## 20 0.020881999 1.499992 2392 1.192 248.1497 Unknown
## Adduct type
## 1 [M+H]+
## 2 [M+H]+
## 3 [M+H]+
## 4 [M+H]+
## 5 [M+H]+
## 6 [M+H]+
## 7 [M+H]+
## 8 [M+H]+
## 9 [M+H]+
## 10 [M+H]+
## 11 [M+H]+
## 12 [M+H]+
## 13 [M+H]+
## 14 [M+H]+
## 15 [M+H]+
## 16 [M+H]+
## 17 [M+H]+
## 18 [M+H]+
## 19 [M+H]+
## 20 [M+H]+
## Post curation result
## 1 <NA>
## 2 <NA>
## 3 <NA>
## 4 <NA>
## 5 ion correlated with 2935
## 6 ion correlated with 1578; ion correlated with 885; similar chromatogram in higher mz_966; similar chromatogram in higher mz_2975; similar chromatogram in higher mz_3144; similar chromatogram in higher mz_4033; similar chromatogram in higher mz_4175; similar chromatogram in higher mz_4321; found in higher mz's MsMs_1504
## 7 <NA>
## 8 ion correlated with 2083
## 9 <NA>
## 10 <NA>
## 11 <NA>
## 12 ion correlated with 2058; ion correlated with 493; ion correlated with 2360; ion correlated with 2364; ion correlated with 2016; ion correlated with 1812; ion correlated with 1989; ion correlated with 2207; ion correlated with 1541
## 13 ion correlated with 4067; ion correlated with 1765; ion correlated with 3243; ion correlated with 650; ion correlated with 4175; ion correlated with 1578; ion correlated with 1606
## 14 ion correlated with 650; ion correlated with 885
## 15 ion correlated with 885
## 16 <NA>
## 17 ion correlated with 1306; similar chromatogram in higher mz_1284; similar chromatogram in higher mz_2816; similar chromatogram in higher mz_2941; similar chromatogram in higher mz_3277
## 18 <NA>
## 19 <NA>
## 20 ion correlated with 2194; ion correlated with 2707; ion correlated with 2166; ion correlated with 3235; ion correlated with 2358; ion correlated with 1768
## Fill % MS/MS assigned Formula Ontology INCHIKEY SMILES
## 1 0.107 TRUE null null null null
## 2 0.214 TRUE null null null null
## 3 0.214 TRUE null null null null
## 4 0.214 TRUE null null null null
## 5 0.214 TRUE null null null null
## 6 0.107 TRUE null null null null
## 7 0.179 TRUE null null null null
## 8 0.214 FALSE null null null null
## 9 0.107 TRUE null null null null
## 10 0.429 TRUE null null null null
## 11 0.107 TRUE null null null null
## 12 0.357 FALSE null null null null
## 13 0.107 TRUE null null null null
## 14 0.107 TRUE null null null null
## 15 0.107 TRUE null null null null
## 16 0.250 TRUE null null null null
## 17 0.214 TRUE null null null null
## 18 0.143 FALSE null null null null
## 19 0.071 FALSE null null null null
## 20 0.107 TRUE null null null null
## Annotation tag (VS1.0) RT matched m/z matched MS/MS matched Total score
## 1 999 FALSE FALSE FALSE null
## 2 999 FALSE FALSE FALSE null
## 3 999 FALSE FALSE FALSE null
## 4 999 FALSE FALSE FALSE null
## 5 999 FALSE FALSE FALSE null
## 6 999 FALSE FALSE FALSE null
## 7 999 FALSE FALSE FALSE null
## 8 999 FALSE FALSE FALSE null
## 9 999 FALSE FALSE FALSE null
## 10 999 FALSE FALSE FALSE null
## 11 999 FALSE FALSE FALSE null
## 12 999 FALSE FALSE FALSE null
## 13 999 FALSE FALSE FALSE null
## 14 999 FALSE FALSE FALSE null
## 15 999 FALSE FALSE FALSE null
## 16 999 FALSE FALSE FALSE null
## 17 999 FALSE FALSE FALSE null
## 18 999 FALSE FALSE FALSE null
## 19 999 FALSE FALSE FALSE null
## 20 999 FALSE FALSE FALSE null
## RT similarity Dot product Reverse dot product Fragment presence %
## 1 null null null null
## 2 null null null null
## 3 null null null null
## 4 null null null null
## 5 null null null null
## 6 null null null null
## 7 null null null null
## 8 null null null null
## 9 null null null null
## 10 null null null null
## 11 null null null null
## 12 null null null null
## 13 null null null null
## 14 null null null null
## 15 null null null null
## 16 null null null null
## 17 null null null null
## 18 null null null null
## 19 null null null null
## 20 null null null null
## S/N average blank_mean sample_to_blank_ratio number_detected
## 1 453.87 21574.3333 1.504428e+02 24
## 2 140.70 22708.6667 3.767277e+01 24
## 3 123.69 11048.3333 2.691088e+02 18
## 4 720.63 0.0000 5.673333e+06 12
## 5 89.36 22272.3333 3.060507e+01 24
## 6 304.95 13448.0000 2.372970e+02 24
## 7 45.45 105861.0000 1.644961e+01 24
## 8 113.53 2269.3333 5.370185e+02 13
## 9 102.13 1426.3333 5.250056e+02 18
## 10 240.90 5197.6667 1.565920e+03 17
## 11 13.48 12622.0000 1.884037e+01 24
## 12 276.61 0.0000 1.574746e+06 13
## 13 153.47 671.3333 1.446306e+03 15
## 14 1425.28 625.6667 6.774554e+03 20
## 15 608.99 26035.6667 6.606384e+02 24
## 16 975.17 0.0000 7.561205e+06 13
## 17 736.51 26056.6667 5.311437e+02 24
## 18 194.38 0.0000 8.033770e+05 13
## 19 73.13 20202.0000 2.088947e+01 24
## 20 106.81 6117.6667 2.586565e+02 23
## comparison higher_in result_category
## 1 Fungi old vs Fungal out Fungi old Fungi old enriched - FDR supported
## 2 Fungi old vs Fungal out Fungal out Fungal out enriched - FDR supported
## 3 Fungi old vs Fungal out Fungi old Fungi old enriched - FDR supported
## 4 Fungi old vs Fungal out Fungi old Fungi old enriched - FDR supported
## 5 Fungi old vs Fungal out Fungal out Fungal out enriched - FDR supported
## 6 Fungi old vs Fungal out Fungi old Fungi old enriched - FDR supported
## 7 Fungi old vs Fungal out Fungal out Fungal out enriched - FDR supported
## 8 Fungi old vs Fungal out Fungi old Fungi old enriched - FDR supported
## 9 Fungi old vs Fungal out Fungi old Fungi old enriched - FDR supported
## 10 Fungi old vs Fungal out Fungi old Fungi old enriched - FDR supported
## 11 Fungi old vs Fungal out Fungal out Fungal out enriched - FDR supported
## 12 Fungi old vs Fungal out Fungal out Fungal out enriched - FDR supported
## 13 Fungi old vs Fungal out Fungi old Fungi old enriched - FDR supported
## 14 Fungi old vs Fungal out Fungi old Fungi old enriched - FDR supported
## 15 Fungi old vs Fungal out Fungi old Fungi old enriched - FDR supported
## 16 Fungi old vs Fungal out Fungi old Fungi old enriched - FDR supported
## 17 Fungi old vs Fungal out Fungi old Fungi old enriched - FDR supported
## 18 Fungi old vs Fungal out Fungal out Fungal out enriched - FDR supported
## 19 Fungi old vs Fungal out Fungi old Fungi old enriched - FDR supported
## 20 Fungi old vs Fungal out Fungi old Fungi old enriched - FDR supported
limma_summary_all <- bind_rows(
lapply(
names(
limma_results
),
function(comparison_name) {
x <-limma_results[[comparison_name]]
tibble(
comparison =
comparison_name,
tested_features =
nrow(x),
raw_p_under_05 =
sum(
x$P.Value < 0.05,
na.rm = TRUE
),
FDR_under_05 =
sum(
x$adj.P.Val < 0.05,
na.rm = TRUE
),
FDR_and_twofold =
sum(
x$adj.P.Val < 0.05 &
abs(
x$logFC
) >= 1,
na.rm = TRUE
),
group1_enriched_FDR =
sum(
x$adj.P.Val < 0.05 &
x$logFC >= 1,
na.rm = TRUE
),
group2_enriched_FDR =
sum(
x$adj.P.Val < 0.05 &
x$logFC <= -1,
na.rm = TRUE
)
)
}
)
)
limma_summary_all
## # A tibble: 10 × 7
## comparison tested_features raw_p_under_05 FDR_under_05 FDR_and_twofold
## <chr> <int> <int> <int> <int>
## 1 Exudate_vs_Soil 1386 294 1 1
## 2 Exudate_vs_Root 1114 648 592 547
## 3 Exudate_vs_Leaf 1214 771 728 681
## 4 Leaf_vs_Root 1805 1000 892 854
## 5 Fungal_in_vs_out 2290 919 456 267
## 6 Fungal_in_vs_con… 2270 1051 807 583
## 7 Fungal_out_vs_co… 2556 429 30 26
## 8 Fungi_old_vs_con… 2269 841 52 52
## 9 Fungi_old_vs_Fun… 2053 822 262 261
## 10 Fungi_old_vs_Fun… 2236 839 162 162
## # ℹ 2 more variables: group1_enriched_FDR <int>, group2_enriched_FDR <int>
fungal_limma_summary <-
limma_summary_all %>%
filter(
comparison %in% c(
"Fungal_in_vs_out",
"Fungal_in_vs_control",
"Fungal_out_vs_control",
"Fungi_old_vs_control",
"Fungi_old_vs_Fungal_in",
"Fungi_old_vs_Fungal_out"
)
)
fungal_limma_summary
## # A tibble: 6 × 7
## comparison tested_features raw_p_under_05 FDR_under_05 FDR_and_twofold
## <chr> <int> <int> <int> <int>
## 1 Fungal_in_vs_out 2290 919 456 267
## 2 Fungal_in_vs_cont… 2270 1051 807 583
## 3 Fungal_out_vs_con… 2556 429 30 26
## 4 Fungi_old_vs_cont… 2269 841 52 52
## 5 Fungi_old_vs_Fung… 2053 822 262 261
## 6 Fungi_old_vs_Fung… 2236 839 162 162
## # ℹ 2 more variables: group1_enriched_FDR <int>, group2_enriched_FDR <int>
This will let you compare, side by side, how many features differ in each fungal contrast.
This is especially useful for your age question.
First get features significantly different from control in the old fungal group:
old_vs_control_sig <-
limma_results$
Fungi_old_vs_control %>%
filter(
adj.P.Val < 0.05,
abs(logFC) >= 1
) %>%
pull(
feature_name
)
Get features significantly different from control in new/in:
new_in_vs_control_sig <-
limma_results$
Fungal_in_vs_control %>%
filter(
adj.P.Val < 0.05,
abs(logFC) >= 1
) %>%
pull(
feature_name
)
Shared fungal-effect features:
shared_old_new_fungal_features <-
intersect(
old_vs_control_sig,
new_in_vs_control_sig
)
length(
shared_old_new_fungal_features
)
## [1] 24
Inspect them:
shared_old_new_fungal_results <-
feature_annotations %>%
filter(
feature_name %in%
shared_old_new_fungal_features
)
shared_old_new_fungal_results
## # A tibble: 24 × 26
## feature_name `Alignment ID` `Average Rt(min)` `Average Mz` `Metabolite name`
## <chr> <dbl> <dbl> <dbl> <chr>
## 1 F64_mz72.081… 64 0.393 72.1 Unknown
## 2 F259_mz97.02… 259 1.01 97.0 Unknown
## 3 F489_mz114.0… 489 1.00 114. Unknown
## 4 F650_mz125.0… 650 1.02 125. Unknown
## 5 F885_mz141.0… 885 1.07 141. Unknown
## 6 F990_mz147.0… 990 0.459 147. Unknown
## 7 F1150_mz160.… 1150 0.776 160. Unknown
## 8 F1207_mz164.… 1207 1.26 164. Unknown
## 9 F1259_mz167.… 1259 1.06 167. Unknown
## 10 F1306_mz171.… 1306 1.1 171. Unknown
## # ℹ 14 more rows
## # ℹ 21 more variables: `Adduct type` <chr>, `Post curation result` <chr>,
## # `Fill %` <dbl>, `MS/MS assigned` <lgl>, Formula <chr>, Ontology <chr>,
## # INCHIKEY <chr>, SMILES <chr>, `Annotation tag (VS1.0)` <dbl>,
## # `RT matched` <lgl>, `m/z matched` <lgl>, `MS/MS matched` <lgl>,
## # `Total score` <chr>, `RT similarity` <chr>, `Dot product` <chr>,
## # `Reverse dot product` <chr>, `Fragment presence %` <chr>, …
These are strong candidates for:
features associated with fungal growth regardless of colony age.
age_sensitive_fungal_features <-
limma_results$
Fungi_old_vs_Fungal_in %>%
filter(
adj.P.Val < 0.05,
abs(logFC) >= 1
)
age_sensitive_fungal_features
## feature_name logFC AveExpr t P.Value
## 1 F4756_mz555.4051_rt3.42 6.037349 14.67659 22.084259 3.347906e-06
## 2 F2053_mz222.1129_rt1.18 4.545771 18.78020 20.172263 5.255943e-06
## 3 F4086_mz393.2866_rt2.14 11.173873 19.01125 20.161792 5.269541e-06
## 4 F2331_mz244.264_rt2.03 -4.952738 16.39831 -17.630557 1.026241e-05
## 5 F1476_mz182.0814_rt0.52 -5.065613 20.39236 -17.247546 1.144322e-05
## 6 F2420_mz251.1605_rt0.4 3.453614 20.64873 14.060743 3.139564e-05
## 7 F1910_mz213.0761_rt0.97 -5.302245 15.66974 -13.638792 3.647140e-05
## 8 F2330_mz244.2639_rt1.89 -4.898287 15.79211 -13.348149 4.054252e-05
## 9 F2997_mz293.1824_rt0.43 2.685749 18.30819 11.944295 6.985868e-05
## 10 F886_mz141.0549_rt0.94 -2.682389 18.31508 -11.685705 7.773111e-05
## 11 F1728_mz200.1034_rt0.8 3.426546 15.98694 11.359503 8.922543e-05
## 12 F260_mz97.0287_rt0.94 -2.527842 18.78600 -11.303912 9.138102e-05
## 13 F2934_mz288.29_rt1.99 -3.532579 14.65110 -11.268571 9.278373e-05
## 14 F1386_mz176.0558_rt0.69 2.386311 16.49629 11.160650 9.722883e-05
## 15 F636_mz124.0396_rt1.02 -2.181653 18.55537 -10.679666 1.204091e-04
## 16 F1578_mz190.0502_rt1.03 5.127321 18.65548 10.613827 1.240715e-04
## 17 F2122_mz227.1394_rt0.79 2.933471 17.69896 10.385636 1.378351e-04
## 18 F1062_mz153.0408_rt0.75 2.638015 20.39288 10.297648 1.436232e-04
## 19 F2741_mz275.1105_rt0.92 -2.873671 16.00119 -9.627883 1.986128e-04
## 20 F2247_mz237.1852_rt1.58 6.282090 15.43928 9.395761 2.233032e-04
## 21 F4175_mz407.2396_rt1.02 5.289750 16.17257 9.299941 2.345499e-04
## 22 F2004_mz218.1501_rt0.45 -1.886490 18.07006 -9.108109 2.591574e-04
## 23 F728_mz130.1229_rt1.24 4.320084 18.45497 9.003628 2.738484e-04
## 24 F791_mz135.0556_rt0.93 -2.455860 16.69823 -8.966056 2.793719e-04
## 25 F864_mz140.0345_rt0.72 3.682182 17.93779 8.903181 2.889145e-04
## 26 F650_mz125.0236_rt1.02 3.974122 18.99641 8.886569 2.915000e-04
## 27 F2465_mz255.098_rt0.48 2.739048 18.44413 8.702436 3.220825e-04
## 28 F837_mz138.0553_rt0.98 -3.360677 19.83895 -8.634528 3.343137e-04
## 29 F1577_mz190.0031_rt0.42 -2.244431 16.35653 -8.447701 3.709193e-04
## 30 F1774_mz202.9707_rt0.38 1.826347 15.15514 8.317141 3.993407e-04
## 31 F2392_mz248.1497_rt1.19 3.751427 17.04657 8.191051 4.292747e-04
## 32 F2816_mz280.155_rt1.08 2.149501 19.76323 8.145196 4.408157e-04
## 33 F1352_mz173.1399_rt0.77 3.404815 18.38803 8.011188 4.767149e-04
## 34 F2437_mz252.1235_rt1.13 3.125456 18.04958 7.959061 4.916091e-04
## 35 F2188_mz232.0973_rt1.25 2.595938 16.28033 7.956749 4.922822e-04
## 36 F2143_mz228.1963_rt1.68 -1.670488 15.98437 -7.844839 5.262188e-04
## 37 F3782_mz360.1504_rt0.48 -2.481365 24.37182 -7.796630 5.416882e-04
## 38 F1850_mz208.0972_rt1.18 3.055521 19.91468 7.776925 5.481663e-04
## 39 F2289_mz241.1549_rt0.77 3.609556 17.25438 7.669160 5.852611e-04
## 40 F2481_mz256.0819_rt0.65 2.524554 20.65228 7.647263 5.931576e-04
## 41 F1467_mz181.1226_rt5.72 -1.583570 11.86574 -7.606655 6.081386e-04
## 42 F807_mz136.0759_rt1.14 -2.045931 17.28070 -7.574261 6.204113e-04
## 43 F3331_mz318.13_rt0.45 4.849630 15.97928 7.567957 6.228336e-04
## 44 F885_mz141.0549_rt1.07 4.527276 20.62658 7.565908 6.236234e-04
## 45 F1590_mz191.077_rt0.42 -1.882387 18.56466 -7.467287 6.630760e-04
## 46 F290_mz98.9844_rt0.46 -2.345958 18.75052 -7.363899 7.076496e-04
## 47 F4435_mz453.1987_rt0.95 2.405811 17.91421 7.336141 7.202148e-04
## 48 F1579_mz190.0712_rt0.78 1.763920 18.58935 7.325249 7.252174e-04
## 49 F1504_mz184.0608_rt1.02 3.518236 17.45279 7.254043 7.589535e-04
## 50 F727_mz130.0979_rt0.49 -1.833499 20.14880 -7.186278 7.927968e-04
## 51 F1824_mz206.1026_rt0.45 2.345385 17.21190 7.185097 7.934021e-04
## 52 F2818_mz280.2641_rt5.32 6.067283 14.64766 7.121644 8.267512e-04
## 53 F2316_mz243.1838_rt0.44 4.020699 17.18501 7.076602 8.514320e-04
## 54 F3582_mz342.1401_rt0.47 -1.705382 20.41077 -7.072335 8.538149e-04
## 55 F2645_mz269.1752_rt1.19 3.220084 14.72060 7.042937 8.704491e-04
## 56 F1360_mz174.1129_rt0.73 2.167341 17.08284 7.011752 8.885146e-04
## 57 F2418_mz251.1031_rt1.12 4.640319 17.83851 7.005532 8.921704e-04
## 58 F1207_mz164.1072_rt1.26 3.482553 19.04383 6.984534 9.046451e-04
## 59 F1306_mz171.0655_rt1.1 5.289593 20.35391 6.959860 9.195678e-04
## 60 F1765_mz202.1078_rt1 3.831044 17.77380 6.942352 9.303331e-04
## 61 F523_mz116.1072_rt1.14 3.903860 17.91238 6.935763 9.344225e-04
## 62 F586_mz120.5276_rt1 -2.573561 16.28842 -6.902251 9.555564e-04
## 63 F1670_mz195.9491_rt0.85 -2.414092 17.06820 -6.902003 9.557150e-04
## 64 F1415_mz178.0865_rt1.13 1.440512 17.40921 6.891469 9.624755e-04
## 65 F1086_mz155.0816_rt0.74 2.041917 17.05928 6.891245 9.626200e-04
## 66 F2567_mz262.0694_rt0.43 3.381298 17.57676 6.879456 9.702546e-04
## 67 F2813_mz280.1395_rt0.68 5.203407 21.28127 6.872061 9.750800e-04
## 68 F2707_mz273.1814_rt1.18 4.159812 18.80251 6.797787 1.025153e-03
## 69 F950_mz145.0497_rt0.47 -1.834945 21.52756 -6.753465 1.056479e-03
## 70 F4082_mz393.2241_rt0.98 4.188629 17.09219 6.752295 1.057322e-03
## 71 F2083_mz224.1131_rt0.44 2.520393 18.42577 6.730214 1.073365e-03
## 72 F3223_mz310.1291_rt0.94 5.481962 19.18652 6.709001 1.089049e-03
## 73 F93_mz76.0395_rt0.45 -3.710402 19.81457 -6.662256 1.124575e-03
## 74 F2410_mz250.1192_rt1.06 -1.586859 17.71644 -6.618188 1.159325e-03
## 75 F3164_mz304.3001_rt2.83 -2.698662 16.15002 -6.609805 1.166079e-03
## 76 F2496_mz257.1182_rt1.39 -2.253666 16.46383 -6.593843 1.179067e-03
## 77 F2369_mz247.1084_rt1.19 2.583435 17.54485 6.524187 1.237778e-03
## 78 F1888_mz211.0756_rt1.34 -2.158771 21.85118 -6.524083 1.237868e-03
## 79 F1359_mz174.1128_rt1.14 2.437444 20.04898 6.522919 1.238878e-03
## 80 F1529_mz186.1493_rt1.01 2.151053 16.47541 6.456967 1.297732e-03
## 81 F3175_mz305.1767_rt1.34 -2.125967 21.55960 -6.441958 1.311582e-03
## 82 F3205_mz308.1037_rt1.05 1.435769 15.63826 6.424363 1.328042e-03
## 83 F2630_mz268.1043_rt0.51 -3.841796 21.05583 -6.402576 1.348761e-03
## 84 F1866_mz209.1176_rt1.18 3.208880 16.41656 6.399867 1.351364e-03
## 85 F2879_mz285.2904_rt1.69 -2.856582 15.68412 -6.386446 1.364346e-03
## 86 F348_mz103.0391_rt0.71 3.806514 18.51365 6.352565 1.397781e-03
## 87 F1003_mz148.0396_rt1.21 5.428650 15.78155 6.344849 1.405529e-03
## 88 F3407_mz325.1133_rt0.48 -2.268099 22.18228 -6.336550 1.413920e-03
## 89 F1438_mz180.0868_rt0.46 -2.742664 21.57301 -6.292216 1.459756e-03
## 90 F1205_mz164.0821_rt0.78 3.053710 16.66596 6.280227 1.472450e-03
## 91 F2842_mz282.2797_rt6.36 5.441095 18.20371 6.266681 1.486949e-03
## 92 F2930_mz288.2174_rt1.25 2.750362 14.64896 6.253700 1.501003e-03
## 93 F1482_mz182.9031_rt0.4 1.557328 15.84926 6.233550 1.523128e-03
## 94 F1698_mz198.0974_rt0.46 -3.862560 22.35731 -6.221929 1.536062e-03
## 95 F2102_mz226.1081_rt1.19 3.760265 16.34528 6.210369 1.549058e-03
## 96 F1298_mz170.0813_rt0.75 1.778989 20.40347 6.203199 1.557184e-03
## 97 F1288_mz169.1014_rt1.36 2.367661 13.10723 6.182574 1.580838e-03
## 98 F3485_mz332.3316_rt3.83 -3.003253 14.70127 -6.179457 1.584449e-03
## 99 F491_mz114.0915_rt0.89 -1.385166 17.94582 -6.171255 1.593999e-03
## 100 F1899_mz212.1033_rt0.9 -1.537761 21.19770 -6.100347 1.679447e-03
## 101 F2512_mz258.1263_rt1.34 -2.089838 24.06997 -6.061685 1.728304e-03
## 102 F4316_mz430.1576_rt0.87 -1.282670 18.95682 -6.019983 1.782889e-03
## 103 F2029_mz220.1337_rt1.07 1.665817 16.58330 6.014956 1.789604e-03
## 104 F2194_mz232.1548_rt1.17 4.871403 16.88257 5.915877 1.928247e-03
## 105 F2941_mz289.119_rt1.08 1.556898 18.66624 5.902012 1.948639e-03
## 106 F3844_mz366.166_rt0.99 1.589200 15.58557 5.895765 1.957910e-03
## 107 F683_mz127.0393_rt1.05 -1.587084 19.00553 -5.871666 1.994162e-03
## 108 F2779_mz277.148_rt0.89 5.025585 18.96590 5.867021 2.001240e-03
## 109 F2120_mz227.1282_rt1.18 2.533131 16.89690 5.864380 2.005279e-03
## 110 F3390_mz323.1471_rt1.25 3.426105 14.11981 5.863047 2.007320e-03
## 111 F4193_mz409.1875_rt1 -2.992658 16.19632 -5.861696 2.009391e-03
## 112 F2254_mz238.1079_rt1.19 2.312202 18.12058 5.860479 2.011259e-03
## 113 F3222_mz310.1192_rt1.07 3.266992 15.37967 5.849571 2.028096e-03
## 114 F2608_mz266.124_rt0.47 2.334791 22.94207 5.841363 2.040875e-03
## 115 F2942_mz289.1401_rt0.86 3.597169 17.54007 5.800653 2.105668e-03
## 116 F2837_mz282.1456_rt1.22 1.289422 16.52346 5.789548 2.123758e-03
## 117 F1561_mz188.1649_rt1.02 2.216472 16.38247 5.789317 2.124138e-03
## 118 F1537_mz187.0716_rt0.73 1.316409 17.84440 5.789031 2.124606e-03
## 119 F1702_mz198.1126_rt0.9 -1.824159 17.90515 -5.765998 2.162734e-03
## 120 F668_mz126.0551_rt0.62 1.222200 21.06313 5.765274 2.163945e-03
## 121 F405_mz108.0444_rt0.62 1.309236 20.17322 5.762542 2.168524e-03
## 122 F1208_mz164.1073_rt1.35 -1.734894 15.64865 -5.744280 2.199422e-03
## 123 F3837_mz365.1925_rt0.94 3.786726 16.45089 5.736501 2.212741e-03
## 124 F2149_mz229.0977_rt1.05 1.135647 19.42900 5.713661 2.252397e-03
## 125 F1609_mz192.1023_rt1.21 -1.190473 16.26935 -5.707000 2.264118e-03
## 126 F1462_mz181.1225_rt7.32 -1.796648 11.21902 -5.703218 2.270806e-03
## 127 F1780_mz203.0818_rt0.91 1.259300 17.79968 5.695815 2.283964e-03
## 128 F415_mz109.0286_rt0.47 -1.541164 19.08412 -5.695489 2.284544e-03
## 129 F1963_mz215.9837_rt5.78 -1.757351 12.94166 -5.695232 2.285003e-03
## 130 F4657_mz513.2296_rt1.4 -2.225037 17.98971 -5.689907 2.294527e-03
## 131 F2113_mz227.082_rt1.07 1.187829 17.72840 5.677091 2.317642e-03
## 132 F1725_mz200.0443_rt0.45 -1.695346 19.11115 -5.675773 2.320034e-03
## 133 F4067_mz391.2084_rt0.97 4.818345 16.51228 5.673504 2.324161e-03
## 134 F1478_mz182.0815_rt0.75 -1.274744 21.17604 -5.667871 2.334440e-03
## 135 F3898_mz371.2071_rt1.15 -2.196784 13.38357 -5.618118 2.427591e-03
## 136 F1583_mz190.1077_rt0.92 1.257311 20.13365 5.606169 2.450607e-03
## 137 F2517_mz259.0648_rt0.42 -2.398765 16.22642 -5.596373 2.469668e-03
## 138 F3090_mz300.1447_rt0.89 2.883143 15.27898 5.592732 2.476797e-03
## 139 F859_mz139.9881_rt8.02 -1.713513 14.38673 -5.585864 2.490308e-03
## 140 F1770_mz202.1807_rt1.09 1.963975 16.32225 5.559304 2.543386e-03
## 141 F3541_mz337.172_rt0.44 3.523983 18.95249 5.515962 2.632875e-03
## 142 F2147_mz229.0612_rt1.23 1.785065 16.57720 5.515171 2.634542e-03
## 143 F4020_mz385.1474_rt1.29 -1.398121 17.67303 -5.491299 2.685444e-03
## 144 F1563_mz188.2011_rt1.3 -3.606082 18.31992 -5.480887 2.708006e-03
## 145 F2523_mz259.1293_rt0.78 1.784894 22.17211 5.464257 2.744503e-03
## 146 F175_mz85.0285_rt0.47 -1.886105 21.16371 -5.453374 2.768699e-03
## 147 F3012_mz294.1553_rt0.9 4.435443 24.27495 5.444649 2.788279e-03
## 148 F1825_mz206.1182_rt1.05 1.287820 16.12520 5.443831 2.790124e-03
## 149 F2099_mz226.0713_rt0.75 3.358316 17.32580 5.442473 2.793187e-03
## 150 F2743_mz275.1395_rt1.06 1.258440 17.34900 5.435857 2.808174e-03
## 151 F1459_mz181.1225_rt5.96 -1.532778 11.54426 -5.433529 2.813468e-03
## 152 F2619_mz267.1208_rt1.18 3.504582 16.34736 5.428167 2.825710e-03
## 153 F2761_mz276.1448_rt0.9 4.594845 22.18458 5.397345 2.897300e-03
## 154 F1111_mz157.0498_rt0.92 5.032873 17.56642 5.386394 2.923245e-03
## 155 F3537_mz337.1051_rt2.67 -1.533445 15.20258 -5.385490 2.925400e-03
## 156 F1432_mz179.1547_rt1.08 1.086427 16.36418 5.379644 2.939373e-03
## 157 F1580_mz190.0866_rt1.18 2.060019 16.69201 5.379157 2.940539e-03
## 158 F1968_mz216.0984_rt0.8 1.468098 16.82691 5.377327 2.944932e-03
## 159 F3021_mz295.114_rt0.45 3.189440 19.12348 5.374092 2.952716e-03
## 160 F1979_mz217.0825_rt0.68 1.466476 16.85545 5.368407 2.966452e-03
## 161 F2847_mz283.1083_rt1.44 -2.471945 14.65731 -5.365993 2.972307e-03
## 162 F1976_mz217.015_rt0.64 -2.173239 18.43384 -5.364271 2.976493e-03
## 163 F3621_mz346.055_rt0.84 2.443275 16.58083 5.364229 2.976596e-03
## 164 F256_mz97.0286_rt0.48 -1.559650 20.78464 -5.362041 2.981925e-03
## 165 F3836_mz365.1829_rt1.01 -1.467791 16.07854 -5.296371 3.147158e-03
## 166 F1387_mz176.0711_rt1.19 -1.438315 16.36721 -5.288584 3.167454e-03
## 167 F696_mz128.1072_rt1.14 1.872202 18.18534 5.270011 3.216480e-03
## 168 F1430_mz179.1183_rt1.24 -1.043673 16.12595 -5.248525 3.274309e-03
## 169 F1046_mz152.0475_rt0.94 -1.195593 17.10784 -5.245953 3.281313e-03
## 170 F459_mz112.0507_rt0.48 -2.529089 20.67563 -5.221146 3.349768e-03
## 171 F3833_mz365.1057_rt0.61 -1.147261 19.33864 -5.214024 3.369732e-03
## 172 F2327_mz244.1549_rt1.13 2.600894 14.72050 5.206269 3.391625e-03
## 173 F4403_mz446.2543_rt2.39 3.531948 13.90847 5.193191 3.428923e-03
## 174 F1612_mz192.1597_rt0.49 -3.597121 21.56866 -5.188653 3.441978e-03
## 175 F1496_mz183.0921_rt1.08 1.360384 20.62950 5.152966 3.546690e-03
## 176 F2322_mz244.0933_rt0.49 -2.407714 19.95341 -5.152469 3.548174e-03
## 177 F1883_mz210.1161_rt0.89 -3.330152 19.38275 -5.132980 3.606958e-03
## 178 F676_mz127.0391_rt0.47 -1.292552 21.05112 -5.122880 3.637867e-03
## 179 F2520_mz259.093_rt0.86 1.519993 18.40450 5.118393 3.651699e-03
## 180 F1388_mz176.0919_rt0.91 1.166478 17.41856 5.114869 3.662606e-03
## 181 F2773_mz277.1033_rt0.49 1.971110 17.78012 5.112089 3.671236e-03
## 182 F3780_mz360.1446_rt0.99 -5.266755 16.31804 -5.108141 3.683535e-03
## 183 F783_mz134.0449_rt0.45 -4.114628 21.48333 -5.092889 3.731493e-03
## 184 F437_mz110.0602_rt0.69 1.592252 20.94637 5.073744 3.792733e-03
## 185 F2994_mz293.1614_rt0.98 -2.027445 18.97493 -5.066506 3.816189e-03
## 186 F1135_mz159.031_rt0.52 -1.962425 22.72347 -5.058767 3.841461e-03
## 187 F2486_mz256.1184_rt1.08 3.673176 16.91140 5.030942 3.933937e-03
## 188 F121_mz79.0214_rt0.93 -1.980008 27.01865 -5.026232 3.949848e-03
## 189 F2389_mz248.1134_rt0.47 2.139715 19.17492 5.016836 3.981813e-03
## 190 F3450_mz330.1817_rt1.1 1.577227 15.56431 5.015436 3.986600e-03
## 191 F3274_mz315.0846_rt1.2 -1.640105 17.32700 -5.014756 3.988927e-03
## 192 F2153_mz229.1551_rt0.9 1.993572 18.60586 5.010916 4.002104e-03
## 193 F2042_mz221.1862_rt0.45 2.443902 22.13713 4.988533 4.079933e-03
## 194 F2003_mz218.1394_rt0.99 2.428560 16.01227 4.978518 4.115328e-03
## 195 F1729_mz200.1075_rt1.08 1.301819 16.81299 4.953225 4.206322e-03
## 196 F2814_mz280.1395_rt0.5 4.330339 20.75897 4.951062 4.214213e-03
## 197 F3867_mz368.1828_rt1.01 1.413904 15.91628 4.945041 4.236267e-03
## 198 F1669_mz195.9489_rt0.66 -1.879225 17.71423 -4.941122 4.250693e-03
## 199 F2075_mz223.9438_rt0.84 -3.679885 15.26469 -4.919656 4.330737e-03
## 200 F4030_mz386.2192_rt1.15 1.495203 15.97504 4.917363 4.339391e-03
## 201 F379_mz105.0701_rt1.26 2.725108 15.59596 4.912093 4.359359e-03
## 202 F784_mz134.0714_rt0.7 2.838733 17.44971 4.906101 4.382190e-03
## 203 F2253_mz238.1079_rt1.08 3.960496 17.79224 4.896650 4.418485e-03
## 204 F2181_mz231.1133_rt1.06 1.287120 20.35670 4.891899 4.436861e-03
## 205 F3312_mz317.1823_rt0.91 -1.520034 17.55782 -4.890776 4.441221e-03
## 206 F1122_mz158.0925_rt0.77 1.336950 23.40326 4.878243 4.490185e-03
## 207 F2462_mz255.0768_rt1.52 1.143363 15.11287 4.877122 4.494592e-03
## 208 F1027_mz149.9529_rt0.4 -2.334290 15.14216 -4.875462 4.501133e-03
## 209 F1889_mz211.0869_rt1.82 -1.167516 18.57392 -4.870232 4.521810e-03
## 210 F140_mz81.0172_rt0.93 -2.052613 22.60296 -4.851834 4.595435e-03
## 211 F1542_mz187.1081_rt1 2.667054 16.78334 4.832671 4.673608e-03
## 212 F1797_mz204.1234_rt0.92 1.759711 18.72498 4.825882 4.701672e-03
## 213 F3428_mz328.1397_rt0.94 5.025229 21.59750 4.822840 4.714312e-03
## 214 F2036_mz221.0926_rt1.04 1.092507 17.32417 4.808661 4.773752e-03
## 215 F2812_mz280.0922_rt0.45 -2.672577 18.50654 -4.808656 4.773772e-03
## 216 F3221_mz310.1138_rt0.47 4.070459 18.44385 4.794522 4.833891e-03
## 217 F2833_mz282.1189_rt0.47 2.755167 20.66043 4.792764 4.841429e-03
## 218 F4005_mz383.2296_rt0.97 -2.235483 14.49509 -4.782552 4.885495e-03
## 219 F2790_mz278.1239_rt0.49 2.387309 21.50649 4.767215 4.952554e-03
## 220 F2312_mz243.094_rt0.42 -2.368397 14.51603 -4.761409 4.978218e-03
## 221 F3448_mz330.06_rt0.76 2.974319 17.61094 4.758575 4.990805e-03
## 222 F4710_mz537.2266_rt1.34 -2.164332 16.40452 -4.755976 5.002377e-03
## 223 F973_mz146.1653_rt0.81 4.241418 18.12672 4.740797 5.070591e-03
## 224 F1389_mz176.0919_rt0.49 1.394848 20.32482 4.739806 5.075085e-03
## 225 F2578_mz263.1032_rt1.06 2.726218 17.54542 4.739552 5.076237e-03
## 226 F4224_mz414.236_rt0.95 -1.178043 16.70501 -4.715863 5.185014e-03
## 227 F2255_mz238.108_rt0.98 1.660957 18.17114 4.713517 5.195931e-03
## 228 F2792_mz278.1507_rt1.11 1.619265 15.76855 4.711560 5.205060e-03
## 229 F313_mz100.1122_rt0.94 -3.836539 19.38923 -4.699639 5.261074e-03
## 230 F2243_mz237.0874_rt0.91 1.186418 19.29762 4.696005 5.278289e-03
## 231 F3252_mz312.9204_rt0.38 1.105410 16.26135 4.688162 5.315669e-03
## 232 F2264_mz239.1031_rt0.91 -1.220959 18.36470 -4.687476 5.318950e-03
## 233 F3831_mz365.1057_rt0.79 -4.547098 16.62308 -4.685614 5.327879e-03
## 234 F3048_mz297.1453_rt1.04 1.620019 16.57286 4.681115 5.349515e-03
## 235 F1638_mz193.9829_rt0.43 -1.904276 17.29450 -4.676687 5.370910e-03
## 236 F3858_mz367.1507_rt0.98 3.957914 18.48184 4.653392 5.485119e-03
## 237 F1053_mz152.1072_rt0.9 -1.395230 19.49338 -4.633410 5.585341e-03
## 238 F1108_mz157.0351_rt0.52 -1.901222 26.36261 -4.632249 5.591231e-03
## 239 F1186_mz163.0602_rt0.47 -1.491721 20.52610 -4.615505 5.676953e-03
## 240 F4676_mz522.2036_rt0.49 -1.227677 21.93935 -4.614735 5.680933e-03
## 241 F2802_mz279.1346_rt0.94 -1.813283 18.39993 -4.611493 5.697724e-03
## 242 F1097_mz156.1021_rt1.14 1.752452 17.61025 4.598666 5.764711e-03
## 243 F2748_mz275.1716_rt0.78 1.464790 18.83450 4.593848 5.790110e-03
## 244 F1273_mz168.1022_rt0.93 -1.077381 18.71189 -4.583581 5.844665e-03
## 245 F2482_mz256.0819_rt0.49 2.333303 20.79329 4.579566 5.866161e-03
## 246 F2071_mz223.1446_rt0.97 1.319657 17.37824 4.571287 5.910782e-03
## 247 F585_mz120.081_rt1.17 1.061263 20.30233 4.570758 5.913643e-03
## 248 F3099_mz301.1051_rt0.41 -1.301559 15.90168 -4.564943 5.945240e-03
## 249 F3127_mz302.1352_rt0.72 -1.070689 17.59054 -4.562098 5.960768e-03
## 250 F4033_mz387.1771_rt1.01 2.324401 16.51994 4.550723 6.023319e-03
## 251 F4576_mz487.1662_rt0.48 -2.220019 18.98381 -4.547741 6.039847e-03
## 252 F3190_mz307.08_rt0.88 -1.372398 16.29795 -4.544670 6.056918e-03
## 253 F805_mz136.0619_rt0.49 -6.413688 19.72276 -4.541849 6.072654e-03
## 254 F2217_mz234.1341_rt1.02 2.919467 16.09622 4.538564 6.091031e-03
## 255 F613_mz122.0967_rt0.91 -1.530330 17.55075 -4.536976 6.099941e-03
## 256 F1764_mz202.0898_rt1.12 1.637920 13.56007 4.524121 6.172617e-03
## 257 F3132_mz302.2082_rt0.98 -1.313464 17.90894 -4.514848 6.225664e-03
## 258 F1787_mz203.1506_rt0.48 -2.840578 18.28824 -4.501870 6.300794e-03
## 259 F2114_mz227.103_rt0.96 1.685907 22.44674 4.500787 6.307115e-03
## 260 F114_mz79.0214_rt2.13 -1.568359 22.71696 -4.497045 6.328994e-03
## 261 F115_mz79.0214_rt2.67 -1.519088 22.09154 -4.494118 6.346177e-03
## adj.P.Val B Alignment ID Average Rt(min) Average Mz
## 1 0.003606122 4.762735826 4756 3.420 555.40509
## 2 0.003606122 4.494796453 2053 1.179 222.11288
## 3 0.003606122 4.493192194 4086 2.140 393.28659
## 4 0.004698585 4.053161490 2331 2.033 244.26398
## 5 0.004698585 3.976369207 1476 0.518 182.08141
## 6 0.010404223 3.202471047 2420 0.397 251.16052
## 7 0.010404223 3.078454285 1910 0.966 213.07605
## 8 0.010404223 2.989548037 2330 1.893 244.26393
## 9 0.014257914 2.515808657 2997 0.427 293.18243
## 10 0.014257914 2.419736225 886 0.942 141.05487
## 11 0.014257914 2.294232058 1728 0.801 200.10335
## 12 0.014257914 2.272348184 260 0.940 97.02866
## 13 0.014257914 2.258358924 2934 1.992 288.29001
## 14 0.014257914 2.215267400 1386 0.687 176.05583
## 15 0.015919928 2.016159454 636 1.025 124.03963
## 16 0.015919928 1.987976227 1578 1.032 190.05022
## 17 0.016381028 1.888492742 2122 0.788 227.13943
## 18 0.016381028 1.849369776 1062 0.749 153.04083
## 19 0.021460639 1.536869947 2741 0.921 275.11050
## 20 0.022922076 1.422161478 2247 1.584 237.18524
## 21 0.022930043 1.373793636 4175 1.022 407.23965
## 22 0.023017290 1.275122764 2004 0.446 218.15010
## 23 0.023017290 1.220326674 728 1.235 130.12289
## 24 0.023017290 1.200436587 791 0.933 135.05556
## 25 0.023017290 1.166928728 864 0.716 140.03448
## 26 0.023017290 1.158029155 650 1.019 125.02357
## 27 0.024490202 1.058053950 2465 0.481 255.09801
## 28 0.024512355 1.020557850 837 0.983 138.05528
## 29 0.026258531 0.915617144 1577 0.418 190.00308
## 30 0.027328212 0.840692629 1774 0.384 202.97069
## 31 0.028281080 0.767058936 2392 1.192 248.14972
## 32 0.028281080 0.739964917 2816 1.076 280.15497
## 33 0.028875869 0.659799303 1352 0.770 173.13991
## 34 0.028875869 0.628213821 2437 1.131 252.12346
## 35 0.028875869 0.626807852 2188 1.251 232.09734
## 36 0.029097703 0.558201902 2143 1.682 228.19626
## 37 0.029097703 0.528318130 3782 0.477 360.15045
## 38 0.029097703 0.516044970 1850 1.177 208.09721
## 39 0.029097703 0.448325908 2289 0.772 241.15492
## 40 0.029097703 0.434440926 2481 0.652 256.08191
## 41 0.029097703 0.408577553 1467 5.715 181.12262
## 42 0.029097703 0.387839982 807 1.139 136.07594
## 43 0.029097703 0.383793220 3331 0.451 318.12997
## 44 0.029097703 0.382477069 885 1.069 141.05486
## 45 0.029878197 0.318681912 1590 0.421 191.07697
## 46 0.029878197 0.250841679 290 0.464 98.98443
## 47 0.029878197 0.232457744 4435 0.954 453.19867
## 48 0.029878197 0.225224049 1579 0.785 190.07124
## 49 0.029878197 0.177657279 1504 1.019 184.06082
## 50 0.029878197 0.131937629 727 0.489 130.09787
## 51 0.029878197 0.131137011 1824 0.448 206.10257
## 52 0.029878197 0.087915704 2818 5.320 280.26410
## 53 0.029878197 0.056995380 2316 0.440 243.18379
## 54 0.029878197 0.054055872 3582 0.472 342.14011
## 55 0.029878197 0.033753516 2645 1.187 269.17523
## 56 0.029878197 0.012123202 1360 0.726 174.11290
## 57 0.029878197 0.007797537 2418 1.119 251.10306
## 58 0.029878197 -0.006835292 1207 1.259 164.10722
## 59 0.029878197 -0.024086234 1306 1.100 171.06552
## 60 0.029878197 -0.036364500 1765 1.003 202.10780
## 61 0.029878197 -0.040992761 523 1.143 116.10721
## 62 0.029878197 -0.064604319 586 1.005 120.52757
## 63 0.029878197 -0.064779574 1670 0.852 195.94911
## 64 0.029878197 -0.072225231 1415 1.130 178.08652
## 65 0.029878197 -0.072383926 1086 0.742 155.08159
## 66 0.029878197 -0.080730553 2567 0.427 262.06940
## 67 0.029878197 -0.085973454 2813 0.679 280.13953
## 68 0.030950574 -0.138946899 2707 1.175 273.18140
## 69 0.031009740 -0.170831420 950 0.474 145.04967
## 70 0.031009740 -0.171676353 4082 0.976 393.22406
## 71 0.031036887 -0.187641390 2083 0.444 224.11311
## 72 0.031053022 -0.203027026 3223 0.940 310.12909
## 73 0.031626753 -0.237100420 93 0.450 76.03948
## 74 0.031850317 -0.269436630 2410 1.065 250.11919
## 75 0.031850317 -0.275612147 3164 2.827 304.30014
## 76 0.031850317 -0.287391157 2496 1.394 257.11816
## 77 0.032195138 -0.339117362 2369 1.187 247.10835
## 78 0.032195138 -0.339194771 1888 1.340 211.07558
## 79 0.032195138 -0.340063545 1359 1.143 174.11275
## 80 0.032952977 -0.389540775 1529 1.011 186.14928
## 81 0.032952977 -0.400868130 3175 1.341 305.17673
## 82 0.032952977 -0.414179510 3205 1.055 308.10367
## 83 0.032952977 -0.430709584 2630 0.507 268.10431
## 84 0.032952977 -0.432768548 1866 1.180 209.11765
## 85 0.032952977 -0.442981998 2879 1.687 285.29037
## 86 0.032986102 -0.468857237 348 0.707 103.03911
## 87 0.032986102 -0.474767776 1003 1.207 148.03957
## 88 0.032986102 -0.481132821 3407 0.479 325.11334
## 89 0.033055349 -0.515268913 1438 0.463 180.08681
## 90 0.033055349 -0.524538414 1205 0.783 164.08209
## 91 0.033055349 -0.535031997 2842 6.362 282.27975
## 92 0.033055349 -0.545108329 2930 1.251 288.21744
## 93 0.033055349 -0.560787247 1482 0.398 182.90306
## 94 0.033055349 -0.569851416 1698 0.459 198.09740
## 95 0.033055349 -0.578883707 2102 1.187 226.10806
## 96 0.033055349 -0.584493803 1298 0.750 170.08130
## 97 0.033055349 -0.600664275 1288 1.359 169.10143
## 98 0.033055349 -0.603112386 3485 3.829 332.33157
## 99 0.033055349 -0.609560029 491 0.887 114.09153
## 100 0.034479049 -0.665632730 1899 0.896 212.10332
## 101 0.035130776 -0.696457631 2512 1.341 258.12628
## 102 0.035670462 -0.729907502 4316 0.869 430.15759
## 103 0.035670462 -0.733953627 2029 1.071 220.13373
## 104 0.035765710 -0.814335274 2194 1.169 232.15477
## 105 0.035765710 -0.825679695 2941 1.076 289.11905
## 106 0.035765710 -0.830798987 3844 0.987 366.16605
## 107 0.035765710 -0.850592437 683 1.048 127.03927
## 108 0.035765710 -0.854415872 2779 0.889 277.14801
## 109 0.035765710 -0.856591528 2120 1.178 227.12816
## 110 0.035765710 -0.857689538 3390 1.246 323.14713
## 111 0.035765710 -0.858802400 4193 1.005 409.18750
## 112 0.035765710 -0.859805318 2254 1.188 238.10791
## 113 0.035765710 -0.868803970 3222 1.069 310.11917
## 114 0.035765710 -0.875584699 2608 0.468 266.12396
## 115 0.035765710 -0.909340461 2942 0.855 289.14011
## 116 0.035765710 -0.918584202 2837 1.221 282.14557
## 117 0.035765710 -0.918777230 1561 1.025 188.16489
## 118 0.035765710 -0.919015114 1537 0.726 187.07161
## 119 0.035765710 -0.938240084 1702 0.899 198.11264
## 120 0.035765710 -0.938845601 668 0.623 126.05506
## 121 0.035765710 -0.941130520 405 0.621 108.04443
## 122 0.035765710 -0.956428894 1208 1.351 164.10730
## 123 0.035765710 -0.962958435 3837 0.938 365.19247
## 124 0.035765710 -0.982174722 2149 1.052 229.09773
## 125 0.035765710 -0.987790871 1609 1.213 192.10234
## 126 0.035765710 -0.990982773 1462 7.325 181.12253
## 127 0.035765710 -0.997235805 1780 0.914 203.08177
## 128 0.035765710 -0.997510559 415 0.468 109.02859
## 129 0.035765710 -0.997728092 1963 5.780 215.98367
## 130 0.035765710 -1.002230179 4657 1.401 513.22961
## 131 0.035765710 -1.013081174 2113 1.070 227.08199
## 132 0.035765710 -1.014198088 1725 0.449 200.04431
## 133 0.035765710 -1.016122383 4067 0.973 391.20844
## 134 0.035765710 -1.020900625 1478 0.747 182.08150
## 135 0.036781313 -1.063286121 3898 1.152 371.20706
## 136 0.036781313 -1.073513310 1583 0.918 190.10768
## 137 0.036781313 -1.081911830 2517 0.417 259.06479
## 138 0.036781313 -1.085036800 3090 0.892 300.14468
## 139 0.036781313 -1.090935225 859 8.023 139.98810
## 140 0.037296943 -1.113806812 1770 1.089 202.18065
## 141 0.037328608 -1.151328513 3541 0.443 337.17197
## 142 0.037328608 -1.152015583 2147 1.227 229.06122
## 143 0.037328608 -1.172790982 4020 1.293 385.14743
## 144 0.037328608 -1.181876184 1563 1.296 188.20113
## 145 0.037328608 -1.196416628 2523 0.783 259.12927
## 146 0.037328608 -1.205952149 175 0.474 85.02850
## 147 0.037328608 -1.213608498 3012 0.896 294.15533
## 148 0.037328608 -1.214327341 1825 1.054 206.11816
## 149 0.037328608 -1.215519709 2099 0.746 226.07135
## 150 0.037328608 -1.221334476 2743 1.064 275.13950
## 151 0.037328608 -1.223381538 1459 5.955 181.12247
## 152 0.037328608 -1.228100144 2619 1.178 267.12082
## 153 0.037328608 -1.255298252 2761 0.895 276.14478
## 154 0.037328608 -1.264992288 1111 0.923 157.04982
## 155 0.037328608 -1.265793682 3537 2.671 337.10507
## 156 0.037328608 -1.270975939 1432 1.076 179.15472
## 157 0.037328608 -1.271407519 1580 1.176 190.08662
## 158 0.037328608 -1.273031144 1968 0.801 216.09842
## 159 0.037328608 -1.275902186 3021 0.453 295.11398
## 160 0.037328608 -1.280950543 1979 0.676 217.08247
## 161 0.037328608 -1.283095282 2847 1.443 283.10828
## 162 0.037328608 -1.284626226 1976 0.636 217.01500
## 163 0.037328608 -1.284663657 3621 0.835 346.05499
## 164 0.037328608 -1.286609591 256 0.477 97.02856
## 165 0.039158278 -1.345305191 3836 1.009 365.18286
## 166 0.039173386 -1.352304629 1387 1.186 176.07115
## 167 0.039541517 -1.369032490 696 1.141 128.10716
## 168 0.039861155 -1.388444084 1430 1.243 179.11829
## 169 0.039861155 -1.390772276 1046 0.937 152.04750
## 170 0.040453377 -1.413272522 459 0.481 112.05074
## 171 0.040456487 -1.419749029 3833 0.611 365.10574
## 172 0.040482589 -1.426808112 2327 1.132 244.15486
## 173 0.040611382 -1.438731869 4403 2.390 446.25430
## 174 0.040611382 -1.442875048 1612 0.490 192.15967
## 175 0.041388641 -1.475558309 1496 1.081 183.09210
## 176 0.041388641 -1.476014680 2322 0.488 244.09331
## 177 0.041551079 -1.493941218 1883 0.892 210.11610
## 178 0.041551079 -1.503251739 676 0.473 127.03914
## 179 0.041551079 -1.507392820 2520 0.864 259.09296
## 180 0.041551079 -1.510647563 1388 0.910 176.09192
## 181 0.041551079 -1.513216111 2773 0.489 277.10333
## 182 0.041551079 -1.516866096 3780 0.989 360.14459
## 183 0.041862047 -1.530985408 783 0.452 134.04491
## 184 0.042317827 -1.548757010 437 0.694 110.06021
## 185 0.042349384 -1.555489068 2994 0.975 293.16138
## 186 0.042400638 -1.562696580 1135 0.518 159.03096
## 187 0.042793334 -1.588677818 2486 1.084 256.11844
## 188 0.042793334 -1.593087205 121 0.928 79.02144
## 189 0.042793334 -1.601892712 2389 0.468 248.11342
## 190 0.042793334 -1.603205592 3450 1.099 330.18173
## 191 0.042793334 -1.603842958 3274 1.195 315.08456
## 192 0.042793334 -1.607446460 2153 0.901 229.15508
## 193 0.043399498 -1.628493039 2042 0.447 221.18622
## 194 0.043550357 -1.637933767 2003 0.990 218.13940
## 195 0.044074106 -1.661840458 1729 1.080 200.10751
## 196 0.044074106 -1.663889585 2814 0.503 280.13953
## 197 0.044074106 -1.669596343 3867 1.006 368.18283
## 198 0.044074106 -1.673313441 1669 0.665 195.94887
## 199 0.044417586 -1.693714043 2075 0.845 223.94382
## 200 0.044417586 -1.695897259 4030 1.146 386.21915
## 201 0.044417586 -1.700918264 379 1.256 105.07012
## 202 0.044417586 -1.706631727 784 0.704 134.07138
## 203 0.044417586 -1.715654087 2253 1.084 238.10786
## 204 0.044417586 -1.720194025 2181 1.061 231.11334
## 205 0.044417586 -1.721268486 3312 0.910 317.18234
## 206 0.044417586 -1.733263941 1122 0.773 158.09254
## 207 0.044417586 -1.734337333 2462 1.523 255.07684
## 208 0.044417586 -1.735928268 1027 0.396 149.95294
## 209 0.044417586 -1.740943017 1889 1.816 211.08687
## 210 0.044925845 -1.758616496 140 0.929 81.01720
## 211 0.045438889 -1.777077839 1542 0.996 187.10809
## 212 0.045438889 -1.783630856 1797 0.923 204.12341
## 213 0.045438889 -1.786569768 3428 0.942 328.13974
## 214 0.045583969 -1.800285912 2036 1.037 221.09259
## 215 0.045583969 -1.800290521 2812 0.452 280.09225
## 216 0.045803937 -1.813992558 3221 0.467 310.11377
## 217 0.045803937 -1.815698761 2833 0.466 282.11887
## 218 0.046008817 -1.825620062 4005 0.967 383.22961
## 219 0.046260718 -1.840549324 2790 0.488 278.12387
## 220 0.046260718 -1.846209821 2312 0.420 243.09404
## 221 0.046260718 -1.848975677 3448 0.760 330.06003
## 222 0.046260718 -1.851512147 4710 1.340 537.22656
## 223 0.046317840 -1.866347676 973 0.814 146.16534
## 224 0.046317840 -1.867318164 1389 0.489 176.09193
## 225 0.046317840 -1.867566687 2578 1.058 263.10315
## 226 0.046663700 -1.890794295 4224 0.951 414.23599
## 227 0.046663700 -1.893098879 2255 0.980 238.10797
## 228 0.046663700 -1.895022020 2792 1.108 278.15070
## 229 0.046722366 -1.906750633 313 0.940 100.11221
## 230 0.046722366 -1.910330289 2243 0.910 237.08736
## 231 0.046722366 -1.918063260 3252 0.384 312.92041
## 232 0.046722366 -1.918739588 2264 0.907 239.10310
## 233 0.046722366 -1.920577649 3831 0.792 365.10565
## 234 0.046722366 -1.925019049 3048 1.040 297.14532
## 235 0.046722366 -1.929393355 1638 0.428 193.98294
## 236 0.047514551 -1.952455568 3858 0.984 367.15073
## 237 0.048028444 -1.972304385 1053 0.899 152.10725
## 238 0.048028444 -1.973459968 1108 0.517 157.03514
## 239 0.048336479 -1.990141095 1186 0.473 163.06023
## 240 0.048336479 -1.990909480 4676 0.487 522.20361
## 241 0.048336479 -1.994145530 2802 0.935 279.13464
## 242 0.048703502 -2.006961486 1097 1.142 156.10214
## 243 0.048717609 -2.011782376 2748 0.775 275.17160
## 244 0.048918667 -2.022066309 1273 0.932 168.10219
## 245 0.048918667 -2.026092356 2482 0.491 256.08194
## 246 0.048918667 -2.034402765 2071 0.971 223.14462
## 247 0.048918667 -2.034933524 585 1.173 120.08098
## 248 0.048918667 -2.040777898 3099 0.408 301.10507
## 249 0.048918667 -2.043638774 3127 0.721 302.13516
## 250 0.048918667 -2.055088673 4033 1.015 387.17715
## 251 0.048918667 -2.058094307 4576 0.481 487.16623
## 252 0.048918667 -2.061190238 3190 0.876 307.08002
## 253 0.048918667 -2.064036347 805 0.487 136.06195
## 254 0.048918667 -2.067350845 2217 1.020 234.13405
## 255 0.048918667 -2.068954290 613 0.913 122.09670
## 256 0.049308880 -2.081946789 1764 1.120 202.08984
## 257 0.049539877 -2.091334573 3132 0.981 302.20819
## 258 0.049727866 -2.104495236 1787 0.476 203.15056
## 259 0.049727866 -2.105595263 2114 0.957 227.10303
## 260 0.049727866 -2.109394846 114 2.128 79.02139
## 261 0.049727866 -2.112369548 115 2.674 79.02139
## Metabolite name Adduct type
## 1 Unknown [M+H]+
## 2 Unknown [M+H]+
## 3 Unknown [M+H]+
## 4 Unknown [M+H]+
## 5 Unknown [M+H]+
## 6 Unknown [M+H]+
## 7 Unknown [M+H]+
## 8 Unknown [M+H]+
## 9 Unknown [M+H]+
## 10 Unknown [M+H]+
## 11 Unknown [M+H]+
## 12 Unknown [M+H]+
## 13 Unknown [M+H]+
## 14 Unknown [M+H]+
## 15 Unknown [M+H]+
## 16 Unknown [M+H]+
## 17 Unknown [M+H]+
## 18 Unknown [M+H]+
## 19 Unknown [M+H]+
## 20 Unknown [M+H]+
## 21 Unknown [M+H]+
## 22 Unknown [M+H]+
## 23 Unknown [M+H]+
## 24 Unknown [M+H]+
## 25 Unknown [M+H]+
## 26 Unknown [M+H]+
## 27 Unknown [M+H]+
## 28 Unknown [M+H]+
## 29 Unknown [M+H]+
## 30 Unknown [M+H]+
## 31 Unknown [M+H]+
## 32 Unknown [M+H]+
## 33 Unknown [M+H]+
## 34 Unknown [M+H]+
## 35 Unknown [M+H]+
## 36 Unknown [M+H]+
## 37 Unknown [M+H]+
## 38 Unknown [M+H]+
## 39 Unknown [M+H]+
## 40 Unknown [M+H]+
## 41 Unknown [M+H]+
## 42 Unknown [M+H]+
## 43 Unknown [M+H]+
## 44 Unknown [M+H]+
## 45 Unknown [M+H]+
## 46 Unknown [M+H]+
## 47 Unknown [M+H]+
## 48 Unknown [M+H]+
## 49 Unknown [M+H]+
## 50 Unknown [M+H]+
## 51 Unknown [M+H]+
## 52 Unknown [M+H]+
## 53 Unknown [M+H]+
## 54 Unknown [M+H]+
## 55 Unknown [M+H]+
## 56 Unknown [M+H]+
## 57 Unknown [M+H]+
## 58 Unknown [M+H]+
## 59 Unknown [M+H]+
## 60 Unknown [M+H]+
## 61 Unknown [M+H]+
## 62 Unknown [M+H]+
## 63 Unknown [M+H]+
## 64 Unknown [M+H]+
## 65 Unknown [M+H]+
## 66 Unknown [M+H]+
## 67 Unknown [M+H]+
## 68 Unknown [M+H]+
## 69 Unknown [M+H]+
## 70 Unknown [M+H]+
## 71 Unknown [M+H]+
## 72 Unknown [M+H]+
## 73 Unknown [M+H]+
## 74 Unknown [M+H]+
## 75 Unknown [M+H]+
## 76 Unknown [M+H]+
## 77 Unknown [M+H]+
## 78 Unknown [M+H]+
## 79 Unknown [M+H]+
## 80 Unknown [M+H]+
## 81 Unknown [M+H]+
## 82 Unknown [M+H]+
## 83 Unknown [M+H]+
## 84 Unknown [M+H]+
## 85 Unknown [M+H]+
## 86 Unknown [M+H]+
## 87 Unknown [M+H]+
## 88 Unknown [M+H]+
## 89 Unknown [M+H]+
## 90 Unknown [M+H]+
## 91 Unknown [M+H]+
## 92 Unknown [M+H]+
## 93 Unknown [M+H]+
## 94 Unknown [M+H]+
## 95 Unknown [M+H]+
## 96 Unknown [M+H]+
## 97 Unknown [M+H]+
## 98 Unknown [M+H]+
## 99 Unknown [M+H]+
## 100 Unknown [M+H]+
## 101 Unknown [M+2H]2+
## 102 Unknown [M+H]+
## 103 Unknown [M+H]+
## 104 Unknown [M+H]+
## 105 Unknown [M+H]+
## 106 Unknown [M+H]+
## 107 Unknown [M+H]+
## 108 Unknown [M+H]+
## 109 Unknown [M+H]+
## 110 Unknown [M+H]+
## 111 Unknown [M+H]+
## 112 Unknown [M+H]+
## 113 Unknown [M+H]+
## 114 Unknown [M+H]+
## 115 Unknown [M+H]+
## 116 Unknown [M+H]+
## 117 Unknown [M+H]+
## 118 Unknown [M+H]+
## 119 Unknown [M+H]+
## 120 Unknown [M+H]+
## 121 Unknown [M+H]+
## 122 Unknown [M+H]+
## 123 Unknown [M+H]+
## 124 Unknown [M+H]+
## 125 Unknown [M+H]+
## 126 Unknown [M+H]+
## 127 Unknown [M+H]+
## 128 Unknown [M+H]+
## 129 Unknown [M+H]+
## 130 Unknown [M+H]+
## 131 Unknown [M+H]+
## 132 Unknown [M+2H]2+
## 133 Unknown [M+H]+
## 134 Unknown [M+H]+
## 135 Unknown [M+H]+
## 136 Unknown [M+H]+
## 137 Unknown [M+H]+
## 138 Unknown [M+H]+
## 139 Unknown [M+H]+
## 140 Unknown [M+H]+
## 141 Unknown [M+H]+
## 142 Unknown [M+H]+
## 143 Unknown [M+H]+
## 144 Unknown [M+H]+
## 145 Unknown [M+H]+
## 146 Unknown [M+H]+
## 147 Unknown [M+H]+
## 148 Unknown [M+H]+
## 149 Unknown [M+H]+
## 150 Unknown [M+H]+
## 151 Unknown [M+H]+
## 152 Unknown [M+H]+
## 153 Unknown [M+2H]2+
## 154 Unknown [M+H]+
## 155 Unknown [M+H]+
## 156 Unknown [M+H]+
## 157 Unknown [M+H]+
## 158 Unknown [M+H]+
## 159 Unknown [M+H]+
## 160 Unknown [M+H]+
## 161 Unknown [M+H]+
## 162 Unknown [M+H]+
## 163 Unknown [M+H]+
## 164 Unknown [M+H]+
## 165 Unknown [M+H]+
## 166 Unknown [M+H]+
## 167 Unknown [M+H]+
## 168 Unknown [M+H]+
## 169 Unknown [M+H]+
## 170 Unknown [M+H]+
## 171 Unknown [M+H]+
## 172 Unknown [M+H]+
## 173 Unknown [M+H]+
## 174 Unknown [M+H]+
## 175 Unknown [M+H]+
## 176 Unknown [M+H]+
## 177 Unknown [M+H]+
## 178 Unknown [M+H]+
## 179 Unknown [M+H]+
## 180 Unknown [M+H]+
## 181 Unknown [M+H]+
## 182 Unknown [M+H]+
## 183 Unknown [M+H]+
## 184 Unknown [M+H]+
## 185 Unknown [M+H]+
## 186 Unknown [M+H]+
## 187 Unknown [M+H]+
## 188 Unknown [M+H]+
## 189 Unknown [M+H]+
## 190 Unknown [M+H]+
## 191 Unknown [M+H]+
## 192 Unknown [M+H]+
## 193 Unknown [M+H]+
## 194 Unknown [M+H]+
## 195 Unknown [M+H]+
## 196 Unknown [M+H]+
## 197 Unknown [M+H]+
## 198 Unknown [M+H]+
## 199 Unknown [M+H]+
## 200 Unknown [M+H]+
## 201 Unknown [M+H]+
## 202 Unknown [M+H]+
## 203 Unknown [M+H]+
## 204 Unknown [M+H]+
## 205 Unknown [M+H]+
## 206 Unknown [M+H]+
## 207 Unknown [M+H]+
## 208 Unknown [M+H]+
## 209 Unknown [M+H]+
## 210 Unknown [M+H]+
## 211 Unknown [M+H]+
## 212 Unknown [M+H]+
## 213 Unknown [M+H]+
## 214 Unknown [M+H]+
## 215 Unknown [M+H]+
## 216 Unknown [M+H]+
## 217 Unknown [M+H]+
## 218 Unknown [M+H]+
## 219 Unknown [M+H]+
## 220 Unknown [M+H]+
## 221 Unknown [M+H]+
## 222 Unknown [M+H]+
## 223 Unknown [M+H]+
## 224 Unknown [M+H]+
## 225 Unknown [M+H]+
## 226 Unknown [M+H]+
## 227 Unknown [M+H]+
## 228 Unknown [M+H]+
## 229 Unknown [M+H]+
## 230 Unknown [M+H]+
## 231 Unknown [M+H]+
## 232 Unknown [M+H]+
## 233 Unknown [M+H]+
## 234 Unknown [M+H]+
## 235 Unknown [M+H]+
## 236 Unknown [M+H]+
## 237 Unknown [M+H]+
## 238 Unknown [M+H]+
## 239 Unknown [M+H]+
## 240 Unknown [M+H]+
## 241 Unknown [M+H]+
## 242 Unknown [M+H]+
## 243 Unknown [M+H]+
## 244 Unknown [M+H]+
## 245 Unknown [M+H]+
## 246 Unknown [M+H]+
## 247 Unknown [M+H]+
## 248 Unknown [M+H]+
## 249 Unknown [M+H]+
## 250 Unknown [M+H]+
## 251 Unknown [M+H]+
## 252 Unknown [M+H]+
## 253 Unknown [M+H]+
## 254 Unknown [M+H]+
## 255 Unknown [M+H]+
## 256 Unknown [M+H]+
## 257 Unknown [M+H]+
## 258 Unknown [M+H]+
## 259 Unknown [M+H]+
## 260 Unknown [M+H]+
## 261 Unknown [M+H]+
## Post curation result
## 1 ion correlated with 4277
## 2 <NA>
## 3 <NA>
## 4 <NA>
## 5 <NA>
## 6 <NA>
## 7 similar chromatogram in higher mz_4414; found in higher mz's MsMs_4414
## 8 ion correlated with 2935
## 9 ion correlated with 2083
## 10 <NA>
## 11 ion correlated with 2277
## 12 similar chromatogram in higher mz_886; similar chromatogram in higher mz_2802; similar chromatogram in higher mz_3443
## 13 <NA>
## 14 ion correlated with 1390; ion correlated with 970; ion correlated with 917; ion correlated with 1979; ion correlated with 825; ion correlated with 2134; ion correlated with 1891; ion correlated with 1688; ion correlated with 1086
## 15 <NA>
## 16 ion correlated with 650; ion correlated with 885
## 17 <NA>
## 18 similar chromatogram in higher mz_3448
## 19 <NA>
## 20 <NA>
## 21 ion correlated with 4067; ion correlated with 4082; ion correlated with 1927; ion correlated with 1765; ion correlated with 3243; ion correlated with 3461; ion correlated with 1504; ion correlated with 1606
## 22 ion correlated with 2058; ion correlated with 493; ion correlated with 2360; ion correlated with 2364; ion correlated with 2016; ion correlated with 1812; ion correlated with 1989; ion correlated with 2207; ion correlated with 1541
## 23 ion correlated with 580; ion correlated with 1207; similar chromatogram in higher mz_1444; similar chromatogram in higher mz_1176
## 24 <NA>
## 25 <NA>
## 26 ion correlated with 1578; ion correlated with 885; similar chromatogram in higher mz_966; similar chromatogram in higher mz_2975; similar chromatogram in higher mz_3144; similar chromatogram in higher mz_4033; similar chromatogram in higher mz_4175; similar chromatogram in higher mz_4321; found in higher mz's MsMs_1504
## 27 <NA>
## 28 <NA>
## 29 <NA>
## 30 ion correlated with 2852; ion correlated with 898
## 31 ion correlated with 2194; ion correlated with 2707; ion correlated with 2166; ion correlated with 3235; ion correlated with 2358; ion correlated with 1768
## 32 <NA>
## 33 similar chromatogram in higher mz_4233; similar chromatogram in higher mz_4520; similar chromatogram in higher mz_2073
## 34 ion correlated with 2194; ion correlated with 2707
## 35 <NA>
## 36 <NA>
## 37 <NA>
## 38 ion correlated with 1359; similar chromatogram in higher mz_2707; similar chromatogram in higher mz_2166; similar chromatogram in higher mz_2205
## 39 <NA>
## 40 <NA>
## 41 ion correlated with 3578; ion correlated with 4812; ion correlated with 4855; ion correlated with 2530; found in higher mz's MsMs_4855; similar chromatogram in higher mz_4773; similar chromatogram in higher mz_4812
## 42 ion correlated with 3603; ion correlated with 3335; ion correlated with 3569; ion correlated with 2499; ion correlated with 1811
## 43 ion correlated with 2759
## 44 ion correlated with 1306; similar chromatogram in higher mz_1284; similar chromatogram in higher mz_2816; similar chromatogram in higher mz_2941; similar chromatogram in higher mz_3277
## 45 ion correlated with 493; ion correlated with 1616; ion correlated with 1266; ion correlated with 4246; ion correlated with 2151
## 46 found in higher mz's MsMs_2511; similar chromatogram in higher mz_3032; similar chromatogram in higher mz_3021; similar chromatogram in higher mz_2409; similar chromatogram in higher mz_3207; similar chromatogram in higher mz_3310; similar chromatogram in higher mz_4027; similar chromatogram in higher mz_4560; similar chromatogram in higher mz_3476; similar chromatogram in higher mz_1206; similar chromatogram in higher mz_2397; similar chromatogram in higher mz_3359; similar chromatogram in higher mz_3936; similar chromatogram in higher mz_3813; similar chromatogram in higher mz_4220; similar chromatogram in higher mz_4355; similar chromatogram in higher mz_3195; similar chromatogram in higher mz_809; similar chromatogram in higher mz_2030; similar chromatogram in higher mz_4108; similar chromatogram in higher mz_3182; similar chromatogram in higher mz_1457; similar chromatogram in higher mz_3676; similar chromatogram in higher mz_1864; similar chromatogram in higher mz_4610
## 47 <NA>
## 48 ion correlated with 2748; similar chromatogram in higher mz_4345
## 49 ion correlated with 4067; ion correlated with 1765; ion correlated with 3243; ion correlated with 650; ion correlated with 4175; ion correlated with 1578; ion correlated with 1606
## 50 <NA>
## 51 <NA>
## 52 <NA>
## 53 <NA>
## 54 <NA>
## 55 ion correlated with 3623; ion correlated with 958; ion correlated with 1754; ion correlated with 2021; ion correlated with 3568
## 56 <NA>
## 57 ion correlated with 885; ion correlated with 2587; ion correlated with 2253; ion correlated with 1306; ion correlated with 523; ion correlated with 1519
## 58 ion correlated with 580; ion correlated with 728
## 59 ion correlated with 885
## 60 ion correlated with 4067; ion correlated with 4082; ion correlated with 3243; ion correlated with 650; ion correlated with 1504; ion correlated with 1578; ion correlated with 1606
## 61 ion correlated with 2587; ion correlated with 2253; ion correlated with 1306; ion correlated with 2418; ion correlated with 1519; similar chromatogram in higher mz_2418
## 62 <NA>
## 63 <NA>
## 64 similar chromatogram in higher mz_2723
## 65 ion correlated with 1386; ion correlated with 825; ion correlated with 1537; ion correlated with 1688
## 66 <NA>
## 67 <NA>
## 68 ion correlated with 2946; ion correlated with 2358
## 69 ion correlated with 175; found in higher mz's MsMs_2396
## 70 ion correlated with 3690; ion correlated with 4067; ion correlated with 1927; ion correlated with 1765; ion correlated with 3243; ion correlated with 3351; ion correlated with 4175
## 71 ion correlated with 2997
## 72 ion correlated with 2779; ion correlated with 3428
## 73 ion correlated with 1085; ion correlated with 71; ion correlated with 4479; similar chromatogram in higher mz_1085; similar chromatogram in higher mz_1096; similar chromatogram in higher mz_1366; similar chromatogram in higher mz_1380; similar chromatogram in higher mz_1524; similar chromatogram in higher mz_1824; similar chromatogram in higher mz_2004; similar chromatogram in higher mz_2812; similar chromatogram in higher mz_3030; similar chromatogram in higher mz_3541; similar chromatogram in higher mz_4608; similar chromatogram in higher mz_4613; similar chromatogram in higher mz_2796; similar chromatogram in higher mz_3019
## 74 similar chromatogram in higher mz_2806
## 75 <NA>
## 76 similar chromatogram in higher mz_4657
## 77 ion correlated with 696; ion correlated with 1097; ion correlated with 2801
## 78 ion correlated with 3175; found in higher mz's MsMs_4660; similar chromatogram in higher mz_2512; found in higher mz's MsMs_2512; similar chromatogram in higher mz_3175; similar chromatogram in higher mz_4660; similar chromatogram in higher mz_2365; similar chromatogram in higher mz_3213; similar chromatogram in higher mz_4619
## 79 ion correlated with 1850; similar chromatogram in higher mz_1892
## 80 ion correlated with 1561; ion correlated with 3048
## 81 ion correlated with 1888
## 82 ion correlated with 3867; ion correlated with 2136; ion correlated with 1825; ion correlated with 3450; ion correlated with 2792
## 83 <NA>
## 84 <NA>
## 85 <NA>
## 86 ion correlated with 905; ion correlated with 839; ion correlated with 592; found in higher mz's MsMs_839; found in higher mz's MsMs_592; similar chromatogram in higher mz_784
## 87 ion correlated with 2799; ion correlated with 2619; ion correlated with 2120; ion correlated with 2102; ion correlated with 1754; ion correlated with 2021; ion correlated with 1272; ion correlated with 1996
## 88 <NA>
## 89 <NA>
## 90 ion correlated with 3448
## 91 similar chromatogram in higher mz_4772
## 92 ion correlated with 2809
## 93 <NA>
## 94 <NA>
## 95 ion correlated with 2388; ion correlated with 2619; ion correlated with 2801; ion correlated with 1003; ion correlated with 2021; ion correlated with 1996
## 96 similar chromatogram in higher mz_2446; similar chromatogram in higher mz_4568
## 97 ion correlated with 2898; ion correlated with 4908; ion correlated with 3162; ion correlated with 3382; ion correlated with 4967; ion correlated with 1868; ion correlated with 3795; ion correlated with 2752; ion correlated with 1599; ion correlated with 3655; ion correlated with 3711; similar chromatogram in higher mz_2121; similar chromatogram in higher mz_3795; similar chromatogram in higher mz_3870
## 98 <NA>
## 99 found in higher mz's MsMs_2513
## 100 <NA>
## 101 ion correlated with 4660; similar chromatogram in higher mz_4660
## 102 <NA>
## 103 ion correlated with 3048; ion correlated with 1729
## 104 ion correlated with 2437; ion correlated with 2707; ion correlated with 2166; ion correlated with 2946; ion correlated with 3235; ion correlated with 2358
## 105 ion correlated with 2324; found in higher mz's MsMs_3314
## 106 <NA>
## 107 <NA>
## 108 ion correlated with 3223
## 109 ion correlated with 2619; ion correlated with 1003; ion correlated with 2021
## 110 ion correlated with 2645; ion correlated with 3799; ion correlated with 3568
## 111 <NA>
## 112 similar chromatogram in higher mz_2946; similar chromatogram in higher mz_3235
## 113 ion correlated with 4033; ion correlated with 2368; ion correlated with 4289; ion correlated with 4372; ion correlated with 2789; ion correlated with 3623
## 114 <NA>
## 115 ion correlated with 3088; ion correlated with 2513
## 116 ion correlated with 1980; ion correlated with 2147
## 117 ion correlated with 1529; ion correlated with 4033; ion correlated with 3048; ion correlated with 3734
## 118 ion correlated with 1557; ion correlated with 1086; similar chromatogram in higher mz_1557; similar chromatogram in higher mz_3649; similar chromatogram in higher mz_2134; similar chromatogram in higher mz_3406
## 119 <NA>
## 120 <NA>
## 121 found in higher mz's MsMs_668
## 122 <NA>
## 123 ion correlated with 2391; ion correlated with 3690; ion correlated with 3965
## 124 ion correlated with 1659
## 125 ion correlated with 1387; ion correlated with 1430
## 126 ion correlated with 4851; found in higher mz's MsMs_4854; found in higher mz's MsMs_4851
## 127 ion correlated with 460; ion correlated with 1623; ion correlated with 655; ion correlated with 1916
## 128 found in higher mz's MsMs_1901; similar chromatogram in higher mz_1383; similar chromatogram in higher mz_2641; similar chromatogram in higher mz_4097; similar chromatogram in higher mz_4441; similar chromatogram in higher mz_3422; similar chromatogram in higher mz_3086; similar chromatogram in higher mz_3008
## 129 ion correlated with 1369; ion correlated with 4504; ion correlated with 1025; ion correlated with 4273; ion correlated with 5067; ion correlated with 4359; ion correlated with 4389; ion correlated with 3749; ion correlated with 3775; ion correlated with 3577; ion correlated with 3357; ion correlated with 2473
## 130 <NA>
## 131 ion correlated with 1063; ion correlated with 1222; ion correlated with 2123
## 132 similar chromatogram in higher mz_3214
## 133 ion correlated with 1726; ion correlated with 3690; ion correlated with 1095; ion correlated with 1552; ion correlated with 4082; ion correlated with 1927; ion correlated with 1765; ion correlated with 3243; ion correlated with 3461; ion correlated with 3351; ion correlated with 1504; ion correlated with 4175
## 134 <NA>
## 135 ion correlated with 1764; ion correlated with 3143; ion correlated with 3772; ion correlated with 4952; ion correlated with 4792; ion correlated with 2013; ion correlated with 4871
## 136 ion correlated with 1911; ion correlated with 1287; ion correlated with 1043
## 137 <NA>
## 138 <NA>
## 139 <NA>
## 140 ion correlated with 3048; ion correlated with 3734; ion correlated with 4030
## 141 ion correlated with 3021; ion correlated with 2026; ion correlated with 3221
## 142 ion correlated with 1580; ion correlated with 2837
## 143 <NA>
## 144 <NA>
## 145 <NA>
## 146 ion correlated with 950; found in higher mz's MsMs_3782; found in higher mz's MsMs_1698; found in higher mz's MsMs_2771; found in higher mz's MsMs_1621; found in higher mz's MsMs_2814; found in higher mz's MsMs_1438; found in higher mz's MsMs_3407; found in higher mz's MsMs_3408; similar chromatogram in higher mz_709; similar chromatogram in higher mz_4326; found in higher mz's MsMs_4326; found in higher mz's MsMs_1901; found in higher mz's MsMs_1004; found in higher mz's MsMs_950; found in higher mz's MsMs_2572; similar chromatogram in higher mz_4221; similar chromatogram in higher mz_1162; similar chromatogram in higher mz_2290
## 147 <NA>
## 148 ion correlated with 3867; ion correlated with 2840; ion correlated with 3048; ion correlated with 2136; ion correlated with 3205; ion correlated with 2029; ion correlated with 3450; ion correlated with 2792
## 149 ion correlated with 2251
## 150 ion correlated with 2123; ion correlated with 2370; ion correlated with 2113; similar chromatogram in higher mz_3100
## 151 ion correlated with 2476; ion correlated with 4813; ion correlated with 4850; found in higher mz's MsMs_4856
## 152 ion correlated with 2418; ion correlated with 523; ion correlated with 2799; ion correlated with 2120; ion correlated with 2102; ion correlated with 1003; ion correlated with 1754; ion correlated with 2021; ion correlated with 1272; ion correlated with 1996
## 153 ion correlated with 3012; ion correlated with 3428
## 154 ion correlated with 1358; ion correlated with 638; ion correlated with 1726; ion correlated with 670
## 155 <NA>
## 156 <NA>
## 157 ion correlated with 2801; ion correlated with 2147
## 158 <NA>
## 159 ion correlated with 3541; ion correlated with 2026; ion correlated with 3221; ion correlated with 2572
## 160 ion correlated with 1390; ion correlated with 970; ion correlated with 1386; ion correlated with 2134
## 161 <NA>
## 162 <NA>
## 163 ion correlated with 1800
## 164 found in higher mz's MsMs_3782; found in higher mz's MsMs_2608; found in higher mz's MsMs_1698; found in higher mz's MsMs_2771; found in higher mz's MsMs_2814; found in higher mz's MsMs_1438; found in higher mz's MsMs_3407; found in higher mz's MsMs_3408; found in higher mz's MsMs_2790; found in higher mz's MsMs_2833; found in higher mz's MsMs_2482; found in higher mz's MsMs_2572
## 165 ion correlated with 4242
## 166 ion correlated with 1928; ion correlated with 1609
## 167 <NA>
## 168 ion correlated with 1609
## 169 <NA>
## 170 ion correlated with 4326; ion correlated with 51; ion correlated with 4472; ion correlated with 1032; found in higher mz's MsMs_2833; similar chromatogram in higher mz_4897; similar chromatogram in higher mz_4840; similar chromatogram in higher mz_4932; similar chromatogram in higher mz_4863; similar chromatogram in higher mz_4831; similar chromatogram in higher mz_4187
## 171 <NA>
## 172 <NA>
## 173 ion correlated with 4329; ion correlated with 4230
## 174 similar chromatogram in higher mz_2382; similar chromatogram in higher mz_3128; similar chromatogram in higher mz_3089
## 175 <NA>
## 176 ion correlated with 505; ion correlated with 4479; ion correlated with 459; ion correlated with 968; ion correlated with 1680
## 177 <NA>
## 178 found in higher mz's MsMs_1438; found in higher mz's MsMs_3782
## 179 ion correlated with 2001; ion correlated with 928; ion correlated with 1797
## 180 <NA>
## 181 <NA>
## 182 <NA>
## 183 ion correlated with 387; ion correlated with 776; similar chromatogram in higher mz_2083; similar chromatogram in higher mz_4395; similar chromatogram in higher mz_3492; similar chromatogram in higher mz_3180
## 184 similar chromatogram in higher mz_622; similar chromatogram in higher mz_775; similar chromatogram in higher mz_790; similar chromatogram in higher mz_1031; similar chromatogram in higher mz_2454; similar chromatogram in higher mz_2886; similar chromatogram in higher mz_2888; similar chromatogram in higher mz_4592
## 185 ion correlated with 1273; ion correlated with 2802; ion correlated with 2829; ion correlated with 3902; ion correlated with 3743; ion correlated with 2444; ion correlated with 2926; ion correlated with 2620; ion correlated with 1374
## 186 <NA>
## 187 ion correlated with 1606; ion correlated with 2587; ion correlated with 2253; ion correlated with 2101; ion correlated with 2418; ion correlated with 523
## 188 <NA>
## 189 ion correlated with 2539
## 190 ion correlated with 2136; ion correlated with 1825; ion correlated with 3205; ion correlated with 2792; ion correlated with 3940; ion correlated with 4030
## 191 similar chromatogram in higher mz_4673; similar chromatogram in higher mz_4726; similar chromatogram in higher mz_4656; similar chromatogram in higher mz_4062; similar chromatogram in higher mz_4490; similar chromatogram in higher mz_4593; similar chromatogram in higher mz_4789; similar chromatogram in higher mz_4792; similar chromatogram in higher mz_4806; similar chromatogram in higher mz_4895; similar chromatogram in higher mz_4937
## 192 <NA>
## 193 <NA>
## 194 <NA>
## 195 ion correlated with 2370; ion correlated with 3048; ion correlated with 2743; ion correlated with 2029
## 196 ion correlated with 2215; ion correlated with 2435
## 197 ion correlated with 2136; ion correlated with 1825; ion correlated with 3205
## 198 <NA>
## 199 <NA>
## 200 ion correlated with 1770; ion correlated with 3450; ion correlated with 2792
## 201 ion correlated with 1003; ion correlated with 1754; ion correlated with 2021; ion correlated with 3568; ion correlated with 1272; ion correlated with 1996; similar chromatogram in higher mz_1207; found in higher mz's MsMs_1207
## 202 ion correlated with 3448; similar chromatogram in higher mz_2399
## 203 ion correlated with 1578; ion correlated with 1606; ion correlated with 2587; ion correlated with 1306; ion correlated with 2418; ion correlated with 523
## 204 ion correlated with 966; ion correlated with 1981; ion correlated with 1691
## 205 ion correlated with 47; ion correlated with 2643; ion correlated with 818; ion correlated with 398; ion correlated with 4011; ion correlated with 3478; ion correlated with 2727; ion correlated with 4054; ion correlated with 2264; ion correlated with 3651; ion correlated with 2963; ion correlated with 3025; ion correlated with 3628; ion correlated with 3334; ion correlated with 62; ion correlated with 3381; ion correlated with 2802; ion correlated with 2829; ion correlated with 3778; ion correlated with 3743; ion correlated with 3900; ion correlated with 1446; ion correlated with 3785; ion correlated with 916
## 206 similar chromatogram in higher mz_2523; similar chromatogram in higher mz_4233
## 207 <NA>
## 208 ion correlated with 2187; ion correlated with 1165
## 209 <NA>
## 210 found in higher mz's MsMs_4588
## 211 ion correlated with 1927; ion correlated with 259; ion correlated with 4175; ion correlated with 1606
## 212 ion correlated with 1525; ion correlated with 2001; ion correlated with 4009; ion correlated with 1678; ion correlated with 2082
## 213 ion correlated with 2761
## 214 found in higher mz's MsMs_4687
## 215 <NA>
## 216 ion correlated with 3541; ion correlated with 3021; ion correlated with 2409; ion correlated with 2026; ion correlated with 3032; ion correlated with 2588; ion correlated with 3427; ion correlated with 2572
## 217 ion correlated with 2215; ion correlated with 2435; ion correlated with 2814; ion correlated with 2721
## 218 ion correlated with 2237; ion correlated with 4194; ion correlated with 2590; ion correlated with 845; ion correlated with 2880; ion correlated with 3524; ion correlated with 4393; ion correlated with 589; ion correlated with 4436; ion correlated with 4302; ion correlated with 2639; ion correlated with 4125; ion correlated with 4468; ion correlated with 4113; ion correlated with 4138; ion correlated with 4382; ion correlated with 2228; ion correlated with 4178
## 219 ion correlated with 873; ion correlated with 2042; ion correlated with 2814
## 220 <NA>
## 221 ion correlated with 784; ion correlated with 864
## 222 <NA>
## 223 similar chromatogram in higher mz_4256
## 224 <NA>
## 225 <NA>
## 226 ion correlated with 971; ion correlated with 3147; ion correlated with 3798; ion correlated with 3614; ion correlated with 4059; ion correlated with 3732; ion correlated with 3501; ion correlated with 2055; ion correlated with 3443; ion correlated with 3595; ion correlated with 3601; ion correlated with 4637; ion correlated with 3465; ion correlated with 4231; ion correlated with 3920; ion correlated with 4454; ion correlated with 4150; ion correlated with 3451; ion correlated with 911; ion correlated with 1836
## 227 ion correlated with 928; ion correlated with 1797; ion correlated with 4009; ion correlated with 1916; ion correlated with 1499; ion correlated with 2123
## 228 ion correlated with 2136; ion correlated with 1825; ion correlated with 2029; ion correlated with 3450; ion correlated with 4030
## 229 similar chromatogram in higher mz_3650; similar chromatogram in higher mz_3707
## 230 ion correlated with 824; ion correlated with 1911; ion correlated with 1867
## 231 <NA>
## 232 ion correlated with 47; ion correlated with 2643; ion correlated with 818; ion correlated with 4011; ion correlated with 2204; ion correlated with 3312; ion correlated with 2963; ion correlated with 3334; ion correlated with 1273; ion correlated with 2802; ion correlated with 2829; ion correlated with 3902; ion correlated with 3778; ion correlated with 3743; ion correlated with 1446
## 233 <NA>
## 234 ion correlated with 1529; ion correlated with 1561; ion correlated with 3639; ion correlated with 3678; ion correlated with 2029; ion correlated with 3734; ion correlated with 1729
## 235 ion correlated with 710; ion correlated with 4897
## 236 ion correlated with 3144
## 237 ion correlated with 1377; ion correlated with 2835; ion correlated with 391
## 238 <NA>
## 239 ion correlated with 1575
## 240 <NA>
## 241 ion correlated with 47; ion correlated with 2643; ion correlated with 818; ion correlated with 4011; ion correlated with 2204; ion correlated with 2835; ion correlated with 2264; ion correlated with 2963; ion correlated with 3334; ion correlated with 3381; ion correlated with 1273; ion correlated with 2829; ion correlated with 3902; ion correlated with 3778; ion correlated with 3743; ion correlated with 1446; ion correlated with 2994; ion correlated with 3132; ion correlated with 2444; ion correlated with 3393; ion correlated with 2891; similar chromatogram in higher mz_2880
## 242 ion correlated with 696; ion correlated with 2801; ion correlated with 2369
## 243 ion correlated with 1579
## 244 ion correlated with 47; ion correlated with 2643; ion correlated with 4011; ion correlated with 2204; ion correlated with 2835; ion correlated with 2264; ion correlated with 2963; ion correlated with 3334; ion correlated with 3381; ion correlated with 2802; ion correlated with 2829; ion correlated with 3902; ion correlated with 3161; ion correlated with 3743; ion correlated with 1446; ion correlated with 2994; ion correlated with 3132; ion correlated with 2444; ion correlated with 3393
## 245 <NA>
## 246 ion correlated with 1780; ion correlated with 928; ion correlated with 2214; ion correlated with 655; ion correlated with 1916; ion correlated with 1499; ion correlated with 855; ion correlated with 2123
## 247 found in higher mz's MsMs_3024
## 248 <NA>
## 249 <NA>
## 250 ion correlated with 2217; ion correlated with 4175; ion correlated with 1561; ion correlated with 4289
## 251 ion correlated with 4143
## 252 <NA>
## 253 found in higher mz's MsMs_2630
## 254 ion correlated with 4033; ion correlated with 1504; ion correlated with 4175; ion correlated with 4289
## 255 <NA>
## 256 ion correlated with 1020; ion correlated with 4035; ion correlated with 2094; ion correlated with 3349; ion correlated with 2128; ion correlated with 799; ion correlated with 4338; ion correlated with 4486; ion correlated with 2012; ion correlated with 4283; ion correlated with 3491; ion correlated with 4678; ion correlated with 3680; ion correlated with 4167; ion correlated with 4019; ion correlated with 1747; ion correlated with 4640; ion correlated with 4223; ion correlated with 4153; ion correlated with 4639; ion correlated with 4192; ion correlated with 3898; ion correlated with 3143; ion correlated with 4250; ion correlated with 1598; ion correlated with 1870; ion correlated with 3772; ion correlated with 4341; ion correlated with 3733; ion correlated with 4952; ion correlated with 4960; similar chromatogram in higher mz_4724; similar chromatogram in higher mz_3971; similar chromatogram in higher mz_4739; similar chromatogram in higher mz_4640
## 257 ion correlated with 3025; ion correlated with 3334; ion correlated with 3381; ion correlated with 1273; ion correlated with 2802; ion correlated with 2829; ion correlated with 3902; ion correlated with 3778; ion correlated with 3743; ion correlated with 1446; ion correlated with 916; ion correlated with 2444; ion correlated with 3393; ion correlated with 2891; ion correlated with 2926; ion correlated with 1544; ion correlated with 2620; ion correlated with 3432; ion correlated with 3627; ion correlated with 1392; ion correlated with 2672; ion correlated with 3786
## 258 <NA>
## 259 ion correlated with 1120
## 260 ion correlated with 119
## 261 <NA>
## Fill % MS/MS assigned Formula Ontology INCHIKEY SMILES
## 1 0.107 TRUE null null null null
## 2 0.107 TRUE null null null null
## 3 0.286 TRUE null null null null
## 4 0.214 TRUE null null null null
## 5 0.393 TRUE null null null null
## 6 0.429 TRUE null null null null
## 7 0.107 FALSE null null null null
## 8 0.214 TRUE null null null null
## 9 0.214 FALSE null null null null
## 10 0.250 FALSE null null null null
## 11 0.036 FALSE null null null null
## 12 0.214 FALSE null null null null
## 13 0.107 TRUE null null null null
## 14 0.036 FALSE null null null null
## 15 0.179 TRUE null null null null
## 16 0.107 TRUE null null null null
## 17 0.179 FALSE null null null null
## 18 0.429 TRUE null null null null
## 19 0.143 FALSE null null null null
## 20 0.107 TRUE null null null null
## 21 0.143 FALSE null null null null
## 22 0.357 FALSE null null null null
## 23 0.286 TRUE null null null null
## 24 0.214 FALSE null null null null
## 25 0.143 TRUE null null null null
## 26 0.107 TRUE null null null null
## 27 0.393 FALSE null null null null
## 28 0.321 TRUE null null null null
## 29 0.357 FALSE null null null null
## 30 0.250 FALSE null null null null
## 31 0.107 TRUE null null null null
## 32 0.214 TRUE null null null null
## 33 0.357 TRUE null null null null
## 34 0.143 TRUE null null null null
## 35 0.107 TRUE null null null null
## 36 0.143 FALSE null null null null
## 37 0.643 TRUE null null null null
## 38 0.429 TRUE null null null null
## 39 0.321 FALSE null null null null
## 40 0.214 TRUE null null null null
## 41 0.107 FALSE null null null null
## 42 0.179 TRUE null null null null
## 43 0.071 FALSE null null null null
## 44 0.214 TRUE null null null null
## 45 0.321 FALSE null null null null
## 46 0.857 TRUE null null null null
## 47 0.286 FALSE null null null null
## 48 0.357 TRUE null null null null
## 49 0.107 TRUE null null null null
## 50 0.071 FALSE null null null null
## 51 0.250 FALSE null null null null
## 52 0.286 TRUE null null null null
## 53 0.250 TRUE null null null null
## 54 0.571 FALSE null null null null
## 55 0.071 FALSE null null null null
## 56 0.321 FALSE null null null null
## 57 0.250 TRUE null null null null
## 58 0.250 TRUE null null null null
## 59 0.107 TRUE null null null null
## 60 0.107 TRUE null null null null
## 61 0.143 TRUE null null null null
## 62 0.107 FALSE null null null null
## 63 0.143 FALSE null null null null
## 64 0.107 TRUE null null null null
## 65 0.214 FALSE null null null null
## 66 0.214 FALSE null null null null
## 67 0.429 TRUE null null null null
## 68 0.179 TRUE null null null null
## 69 0.643 TRUE null null null null
## 70 0.071 TRUE null null null null
## 71 0.321 FALSE null null null null
## 72 0.286 TRUE null null null null
## 73 0.571 TRUE null null null null
## 74 0.321 FALSE null null null null
## 75 0.321 FALSE null null null null
## 76 0.036 FALSE null null null null
## 77 0.071 TRUE null null null null
## 78 0.643 TRUE null null null null
## 79 0.429 TRUE null null null null
## 80 0.107 FALSE null null null null
## 81 0.643 TRUE null null null null
## 82 0.036 FALSE null null null null
## 83 0.250 TRUE null null null null
## 84 0.071 FALSE null null null null
## 85 0.286 TRUE null null null null
## 86 0.107 TRUE null null null null
## 87 0.071 TRUE null null null null
## 88 0.643 TRUE null null null null
## 89 0.643 TRUE null null null null
## 90 0.214 FALSE null null null null
## 91 0.393 TRUE null null null null
## 92 0.036 FALSE null null null null
## 93 0.214 FALSE null null null null
## 94 0.536 TRUE null null null null
## 95 0.036 FALSE null null null null
## 96 0.536 TRUE null null null null
## 97 0.036 FALSE null null null null
## 98 0.143 TRUE null null null null
## 99 0.500 TRUE null null null null
## 100 0.429 TRUE null null null null
## 101 0.643 TRUE null null null null
## 102 0.393 FALSE null null null null
## 103 0.071 FALSE null null null null
## 104 0.107 TRUE null null null null
## 105 0.393 TRUE null null null null
## 106 0.036 FALSE null null null null
## 107 0.179 TRUE null null null null
## 108 0.036 FALSE null null null null
## 109 0.036 FALSE null null null null
## 110 0.036 FALSE null null null null
## 111 0.321 FALSE null null null null
## 112 0.107 TRUE null null null null
## 113 0.036 FALSE null null null null
## 114 0.429 TRUE null null null null
## 115 0.071 TRUE null null null null
## 116 0.071 FALSE null null null null
## 117 0.107 FALSE null null null null
## 118 0.143 FALSE null null null null
## 119 0.393 FALSE null null null null
## 120 0.429 TRUE null null null null
## 121 0.429 TRUE null null null null
## 122 0.107 FALSE null null null null
## 123 0.214 FALSE null null null null
## 124 0.357 TRUE null null null null
## 125 0.071 FALSE null null null null
## 126 0.107 TRUE null null null null
## 127 0.179 FALSE null null null null
## 128 0.607 FALSE null null null null
## 129 0.107 FALSE null null null null
## 130 0.643 TRUE null null null null
## 131 0.321 TRUE null null null null
## 132 0.607 FALSE null null null null
## 133 0.107 FALSE null null null null
## 134 0.071 TRUE null null null null
## 135 0.036 FALSE null null null null
## 136 0.429 TRUE null null null null
## 137 0.071 FALSE null null null null
## 138 0.107 FALSE null null null null
## 139 0.036 TRUE null null null null
## 140 0.036 FALSE null null null null
## 141 0.393 FALSE null null null null
## 142 0.179 FALSE null null null null
## 143 0.571 TRUE null null null null
## 144 0.393 TRUE null null null null
## 145 0.429 TRUE null null null null
## 146 0.643 TRUE null null null null
## 147 0.429 TRUE null null null null
## 148 0.107 FALSE null null null null
## 149 0.286 FALSE null null null null
## 150 0.179 FALSE null null null null
## 151 0.107 TRUE null null null null
## 152 0.071 FALSE null null null null
## 153 0.429 TRUE null null null null
## 154 0.036 TRUE null null null null
## 155 0.214 TRUE null null null null
## 156 0.071 FALSE null null null null
## 157 0.107 FALSE null null null null
## 158 0.214 FALSE null null null null
## 159 0.429 FALSE null null null null
## 160 0.036 FALSE null null null null
## 161 0.143 FALSE null null null null
## 162 0.107 FALSE null null null null
## 163 0.179 FALSE null null null null
## 164 0.643 FALSE null null null null
## 165 0.143 FALSE null null null null
## 166 0.071 FALSE null null null null
## 167 0.357 TRUE null null null null
## 168 0.107 TRUE null null null null
## 169 0.036 FALSE null null null null
## 170 0.393 FALSE null null null null
## 171 0.071 TRUE null null null null
## 172 0.036 FALSE null null null null
## 173 0.071 FALSE null null null null
## 174 0.750 TRUE null null null null
## 175 0.429 TRUE null null null null
## 176 0.357 FALSE null null null null
## 177 0.357 TRUE null null null null
## 178 0.643 TRUE null null null null
## 179 0.107 TRUE null null null null
## 180 0.036 FALSE null null null null
## 181 0.214 FALSE null null null null
## 182 0.036 TRUE null null null null
## 183 0.643 TRUE null null null null
## 184 0.429 TRUE null null null null
## 185 0.357 TRUE null null null null
## 186 0.643 TRUE null null null null
## 187 0.107 TRUE null null null null
## 188 0.143 TRUE null null null null
## 189 0.429 FALSE null null null null
## 190 0.036 FALSE null null null null
## 191 0.536 FALSE null null null null
## 192 0.286 TRUE null null null null
## 193 0.643 TRUE null null null null
## 194 0.036 FALSE null null null null
## 195 0.071 FALSE null null null null
## 196 0.393 TRUE null null null null
## 197 0.036 FALSE null null null null
## 198 0.107 FALSE null null null null
## 199 0.036 FALSE null null null null
## 200 0.179 FALSE null null null null
## 201 0.071 TRUE null null null null
## 202 0.107 FALSE null null null null
## 203 0.071 TRUE null null null null
## 204 0.107 TRUE null null null null
## 205 0.357 FALSE null null null null
## 206 0.429 TRUE null null null null
## 207 0.143 FALSE null null null null
## 208 0.214 FALSE null null null null
## 209 0.429 TRUE null null null null
## 210 0.214 TRUE null null null null
## 211 0.071 FALSE null null null null
## 212 0.429 FALSE null null null null
## 213 0.429 TRUE null null null null
## 214 0.179 FALSE null null null null
## 215 0.536 FALSE null null null null
## 216 0.286 TRUE null null null null
## 217 0.357 TRUE null null null null
## 218 0.107 FALSE null null null null
## 219 0.429 TRUE null null null null
## 220 0.143 FALSE null null null null
## 221 0.357 FALSE null null null null
## 222 0.143 FALSE null null null null
## 223 0.357 TRUE null null null null
## 224 0.357 FALSE null null null null
## 225 0.214 TRUE null null null null
## 226 0.321 FALSE null null null null
## 227 0.357 FALSE null null null null
## 228 0.036 FALSE null null null null
## 229 0.607 TRUE null null null null
## 230 0.321 FALSE null null null null
## 231 0.750 FALSE null null null null
## 232 0.357 FALSE null null null null
## 233 0.071 FALSE null null null null
## 234 0.071 FALSE null null null null
## 235 0.214 FALSE null null null null
## 236 0.321 TRUE null null null null
## 237 0.500 FALSE null null null null
## 238 0.643 TRUE null null null null
## 239 0.607 FALSE null null null null
## 240 0.536 TRUE null null null null
## 241 0.357 FALSE null null null null
## 242 0.250 FALSE null null null null
## 243 0.214 FALSE null null null null
## 244 0.036 FALSE null null null null
## 245 0.250 TRUE null null null null
## 246 0.071 FALSE null null null null
## 247 0.036 TRUE null null null null
## 248 0.071 FALSE null null null null
## 249 0.143 FALSE null null null null
## 250 0.071 FALSE null null null null
## 251 0.429 FALSE null null null null
## 252 0.143 FALSE null null null null
## 253 0.571 TRUE null null null null
## 254 0.036 FALSE null null null null
## 255 0.286 TRUE null null null null
## 256 0.107 FALSE null null null null
## 257 0.250 FALSE null null null null
## 258 0.464 TRUE null null null null
## 259 0.429 TRUE null null null null
## 260 0.036 TRUE null null null null
## 261 0.036 TRUE null null null null
## Annotation tag (VS1.0) RT matched m/z matched MS/MS matched Total score
## 1 999 FALSE FALSE FALSE null
## 2 999 FALSE FALSE FALSE null
## 3 999 FALSE FALSE FALSE null
## 4 999 FALSE FALSE FALSE null
## 5 999 FALSE FALSE FALSE null
## 6 999 FALSE FALSE FALSE null
## 7 999 FALSE FALSE FALSE null
## 8 999 FALSE FALSE FALSE null
## 9 999 FALSE FALSE FALSE null
## 10 999 FALSE FALSE FALSE null
## 11 999 FALSE FALSE FALSE null
## 12 999 FALSE FALSE FALSE null
## 13 999 FALSE FALSE FALSE null
## 14 999 FALSE FALSE FALSE null
## 15 999 FALSE FALSE FALSE null
## 16 999 FALSE FALSE FALSE null
## 17 999 FALSE FALSE FALSE null
## 18 999 FALSE FALSE FALSE null
## 19 999 FALSE FALSE FALSE null
## 20 999 FALSE FALSE FALSE null
## 21 999 FALSE FALSE FALSE null
## 22 999 FALSE FALSE FALSE null
## 23 999 FALSE FALSE FALSE null
## 24 999 FALSE FALSE FALSE null
## 25 999 FALSE FALSE FALSE null
## 26 999 FALSE FALSE FALSE null
## 27 999 FALSE FALSE FALSE null
## 28 999 FALSE FALSE FALSE null
## 29 999 FALSE FALSE FALSE null
## 30 999 FALSE FALSE FALSE null
## 31 999 FALSE FALSE FALSE null
## 32 999 FALSE FALSE FALSE null
## 33 999 FALSE FALSE FALSE null
## 34 999 FALSE FALSE FALSE null
## 35 999 FALSE FALSE FALSE null
## 36 999 FALSE FALSE FALSE null
## 37 999 FALSE FALSE FALSE null
## 38 999 FALSE FALSE FALSE null
## 39 999 FALSE FALSE FALSE null
## 40 999 FALSE FALSE FALSE null
## 41 999 FALSE FALSE FALSE null
## 42 999 FALSE FALSE FALSE null
## 43 999 FALSE FALSE FALSE null
## 44 999 FALSE FALSE FALSE null
## 45 999 FALSE FALSE FALSE null
## 46 999 FALSE FALSE FALSE null
## 47 999 FALSE FALSE FALSE null
## 48 999 FALSE FALSE FALSE null
## 49 999 FALSE FALSE FALSE null
## 50 999 FALSE FALSE FALSE null
## 51 999 FALSE FALSE FALSE null
## 52 999 FALSE FALSE FALSE null
## 53 999 FALSE FALSE FALSE null
## 54 999 FALSE FALSE FALSE null
## 55 999 FALSE FALSE FALSE null
## 56 999 FALSE FALSE FALSE null
## 57 999 FALSE FALSE FALSE null
## 58 999 FALSE FALSE FALSE null
## 59 999 FALSE FALSE FALSE null
## 60 999 FALSE FALSE FALSE null
## 61 999 FALSE FALSE FALSE null
## 62 999 FALSE FALSE FALSE null
## 63 999 FALSE FALSE FALSE null
## 64 999 FALSE FALSE FALSE null
## 65 999 FALSE FALSE FALSE null
## 66 999 FALSE FALSE FALSE null
## 67 999 FALSE FALSE FALSE null
## 68 999 FALSE FALSE FALSE null
## 69 999 FALSE FALSE FALSE null
## 70 999 FALSE FALSE FALSE null
## 71 999 FALSE FALSE FALSE null
## 72 999 FALSE FALSE FALSE null
## 73 999 FALSE FALSE FALSE null
## 74 999 FALSE FALSE FALSE null
## 75 999 FALSE FALSE FALSE null
## 76 999 FALSE FALSE FALSE null
## 77 999 FALSE FALSE FALSE null
## 78 999 FALSE FALSE FALSE null
## 79 999 FALSE FALSE FALSE null
## 80 999 FALSE FALSE FALSE null
## 81 999 FALSE FALSE FALSE null
## 82 999 FALSE FALSE FALSE null
## 83 999 FALSE FALSE FALSE null
## 84 999 FALSE FALSE FALSE null
## 85 999 FALSE FALSE FALSE null
## 86 999 FALSE FALSE FALSE null
## 87 999 FALSE FALSE FALSE null
## 88 999 FALSE FALSE FALSE null
## 89 999 FALSE FALSE FALSE null
## 90 999 FALSE FALSE FALSE null
## 91 999 FALSE FALSE FALSE null
## 92 999 FALSE FALSE FALSE null
## 93 999 FALSE FALSE FALSE null
## 94 999 FALSE FALSE FALSE null
## 95 999 FALSE FALSE FALSE null
## 96 999 FALSE FALSE FALSE null
## 97 999 FALSE FALSE FALSE null
## 98 999 FALSE FALSE FALSE null
## 99 999 FALSE FALSE FALSE null
## 100 999 FALSE FALSE FALSE null
## 101 999 FALSE FALSE FALSE null
## 102 999 FALSE FALSE FALSE null
## 103 999 FALSE FALSE FALSE null
## 104 999 FALSE FALSE FALSE null
## 105 999 FALSE FALSE FALSE null
## 106 999 FALSE FALSE FALSE null
## 107 999 FALSE FALSE FALSE null
## 108 999 FALSE FALSE FALSE null
## 109 999 FALSE FALSE FALSE null
## 110 999 FALSE FALSE FALSE null
## 111 999 FALSE FALSE FALSE null
## 112 999 FALSE FALSE FALSE null
## 113 999 FALSE FALSE FALSE null
## 114 999 FALSE FALSE FALSE null
## 115 999 FALSE FALSE FALSE null
## 116 999 FALSE FALSE FALSE null
## 117 999 FALSE FALSE FALSE null
## 118 999 FALSE FALSE FALSE null
## 119 999 FALSE FALSE FALSE null
## 120 999 FALSE FALSE FALSE null
## 121 999 FALSE FALSE FALSE null
## 122 999 FALSE FALSE FALSE null
## 123 999 FALSE FALSE FALSE null
## 124 999 FALSE FALSE FALSE null
## 125 999 FALSE FALSE FALSE null
## 126 999 FALSE FALSE FALSE null
## 127 999 FALSE FALSE FALSE null
## 128 999 FALSE FALSE FALSE null
## 129 999 FALSE FALSE FALSE null
## 130 999 FALSE FALSE FALSE null
## 131 999 FALSE FALSE FALSE null
## 132 999 FALSE FALSE FALSE null
## 133 999 FALSE FALSE FALSE null
## 134 999 FALSE FALSE FALSE null
## 135 999 FALSE FALSE FALSE null
## 136 999 FALSE FALSE FALSE null
## 137 999 FALSE FALSE FALSE null
## 138 999 FALSE FALSE FALSE null
## 139 999 FALSE FALSE FALSE null
## 140 999 FALSE FALSE FALSE null
## 141 999 FALSE FALSE FALSE null
## 142 999 FALSE FALSE FALSE null
## 143 999 FALSE FALSE FALSE null
## 144 999 FALSE FALSE FALSE null
## 145 999 FALSE FALSE FALSE null
## 146 999 FALSE FALSE FALSE null
## 147 999 FALSE FALSE FALSE null
## 148 999 FALSE FALSE FALSE null
## 149 999 FALSE FALSE FALSE null
## 150 999 FALSE FALSE FALSE null
## 151 999 FALSE FALSE FALSE null
## 152 999 FALSE FALSE FALSE null
## 153 999 FALSE FALSE FALSE null
## 154 999 FALSE FALSE FALSE null
## 155 999 FALSE FALSE FALSE null
## 156 999 FALSE FALSE FALSE null
## 157 999 FALSE FALSE FALSE null
## 158 999 FALSE FALSE FALSE null
## 159 999 FALSE FALSE FALSE null
## 160 999 FALSE FALSE FALSE null
## 161 999 FALSE FALSE FALSE null
## 162 999 FALSE FALSE FALSE null
## 163 999 FALSE FALSE FALSE null
## 164 999 FALSE FALSE FALSE null
## 165 999 FALSE FALSE FALSE null
## 166 999 FALSE FALSE FALSE null
## 167 999 FALSE FALSE FALSE null
## 168 999 FALSE FALSE FALSE null
## 169 999 FALSE FALSE FALSE null
## 170 999 FALSE FALSE FALSE null
## 171 999 FALSE FALSE FALSE null
## 172 999 FALSE FALSE FALSE null
## 173 999 FALSE FALSE FALSE null
## 174 999 FALSE FALSE FALSE null
## 175 999 FALSE FALSE FALSE null
## 176 999 FALSE FALSE FALSE null
## 177 999 FALSE FALSE FALSE null
## 178 999 FALSE FALSE FALSE null
## 179 999 FALSE FALSE FALSE null
## 180 999 FALSE FALSE FALSE null
## 181 999 FALSE FALSE FALSE null
## 182 999 FALSE FALSE FALSE null
## 183 999 FALSE FALSE FALSE null
## 184 999 FALSE FALSE FALSE null
## 185 999 FALSE FALSE FALSE null
## 186 999 FALSE FALSE FALSE null
## 187 999 FALSE FALSE FALSE null
## 188 999 FALSE FALSE FALSE null
## 189 999 FALSE FALSE FALSE null
## 190 999 FALSE FALSE FALSE null
## 191 999 FALSE FALSE FALSE null
## 192 999 FALSE FALSE FALSE null
## 193 999 FALSE FALSE FALSE null
## 194 999 FALSE FALSE FALSE null
## 195 999 FALSE FALSE FALSE null
## 196 999 FALSE FALSE FALSE null
## 197 999 FALSE FALSE FALSE null
## 198 999 FALSE FALSE FALSE null
## 199 999 FALSE FALSE FALSE null
## 200 999 FALSE FALSE FALSE null
## 201 999 FALSE FALSE FALSE null
## 202 999 FALSE FALSE FALSE null
## 203 999 FALSE FALSE FALSE null
## 204 999 FALSE FALSE FALSE null
## 205 999 FALSE FALSE FALSE null
## 206 999 FALSE FALSE FALSE null
## 207 999 FALSE FALSE FALSE null
## 208 999 FALSE FALSE FALSE null
## 209 999 FALSE FALSE FALSE null
## 210 999 FALSE FALSE FALSE null
## 211 999 FALSE FALSE FALSE null
## 212 999 FALSE FALSE FALSE null
## 213 999 FALSE FALSE FALSE null
## 214 999 FALSE FALSE FALSE null
## 215 999 FALSE FALSE FALSE null
## 216 999 FALSE FALSE FALSE null
## 217 999 FALSE FALSE FALSE null
## 218 999 FALSE FALSE FALSE null
## 219 999 FALSE FALSE FALSE null
## 220 999 FALSE FALSE FALSE null
## 221 999 FALSE FALSE FALSE null
## 222 999 FALSE FALSE FALSE null
## 223 999 FALSE FALSE FALSE null
## 224 999 FALSE FALSE FALSE null
## 225 999 FALSE FALSE FALSE null
## 226 999 FALSE FALSE FALSE null
## 227 999 FALSE FALSE FALSE null
## 228 999 FALSE FALSE FALSE null
## 229 999 FALSE FALSE FALSE null
## 230 999 FALSE FALSE FALSE null
## 231 999 FALSE FALSE FALSE null
## 232 999 FALSE FALSE FALSE null
## 233 999 FALSE FALSE FALSE null
## 234 999 FALSE FALSE FALSE null
## 235 999 FALSE FALSE FALSE null
## 236 999 FALSE FALSE FALSE null
## 237 999 FALSE FALSE FALSE null
## 238 999 FALSE FALSE FALSE null
## 239 999 FALSE FALSE FALSE null
## 240 999 FALSE FALSE FALSE null
## 241 999 FALSE FALSE FALSE null
## 242 999 FALSE FALSE FALSE null
## 243 999 FALSE FALSE FALSE null
## 244 999 FALSE FALSE FALSE null
## 245 999 FALSE FALSE FALSE null
## 246 999 FALSE FALSE FALSE null
## 247 999 FALSE FALSE FALSE null
## 248 999 FALSE FALSE FALSE null
## 249 999 FALSE FALSE FALSE null
## 250 999 FALSE FALSE FALSE null
## 251 999 FALSE FALSE FALSE null
## 252 999 FALSE FALSE FALSE null
## 253 999 FALSE FALSE FALSE null
## 254 999 FALSE FALSE FALSE null
## 255 999 FALSE FALSE FALSE null
## 256 999 FALSE FALSE FALSE null
## 257 999 FALSE FALSE FALSE null
## 258 999 FALSE FALSE FALSE null
## 259 999 FALSE FALSE FALSE null
## 260 999 FALSE FALSE FALSE null
## 261 999 FALSE FALSE FALSE null
## RT similarity Dot product Reverse dot product Fragment presence %
## 1 null null null null
## 2 null null null null
## 3 null null null null
## 4 null null null null
## 5 null null null null
## 6 null null null null
## 7 null null null null
## 8 null null null null
## 9 null null null null
## 10 null null null null
## 11 null null null null
## 12 null null null null
## 13 null null null null
## 14 null null null null
## 15 null null null null
## 16 null null null null
## 17 null null null null
## 18 null null null null
## 19 null null null null
## 20 null null null null
## 21 null null null null
## 22 null null null null
## 23 null null null null
## 24 null null null null
## 25 null null null null
## 26 null null null null
## 27 null null null null
## 28 null null null null
## 29 null null null null
## 30 null null null null
## 31 null null null null
## 32 null null null null
## 33 null null null null
## 34 null null null null
## 35 null null null null
## 36 null null null null
## 37 null null null null
## 38 null null null null
## 39 null null null null
## 40 null null null null
## 41 null null null null
## 42 null null null null
## 43 null null null null
## 44 null null null null
## 45 null null null null
## 46 null null null null
## 47 null null null null
## 48 null null null null
## 49 null null null null
## 50 null null null null
## 51 null null null null
## 52 null null null null
## 53 null null null null
## 54 null null null null
## 55 null null null null
## 56 null null null null
## 57 null null null null
## 58 null null null null
## 59 null null null null
## 60 null null null null
## 61 null null null null
## 62 null null null null
## 63 null null null null
## 64 null null null null
## 65 null null null null
## 66 null null null null
## 67 null null null null
## 68 null null null null
## 69 null null null null
## 70 null null null null
## 71 null null null null
## 72 null null null null
## 73 null null null null
## 74 null null null null
## 75 null null null null
## 76 null null null null
## 77 null null null null
## 78 null null null null
## 79 null null null null
## 80 null null null null
## 81 null null null null
## 82 null null null null
## 83 null null null null
## 84 null null null null
## 85 null null null null
## 86 null null null null
## 87 null null null null
## 88 null null null null
## 89 null null null null
## 90 null null null null
## 91 null null null null
## 92 null null null null
## 93 null null null null
## 94 null null null null
## 95 null null null null
## 96 null null null null
## 97 null null null null
## 98 null null null null
## 99 null null null null
## 100 null null null null
## 101 null null null null
## 102 null null null null
## 103 null null null null
## 104 null null null null
## 105 null null null null
## 106 null null null null
## 107 null null null null
## 108 null null null null
## 109 null null null null
## 110 null null null null
## 111 null null null null
## 112 null null null null
## 113 null null null null
## 114 null null null null
## 115 null null null null
## 116 null null null null
## 117 null null null null
## 118 null null null null
## 119 null null null null
## 120 null null null null
## 121 null null null null
## 122 null null null null
## 123 null null null null
## 124 null null null null
## 125 null null null null
## 126 null null null null
## 127 null null null null
## 128 null null null null
## 129 null null null null
## 130 null null null null
## 131 null null null null
## 132 null null null null
## 133 null null null null
## 134 null null null null
## 135 null null null null
## 136 null null null null
## 137 null null null null
## 138 null null null null
## 139 null null null null
## 140 null null null null
## 141 null null null null
## 142 null null null null
## 143 null null null null
## 144 null null null null
## 145 null null null null
## 146 null null null null
## 147 null null null null
## 148 null null null null
## 149 null null null null
## 150 null null null null
## 151 null null null null
## 152 null null null null
## 153 null null null null
## 154 null null null null
## 155 null null null null
## 156 null null null null
## 157 null null null null
## 158 null null null null
## 159 null null null null
## 160 null null null null
## 161 null null null null
## 162 null null null null
## 163 null null null null
## 164 null null null null
## 165 null null null null
## 166 null null null null
## 167 null null null null
## 168 null null null null
## 169 null null null null
## 170 null null null null
## 171 null null null null
## 172 null null null null
## 173 null null null null
## 174 null null null null
## 175 null null null null
## 176 null null null null
## 177 null null null null
## 178 null null null null
## 179 null null null null
## 180 null null null null
## 181 null null null null
## 182 null null null null
## 183 null null null null
## 184 null null null null
## 185 null null null null
## 186 null null null null
## 187 null null null null
## 188 null null null null
## 189 null null null null
## 190 null null null null
## 191 null null null null
## 192 null null null null
## 193 null null null null
## 194 null null null null
## 195 null null null null
## 196 null null null null
## 197 null null null null
## 198 null null null null
## 199 null null null null
## 200 null null null null
## 201 null null null null
## 202 null null null null
## 203 null null null null
## 204 null null null null
## 205 null null null null
## 206 null null null null
## 207 null null null null
## 208 null null null null
## 209 null null null null
## 210 null null null null
## 211 null null null null
## 212 null null null null
## 213 null null null null
## 214 null null null null
## 215 null null null null
## 216 null null null null
## 217 null null null null
## 218 null null null null
## 219 null null null null
## 220 null null null null
## 221 null null null null
## 222 null null null null
## 223 null null null null
## 224 null null null null
## 225 null null null null
## 226 null null null null
## 227 null null null null
## 228 null null null null
## 229 null null null null
## 230 null null null null
## 231 null null null null
## 232 null null null null
## 233 null null null null
## 234 null null null null
## 235 null null null null
## 236 null null null null
## 237 null null null null
## 238 null null null null
## 239 null null null null
## 240 null null null null
## 241 null null null null
## 242 null null null null
## 243 null null null null
## 244 null null null null
## 245 null null null null
## 246 null null null null
## 247 null null null null
## 248 null null null null
## 249 null null null null
## 250 null null null null
## 251 null null null null
## 252 null null null null
## 253 null null null null
## 254 null null null null
## 255 null null null null
## 256 null null null null
## 257 null null null null
## 258 null null null null
## 259 null null null null
## 260 null null null null
## 261 null null null null
## S/N average blank_mean sample_to_blank_ratio number_detected
## 1 9.07 0.000000e+00 4.477540e+05 6
## 2 453.87 2.157433e+04 1.504428e+02 24
## 3 15392.28 4.792667e+03 9.686103e+03 22
## 4 140.70 2.270867e+04 3.767277e+01 24
## 5 575.01 1.155500e+04 1.018967e+03 24
## 6 240.90 5.197667e+03 1.565920e+03 17
## 7 54.87 5.392000e+03 8.518950e+01 21
## 8 89.36 2.227233e+04 3.060507e+01 24
## 9 113.53 2.269333e+03 5.370185e+02 13
## 10 62.69 5.061067e+04 1.683572e+01 24
## 11 80.14 3.093333e+03 1.313766e+02 13
## 12 83.81 5.692500e+04 1.740749e+01 24
## 13 13.48 1.262200e+04 1.884037e+01 24
## 14 81.62 0.000000e+00 3.759090e+05 13
## 15 45.45 1.058610e+05 1.644961e+01 24
## 16 1425.28 6.256667e+02 6.774554e+03 20
## 17 124.16 0.000000e+00 9.393330e+05 14
## 18 157.68 1.471500e+04 4.591152e+02 19
## 19 41.56 0.000000e+00 2.796100e+05 15
## 20 102.13 1.426333e+03 5.250056e+02 18
## 21 9700.03 0.000000e+00 7.899650e+05 12
## 22 276.61 0.000000e+00 1.574746e+06 13
## 23 134.51 1.018867e+04 2.654121e+02 23
## 24 49.96 1.719733e+04 1.682541e+01 19
## 25 27.59 9.596667e+03 1.378095e+02 19
## 26 304.95 1.344800e+04 2.372970e+02 24
## 27 135.66 0.000000e+00 1.346025e+06 16
## 28 464.17 3.017900e+04 1.237363e+02 24
## 29 36.56 7.876667e+03 3.114133e+01 24
## 30 161.82 4.173000e+03 1.115910e+02 24
## 31 106.81 6.117667e+03 2.586565e+02 23
## 32 123.69 1.104833e+04 2.691088e+02 18
## 33 76.05 0.000000e+00 2.212920e+06 18
## 34 126.62 0.000000e+00 2.344398e+06 14
## 35 1692.53 0.000000e+00 2.779060e+05 13
## 36 39.13 2.684200e+04 9.418694e+00 24
## 37 11282.18 2.555000e+03 1.468759e+04 21
## 38 153.05 1.656000e+03 2.557699e+03 21
## 39 85.92 2.287667e+03 3.251116e+02 23
## 40 720.63 0.000000e+00 5.673333e+06 12
## 41 6.45 4.063333e+03 1.021892e+02 24
## 42 83.46 2.025833e+04 4.226378e+01 24
## 43 280.99 0.000000e+00 6.252500e+05 14
## 44 736.51 2.605667e+04 5.311437e+02 24
## 45 83.46 1.356000e+03 7.255468e+02 12
## 46 98.65 2.779267e+04 1.448094e+02 24
## 47 6684.92 0.000000e+00 8.291570e+05 13
## 48 197.82 1.134467e+04 1.172010e+02 21
## 49 153.47 6.713333e+02 1.446306e+03 15
## 50 94.17 3.615667e+03 8.582934e+02 18
## 51 79.36 2.723700e+04 1.764873e+01 22
## 52 18.53 1.425333e+03 5.585791e+02 19
## 53 39.80 0.000000e+00 1.146484e+06 18
## 54 2967.70 0.000000e+00 1.948894e+06 18
## 55 28.24 5.637667e+03 2.450633e+01 24
## 56 123.66 2.073867e+04 3.613178e+01 20
## 57 78.71 0.000000e+00 2.369339e+06 14
## 58 275.22 3.108000e+03 9.666150e+02 17
## 59 608.99 2.603567e+04 6.606384e+02 24
## 60 296.01 1.026767e+04 1.436797e+02 23
## 61 27.44 2.833833e+04 6.089900e+01 24
## 62 40.46 2.841933e+04 1.152383e+01 24
## 63 79.41 1.041467e+04 5.598845e+01 24
## 64 44.95 0.000000e+00 4.500990e+05 21
## 65 50.98 1.236000e+03 3.820202e+02 16
## 66 6754.27 0.000000e+00 1.014207e+06 12
## 67 754.50 1.787467e+04 1.780952e+03 18
## 68 296.72 0.000000e+00 8.007141e+06 15
## 69 333.38 3.176797e+05 1.511304e+01 24
## 70 810.60 8.153333e+02 1.430852e+03 12
## 71 104.16 4.801633e+04 2.533723e+01 19
## 72 422.78 0.000000e+00 8.484799e+06 13
## 73 146.37 2.766610e+05 1.012435e+01 24
## 74 54.36 2.130800e+04 3.956037e+01 22
## 75 35.59 2.149367e+04 1.013028e+01 24
## 76 14.62 4.670000e+02 3.036282e+02 18
## 77 34.91 1.053333e+03 6.621881e+02 19
## 78 896.58 0.000000e+00 5.846437e+06 19
## 79 251.68 1.024033e+04 3.860014e+02 23
## 80 67.68 0.000000e+00 2.644130e+05 19
## 81 514.84 1.118000e+03 4.207876e+03 24
## 82 16.29 0.000000e+00 1.276990e+05 12
## 83 1037.64 7.340233e+04 1.076709e+02 24
## 84 73.13 2.020200e+04 2.088947e+01 24
## 85 17.61 1.143533e+04 4.021674e+01 24
## 86 212.43 1.050443e+05 2.612117e+01 23
## 87 88.75 5.580000e+02 1.214601e+03 18
## 88 9881.94 0.000000e+00 7.731327e+06 18
## 89 952.36 9.183767e+04 1.354990e+02 24
## 90 65.75 1.719633e+04 2.694493e+01 20
## 91 265.23 1.359500e+04 5.610788e+02 24
## 92 149.48 4.498000e+03 3.329407e+01 16
## 93 93.44 0.000000e+00 3.021250e+05 19
## 94 3153.77 2.274100e+04 7.185667e+02 24
## 95 172.99 0.000000e+00 5.126910e+05 15
## 96 405.48 1.414467e+04 2.825452e+02 24
## 97 57.18 1.680000e+03 1.124866e+02 19
## 98 10.26 7.173333e+03 4.408340e+01 24
## 99 53.73 2.199917e+05 6.277255e+00 24
## 100 968.16 8.023333e+02 8.468805e+03 15
## 101 4461.15 0.000000e+00 2.641342e+07 20
## 102 6124.96 0.000000e+00 6.170840e+05 13
## 103 64.95 6.593333e+02 3.943917e+02 14
## 104 452.95 1.637333e+04 2.210864e+02 24
## 105 165.39 0.000000e+00 9.746110e+05 15
## 106 54.27 0.000000e+00 1.316990e+05 13
## 107 160.03 1.895907e+05 1.418616e+01 24
## 108 512.53 0.000000e+00 6.254196e+06 12
## 109 108.27 2.028867e+04 2.334858e+01 24
## 110 27.96 1.089667e+03 9.704523e+01 22
## 111 188.69 0.000000e+00 4.249870e+05 18
## 112 130.19 0.000000e+00 1.221584e+06 16
## 113 19.13 0.000000e+00 2.155970e+05 13
## 114 1457.06 6.927000e+03 3.895251e+03 18
## 115 278.42 0.000000e+00 1.103751e+06 14
## 116 35.19 2.013200e+04 1.103462e+01 24
## 117 96.90 0.000000e+00 2.659090e+05 12
## 118 50.99 0.000000e+00 6.261270e+05 13
## 119 235.25 6.059667e+03 2.152019e+02 24
## 120 135.68 1.098933e+05 5.268107e+01 24
## 121 132.65 6.758000e+04 5.038634e+01 19
## 122 136.43 5.193333e+02 3.833869e+02 19
## 123 241.20 0.000000e+00 5.628640e+05 10
## 124 176.65 3.973833e+04 4.818503e+01 23
## 125 55.11 1.198667e+03 2.414804e+02 24
## 126 3.86 2.246333e+03 1.187759e+02 23
## 127 227.01 2.274667e+03 2.870596e+02 20
## 128 99.43 1.900917e+05 1.451444e+01 24
## 129 39.07 1.072933e+04 1.592467e+01 24
## 130 5147.49 0.000000e+00 4.116310e+05 19
## 131 48.68 3.915300e+04 1.335013e+01 24
## 132 116.74 0.000000e+00 1.311320e+06 18
## 133 7111.42 0.000000e+00 1.038526e+06 11
## 134 369.46 4.504000e+03 4.272213e+03 24
## 135 98.25 0.000000e+00 4.570620e+05 18
## 136 534.85 1.288933e+04 2.101423e+02 21
## 137 53.17 0.000000e+00 3.581600e+05 24
## 138 19.80 0.000000e+00 2.923920e+05 15
## 139 6.93 2.378433e+04 9.598856e+00 24
## 140 81.77 6.663333e+02 3.525914e+02 13
## 141 1363.92 0.000000e+00 2.995643e+06 12
## 142 36.61 1.767133e+04 1.451155e+01 22
## 143 96.19 3.826133e+04 1.174259e+01 24
## 144 540.30 5.276667e+02 1.914029e+04 18
## 145 1552.51 0.000000e+00 1.765855e+07 13
## 146 62.44 1.352190e+05 3.184385e+01 24
## 147 5124.73 3.973267e+04 5.066520e+03 18
## 148 22.28 1.006000e+03 1.589047e+02 13
## 149 92.96 0.000000e+00 9.733650e+05 16
## 150 109.15 0.000000e+00 3.910340e+05 17
## 151 4.06 4.430000e+03 6.353013e+01 24
## 152 128.98 1.276600e+04 4.146095e+01 24
## 153 9089.63 0.000000e+00 5.143787e+07 14
## 154 387.76 5.059633e+04 5.207913e+01 18
## 155 923.60 8.617333e+03 2.107542e+01 24
## 156 33.56 0.000000e+00 2.019930e+05 13
## 157 96.00 0.000000e+00 3.249150e+05 16
## 158 101.47 0.000000e+00 6.227150e+05 12
## 159 312.50 0.000000e+00 3.098237e+06 15
## 160 55.35 0.000000e+00 3.569580e+05 12
## 161 44.70 0.000000e+00 2.565630e+05 13
## 162 74.81 5.758667e+03 9.833642e+01 19
## 163 3209.83 0.000000e+00 3.724650e+05 12
## 164 206.97 1.176320e+05 2.528500e+01 24
## 165 121.53 0.000000e+00 2.574210e+05 15
## 166 49.76 1.603000e+03 1.998822e+02 20
## 167 59.21 8.006533e+04 1.084903e+01 24
## 168 33.05 1.394667e+04 1.678611e+01 24
## 169 18.63 3.142160e+05 1.392108e+01 24
## 170 147.55 4.534833e+04 1.396878e+02 24
## 171 1237.09 0.000000e+00 3.326971e+06 18
## 172 25.64 9.075333e+03 1.723251e+01 23
## 173 1070.08 0.000000e+00 2.331010e+05 23
## 174 496.82 3.272280e+05 2.716142e+01 18
## 175 171.92 5.446967e+04 7.394529e+01 24
## 176 681.50 0.000000e+00 4.080381e+06 18
## 177 275.54 1.415967e+04 1.639195e+02 22
## 178 432.20 7.810067e+05 6.455751e+00 24
## 179 313.12 2.406000e+03 3.329173e+02 13
## 180 88.99 1.093633e+04 3.808698e+01 21
## 181 105.62 0.000000e+00 6.057530e+05 16
## 182 885.32 0.000000e+00 1.423251e+06 18
## 183 993.67 2.507000e+03 4.014740e+03 22
## 184 81.60 1.208987e+05 5.308214e+01 24
## 185 126.88 6.375667e+03 2.379668e+02 21
## 186 1111.42 2.656200e+04 5.538270e+02 18
## 187 157.19 0.000000e+00 9.043660e+05 13
## 188 3649.46 2.215121e+07 1.459801e+01 24
## 189 118.85 0.000000e+00 1.897805e+06 18
## 190 76.17 2.506000e+03 4.813562e+01 16
## 191 64.18 4.816067e+04 7.573160e+00 24
## 192 138.59 1.223333e+03 2.280528e+03 18
## 193 466.95 2.040333e+03 9.679007e+03 18
## 194 61.98 8.825667e+03 3.206601e+01 23
## 195 43.62 3.838333e+03 7.074431e+01 17
## 196 458.34 2.047233e+04 9.074679e+02 19
## 197 91.75 0.000000e+00 1.421840e+05 15
## 198 54.96 1.364333e+03 3.064365e+02 23
## 199 38.45 1.850667e+03 1.851402e+02 14
## 200 663.01 0.000000e+00 1.469890e+05 13
## 201 34.38 1.761667e+03 1.246311e+02 20
## 202 169.51 9.260000e+02 7.261079e+02 14
## 203 250.05 7.960000e+02 2.467115e+03 14
## 204 299.08 1.353333e+03 2.093841e+03 24
## 205 264.00 0.000000e+00 1.066878e+06 13
## 206 1581.14 5.809000e+03 5.567670e+03 17
## 207 61.90 2.423000e+03 7.971122e+01 19
## 208 51.82 1.055833e+04 1.813978e+01 23
## 209 196.53 6.165000e+03 2.510863e+02 24
## 210 216.96 1.014418e+06 1.684242e+01 24
## 211 163.82 6.713333e+02 7.231220e+02 17
## 212 142.40 1.603567e+04 7.298131e+01 22
## 213 3411.87 0.000000e+00 4.691067e+07 15
## 214 44.37 6.048333e+03 5.783150e+01 22
## 215 3066.23 0.000000e+00 1.719333e+06 18
## 216 341.20 0.000000e+00 2.990509e+06 17
## 217 532.66 3.647000e+03 2.081353e+03 21
## 218 72.09 0.000000e+00 2.633850e+05 12
## 219 1161.45 0.000000e+00 1.125571e+07 14
## 220 16.49 7.777000e+03 5.932309e+01 20
## 221 3553.72 0.000000e+00 7.802270e+05 12
## 222 2583.66 0.000000e+00 1.371660e+05 18
## 223 289.52 5.569333e+03 7.309575e+02 15
## 224 534.22 1.082000e+04 2.701186e+02 21
## 225 152.57 0.000000e+00 1.206323e+06 17
## 226 146.30 8.586667e+02 4.306879e+02 16
## 227 44.84 0.000000e+00 7.980810e+05 17
## 228 32.83 1.291867e+04 1.028835e+01 23
## 229 159.74 6.915377e+05 7.227372e+00 24
## 230 138.51 0.000000e+00 1.333731e+06 21
## 231 383.06 0.000000e+00 4.341040e+05 24
## 232 124.11 0.000000e+00 1.228290e+06 17
## 233 119.46 0.000000e+00 8.597080e+05 17
## 234 17.31 7.116667e+02 3.407343e+02 15
## 235 65.77 5.024000e+03 8.464617e+01 23
## 236 5755.16 0.000000e+00 3.363172e+06 13
## 237 356.76 1.215967e+04 1.792327e+02 23
## 238 11426.70 3.105193e+05 5.697684e+02 20
## 239 197.54 6.315600e+04 7.093861e+01 24
## 240 23581.81 0.000000e+00 4.630107e+06 20
## 241 78.96 0.000000e+00 1.442850e+06 20
## 242 60.74 1.710800e+04 3.387322e+01 24
## 243 212.34 7.560000e+02 1.869926e+03 12
## 244 81.32 1.245133e+04 1.119808e+02 24
## 245 975.17 0.000000e+00 7.561205e+06 13
## 246 69.03 2.149933e+04 1.668239e+01 24
## 247 288.04 1.934067e+04 1.828145e+02 24
## 248 21.56 0.000000e+00 1.138470e+05 24
## 249 194.38 0.000000e+00 8.033770e+05 13
## 250 140.59 0.000000e+00 3.361910e+05 13
## 251 12021.28 0.000000e+00 8.705310e+05 13
## 252 589.45 0.000000e+00 2.275540e+05 16
## 253 988.07 4.938233e+04 3.436305e+02 24
## 254 76.06 2.054800e+04 1.475522e+01 24
## 255 31.82 1.066993e+05 6.475622e+00 24
## 256 93.65 0.000000e+00 5.043340e+05 17
## 257 422.93 6.593333e+02 2.179246e+03 21
## 258 297.74 0.000000e+00 1.715559e+06 18
## 259 1044.20 1.993333e+02 7.643213e+04 22
## 260 20.19 2.055376e+06 6.150469e+00 24
## 261 22.90 1.401393e+06 5.330015e+00 24
## comparison higher_in result_category
## 1 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 2 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 3 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 4 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 5 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 6 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 7 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 8 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 9 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 10 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 11 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 12 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 13 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 14 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 15 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 16 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 17 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 18 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 19 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 20 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 21 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 22 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 23 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 24 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 25 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 26 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 27 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 28 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 29 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 30 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 31 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 32 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 33 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 34 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 35 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 36 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 37 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 38 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 39 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 40 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 41 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 42 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 43 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 44 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 45 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 46 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 47 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 48 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 49 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 50 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 51 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 52 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 53 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 54 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 55 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 56 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 57 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 58 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 59 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 60 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 61 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 62 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 63 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 64 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 65 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 66 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 67 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 68 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 69 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 70 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 71 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 72 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 73 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 74 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 75 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 76 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 77 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 78 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 79 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 80 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 81 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 82 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 83 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 84 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 85 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 86 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 87 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 88 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 89 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 90 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 91 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 92 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 93 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 94 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 95 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 96 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 97 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 98 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 99 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 100 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 101 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 102 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 103 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 104 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 105 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 106 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 107 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 108 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 109 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 110 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 111 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 112 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 113 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 114 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 115 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 116 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 117 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 118 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 119 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 120 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 121 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 122 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 123 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 124 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 125 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 126 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 127 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 128 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 129 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 130 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 131 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 132 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 133 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 134 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 135 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 136 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 137 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 138 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 139 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 140 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 141 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 142 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 143 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 144 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 145 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 146 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 147 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 148 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 149 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 150 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 151 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 152 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 153 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 154 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 155 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 156 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 157 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 158 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 159 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 160 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 161 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 162 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 163 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 164 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 165 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 166 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 167 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 168 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 169 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 170 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 171 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 172 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 173 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 174 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 175 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 176 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 177 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 178 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 179 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 180 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 181 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 182 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 183 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 184 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 185 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 186 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 187 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 188 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 189 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 190 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 191 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 192 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 193 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 194 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 195 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 196 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 197 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 198 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 199 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 200 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 201 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 202 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 203 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 204 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 205 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 206 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 207 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 208 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 209 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 210 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 211 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 212 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 213 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 214 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 215 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 216 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 217 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 218 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 219 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 220 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 221 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 222 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 223 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 224 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 225 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 226 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 227 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 228 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 229 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 230 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 231 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 232 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 233 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 234 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 235 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 236 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 237 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 238 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 239 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 240 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 241 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 242 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 243 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 244 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 245 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 246 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 247 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 248 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 249 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 250 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 251 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 252 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 253 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 254 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 255 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 256 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 257 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 258 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 259 Fungi old vs Fungal in Fungi old Fungi old enriched - FDR supported
## 260 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
## 261 Fungi old vs Fungal in Fungal in Fungal in enriched - FDR supported
If this table is small while both old-vs-control and new-in-vs-control are large, that would support:
fungal presence strongly affects the agar chemistry, while colony age has a smaller effect.
If this table is large, age/maturity matters more.
fungal_overlap_summary <- tibble(
old_vs_control_significant =
length(
old_vs_control_sig
),
new_in_vs_control_significant =
length(
new_in_vs_control_sig
),
shared_significant_features =
length(
shared_old_new_fungal_features
),
old_only =
length(
setdiff(
old_vs_control_sig,
new_in_vs_control_sig
)
),
new_only =
length(
setdiff(
new_in_vs_control_sig,
old_vs_control_sig
)
)
)
fungal_overlap_summary
## # A tibble: 1 × 5
## old_vs_control_signif…¹ new_in_vs_control_si…² shared_significant_f…³ old_only
## <int> <int> <int> <int>
## 1 52 583 24 28
## # ℹ abbreviated names: ¹old_vs_control_significant,
## # ²new_in_vs_control_significant, ³shared_significant_features
## # ℹ 1 more variable: new_only <int>
write.csv(
fungal_limma_summary,
"positive_mode_fungal_limma_summary.csv",
row.names = FALSE
)
write.csv(
shared_old_new_fungal_results,
"positive_mode_shared_old_new_fungal_features.csv",
row.names = FALSE
)
write.csv(
age_sensitive_fungal_features,
"positive_mode_age_sensitive_fungal_features.csv",
row.names = FALSE
)
write.csv(
fungal_overlap_summary,
"positive_mode_fungal_overlap_summary.csv",
row.names = FALSE
)
And save all limma tables:
for (
comparison_name in
names(limma_results)
) {
write.csv(
limma_results
[[comparison_name]]
,
paste0(
"positive_mode_limma_",
comparison_name,
".csv"
),
row.names = FALSE
)
}
The first three outputs I’d examine after running this are:
quantifiable_feature_counts
## # A tibble: 10 × 2
## comparison quantifiable_features
## <chr> <int>
## 1 Exudate_vs_Soil 1386
## 2 Exudate_vs_Root 1114
## 3 Exudate_vs_Leaf 1214
## 4 Leaf_vs_Root 1805
## 5 Fungal_in_vs_out 2290
## 6 Fungal_in_vs_control 2270
## 7 Fungal_out_vs_control 2556
## 8 Fungi_old_vs_control 2269
## 9 Fungi_old_vs_Fungal_in 2053
## 10 Fungi_old_vs_Fungal_out 2236
fungal_limma_summary
## # A tibble: 6 × 7
## comparison tested_features raw_p_under_05 FDR_under_05 FDR_and_twofold
## <chr> <int> <int> <int> <int>
## 1 Fungal_in_vs_out 2290 919 456 267
## 2 Fungal_in_vs_cont… 2270 1051 807 583
## 3 Fungal_out_vs_con… 2556 429 30 26
## 4 Fungi_old_vs_cont… 2269 841 52 52
## 5 Fungi_old_vs_Fung… 2053 822 262 261
## 6 Fungi_old_vs_Fung… 2236 839 162 162
## # ℹ 2 more variables: group1_enriched_FDR <int>, group2_enriched_FDR <int>
and:
fungal_overlap_summary
## # A tibble: 1 × 5
## old_vs_control_signif…¹ new_in_vs_control_si…² shared_significant_f…³ old_only
## <int> <int> <int> <int>
## 1 52 583 24 28
## # ℹ abbreviated names: ¹old_vs_control_significant,
## # ²new_in_vs_control_significant, ³shared_significant_features
## # ℹ 1 more variable: new_only <int>
We want to distinguish:
confidently retained RTs from very early RTs; features with MS/MS; features with an actual MS-DIAL metabolite annotation.
candidate_annotations <- feature_annotations %>%
mutate(
RT_flag = case_when(
`Average Rt(min)` < 0.5 ~
"Very early RT",
`Average Rt(min)` < 1.0 ~
"Early RT",
TRUE ~
"RT >= 1 min"
),
MSMS_flag = case_when(
`MS/MS assigned` == TRUE ~
"MS/MS available",
TRUE ~
"No MS/MS assignment"
),
annotation_flag = case_when(
!is.na(`Metabolite name`) &
`Metabolite name` != "" &
`Metabolite name` != "Unknown" ~
"Annotated",
TRUE ~
"Unknown"
)
)
Check:
candidate_annotations %>%
count(
RT_flag,
MSMS_flag,
annotation_flag
)
## # A tibble: 6 × 4
## RT_flag MSMS_flag annotation_flag n
## <chr> <chr> <chr> <int>
## 1 Early RT MS/MS available Unknown 304
## 2 Early RT No MS/MS assignment Unknown 1013
## 3 RT >= 1 min MS/MS available Unknown 697
## 4 RT >= 1 min No MS/MS assignment Unknown 1133
## 5 Very early RT MS/MS available Unknown 132
## 6 Very early RT No MS/MS assignment Unknown 865
This gives every feature its leaf/root/exudate/soil detection pattern.
plant_compartment_flags <-
plant_compartment_presence %>%
select(
feature_name,
leaf_detected_n,
root_detected_n,
exudate_detected_n,
soil_detected_n,
leaf_present,
root_present,
exudate_present,
soil_present,
plant_pattern
)
These are different from the presence-only candidates.
These features were sufficiently detected in both exudate and soil to enter limma.
exudate_soil_abundance_candidates <-
limma_results$Exudate_vs_Soil %>%
left_join(
plant_compartment_flags,
by = "feature_name"
) %>%
left_join(
candidate_annotations %>%
select(
feature_name,
RT_flag,
MSMS_flag,
annotation_flag
),
by = "feature_name"
) %>%
mutate(
evidence_tier = case_when(
adj.P.Val < 0.05 &
abs(logFC) >= 1 ~
"Tier 1: FDR + >=2-fold",
adj.P.Val < 0.05 ~
"Tier 2: FDR supported",
P.Value < 0.05 &
abs(logFC) >= 1 ~
"Tier 3: exploratory + >=2-fold",
abs(logFC) >= 1 ~
"Tier 4: large effect only",
TRUE ~
"Tier 5: low priority"
)
) %>%
arrange(
factor(
evidence_tier,
levels = c(
"Tier 1: FDR + >=2-fold",
"Tier 2: FDR supported",
"Tier 3: exploratory + >=2-fold",
"Tier 4: large effect only",
"Tier 5: low priority"
)
),
adj.P.Val,
desc(abs(logFC))
)
Inspect the strongest:
exudate_soil_abundance_candidates %>%
select(
feature_name,
`Average Rt(min)`,
`Average Mz`,
`Metabolite name`,
`Adduct type`,
`MS/MS assigned`,
RT_flag,
leaf_present,
root_present,
exudate_present,
soil_present,
logFC,
P.Value,
adj.P.Val,
evidence_tier
) %>%
head(50)
## feature_name Average Rt(min) Average Mz Metabolite name
## 1 F2594_mz265.0235_rt0.44 0.443 265.02347 Unknown
## 2 F1906_mz212.852_rt0.43 0.430 212.85202 Unknown
## 3 F1209_mz164.921_rt0.43 0.428 164.92101 Unknown
## 4 F1682_mz196.8781_rt0.43 0.429 196.87810 Unknown
## 5 F1449_mz180.8948_rt0.43 0.427 180.89479 Unknown
## 6 F1034_mz150.4944_rt0.44 0.438 150.49442 Unknown
## 7 F808_mz136.484_rt0.43 0.433 136.48401 Unknown
## 8 F1744_mz201.0526_rt0.5 0.501 201.05261 Unknown
## 9 F4226_mz414.3914_rt0.4 0.398 414.39142 Unknown
## 10 F3537_mz337.1051_rt2.67 2.671 337.10507 Unknown
## 11 F1802_mz204.9095_rt0.43 0.433 204.90947 Unknown
## 12 F574_mz119.9606_rt0.47 0.474 119.96062 Unknown
## 13 F327_mz101.9501_rt0.47 0.473 101.95007 Unknown
## 14 F1158_mz160.9872_rt0.48 0.475 160.98715 Unknown
## 15 F2296_mz241.9999_rt0.39 0.393 241.99988 Unknown
## 16 F2922_mz288.0046_rt0.49 0.491 288.00458 Unknown
## 17 F901_mz142.0865_rt0.96 0.965 142.08653 Unknown
## 18 F231_mz91.5425_rt0.4 0.399 91.54252 Unknown
## 19 F2231_mz236.1049_rt0.52 0.521 236.10490 Unknown
## 20 F3276_mz315.1151_rt0.44 0.438 315.11511 Unknown
## 21 F2223_mz235.0928_rt0.49 0.486 235.09285 Unknown
## 22 F2534_mz260.0106_rt0.39 0.394 260.01056 Unknown
## 23 F2032_mz220.9814_rt0.39 0.392 220.98143 Unknown
## 24 F2006_mz218.9839_rt0.39 0.391 218.98390 Unknown
## 25 F233_mz92.5225_rt0.39 0.394 92.52245 Unknown
## 26 F2239_mz236.9593_rt0.4 0.399 236.95926 Unknown
## 27 F222_mz90.526_rt0.4 0.396 90.52601 Unknown
## 28 F1974_mz216.951_rt0.39 0.393 216.95103 Unknown
## 29 F408_mz108.5367_rt0.41 0.410 108.53668 Unknown
## 30 F2219_mz234.9617_rt0.4 0.398 234.96170 Unknown
## 31 F192_mz87.5344_rt0.39 0.390 87.53439 Unknown
## 32 F371_mz104.908_rt0.39 0.393 104.90804 Unknown
## 33 F1516_mz185.0239_rt0.4 0.401 185.02388 Unknown
## 34 F306_mz99.5314_rt0.41 0.406 99.53137 Unknown
## 35 F2097_mz225.987_rt0.38 0.384 225.98697 Unknown
## 36 F2414_mz250.9391_rt0.4 0.401 250.93913 Unknown
## 37 F2198_mz232.9286_rt0.4 0.397 232.92859 Unknown
## 38 F898_mz142.0352_rt0.39 0.394 142.03519 Unknown
## 39 F504_mz115.0868_rt0.79 0.792 115.08684 Unknown
## 40 F3219_mz309.9398_rt0.43 0.433 309.93985 Unknown
## 41 F2056_mz222.9204_rt0.43 0.434 222.92035 Unknown
## 42 F946_mz145.0096_rt0.47 0.473 145.00964 Unknown
## 43 F513_mz116.0111_rt0.46 0.456 116.01108 Unknown
## 44 F16_mz62.024_rt0.39 0.389 62.02398 Unknown
## 45 F3880_mz369.925_rt0.39 0.394 369.92505 Unknown
## 46 F4025_mz385.9818_rt0.49 0.486 385.98184 Unknown
## 47 F1535_mz187.0579_rt0.47 0.470 187.05789 Unknown
## 48 F2822_mz280.9941_rt0.4 0.396 280.99411 Unknown
## 49 F904_mz142.9767_rt0.47 0.474 142.97670 Unknown
## 50 F4391_mz443.9871_rt0.49 0.491 443.98709 Unknown
## Adduct type MS/MS assigned RT_flag leaf_present root_present
## 1 [M+H]+ FALSE Very early RT TRUE TRUE
## 2 [M+H]+ FALSE Very early RT TRUE FALSE
## 3 [M+H]+ FALSE Very early RT FALSE FALSE
## 4 [M+H]+ TRUE Very early RT TRUE FALSE
## 5 [M+H]+ FALSE Very early RT FALSE FALSE
## 6 [M+H]+ FALSE Very early RT FALSE FALSE
## 7 [M+H]+ FALSE Very early RT FALSE FALSE
## 8 [M+H]+ TRUE Early RT FALSE FALSE
## 9 [M+2H]2+ FALSE Very early RT FALSE FALSE
## 10 [M+H]+ TRUE RT >= 1 min TRUE TRUE
## 11 [M+H]+ FALSE Very early RT FALSE FALSE
## 12 [M+H]+ FALSE Very early RT FALSE FALSE
## 13 [M+H]+ FALSE Very early RT FALSE FALSE
## 14 [M+H]+ TRUE Very early RT FALSE FALSE
## 15 [M+H]+ TRUE Very early RT TRUE TRUE
## 16 [M+H]+ FALSE Very early RT FALSE FALSE
## 17 [M+H]+ FALSE Early RT TRUE TRUE
## 18 [M+2H]2+ FALSE Very early RT TRUE TRUE
## 19 [M+H]+ TRUE Early RT TRUE TRUE
## 20 [M+H]+ FALSE Very early RT TRUE TRUE
## 21 [M+H]+ TRUE Very early RT FALSE TRUE
## 22 [M+H]+ FALSE Very early RT TRUE TRUE
## 23 [M+H]+ FALSE Very early RT TRUE TRUE
## 24 [M+H]+ TRUE Very early RT TRUE TRUE
## 25 [M+H]2+ FALSE Very early RT TRUE TRUE
## 26 [M+H]+ FALSE Very early RT TRUE TRUE
## 27 [M+2H]2+ TRUE Very early RT TRUE TRUE
## 28 [M+H]+ TRUE Very early RT TRUE TRUE
## 29 [M+H]+ FALSE Very early RT TRUE TRUE
## 30 [M+H]+ FALSE Very early RT TRUE TRUE
## 31 [M+H]+ FALSE Very early RT TRUE TRUE
## 32 [M+H]+ FALSE Very early RT FALSE FALSE
## 33 [M+H]+ FALSE Very early RT TRUE TRUE
## 34 [M+2H]2+ TRUE Very early RT TRUE TRUE
## 35 [M+H]+ FALSE Very early RT TRUE TRUE
## 36 [M+H]+ FALSE Very early RT TRUE TRUE
## 37 [M+H]+ TRUE Very early RT TRUE TRUE
## 38 [M+H]+ FALSE Very early RT TRUE TRUE
## 39 [M+H]+ FALSE Early RT TRUE FALSE
## 40 [M+H]+ FALSE Very early RT FALSE FALSE
## 41 [M+H]+ FALSE Very early RT FALSE TRUE
## 42 [M+H]+ TRUE Very early RT FALSE TRUE
## 43 [M+H]+ FALSE Very early RT FALSE TRUE
## 44 [M+2H]2+ FALSE Very early RT TRUE TRUE
## 45 [M+H]+ FALSE Very early RT TRUE TRUE
## 46 [M+H]+ FALSE Very early RT FALSE FALSE
## 47 [M+H]+ FALSE Very early RT FALSE FALSE
## 48 [M+H]+ FALSE Very early RT TRUE TRUE
## 49 [M+H]+ TRUE Very early RT FALSE FALSE
## 50 [M+H]+ FALSE Very early RT FALSE FALSE
## exudate_present soil_present logFC P.Value adj.P.Val
## 1 TRUE TRUE -7.451646 2.139684e-05 0.02965602
## 2 TRUE TRUE -3.372187 1.706185e-03 0.08294783
## 3 TRUE TRUE -3.077625 1.743638e-03 0.08294783
## 4 TRUE TRUE -2.985851 2.744930e-03 0.08294783
## 5 TRUE TRUE -2.911490 2.106150e-03 0.08294783
## 6 TRUE TRUE -2.601137 1.108617e-03 0.08294783
## 7 TRUE TRUE -2.335086 1.344391e-03 0.08294783
## 8 TRUE TRUE -2.273048 2.589619e-03 0.08294783
## 9 TRUE TRUE -2.267772 4.800770e-04 0.08294783
## 10 TRUE TRUE 2.089062 1.193692e-03 0.08294783
## 11 TRUE TRUE -1.928661 2.323233e-04 0.08294783
## 12 TRUE TRUE -1.840867 1.594237e-03 0.08294783
## 13 TRUE TRUE -1.762497 1.617699e-03 0.08294783
## 14 TRUE TRUE -1.651015 1.917764e-03 0.08294783
## 15 TRUE TRUE -1.611393 1.113103e-03 0.08294783
## 16 TRUE TRUE 1.611187 1.172235e-03 0.08294783
## 17 TRUE TRUE -1.585008 2.600131e-03 0.08294783
## 18 TRUE TRUE -1.579428 1.687377e-03 0.08294783
## 19 TRUE TRUE 1.574972 1.945495e-03 0.08294783
## 20 TRUE TRUE 1.493418 7.998826e-04 0.08294783
## 21 TRUE TRUE 1.467007 2.350431e-03 0.08294783
## 22 TRUE TRUE -1.446822 8.338002e-04 0.08294783
## 23 TRUE TRUE -1.367319 2.442089e-03 0.08294783
## 24 TRUE TRUE -1.362630 2.242272e-03 0.08294783
## 25 TRUE TRUE -1.335081 1.373800e-03 0.08294783
## 26 TRUE TRUE -1.330799 2.257291e-04 0.08294783
## 27 TRUE TRUE -1.302585 2.752958e-03 0.08294783
## 28 TRUE TRUE -1.294638 1.530368e-03 0.08294783
## 29 TRUE TRUE -1.260835 1.242427e-03 0.08294783
## 30 TRUE TRUE -1.238671 2.040047e-03 0.08294783
## 31 TRUE TRUE -1.217995 1.847354e-03 0.08294783
## 32 TRUE TRUE -1.193925 1.348660e-03 0.08294783
## 33 TRUE TRUE -1.175169 1.001776e-03 0.08294783
## 34 TRUE TRUE -1.133973 2.048115e-03 0.08294783
## 35 TRUE TRUE -1.090407 1.716563e-03 0.08294783
## 36 TRUE TRUE -1.089221 1.901655e-03 0.08294783
## 37 TRUE TRUE -1.066511 2.727196e-03 0.08294783
## 38 TRUE TRUE -1.063821 2.053709e-03 0.08294783
## 39 TRUE TRUE 1.025492 1.221196e-03 0.08294783
## 40 TRUE TRUE -2.231806 2.936282e-03 0.08309077
## 41 TRUE TRUE -2.072951 2.839032e-03 0.08309077
## 42 TRUE TRUE -1.871068 3.113977e-03 0.08309077
## 43 TRUE TRUE 1.698138 3.117403e-03 0.08309077
## 44 TRUE TRUE -1.306146 2.975612e-03 0.08309077
## 45 TRUE TRUE -1.214517 3.020949e-03 0.08309077
## 46 TRUE TRUE 3.261351 3.974138e-03 0.08488550
## 47 TRUE TRUE -1.939583 3.736700e-03 0.08488550
## 48 TRUE TRUE -1.853436 4.201445e-03 0.08488550
## 49 TRUE TRUE -1.736273 3.819859e-03 0.08488550
## 50 TRUE TRUE 1.516031 3.841870e-03 0.08488550
## evidence_tier
## 1 Tier 1: FDR + >=2-fold
## 2 Tier 3: exploratory + >=2-fold
## 3 Tier 3: exploratory + >=2-fold
## 4 Tier 3: exploratory + >=2-fold
## 5 Tier 3: exploratory + >=2-fold
## 6 Tier 3: exploratory + >=2-fold
## 7 Tier 3: exploratory + >=2-fold
## 8 Tier 3: exploratory + >=2-fold
## 9 Tier 3: exploratory + >=2-fold
## 10 Tier 3: exploratory + >=2-fold
## 11 Tier 3: exploratory + >=2-fold
## 12 Tier 3: exploratory + >=2-fold
## 13 Tier 3: exploratory + >=2-fold
## 14 Tier 3: exploratory + >=2-fold
## 15 Tier 3: exploratory + >=2-fold
## 16 Tier 3: exploratory + >=2-fold
## 17 Tier 3: exploratory + >=2-fold
## 18 Tier 3: exploratory + >=2-fold
## 19 Tier 3: exploratory + >=2-fold
## 20 Tier 3: exploratory + >=2-fold
## 21 Tier 3: exploratory + >=2-fold
## 22 Tier 3: exploratory + >=2-fold
## 23 Tier 3: exploratory + >=2-fold
## 24 Tier 3: exploratory + >=2-fold
## 25 Tier 3: exploratory + >=2-fold
## 26 Tier 3: exploratory + >=2-fold
## 27 Tier 3: exploratory + >=2-fold
## 28 Tier 3: exploratory + >=2-fold
## 29 Tier 3: exploratory + >=2-fold
## 30 Tier 3: exploratory + >=2-fold
## 31 Tier 3: exploratory + >=2-fold
## 32 Tier 3: exploratory + >=2-fold
## 33 Tier 3: exploratory + >=2-fold
## 34 Tier 3: exploratory + >=2-fold
## 35 Tier 3: exploratory + >=2-fold
## 36 Tier 3: exploratory + >=2-fold
## 37 Tier 3: exploratory + >=2-fold
## 38 Tier 3: exploratory + >=2-fold
## 39 Tier 3: exploratory + >=2-fold
## 40 Tier 3: exploratory + >=2-fold
## 41 Tier 3: exploratory + >=2-fold
## 42 Tier 3: exploratory + >=2-fold
## 43 Tier 3: exploratory + >=2-fold
## 44 Tier 3: exploratory + >=2-fold
## 45 Tier 3: exploratory + >=2-fold
## 46 Tier 3: exploratory + >=2-fold
## 47 Tier 3: exploratory + >=2-fold
## 48 Tier 3: exploratory + >=2-fold
## 49 Tier 3: exploratory + >=2-fold
## 50 Tier 3: exploratory + >=2-fold
exudate_soil_abundance_candidates %>%
count(
evidence_tier
)
## evidence_tier n
## 1 Tier 1: FDR + >=2-fold 1
## 2 Tier 3: exploratory + >=2-fold 159
## 3 Tier 4: large effect only 215
## 4 Tier 5: low priority 1011
And specifically:
sum(
exudate_soil_abundance_candidates$
adj.P.Val < 0.05,
na.rm = TRUE
)
## [1] 1
Now handle the features that may be biologically very interesting because of differential detection.
These do not need to be quantifiable in soil.
plant_detection_candidates <-
plant_compartment_presence %>%
filter(
exudate_present,
!soil_present
) %>%
left_join(
candidate_annotations %>%
select(
feature_name,
RT_flag,
MSMS_flag,
annotation_flag
),
by = "feature_name"
) %>%
mutate(
plant_candidate_class = case_when(
!leaf_present &
root_present &
exudate_present &
!soil_present ~
"Root + Exudate; absent Leaf/Soil",
leaf_present &
root_present &
exudate_present &
!soil_present ~
"Leaf + Root + Exudate; absent Soil",
!leaf_present &
!root_present &
exudate_present &
!soil_present ~
"Exudate only; absent Soil",
leaf_present &
!root_present &
exudate_present &
!soil_present ~
"Leaf + Exudate; absent Root/Soil",
TRUE ~
"Other plant-associated pattern"
)
)
For these candidates, it is useful to see the actual MS-DIAL peak-height pattern.
plant_detection_candidates <-
plant_detection_candidates %>%
mutate(
leaf_mean_raw =
rowMeans(
across(
all_of(
presence_groups$Leaf
)
),
na.rm = TRUE
),
root_mean_raw =
rowMeans(
across(
all_of(
presence_groups$Root
)
),
na.rm = TRUE
),
exudate_mean_raw =
rowMeans(
across(
all_of(
presence_groups$Exudate
)
),
na.rm = TRUE
),
soil_mean_raw =
rowMeans(
across(
all_of(
presence_groups$Soil
)
),
na.rm = TRUE
)
)
Rank:
plant_detection_candidates <-
plant_detection_candidates %>%
arrange(
factor(
plant_candidate_class,
levels = c(
"Root + Exudate; absent Leaf/Soil",
"Leaf + Root + Exudate; absent Soil",
"Exudate only; absent Soil",
"Leaf + Exudate; absent Root/Soil",
"Other plant-associated pattern"
)
),
desc(
sample_to_blank_ratio
)
)
Inspect:
plant_detection_candidates %>%
select(
feature_name,
`Average Rt(min)`,
`Average Mz`,
`Metabolite name`,
`Adduct type`,
`MS/MS assigned`,
RT_flag,
plant_candidate_class,
leaf_mean_raw,
root_mean_raw,
exudate_mean_raw,
soil_mean_raw,
sample_to_blank_ratio
) %>%
head(50)
## # A tibble: 50 × 13
## feature_name `Average Rt(min)` `Average Mz` `Metabolite name` `Adduct type`
## <chr> <dbl> <dbl> <chr> <chr>
## 1 F4601_mz494.8… 0.417 495. Unknown [M+H]+
## 2 F2544_mz260.1… 0.897 260. Unknown [M+H]+
## 3 F1207_mz164.1… 1.26 164. Unknown [M+H]+
## 4 F1085_mz155.0… 0.441 155. Unknown [M+H]+
## 5 F5091_mz739.7… 9.70 740. Unknown [M+H]+
## 6 F3781_mz360.1… 0.549 360. Unknown [M+H]+
## 7 F1621_mz193.0… 0.476 193. Unknown [M+H]+
## 8 F387_mz106.05… 0.447 106. Unknown [M+H]+
## 9 F3515_mz335.2… 3.55 335. Unknown [M+H]+
## 10 F4676_mz522.2… 0.487 522. Unknown [M+H]+
## # ℹ 40 more rows
## # ℹ 8 more variables: `MS/MS assigned` <lgl>, RT_flag <chr>,
## # plant_candidate_class <chr>, leaf_mean_raw <dbl>, root_mean_raw <dbl>,
## # exudate_mean_raw <dbl>, soil_mean_raw <dbl>, sample_to_blank_ratio <dbl>
ranked_root_exudate_candidates <-
plant_detection_candidates %>%
filter(
plant_candidate_class ==
"Root + Exudate; absent Leaf/Soil"
) %>%
mutate(
priority = case_when(
`MS/MS assigned` == TRUE &
`Average Rt(min)` >= 1 ~
"Priority 1",
`Average Rt(min)` >= 1 ~
"Priority 2",
`MS/MS assigned` == TRUE ~
"Priority 3",
TRUE ~
"Priority 4"
)
) %>%
arrange(
priority,
desc(
sample_to_blank_ratio
)
)
View:
ranked_root_exudate_candidates %>%
select(
feature_name,
`Average Rt(min)`,
`Average Mz`,
`Metabolite name`,
`MS/MS assigned`,
RT_flag,
root_mean_raw,
exudate_mean_raw,
soil_mean_raw,
sample_to_blank_ratio,
priority
)
## # A tibble: 5 × 11
## feature_name `Average Rt(min)` `Average Mz` `Metabolite name` `MS/MS assigned`
## <chr> <dbl> <dbl> <chr> <lgl>
## 1 F1207_mz164… 1.26 164. Unknown TRUE
## 2 F5091_mz739… 9.70 740. Unknown FALSE
## 3 F2544_mz260… 0.897 260. Unknown TRUE
## 4 F4601_mz494… 0.417 495. Unknown FALSE
## 5 F1085_mz155… 0.441 155. Unknown FALSE
## # ℹ 6 more variables: RT_flag <chr>, root_mean_raw <dbl>,
## # exudate_mean_raw <dbl>, soil_mean_raw <dbl>, sample_to_blank_ratio <dbl>,
## # priority <chr>
This is where your earlier five root+exudate candidates should appear.
ranked_exudate_only_candidates <-
plant_detection_candidates %>%
filter(
plant_candidate_class ==
"Exudate only; absent Soil"
) %>%
mutate(
priority = case_when(
`MS/MS assigned` == TRUE &
`Average Rt(min)` >= 1 ~
"Priority 1",
`Average Rt(min)` >= 1 ~
"Priority 2",
`MS/MS assigned` == TRUE ~
"Priority 3",
TRUE ~
"Priority 4"
)
) %>%
arrange(
priority,
desc(
sample_to_blank_ratio
)
)
Now do the same concept for fungi.
Helper:
extract_detection_candidates <- function(
comparison_name
) {
prepared_comparisons[[comparison_name]] $detection_table %>%
filter(
detection_category !=
"Quantifiable in both",
detection_category !=
"Not consistently detected in either"
) %>%
left_join(
candidate_annotations %>%
select(
feature_name,
RT_flag,
MSMS_flag,
annotation_flag
),
by = "feature_name"
)
}
Important: keep [[comparison_name]] together. Use this exact corrected function instead:
extract_detection_candidates <- function(comparison_name) {
x <- prepared_comparisons[[comparison_name]]$detection_table
x %>%
filter(
detection_category != "Quantifiable in both",
detection_category != "Not consistently detected in either"
) %>%
left_join(
candidate_annotations %>%
select(
feature_name,
RT_flag,
MSMS_flag,
annotation_flag
),
by = "feature_name"
)
}
Run:
fungal_in_control_detection <-
extract_detection_candidates(
"Fungal_in_vs_control"
)
fungal_out_control_detection <-
extract_detection_candidates(
"Fungal_out_vs_control"
)
fungi_old_control_detection <-
extract_detection_candidates(
"Fungi_old_vs_control"
)
fungi_old_new_detection <-
extract_detection_candidates(
"Fungi_old_vs_Fungal_in"
)
fungi_old_control_detection %>%
count(
detection_category
)
## # A tibble: 2 × 2
## detection_category n
## <chr> <int>
## 1 Fungal control-associated detection 483
## 2 Fungi old-associated detection 300
View candidates:
fungi_old_control_detection %>%
select(
feature_name,
`Average Rt(min)`,
`Average Mz`,
`Metabolite name`,
`MS/MS assigned`,
detection_category,
RT_flag,
sample_to_blank_ratio
) %>%
arrange(
desc(
sample_to_blank_ratio
)
) %>%
head(50)
## # A tibble: 50 × 8
## feature_name `Average Rt(min)` `Average Mz` `Metabolite name`
## <chr> <dbl> <dbl> <chr>
## 1 F3130_mz302.1756_rt1.13 1.13 302. Unknown
## 2 F3323_mz317.2117_rt2.08 2.08 317. Unknown
## 3 F2910_mz287.2011_rt1.36 1.36 287. Unknown
## 4 F3746_mz357.2039_rt2.08 2.08 357. Unknown
## 5 F3204_mz308.0915_rt0.7 0.699 308. Unknown
## 6 F3079_mz299.201_rt2.08 2.08 299. Unknown
## 7 F2946_mz289.1764_rt1.19 1.19 289. Unknown
## 8 F775_mz133.032_rt0.7 0.699 133. Unknown
## 9 F4900_mz621.2717_rt6.74 6.74 621. Unknown
## 10 F4472_mz460.203_rt0.5 0.502 460. Unknown
## # ℹ 40 more rows
## # ℹ 4 more variables: `MS/MS assigned` <lgl>, detection_category <chr>,
## # RT_flag <chr>, sample_to_blank_ratio <dbl>
This is one of the most important fungal analyses.
We will combine:
old fungi vs control; new/in fungi vs control; old vs new/in.
First extract only the statistical columns.
old_control_stats <-
limma_results$Fungi_old_vs_control %>%
select(
feature_name,
old_control_logFC = logFC,
old_control_p = P.Value,
old_control_FDR = adj.P.Val
)
new_control_stats <-
limma_results$Fungal_in_vs_control %>%
select(
feature_name,
new_control_logFC = logFC,
new_control_p = P.Value,
new_control_FDR = adj.P.Val
)
old_new_stats <-
limma_results$Fungi_old_vs_Fungal_in %>%
select(
feature_name,
old_new_logFC = logFC,
old_new_p = P.Value,
old_new_FDR = adj.P.Val
)
Combine:
fungal_age_master <-
full_join(
old_control_stats,
new_control_stats,
by = "feature_name"
) %>%
full_join(
old_new_stats,
by = "feature_name"
) %>%
left_join(
candidate_annotations,
by = "feature_name"
)
This directly addresses your biological hypothesis.
fungal_age_master <-
fungal_age_master %>%
mutate(
old_significant =
!is.na(old_control_FDR) &
old_control_FDR < 0.05,
new_significant =
!is.na(new_control_FDR) &
new_control_FDR < 0.05,
age_significant =
!is.na(old_new_FDR) &
old_new_FDR < 0.05,
same_direction =
!is.na(old_control_logFC) &
!is.na(new_control_logFC) &
sign(old_control_logFC) ==
sign(new_control_logFC),
fungal_age_category =
case_when(
old_significant &
new_significant &
same_direction &
!age_significant ~
"Age-stable fungal effect",
age_significant ~
"Age-sensitive fungal effect",
old_significant &
!new_significant ~
"Old-associated effect",
!old_significant &
new_significant ~
"New-associated effect",
old_significant &
new_significant &
!same_direction ~
"Opposite old/new responses",
TRUE ~
"No strong fungal-age classification"
)
)
fungal_age_summary <-
fungal_age_master %>%
count(
fungal_age_category,
sort = TRUE
)
fungal_age_summary
## fungal_age_category n
## 1 No strong fungal-age classification 1697
## 2 New-associated effect 649
## 3 Age-sensitive fungal effect 262
## 4 Age-stable fungal effect 14
## 5 Old-associated effect 6
This is a major result.
If you see lots of:
Age-stable fungal effect
and relatively few:
Age-sensitive fungal effect
that supports:
The fungus changes agar chemistry, but colony age has a smaller effect.
age_stable_fungal_features <-
fungal_age_master %>%
filter(
fungal_age_category ==
"Age-stable fungal effect"
) %>%
arrange(
pmax(
old_control_FDR,
new_control_FDR,
na.rm = TRUE
)
)
View:
age_stable_fungal_features %>%
select(
feature_name,
`Average Rt(min)`,
`Average Mz`,
`Metabolite name`,
`MS/MS assigned`,
RT_flag,
old_control_logFC,
old_control_FDR,
new_control_logFC,
new_control_FDR,
old_new_logFC,
old_new_FDR
) %>%
head(50)
## feature_name Average Rt(min) Average Mz Metabolite name
## 1 F1259_mz167.1069_rt1.06 1.059 167.10687 Unknown
## 2 F3227_mz310.1765_rt0.8 0.799 310.17648 Unknown
## 3 F489_mz114.0552_rt1 1.005 114.05519 Unknown
## 4 F2598_mz265.1122_rt0.48 0.478 265.11215 Unknown
## 5 F1466_mz181.1226_rt1.14 1.140 181.12256 Unknown
## 6 F259_mz97.0286_rt1.01 1.015 97.02865 Unknown
## 7 F3480_mz332.2187_rt0.96 0.958 332.21869 Unknown
## 8 F3052_mz297.2428_rt2.49 2.493 297.24277 Unknown
## 9 F1150_mz160.0428_rt0.78 0.776 160.04276 Unknown
## 10 F990_mz147.0765_rt0.46 0.459 147.07654 Unknown
## 11 F2002_mz218.139_rt1.26 1.261 218.13898 Unknown
## 12 F3465_mz331.1983_rt0.97 0.968 331.19827 Unknown
## 13 F64_mz72.081_rt0.39 0.393 72.08096 Unknown
## 14 F1618_mz193.0476_rt1.1 1.098 193.04764 Unknown
## MS/MS assigned RT_flag old_control_logFC old_control_FDR
## 1 FALSE RT >= 1 min 3.103585 0.02406475
## 2 FALSE Early RT -5.287868 0.04564105
## 3 FALSE RT >= 1 min 2.341952 0.04579028
## 4 FALSE Very early RT -1.988911 0.04586969
## 5 FALSE RT >= 1 min 2.946159 0.04629029
## 6 FALSE RT >= 1 min 2.866968 0.04657536
## 7 FALSE Early RT -1.821880 0.04706407
## 8 FALSE RT >= 1 min -3.217841 0.04753630
## 9 FALSE Early RT 2.826771 0.04753630
## 10 TRUE Very early RT 1.507617 0.04753630
## 11 TRUE RT >= 1 min 4.806942 0.04753630
## 12 TRUE Early RT -1.700667 0.04753630
## 13 TRUE Very early RT -2.881945 0.04753630
## 14 FALSE RT >= 1 min 5.673485 0.04985566
## new_control_logFC new_control_FDR old_new_logFC old_new_FDR
## 1 2.0764896 0.011046831 1.1931919 0.06777994
## 2 -4.4740428 0.016261039 -0.6476970 0.61055683
## 3 1.5074634 0.035339065 1.0005954 0.10836872
## 4 -1.5050423 0.004349521 -0.3177507 0.37175856
## 5 1.5951600 0.003901319 1.5171004 0.06898602
## 6 1.3104569 0.007491166 1.7226185 0.05353195
## 7 -0.6002197 0.029738361 -1.0555400 0.05784035
## 8 -1.2542575 0.004410049 -1.7974276 0.05353195
## 9 1.9010460 0.028415263 1.0918213 0.09548668
## 10 1.0864481 0.012835482 0.5872853 0.16510591
## 11 2.5933391 0.006227460 2.3796489 0.07277162
## 12 -1.0654316 0.031460834 -0.4691160 0.27375873
## 13 -1.2696533 0.028660546 -1.4461718 0.09063799
## 14 2.6660018 0.034861240 3.1733647 0.07508406
age_sensitive_fungal_ranked <-
fungal_age_master %>%
filter(
fungal_age_category ==
"Age-sensitive fungal effect"
) %>%
arrange(
old_new_FDR,
desc(
abs(
old_new_logFC
)
)
)
View:
age_sensitive_fungal_ranked %>%
select(
feature_name,
`Average Rt(min)`,
`Average Mz`,
`Metabolite name`,
`MS/MS assigned`,
RT_flag,
old_new_logFC,
old_new_p,
old_new_FDR,
old_control_logFC,
new_control_logFC
) %>%
head(50)
## feature_name Average Rt(min) Average Mz Metabolite name
## 1 F4086_mz393.2866_rt2.14 2.140 393.28659 Unknown
## 2 F4756_mz555.4051_rt3.42 3.420 555.40509 Unknown
## 3 F2053_mz222.1129_rt1.18 1.179 222.11288 Unknown
## 4 F1476_mz182.0814_rt0.52 0.518 182.08141 Unknown
## 5 F2331_mz244.264_rt2.03 2.033 244.26398 Unknown
## 6 F1910_mz213.0761_rt0.97 0.966 213.07605 Unknown
## 7 F2330_mz244.2639_rt1.89 1.893 244.26393 Unknown
## 8 F2420_mz251.1605_rt0.4 0.397 251.16052 Unknown
## 9 F2934_mz288.29_rt1.99 1.992 288.29001 Unknown
## 10 F1728_mz200.1034_rt0.8 0.801 200.10335 Unknown
## 11 F2997_mz293.1824_rt0.43 0.427 293.18243 Unknown
## 12 F886_mz141.0549_rt0.94 0.942 141.05487 Unknown
## 13 F260_mz97.0287_rt0.94 0.940 97.02866 Unknown
## 14 F1386_mz176.0558_rt0.69 0.687 176.05583 Unknown
## 15 F1578_mz190.0502_rt1.03 1.032 190.05022 Unknown
## 16 F636_mz124.0396_rt1.02 1.025 124.03963 Unknown
## 17 F2122_mz227.1394_rt0.79 0.788 227.13943 Unknown
## 18 F1062_mz153.0408_rt0.75 0.749 153.04083 Unknown
## 19 F2741_mz275.1105_rt0.92 0.921 275.11050 Unknown
## 20 F2247_mz237.1852_rt1.58 1.584 237.18524 Unknown
## 21 F4175_mz407.2396_rt1.02 1.022 407.23965 Unknown
## 22 F728_mz130.1229_rt1.24 1.235 130.12289 Unknown
## 23 F650_mz125.0236_rt1.02 1.019 125.02357 Unknown
## 24 F864_mz140.0345_rt0.72 0.716 140.03448 Unknown
## 25 F791_mz135.0556_rt0.93 0.933 135.05556 Unknown
## 26 F2004_mz218.1501_rt0.45 0.446 218.15010 Unknown
## 27 F2465_mz255.098_rt0.48 0.481 255.09801 Unknown
## 28 F837_mz138.0553_rt0.98 0.983 138.05528 Unknown
## 29 F1577_mz190.0031_rt0.42 0.418 190.00308 Unknown
## 30 F1774_mz202.9707_rt0.38 0.384 202.97069 Unknown
## 31 F2392_mz248.1497_rt1.19 1.192 248.14972 Unknown
## 32 F2816_mz280.155_rt1.08 1.076 280.15497 Unknown
## 33 F1352_mz173.1399_rt0.77 0.770 173.13991 Unknown
## 34 F2437_mz252.1235_rt1.13 1.131 252.12346 Unknown
## 35 F2188_mz232.0973_rt1.25 1.251 232.09734 Unknown
## 36 F3331_mz318.13_rt0.45 0.451 318.12997 Unknown
## 37 F885_mz141.0549_rt1.07 1.069 141.05486 Unknown
## 38 F2289_mz241.1549_rt0.77 0.772 241.15492 Unknown
## 39 F1850_mz208.0972_rt1.18 1.177 208.09721 Unknown
## 40 F2481_mz256.0819_rt0.65 0.652 256.08191 Unknown
## 41 F3782_mz360.1504_rt0.48 0.477 360.15045 Unknown
## 42 F807_mz136.0759_rt1.14 1.139 136.07594 Unknown
## 43 F2143_mz228.1963_rt1.68 1.682 228.19626 Unknown
## 44 F1467_mz181.1226_rt5.72 5.715 181.12262 Unknown
## 45 F2818_mz280.2641_rt5.32 5.320 280.26410 Unknown
## 46 F1306_mz171.0655_rt1.1 1.100 171.06552 Unknown
## 47 F2813_mz280.1395_rt0.68 0.679 280.13953 Unknown
## 48 F2418_mz251.1031_rt1.12 1.119 251.10306 Unknown
## 49 F2316_mz243.1838_rt0.44 0.440 243.18379 Unknown
## 50 F523_mz116.1072_rt1.14 1.143 116.10721 Unknown
## MS/MS assigned RT_flag old_new_logFC old_new_p old_new_FDR
## 1 TRUE RT >= 1 min 11.173873 5.269541e-06 0.003606122
## 2 TRUE RT >= 1 min 6.037349 3.347906e-06 0.003606122
## 3 TRUE RT >= 1 min 4.545771 5.255943e-06 0.003606122
## 4 TRUE Early RT -5.065613 1.144322e-05 0.004698585
## 5 TRUE RT >= 1 min -4.952738 1.026241e-05 0.004698585
## 6 FALSE Early RT -5.302245 3.647140e-05 0.010404223
## 7 TRUE RT >= 1 min -4.898287 4.054252e-05 0.010404223
## 8 TRUE Very early RT 3.453614 3.139564e-05 0.010404223
## 9 TRUE RT >= 1 min -3.532579 9.278373e-05 0.014257914
## 10 FALSE Early RT 3.426546 8.922543e-05 0.014257914
## 11 FALSE Very early RT 2.685749 6.985868e-05 0.014257914
## 12 FALSE Early RT -2.682389 7.773111e-05 0.014257914
## 13 FALSE Early RT -2.527842 9.138102e-05 0.014257914
## 14 FALSE Early RT 2.386311 9.722883e-05 0.014257914
## 15 TRUE RT >= 1 min 5.127321 1.240715e-04 0.015919928
## 16 TRUE RT >= 1 min -2.181653 1.204091e-04 0.015919928
## 17 FALSE Early RT 2.933471 1.378351e-04 0.016381028
## 18 TRUE Early RT 2.638015 1.436232e-04 0.016381028
## 19 FALSE Early RT -2.873671 1.986128e-04 0.021460639
## 20 TRUE RT >= 1 min 6.282090 2.233032e-04 0.022922076
## 21 FALSE RT >= 1 min 5.289750 2.345499e-04 0.022930043
## 22 TRUE RT >= 1 min 4.320084 2.738484e-04 0.023017290
## 23 TRUE RT >= 1 min 3.974122 2.915000e-04 0.023017290
## 24 TRUE Early RT 3.682182 2.889145e-04 0.023017290
## 25 FALSE Early RT -2.455860 2.793719e-04 0.023017290
## 26 FALSE Very early RT -1.886490 2.591574e-04 0.023017290
## 27 FALSE Very early RT 2.739048 3.220825e-04 0.024490202
## 28 TRUE Early RT -3.360677 3.343137e-04 0.024512355
## 29 FALSE Very early RT -2.244431 3.709193e-04 0.026258531
## 30 FALSE Very early RT 1.826347 3.993407e-04 0.027328212
## 31 TRUE RT >= 1 min 3.751427 4.292747e-04 0.028281080
## 32 TRUE RT >= 1 min 2.149501 4.408157e-04 0.028281080
## 33 TRUE Early RT 3.404815 4.767149e-04 0.028875869
## 34 TRUE RT >= 1 min 3.125456 4.916091e-04 0.028875869
## 35 TRUE RT >= 1 min 2.595938 4.922822e-04 0.028875869
## 36 FALSE Very early RT 4.849630 6.228336e-04 0.029097703
## 37 TRUE RT >= 1 min 4.527276 6.236234e-04 0.029097703
## 38 FALSE Early RT 3.609556 5.852611e-04 0.029097703
## 39 TRUE RT >= 1 min 3.055521 5.481663e-04 0.029097703
## 40 TRUE Early RT 2.524554 5.931576e-04 0.029097703
## 41 TRUE Very early RT -2.481365 5.416882e-04 0.029097703
## 42 TRUE RT >= 1 min -2.045931 6.204113e-04 0.029097703
## 43 FALSE RT >= 1 min -1.670488 5.262188e-04 0.029097703
## 44 FALSE RT >= 1 min -1.583570 6.081386e-04 0.029097703
## 45 TRUE RT >= 1 min 6.067283 8.267512e-04 0.029878197
## 46 TRUE RT >= 1 min 5.289593 9.195678e-04 0.029878197
## 47 TRUE Early RT 5.203407 9.750800e-04 0.029878197
## 48 TRUE RT >= 1 min 4.640319 8.921704e-04 0.029878197
## 49 TRUE Very early RT 4.020699 8.514320e-04 0.029878197
## 50 TRUE RT >= 1 min 3.903860 9.344225e-04 0.029878197
## old_control_logFC new_control_logFC
## 1 0.526497249 -10.48129680
## 2 NA NA
## 3 5.152462202 0.77279946
## 4 -1.308106004 3.92362546
## 5 -1.330635381 3.78824928
## 6 NA NA
## 7 -1.619871221 3.44457925
## 8 0.441960366 -2.84553676
## 9 -0.932405635 2.76634312
## 10 0.264940794 -2.99550778
## 11 0.686788475 -1.83284622
## 12 -0.170286231 2.67822261
## 13 -0.108777373 2.58518295
## 14 0.477180889 -1.74302161
## 15 5.798827484 0.83761160
## 16 -1.920649907 0.42712271
## 17 0.389245677 -2.37811277
## 18 2.122146868 -0.34975167
## 19 -0.227672914 2.81212719
## 20 8.103483410 1.98722074
## 21 2.511050616 -2.61261907
## 22 4.137835545 -0.01613849
## 23 8.117728306 4.30967467
## 24 2.696134289 -0.81993775
## 25 0.050033707 2.67201580
## 26 -2.406437192 -0.35382722
## 27 NA NA
## 28 -1.569065068 1.95773129
## 29 -0.214954928 2.19559947
## 30 -0.364661644 -2.02490744
## 31 5.561650510 1.97630397
## 32 11.944528508 9.81317420
## 33 1.568296809 -1.67040506
## 34 2.571569449 -0.38777503
## 35 1.930695219 -0.49914050
## 36 1.156464914 -3.52708552
## 37 8.711202089 4.35002165
## 38 1.442974029 -2.00047472
## 39 2.439916124 -0.44948908
## 40 8.978030418 6.61955008
## 41 -0.583641338 2.06384088
## 42 -2.574658919 -0.36260538
## 43 -0.244092446 1.59251861
## 44 -0.007695048 1.74205769
## 45 1.238889946 -4.66240674
## 46 10.589723990 5.46618766
## 47 1.721534380 -3.31575620
## 48 4.181479868 -0.29273366
## 49 1.926950205 -1.92764419
## 50 3.962829848 0.22507717
Take the top 30 exudate-vs-soil abundance candidates.
top_exudate_soil_features <-
exudate_soil_abundance_candidates %>%
filter(
adj.P.Val < 0.05
) %>%
arrange(
adj.P.Val,
desc(
abs(logFC)
)
) %>%
slice_head(
n = 30
) %>%
pull(
feature_name
)
Only keep features actually present in the quantitative matrix:
top_exudate_soil_features <-
intersect(
top_exudate_soil_features,
colnames(
normalized_comparisons$
Exudate_vs_Soil$log
)
)
Heatmap:
if (
length(
top_exudate_soil_features
) >= 2
) {
exudate_soil_heatmap <-
t(
normalized_comparisons$
Exudate_vs_Soil$log[
,
top_exudate_soil_features,
drop = FALSE
]
)
pheatmap(
exudate_soil_heatmap,
scale = "row",
clustering_distance_rows =
"euclidean",
clustering_distance_cols =
"euclidean",
clustering_method =
"complete",
show_rownames = TRUE,
show_colnames = TRUE,
fontsize_row = 7,
main =
"Top differential exudate vs soil features"
)
}
top_age_features <-
age_sensitive_fungal_ranked %>%
filter(
old_new_FDR < 0.05
) %>%
slice_head(
n = 30
) %>%
pull(
feature_name
)
Match:
top_age_features <-
intersect(
top_age_features,
colnames(
normalized_comparisons$
Fungi_old_vs_Fungal_in$log
)
)
Plot:
if (
length(
top_age_features
) >= 2
) {
fungal_age_heatmap <-
t(
normalized_comparisons$
Fungi_old_vs_Fungal_in$log[
,
top_age_features,
drop = FALSE
]
)
pheatmap(
fungal_age_heatmap,
scale = "row",
clustering_distance_rows =
"euclidean",
clustering_distance_cols =
"euclidean",
clustering_method =
"complete",
show_rownames = TRUE,
show_colnames = TRUE,
fontsize_row = 7,
main =
"Features differing between old and newer fungal growth"
)
}
This lets you inspect actual replicates for any limma comparison.
plot_comparison_feature <- function(
comparison_name,
feature_to_plot
) {
x <-
normalized_comparisons[[comparison_name]]$log
plot_data <-
as.data.frame(x) %>%
rownames_to_column(
"sample"
) %>%
select(
sample,
all_of(
feature_to_plot
)
) %>%
rename(
log2_intensity =
all_of(
feature_to_plot
)
) %>%
left_join(
sample_metadata,
by = "sample"
)
ggplot(
plot_data,
aes(
x = group,
y = log2_intensity,
fill = group
)
) +
geom_boxplot(
width = 0.5,
outlier.shape = NA,
alpha = 0.5
) +
geom_jitter(
width = 0.08,
size = 3
) +
labs(
title =
feature_to_plot,
x = NULL,
y =
"Log2 normalized intensity"
) +
theme_classic() +
theme(
axis.text.x =
element_text(
angle = 45,
hjust = 1
),
legend.position =
"none"
)
}
Again, fix the indexing formatting to keep brackets together. Use this exact function:
plot_comparison_feature <- function(
comparison_name,
feature_to_plot
) {
x <- normalized_comparisons[[comparison_name]]$log
plot_data <-
as.data.frame(x) %>%
rownames_to_column("sample") %>%
select(
sample,
all_of(feature_to_plot)
)
names(plot_data)[2] <-
"log2_intensity"
plot_data <-
plot_data %>%
left_join(
sample_metadata,
by = "sample"
)
ggplot(
plot_data,
aes(
x = group,
y = log2_intensity,
fill = group
)
) +
geom_boxplot(
width = 0.5,
outlier.shape = NA,
alpha = 0.5
) +
geom_jitter(
width = 0.08,
size = 3
) +
labs(
title = feature_to_plot,
x = NULL,
y = "Log2 normalized intensity"
) +
theme_classic() +
theme(
axis.text.x =
element_text(
angle = 45,
hjust = 1
),
legend.position = "none"
)
}
top_exudate_abundance_feature <-
exudate_soil_abundance_candidates %>%
filter(
adj.P.Val < 0.05
) %>%
arrange(
adj.P.Val,
desc(
abs(logFC)
)
) %>%
slice(1) %>%
pull(
feature_name
)
Plot:
plot_comparison_feature(
"Exudate_vs_Soil",
top_exudate_abundance_feature
)
top_fungal_age_feature <-
age_sensitive_fungal_ranked %>%
slice(1) %>%
pull(
feature_name
)
plot_comparison_feature(
"Fungi_old_vs_Fungal_in",
top_fungal_age_feature
)
Now identify candidates for actual chemical-identification work.
annotated_exudate_candidates <-
exudate_soil_abundance_candidates %>%
filter(
annotation_flag ==
"Annotated" |
`MS/MS assigned` ==
TRUE
) %>%
arrange(
adj.P.Val,
desc(
abs(logFC)
)
)
View:
annotated_exudate_candidates %>%
select(
feature_name,
`Average Rt(min)`,
`Average Mz`,
`Metabolite name`,
`Adduct type`,
Formula,
Ontology,
`MS/MS assigned`,
`Total score`,
RT_flag,
logFC,
P.Value,
adj.P.Val
) %>%
head(50)
## feature_name Average Rt(min) Average Mz Metabolite name
## 1 F1682_mz196.8781_rt0.43 0.429 196.87810 Unknown
## 2 F1744_mz201.0526_rt0.5 0.501 201.05261 Unknown
## 3 F3537_mz337.1051_rt2.67 2.671 337.10507 Unknown
## 4 F1158_mz160.9872_rt0.48 0.475 160.98715 Unknown
## 5 F2296_mz241.9999_rt0.39 0.393 241.99988 Unknown
## 6 F2231_mz236.1049_rt0.52 0.521 236.10490 Unknown
## 7 F2223_mz235.0928_rt0.49 0.486 235.09285 Unknown
## 8 F2006_mz218.9839_rt0.39 0.391 218.98390 Unknown
## 9 F222_mz90.526_rt0.4 0.396 90.52601 Unknown
## 10 F1974_mz216.951_rt0.39 0.393 216.95103 Unknown
## 11 F306_mz99.5314_rt0.41 0.406 99.53137 Unknown
## 12 F2198_mz232.9286_rt0.4 0.397 232.92859 Unknown
## 13 F691_mz128.0194_rt0.4 0.395 128.01941 Unknown
## 14 F3354_mz319.2272_rt2.82 2.821 319.22717 Unknown
## 15 F946_mz145.0096_rt0.47 0.473 145.00964 Unknown
## 16 F904_mz142.9767_rt0.47 0.474 142.97670 Unknown
## 17 F364_mz104.1071_rt0.44 0.440 104.10710 Unknown
## 18 F2507_mz257.9776_rt0.4 0.397 257.97760 Unknown
## 19 F1094_mz156.0422_rt0.42 0.424 156.04224 Unknown
## 20 F692_mz128.0194_rt0.53 0.531 128.01942 Unknown
## 21 F1037_mz151.0354_rt0.39 0.392 151.03539 Unknown
## 22 F195_mz88.0233_rt0.4 0.402 88.02334 Unknown
## 23 F663_mz125.9864_rt0.39 0.394 125.98639 Unknown
## 24 F921_mz143.9971_rt0.4 0.398 143.99707 Unknown
## 25 F427_mz110.0088_rt0.39 0.389 110.00883 Unknown
## 26 F1517_mz185.0325_rt0.44 0.439 185.03252 Unknown
## 27 F1246_mz167.013_rt0.4 0.397 167.01297 Unknown
## 28 F964_mz146.03_rt0.4 0.399 146.02997 Unknown
## 29 F174_mz84.9599_rt0.39 0.393 84.95986 Unknown
## 30 F147_mz82.5372_rt0.39 0.391 82.53722 Unknown
## 31 F1507_mz184.0971_rt0.86 0.860 184.09714 Unknown
## 32 F343_mz102.9705_rt0.4 0.396 102.97046 Unknown
## 33 F54_mz71.0293_rt0.39 0.390 71.02927 Unknown
## 34 F545_mz118.0863_rt0.65 0.654 118.08631 Unknown
## 35 F49_mz70.0127_rt0.39 0.388 70.01273 Unknown
## 36 F197_mz88.0234_rt0.52 0.516 88.02336 Unknown
## 37 F2577_mz263.0879_rt0.48 0.479 263.08795 Unknown
## 38 F391_mz107.0493_rt0.94 0.945 107.04929 Unknown
## 39 F224_mz90.5261_rt0.52 0.518 90.52607 Unknown
## 40 F2608_mz266.124_rt0.47 0.468 266.12396 Unknown
## 41 F724_mz130.05_rt0.76 0.759 130.05005 Unknown
## 42 F142_mz81.5208_rt0.38 0.383 81.52076 Unknown
## 43 F7_mz61.011_rt0.52 0.524 61.01100 Unknown
## 44 F1050_mz152.0569_rt0.64 0.645 152.05687 Unknown
## 45 F2375_mz247.1658_rt1.07 1.074 247.16580 Unknown
## 46 F290_mz98.9844_rt0.46 0.464 98.98443 Unknown
## 47 F69_mz73.532_rt0.38 0.383 73.53196 Unknown
## 48 F924_mz144.0481_rt0.92 0.924 144.04813 Unknown
## 49 F5_mz61.0076_rt0.38 0.380 61.00764 Unknown
## 50 F329_mz102.034_rt0.39 0.394 102.03397 Unknown
## Adduct type Formula Ontology MS/MS assigned Total score RT_flag
## 1 [M+H]+ null null TRUE null Very early RT
## 2 [M+H]+ null null TRUE null Early RT
## 3 [M+H]+ null null TRUE null RT >= 1 min
## 4 [M+H]+ null null TRUE null Very early RT
## 5 [M+H]+ null null TRUE null Very early RT
## 6 [M+H]+ null null TRUE null Early RT
## 7 [M+H]+ null null TRUE null Very early RT
## 8 [M+H]+ null null TRUE null Very early RT
## 9 [M+2H]2+ null null TRUE null Very early RT
## 10 [M+H]+ null null TRUE null Very early RT
## 11 [M+2H]2+ null null TRUE null Very early RT
## 12 [M+H]+ null null TRUE null Very early RT
## 13 [M+H]+ null null TRUE null Very early RT
## 14 [M+H]+ null null TRUE null RT >= 1 min
## 15 [M+H]+ null null TRUE null Very early RT
## 16 [M+H]+ null null TRUE null Very early RT
## 17 [M+H]+ null null TRUE null Very early RT
## 18 [M+H]+ null null TRUE null Very early RT
## 19 [M+H]+ null null TRUE null Very early RT
## 20 [M+H]+ null null TRUE null Early RT
## 21 [M+H]+ null null TRUE null Very early RT
## 22 [M+2H]2+ null null TRUE null Very early RT
## 23 [M+H]+ null null TRUE null Very early RT
## 24 [M+H]+ null null TRUE null Very early RT
## 25 [M+H]+ null null TRUE null Very early RT
## 26 [M+H]+ null null TRUE null Very early RT
## 27 [M+H]+ null null TRUE null Very early RT
## 28 [M+H]+ null null TRUE null Very early RT
## 29 [M+H]+ null null TRUE null Very early RT
## 30 [M+H]+ null null TRUE null Very early RT
## 31 [M+H]+ null null TRUE null Early RT
## 32 [M+H]+ null null TRUE null Very early RT
## 33 [M+2H]2+ null null TRUE null Very early RT
## 34 [M+H]+ null null TRUE null Early RT
## 35 [M+2H]2+ null null TRUE null Very early RT
## 36 [M+H]+ null null TRUE null Early RT
## 37 [M+H]+ null null TRUE null Very early RT
## 38 [M+H]+ null null TRUE null Early RT
## 39 [M+H]+ null null TRUE null Early RT
## 40 [M+H]+ null null TRUE null Very early RT
## 41 [M+H]+ null null TRUE null Early RT
## 42 [M+2H]2+ null null TRUE null Very early RT
## 43 [M+H]+ null null TRUE null Early RT
## 44 [M+H]+ null null TRUE null Early RT
## 45 [M+H]+ null null TRUE null RT >= 1 min
## 46 [M+H]+ null null TRUE null Very early RT
## 47 [M+2H]2+ null null TRUE null Very early RT
## 48 [M+H]+ null null TRUE null Early RT
## 49 [M+2H]2+ null null TRUE null Very early RT
## 50 [M+2H]2+ null null TRUE null Very early RT
## logFC P.Value adj.P.Val
## 1 -2.9858514 0.002744930 0.08294783
## 2 -2.2730484 0.002589619 0.08294783
## 3 2.0890620 0.001193692 0.08294783
## 4 -1.6510151 0.001917764 0.08294783
## 5 -1.6113931 0.001113103 0.08294783
## 6 1.5749718 0.001945495 0.08294783
## 7 1.4670074 0.002350431 0.08294783
## 8 -1.3626296 0.002242272 0.08294783
## 9 -1.3025848 0.002752958 0.08294783
## 10 -1.2946382 0.001530368 0.08294783
## 11 -1.1339731 0.002048115 0.08294783
## 12 -1.0665106 0.002727196 0.08294783
## 13 -0.8842118 0.002664177 0.08294783
## 14 0.8346821 0.002068896 0.08294783
## 15 -1.8710682 0.003113977 0.08309077
## 16 -1.7362735 0.003819859 0.08488550
## 17 1.4319490 0.003776206 0.08488550
## 18 -1.3987914 0.004450275 0.08488550
## 19 1.0790944 0.003553904 0.08488550
## 20 -1.0596891 0.004042094 0.08488550
## 21 -1.0127244 0.004756440 0.08488550
## 22 -0.9820723 0.003289318 0.08488550
## 23 -0.8638604 0.004711608 0.08488550
## 24 -0.8029409 0.004772911 0.08488550
## 25 -0.7551569 0.004893540 0.08488550
## 26 -0.7461648 0.004334932 0.08488550
## 27 -1.0758640 0.007119075 0.09749001
## 28 -0.8282262 0.007005919 0.09749001
## 29 -0.7713641 0.007112079 0.09749001
## 30 -1.2382262 0.008223827 0.09878661
## 31 -1.1830555 0.008055133 0.09878661
## 32 -0.7773785 0.008973748 0.10042215
## 33 -1.0553518 0.009547800 0.10347823
## 34 0.4897876 0.009622831 0.10347823
## 35 -1.0087126 0.010325235 0.10627228
## 36 -0.5972945 0.011084511 0.11091131
## 37 -1.2222462 0.011584827 0.11239640
## 38 1.3788260 0.016170913 0.13583567
## 39 -0.7637018 0.016607906 0.13621746
## 40 1.3024598 0.016867509 0.13644440
## 41 0.5140965 0.016932494 0.13644440
## 42 -0.9020197 0.019083336 0.14795689
## 43 -0.9076654 0.020500649 0.15377456
## 44 0.4221405 0.020744329 0.15377456
## 45 0.3673298 0.020747362 0.15377456
## 46 0.9519348 0.021212274 0.15584290
## 47 -1.1192737 0.022853555 0.16104173
## 48 1.1185036 0.023005962 0.16104173
## 49 -1.0752975 0.024900477 0.16898863
## 50 -1.0335341 0.024994710 0.16898863
annotated_fungal_candidates <-
fungal_age_master %>%
filter(
annotation_flag ==
"Annotated" |
`MS/MS assigned` ==
TRUE
) %>%
filter(
fungal_age_category !=
"No strong fungal-age classification"
) %>%
arrange(
old_new_FDR
)
This gives you a compact set of high-interest positive-mode LC-MS candidates.
First abundance-based plant candidates:
master_plant_abundance_candidates <-
exudate_soil_abundance_candidates %>%
filter(
evidence_tier %in% c(
"Tier 1: FDR + >=2-fold",
"Tier 2: FDR supported",
"Tier 3: exploratory + >=2-fold"
)
) %>%
mutate(
candidate_source =
"Exudate vs Soil abundance"
)
Detection candidates:
master_plant_detection_candidates <-
plant_detection_candidates %>%
filter(
plant_candidate_class %in% c(
"Root + Exudate; absent Leaf/Soil",
"Leaf + Root + Exudate; absent Soil",
"Exudate only; absent Soil"
)
) %>%
mutate(
candidate_source =
"Plant compartment detection"
)
Because these tables have different statistical columns, keep them as separate master outputs rather than forcing them into one malformed table.
This is the table you will eventually use to ask:
Is this candidate sufficiently interesting and sufficiently identified to justify an authentic chemical standard?
For abundance candidates:
standards_review_abundance <-
exudate_soil_abundance_candidates %>%
filter(
evidence_tier %in% c(
"Tier 1: FDR + >=2-fold",
"Tier 2: FDR supported",
"Tier 3: exploratory + >=2-fold"
)
) %>%
transmute(
feature_name,
RT =
`Average Rt(min)`,
mz =
`Average Mz`,
metabolite_name =
`Metabolite name`,
adduct =
`Adduct type`,
formula =
Formula,
ontology =
Ontology,
MSMS =
`MS/MS assigned`,
RT_flag,
blank_ratio =
sample_to_blank_ratio,
log2_fold_change =
logFC,
raw_p =
P.Value,
FDR =
adj.P.Val,
evidence_tier,
possible_standard =
case_when(
annotation_flag ==
"Annotated" &
`MS/MS assigned` ==
TRUE &
RT_flag ==
"RT >= 1 min" ~
"High priority to investigate standard",
annotation_flag ==
"Annotated" ~
"Investigate annotation first",
`MS/MS assigned` ==
TRUE ~
"Unknown feature - investigate MS/MS",
TRUE ~
"Identification needed first"
)
)
View:
standards_review_abundance
## feature_name RT mz metabolite_name adduct formula
## 1 F2594_mz265.0235_rt0.44 0.443 265.02347 Unknown [M+H]+ null
## 2 F1906_mz212.852_rt0.43 0.430 212.85202 Unknown [M+H]+ null
## 3 F1209_mz164.921_rt0.43 0.428 164.92101 Unknown [M+H]+ null
## 4 F1682_mz196.8781_rt0.43 0.429 196.87810 Unknown [M+H]+ null
## 5 F1449_mz180.8948_rt0.43 0.427 180.89479 Unknown [M+H]+ null
## 6 F1034_mz150.4944_rt0.44 0.438 150.49442 Unknown [M+H]+ null
## 7 F808_mz136.484_rt0.43 0.433 136.48401 Unknown [M+H]+ null
## 8 F1744_mz201.0526_rt0.5 0.501 201.05261 Unknown [M+H]+ null
## 9 F4226_mz414.3914_rt0.4 0.398 414.39142 Unknown [M+2H]2+ null
## 10 F3537_mz337.1051_rt2.67 2.671 337.10507 Unknown [M+H]+ null
## 11 F1802_mz204.9095_rt0.43 0.433 204.90947 Unknown [M+H]+ null
## 12 F574_mz119.9606_rt0.47 0.474 119.96062 Unknown [M+H]+ null
## 13 F327_mz101.9501_rt0.47 0.473 101.95007 Unknown [M+H]+ null
## 14 F1158_mz160.9872_rt0.48 0.475 160.98715 Unknown [M+H]+ null
## 15 F2296_mz241.9999_rt0.39 0.393 241.99988 Unknown [M+H]+ null
## 16 F2922_mz288.0046_rt0.49 0.491 288.00458 Unknown [M+H]+ null
## 17 F901_mz142.0865_rt0.96 0.965 142.08653 Unknown [M+H]+ null
## 18 F231_mz91.5425_rt0.4 0.399 91.54252 Unknown [M+2H]2+ null
## 19 F2231_mz236.1049_rt0.52 0.521 236.10490 Unknown [M+H]+ null
## 20 F3276_mz315.1151_rt0.44 0.438 315.11511 Unknown [M+H]+ null
## 21 F2223_mz235.0928_rt0.49 0.486 235.09285 Unknown [M+H]+ null
## 22 F2534_mz260.0106_rt0.39 0.394 260.01056 Unknown [M+H]+ null
## 23 F2032_mz220.9814_rt0.39 0.392 220.98143 Unknown [M+H]+ null
## 24 F2006_mz218.9839_rt0.39 0.391 218.98390 Unknown [M+H]+ null
## 25 F233_mz92.5225_rt0.39 0.394 92.52245 Unknown [M+H]2+ null
## 26 F2239_mz236.9593_rt0.4 0.399 236.95926 Unknown [M+H]+ null
## 27 F222_mz90.526_rt0.4 0.396 90.52601 Unknown [M+2H]2+ null
## 28 F1974_mz216.951_rt0.39 0.393 216.95103 Unknown [M+H]+ null
## 29 F408_mz108.5367_rt0.41 0.410 108.53668 Unknown [M+H]+ null
## 30 F2219_mz234.9617_rt0.4 0.398 234.96170 Unknown [M+H]+ null
## 31 F192_mz87.5344_rt0.39 0.390 87.53439 Unknown [M+H]+ null
## 32 F371_mz104.908_rt0.39 0.393 104.90804 Unknown [M+H]+ null
## 33 F1516_mz185.0239_rt0.4 0.401 185.02388 Unknown [M+H]+ null
## 34 F306_mz99.5314_rt0.41 0.406 99.53137 Unknown [M+2H]2+ null
## 35 F2097_mz225.987_rt0.38 0.384 225.98697 Unknown [M+H]+ null
## 36 F2414_mz250.9391_rt0.4 0.401 250.93913 Unknown [M+H]+ null
## 37 F2198_mz232.9286_rt0.4 0.397 232.92859 Unknown [M+H]+ null
## 38 F898_mz142.0352_rt0.39 0.394 142.03519 Unknown [M+H]+ null
## 39 F504_mz115.0868_rt0.79 0.792 115.08684 Unknown [M+H]+ null
## 40 F3219_mz309.9398_rt0.43 0.433 309.93985 Unknown [M+H]+ null
## 41 F2056_mz222.9204_rt0.43 0.434 222.92035 Unknown [M+H]+ null
## 42 F946_mz145.0096_rt0.47 0.473 145.00964 Unknown [M+H]+ null
## 43 F513_mz116.0111_rt0.46 0.456 116.01108 Unknown [M+H]+ null
## 44 F16_mz62.024_rt0.39 0.389 62.02398 Unknown [M+2H]2+ null
## 45 F3880_mz369.925_rt0.39 0.394 369.92505 Unknown [M+H]+ null
## 46 F4025_mz385.9818_rt0.49 0.486 385.98184 Unknown [M+H]+ null
## 47 F1535_mz187.0579_rt0.47 0.470 187.05789 Unknown [M+H]+ null
## 48 F2822_mz280.9941_rt0.4 0.396 280.99411 Unknown [M+H]+ null
## 49 F904_mz142.9767_rt0.47 0.474 142.97670 Unknown [M+H]+ null
## 50 F4391_mz443.9871_rt0.49 0.491 443.98709 Unknown [M+H]+ null
## 51 F2320_mz243.9975_rt0.39 0.392 243.99754 Unknown [M+H]+ null
## 52 F364_mz104.1071_rt0.44 0.440 104.10710 Unknown [M+H]+ null
## 53 F2507_mz257.9776_rt0.4 0.397 257.97760 Unknown [M+H]+ null
## 54 F355_mz103.5607_rt0.39 0.391 103.56070 Unknown [M+H]+ null
## 55 F2274_mz239.9668_rt0.39 0.390 239.96683 Unknown [M+H]+ null
## 56 F3660_mz348.9416_rt0.4 0.404 348.94159 Unknown [M+H]+ null
## 57 F289_mz98.9844_rt0.56 0.559 98.98435 Unknown [M+H]+ null
## 58 F3634_mz346.9093_rt0.4 0.397 346.90933 Unknown [M+H]+ null
## 59 F1094_mz156.0422_rt0.42 0.424 156.04224 Unknown [M+H]+ null
## 60 F692_mz128.0194_rt0.53 0.531 128.01942 Unknown [M+H]+ null
## 61 F417_mz109.0469_rt0.41 0.406 109.04688 Unknown [M+H]+ null
## 62 F3606_mz344.876_rt0.39 0.391 344.87595 Unknown [M+H]+ null
## 63 F35_mz67.5101_rt0.4 0.399 67.51008 Unknown [M+H]+ null
## 64 F1037_mz151.0354_rt0.39 0.392 151.03539 Unknown [M+H]+ null
## 65 F2160_mz229.9585_rt0.43 0.433 229.95854 Unknown [M+H]+ null
## 66 F4239_mz416.917_rt0.4 0.397 416.91699 Unknown [M+H]+ null
## 67 F1267_mz168.0507_rt0.39 0.388 168.05069 Unknown [M+H]+ null
## 68 F822_mz137.0812_rt0.51 0.512 137.08116 Unknown [M+H]+ null
## 69 F2852_mz284.047_rt0.39 0.392 284.04697 Unknown [M+H]+ null
## 70 F803_mz136.0082_rt0.4 0.400 136.00822 Unknown [M+H]+ null
## 71 F2309_mz242.8657_rt0.43 0.428 242.86566 Unknown [M+H]+ null
## 72 F2078_mz223.9891_rt0.38 0.382 223.98914 Unknown [M+H]+ null
## 73 F2461_mz254.9424_rt0.39 0.389 254.94244 Unknown [M+H]+ null
## 74 F2613_mz267.0136_rt0.39 0.392 267.01364 Unknown [M+H]+ null
## 75 F2532_mz259.9482_rt0.45 0.447 259.94815 Unknown [M+H]+ null
## 76 F217_mz89.5452_rt0.39 0.391 89.54515 Unknown [M+H]+ null
## 77 F1246_mz167.013_rt0.4 0.397 167.01297 Unknown [M+H]+ null
## 78 F2769_mz277.0093_rt0.4 0.399 277.00928 Unknown [M+H]+ null
## 79 F2846_mz283.0269_rt0.39 0.387 283.02686 Unknown [M+H]+ null
## 80 F1016_mz149.0599_rt2.67 2.671 149.05994 Unknown [M+H]+ null
## 81 F849_mz139.018_rt0.4 0.399 139.01799 Unknown [M+2H]2+ null
## 82 F1677_mz196.0642_rt0.5 0.496 196.06416 Unknown [M+H]+ null
## 83 F1212_mz165.0068_rt0.62 0.616 165.00684 Unknown [M+H]+ null
## 84 F422_mz109.5217_rt0.4 0.400 109.52167 Unknown [M+H]+ null
## 85 F3719_mz353.9471_rt0.39 0.391 353.94708 Unknown [M+H]+ null
## 86 F2533_mz259.9752_rt0.4 0.398 259.97516 Unknown [M+H]+ null
## 87 F273_mz97.9915_rt0.4 0.395 97.99152 Unknown [M+H]+ null
## 88 F147_mz82.5372_rt0.39 0.391 82.53722 Unknown [M+H]+ null
## 89 F1507_mz184.0971_rt0.86 0.860 184.09714 Unknown [M+H]+ null
## 90 F237_mz93.9843_rt0.39 0.391 93.98428 Unknown [M+H]+ null
## 91 F844_mz138.511_rt0.38 0.385 138.51096 Unknown [M+H]+ null
## 92 F1670_mz195.9491_rt0.85 0.852 195.94911 Unknown [M+H]+ null
## 93 F3828_mz364.9195_rt0.4 0.404 364.91946 Unknown [M+H]+ null
## 94 F2479_mz255.9445_rt0.39 0.394 255.94450 Unknown [M+H]+ null
## 95 F323_mz101.0254_rt0.39 0.393 101.02541 Unknown [M+2H]2+ null
## 96 F54_mz71.0293_rt0.39 0.390 71.02927 Unknown [M+2H]2+ null
## 97 F1061_mz153.033_rt0.39 0.392 153.03296 Unknown [M+H]+ null
## 98 F2756_mz275.9257_rt0.45 0.451 275.92572 Unknown [M+H]+ null
## 99 F471_mz112.9999_rt0.47 0.471 112.99994 Unknown [M+H]+ null
## 100 F49_mz70.0127_rt0.39 0.388 70.01273 Unknown [M+2H]2+ null
## 101 F588_mz120.5548_rt0.41 0.409 120.55480 Unknown [M+H]+ null
## 102 F2593_mz265.016_rt0.39 0.391 265.01596 Unknown [M+H]+ null
## 103 F494_mz114.4976_rt0.4 0.399 114.49761 Unknown [M+H]+ null
## 104 F2577_mz263.0879_rt0.48 0.479 263.08795 Unknown [M+H]+ null
## 105 F1143_mz159.4998_rt0.43 0.434 159.49982 Unknown [M+H]+ null
## 106 F1518_mz185.0424_rt0.48 0.483 185.04243 Unknown [M+H]+ null
## 107 F1396_mz176.9619_rt0.45 0.450 176.96191 Unknown [M+H]+ null
## 108 F1127_mz158.4834_rt0.44 0.438 158.48335 Unknown [M+H]+ null
## 109 F1265_mz168.0199_rt0.5 0.499 168.01991 Unknown [M+2H]2+ null
## 110 F3640_mz347.1831_rt0.42 0.423 347.18307 Unknown [M+H]+ null
## 111 F2549_mz261.031_rt0.39 0.393 261.03101 Unknown [M+H]+ null
## 112 F1503_mz184.0033_rt0.47 0.474 184.00330 Unknown [M+H]+ null
## 113 F391_mz107.0493_rt0.94 0.945 107.04929 Unknown [M+H]+ null
## 114 F2758_mz275.9881_rt0.41 0.408 275.98807 Unknown [M+H]+ null
## 115 F21_mz63.0227_rt0.39 0.393 63.02274 Unknown [M+H]+ null
## 116 F788_mz134.9917_rt0.39 0.391 134.99173 Unknown [M+H]+ null
## 117 F2608_mz266.124_rt0.47 0.468 266.12396 Unknown [M+H]+ null
## 118 F3231_mz310.8517_rt0.42 0.423 310.85175 Unknown [M+H]+ null
## 119 F88_mz74.9756_rt0.4 0.399 74.97564 Unknown [M+H]+ null
## 120 F380_mz105.4921_rt0.38 0.385 105.49210 Unknown [M+H]+ null
## 121 F244_mz95.044_rt0.39 0.393 95.04404 Unknown [M+H]+ null
## 122 F617_mz123.0405_rt0.39 0.391 123.04050 Unknown [M+H]+ null
## 123 F2441_mz252.9188_rt0.45 0.447 252.91884 Unknown [M+H]+ null
## 124 F563_mz118.9752_rt0.51 0.512 118.97524 Unknown [M+H]+ null
## 125 F266_mz97.5118_rt0.4 0.396 97.51176 Unknown [M+H]+ null
## 126 F1799_mz204.1236_rt0.67 0.668 204.12357 Unknown [M+H]+ null
## 127 F69_mz73.532_rt0.38 0.383 73.53196 Unknown [M+2H]2+ null
## 128 F924_mz144.0481_rt0.92 0.924 144.04813 Unknown [M+H]+ null
## 129 F1822_mz206.0712_rt0.46 0.457 206.07124 Unknown [M+2H]2+ null
## 130 F275_mz98.0138_rt0.4 0.398 98.01379 Unknown [M+2H]2+ null
## 131 F5_mz61.0076_rt0.38 0.380 61.00764 Unknown [M+2H]2+ null
## 132 F4024_mz385.9019_rt0.4 0.399 385.90189 Unknown [M+H]+ null
## 133 F329_mz102.034_rt0.39 0.394 102.03397 Unknown [M+2H]2+ null
## 134 F238_mz94.0452_rt0.39 0.390 94.04518 Unknown [M+H]2+ null
## 135 F652_mz125.0379_rt0.39 0.389 125.03793 Unknown [M+H]+ null
## 136 F1456_mz181.0263_rt0.88 0.875 181.02628 Unknown [M+H]+ null
## 137 F559_mz118.1228_rt0.58 0.581 118.12277 Unknown [M+H]+ null
## 138 F512_mz116.0021_rt0.4 0.398 116.00211 Unknown [M+H]+ null
## 139 F87_mz74.5306_rt0.38 0.379 74.53064 Unknown [M+H]+ null
## 140 F2786_mz277.9588_rt0.45 0.447 277.95880 Unknown [M+H]+ null
## 141 F3675_mz349.8931_rt0.45 0.454 349.89313 Unknown [M+H]+ null
## 142 F586_mz120.5276_rt1 1.005 120.52757 Unknown [M+H]+ null
## 143 F31_mz65.9937_rt0.63 0.629 65.99371 Unknown [M+H]+ null
## 144 F265_mz97.5117_rt0.59 0.587 97.51168 Unknown [M+H]+ null
## 145 F526_mz116.9772_rt0.51 0.511 116.97725 Unknown [M+H]+ null
## 146 F4537_mz474.834_rt0.39 0.393 474.83395 Unknown [M+H]+ null
## 147 F645_mz124.5001_rt0.4 0.398 124.50014 Unknown [M+H]+ null
## 148 F883_mz141.0512_rt0.4 0.400 141.05124 Unknown [M+H]+ null
## 149 F3466_mz331.209_rt0.71 0.714 331.20905 Unknown [M+H]+ null
## 150 F20_mz63.0041_rt0.38 0.379 63.00409 Unknown [M+H]+ null
## 151 F179_mz86.0258_rt0.4 0.396 86.02583 Unknown [M+H]+ null
## 152 F5111_mz756.5501_rt9.7 9.699 756.55005 Unknown [M+H]+ null
## 153 F997_mz147.5162_rt0.41 0.405 147.51619 Unknown [M+H]+ null
## 154 F1162_mz161.0922_rt0.48 0.478 161.09222 Unknown [M+H]+ null
## 155 F1324_mz172.1334_rt0.86 0.857 172.13336 Unknown [M+H]+ null
## 156 F990_mz147.0765_rt0.46 0.459 147.07654 Unknown [M+H]+ null
## 157 F321_mz101.0034_rt0.52 0.517 101.00338 Unknown [M+H]+ null
## 158 F1004_mz148.0606_rt0.46 0.457 148.06058 Unknown [M+H]+ null
## 159 F1213_mz165.007_rt0.4 0.395 165.00699 Unknown [M+H]+ null
## 160 F1477_mz182.0814_rt0.84 0.838 182.08145 Unknown [M+H]+ null
## ontology MSMS RT_flag blank_ratio log2_fold_change raw_p
## 1 null FALSE Very early RT 3.125543e+03 -7.451646 2.139684e-05
## 2 null FALSE Very early RT 1.557993e+06 -3.372187 1.706185e-03
## 3 null FALSE Very early RT 3.579970e+05 -3.077625 1.743638e-03
## 4 null TRUE Very early RT 1.192926e+06 -2.985851 2.744930e-03
## 5 null FALSE Very early RT 8.873990e+05 -2.911490 2.106150e-03
## 6 null FALSE Very early RT 2.071340e+05 -2.601137 1.108617e-03
## 7 null FALSE Very early RT 1.835770e+05 -2.335086 1.344391e-03
## 8 null TRUE Early RT 2.594749e+01 -2.273048 2.589619e-03
## 9 null FALSE Very early RT 1.584010e+05 -2.267772 4.800770e-04
## 10 null TRUE RT >= 1 min 2.107542e+01 2.089062 1.193692e-03
## 11 null FALSE Very early RT 2.084140e+05 -1.928661 2.323233e-04
## 12 null FALSE Very early RT 1.332856e+02 -1.840867 1.594237e-03
## 13 null FALSE Very early RT 2.249378e+02 -1.762497 1.617699e-03
## 14 null TRUE Very early RT 7.105651e+00 -1.651015 1.917764e-03
## 15 null TRUE Very early RT 1.056326e+07 -1.611393 1.113103e-03
## 16 null FALSE Very early RT 2.901540e+05 1.611187 1.172235e-03
## 17 null FALSE Early RT 9.091194e+00 -1.585008 2.600131e-03
## 18 null FALSE Very early RT 1.184470e+03 -1.579428 1.687377e-03
## 19 null TRUE Early RT 5.461098e+02 1.574972 1.945495e-03
## 20 null FALSE Very early RT 1.637540e+05 1.493418 7.998826e-04
## 21 null TRUE Very early RT 1.949687e+07 1.467007 2.350431e-03
## 22 null FALSE Very early RT 3.129300e+05 -1.446822 8.338002e-04
## 23 null FALSE Very early RT 7.763939e+02 -1.367319 2.442089e-03
## 24 null TRUE Very early RT 6.654493e+06 -1.362630 2.242272e-03
## 25 null FALSE Very early RT 6.343568e+02 -1.335081 1.373800e-03
## 26 null FALSE Very early RT 1.523617e+02 -1.330799 2.257291e-04
## 27 null TRUE Very early RT 2.878034e+02 -1.302585 2.752958e-03
## 28 null TRUE Very early RT 1.341865e+04 -1.294638 1.530368e-03
## 29 null FALSE Very early RT 2.917370e+05 -1.260835 1.242427e-03
## 30 null FALSE Very early RT 2.069710e+02 -1.238671 2.040047e-03
## 31 null FALSE Very early RT 6.701505e+02 -1.217995 1.847354e-03
## 32 null FALSE Very early RT 2.393960e+05 -1.193925 1.348660e-03
## 33 null FALSE Very early RT 4.243438e+03 -1.175169 1.001776e-03
## 34 null TRUE Very early RT 1.533894e+02 -1.133973 2.048115e-03
## 35 null FALSE Very early RT 2.094688e+02 -1.090407 1.716563e-03
## 36 null FALSE Very early RT 1.000600e+03 -1.089221 1.901655e-03
## 37 null TRUE Very early RT 7.929391e+02 -1.066511 2.727196e-03
## 38 null FALSE Very early RT 2.513163e+02 -1.063821 2.053709e-03
## 39 null FALSE Early RT 3.193060e+01 1.025492 1.221196e-03
## 40 null FALSE Very early RT 1.322020e+05 -2.231806 2.936282e-03
## 41 null FALSE Very early RT 2.680880e+05 -2.072951 2.839032e-03
## 42 null TRUE Very early RT 4.866905e+01 -1.871068 3.113977e-03
## 43 null FALSE Very early RT 1.312484e+01 1.698138 3.117403e-03
## 44 null FALSE Very early RT 1.535832e+02 -1.306146 2.975612e-03
## 45 null FALSE Very early RT 6.028720e+05 -1.214517 3.020949e-03
## 46 null FALSE Very early RT 6.530334e+01 3.261351 3.974138e-03
## 47 null FALSE Very early RT 1.320992e+02 -1.939583 3.736700e-03
## 48 null FALSE Very early RT 7.492350e+05 -1.853436 4.201445e-03
## 49 null TRUE Very early RT 3.052830e+01 -1.736273 3.819859e-03
## 50 null FALSE Very early RT 2.699890e+05 1.516031 3.841870e-03
## 51 null FALSE Very early RT 1.283181e+03 -1.466046 4.579348e-03
## 52 null TRUE Very early RT 9.645389e+03 1.431949 3.776206e-03
## 53 null TRUE Very early RT 5.058283e+06 -1.398791 4.450275e-03
## 54 null FALSE Very early RT 4.710407e+02 -1.358199 3.628966e-03
## 55 null FALSE Very early RT 1.311492e+04 -1.317458 4.806466e-03
## 56 null FALSE Very early RT 2.320300e+05 -1.195904 3.724128e-03
## 57 null FALSE Early RT 2.595211e+01 1.194835 4.401848e-03
## 58 null FALSE Very early RT 9.524310e+05 -1.165088 4.208382e-03
## 59 null TRUE Very early RT 1.652311e+02 1.079094 3.553904e-03
## 60 null TRUE Early RT 7.290038e+00 -1.059689 4.042094e-03
## 61 null FALSE Very early RT 9.170422e+01 -1.032115 4.610854e-03
## 62 null FALSE Very early RT 1.035606e+06 -1.030743 4.960841e-03
## 63 null FALSE Very early RT 9.865172e+01 -1.024465 4.724032e-03
## 64 null TRUE Very early RT 3.478479e+02 -1.012724 4.756440e-03
## 65 null FALSE Very early RT 1.469540e+05 -2.336892 5.096746e-03
## 66 null FALSE Very early RT 1.788930e+05 -1.574640 5.527560e-03
## 67 null FALSE Very early RT 1.128810e+05 -1.359184 5.357514e-03
## 68 null FALSE Early RT 4.532241e+01 -2.966543 5.742045e-03
## 69 null FALSE Very early RT 5.754930e+05 -1.374409 5.731061e-03
## 70 null FALSE Very early RT 1.408861e+03 -1.378486 5.825206e-03
## 71 null FALSE Very early RT 2.226950e+05 -2.795339 6.114538e-03
## 72 null FALSE Very early RT 5.769902e+01 -1.001864 6.447418e-03
## 73 null FALSE Very early RT 1.794978e+03 -2.153056 6.776257e-03
## 74 null FALSE Very early RT 5.727030e+05 -1.936786 6.870614e-03
## 75 null FALSE Very early RT 2.101520e+05 1.455464 6.863865e-03
## 76 null FALSE Very early RT 3.411810e+05 -1.173536 7.174590e-03
## 77 null TRUE Very early RT 1.193578e+02 -1.075864 7.119075e-03
## 78 null FALSE Very early RT 4.384410e+05 -1.330205 7.255088e-03
## 79 null FALSE Very early RT 1.199250e+05 -3.072293 7.554611e-03
## 80 null FALSE RT >= 1 min 3.114624e+01 1.510886 7.495569e-03
## 81 null FALSE Very early RT 1.089807e+02 -1.336161 7.495554e-03
## 82 null FALSE Very early RT 5.448199e+02 -3.544057 7.896988e-03
## 83 null FALSE Early RT 2.632290e+05 -2.338071 8.312170e-03
## 84 null FALSE Very early RT 6.333707e+02 2.201561 8.339129e-03
## 85 null FALSE Very early RT 3.724230e+05 -1.474469 7.968093e-03
## 86 null FALSE Very early RT 8.756790e+05 -1.395055 8.090382e-03
## 87 null FALSE Very early RT 2.729129e+02 -1.298845 7.980204e-03
## 88 null TRUE Very early RT 7.727640e+02 -1.238226 8.223827e-03
## 89 null TRUE Early RT 7.166871e+02 -1.183056 8.055133e-03
## 90 null FALSE Very early RT 6.333110e+05 -1.129869 7.829987e-03
## 91 null FALSE Very early RT 1.602870e+05 -1.926303 8.811231e-03
## 92 null FALSE Early RT 5.598845e+01 -1.305017 8.897988e-03
## 93 null FALSE Very early RT 2.722180e+05 -1.273273 8.912967e-03
## 94 null FALSE Very early RT 2.364859e+02 -1.268879 8.984377e-03
## 95 null FALSE Very early RT 1.641014e+02 -1.382396 9.509106e-03
## 96 null TRUE Very early RT 1.086699e+03 -1.055352 9.547800e-03
## 97 null FALSE Very early RT 7.427007e+02 -1.042254 9.705750e-03
## 98 null FALSE Very early RT 4.383980e+05 1.336406 1.035120e-02
## 99 null FALSE Very early RT 1.624654e+03 -1.196713 1.027369e-02
## 100 null TRUE Very early RT 1.037491e+03 -1.008713 1.032523e-02
## 101 null FALSE Very early RT 2.042870e+05 -1.198696 1.104078e-02
## 102 null FALSE Very early RT 3.125543e+03 -1.600939 1.159645e-02
## 103 null FALSE Very early RT 4.684530e+05 -1.287372 1.154393e-02
## 104 null TRUE Very early RT 1.752247e+06 -1.222246 1.158483e-02
## 105 null FALSE Very early RT 3.902536e+01 -2.557621 1.173798e-02
## 106 null FALSE Very early RT 2.698566e+02 -1.563275 1.201355e-02
## 107 null FALSE Very early RT 3.069846e+01 1.144425 1.344629e-02
## 108 null FALSE Very early RT 1.684600e+05 -3.594850 1.469500e-02
## 109 null FALSE Very early RT 2.241424e+02 -1.825476 1.435584e-02
## 110 null FALSE Very early RT 1.250370e+05 1.057623 1.486340e-02
## 111 null FALSE Very early RT 7.061200e+05 -1.097180 1.533525e-02
## 112 null FALSE Very early RT 5.600042e+01 -1.726701 1.545880e-02
## 113 null TRUE Early RT 2.768148e+02 1.378826 1.617091e-02
## 114 null FALSE Very early RT 2.153040e+05 -1.762149 1.648439e-02
## 115 null FALSE Very early RT 1.000592e+03 -1.011267 1.642941e-02
## 116 null FALSE Very early RT 1.200934e+01 -1.291761 1.671282e-02
## 117 null TRUE Very early RT 3.895251e+03 1.302460 1.686751e-02
## 118 null FALSE Very early RT 1.362470e+05 -2.677908 1.725066e-02
## 119 null FALSE Very early RT 1.488470e+05 -1.332241 1.803891e-02
## 120 null FALSE Very early RT 2.867210e+05 -1.257325 1.981223e-02
## 121 null FALSE Very early RT 6.543450e+01 -1.349296 2.058507e-02
## 122 null FALSE Very early RT 8.620933e+01 -1.324841 2.070732e-02
## 123 null FALSE Very early RT 6.083295e+01 1.864944 2.159736e-02
## 124 null FALSE Early RT 5.094342e+00 1.850563 2.196498e-02
## 125 null FALSE Very early RT 3.250187e+01 -2.686382 2.253590e-02
## 126 null FALSE Early RT 7.095712e+01 1.241245 2.292860e-02
## 127 null TRUE Very early RT 2.560680e+03 -1.119274 2.285356e-02
## 128 null TRUE Early RT 3.129280e+03 1.118504 2.300596e-02
## 129 null FALSE Very early RT 2.399122e+02 1.032668 2.266821e-02
## 130 null FALSE Very early RT 2.933232e+02 -1.505232 2.333950e-02
## 131 null TRUE Very early RT 5.567914e+02 -1.075298 2.490048e-02
## 132 null FALSE Very early RT 2.569270e+05 -1.063003 2.482100e-02
## 133 null TRUE Very early RT 5.745952e+01 -1.033534 2.499471e-02
## 134 null TRUE Very early RT 2.351713e+02 -1.201254 2.522874e-02
## 135 null FALSE Very early RT 6.554346e+01 -1.296931 2.540026e-02
## 136 null FALSE Early RT 1.219635e+02 -2.230341 2.602007e-02
## 137 null TRUE Early RT 8.626397e+01 -1.833189 2.680607e-02
## 138 null FALSE Very early RT 5.754112e+01 -1.048395 2.853500e-02
## 139 null FALSE Very early RT 1.348392e+03 -1.096140 2.897476e-02
## 140 null FALSE Very early RT 1.580900e+05 1.153093 3.113754e-02
## 141 null FALSE Very early RT 2.365938e+02 1.741230 3.193896e-02
## 142 null FALSE RT >= 1 min 1.152383e+01 -1.406122 3.314170e-02
## 143 null FALSE Early RT 2.381720e+02 -1.409638 3.599260e-02
## 144 null FALSE Early RT 7.061177e+01 -1.405626 3.574777e-02
## 145 null TRUE Early RT 2.660357e+01 1.221787 3.602671e-02
## 146 null FALSE Very early RT 3.773200e+05 -1.126608 3.599946e-02
## 147 null FALSE Very early RT 1.519960e+05 -1.188569 3.646518e-02
## 148 null FALSE Very early RT 9.122908e+00 -1.161439 3.762002e-02
## 149 null FALSE Early RT 3.030946e+01 2.137314 3.988239e-02
## 150 null FALSE Very early RT 3.834934e+02 -1.213688 3.993822e-02
## 151 null FALSE Very early RT 1.715030e+05 -1.124692 3.969364e-02
## 152 null FALSE RT >= 1 min 5.105555e+01 -1.900267 4.310139e-02
## 153 null FALSE Very early RT 3.214690e+05 -1.187965 4.428116e-02
## 154 null FALSE Very early RT 2.988939e+02 -1.123126 4.414979e-02
## 155 null TRUE Early RT 7.606570e+02 -1.576965 4.588409e-02
## 156 null TRUE Very early RT 5.546775e+04 1.289847 4.630944e-02
## 157 null TRUE Early RT 1.333143e+02 -1.393674 4.776465e-02
## 158 null TRUE Very early RT 2.265678e+04 1.036417 4.806746e-02
## 159 null FALSE Very early RT 2.194128e+02 -2.989956 4.874685e-02
## 160 null TRUE Early RT 1.450545e+04 1.208577 4.978439e-02
## FDR evidence_tier
## 1 0.02965602 Tier 1: FDR + >=2-fold
## 2 0.08294783 Tier 3: exploratory + >=2-fold
## 3 0.08294783 Tier 3: exploratory + >=2-fold
## 4 0.08294783 Tier 3: exploratory + >=2-fold
## 5 0.08294783 Tier 3: exploratory + >=2-fold
## 6 0.08294783 Tier 3: exploratory + >=2-fold
## 7 0.08294783 Tier 3: exploratory + >=2-fold
## 8 0.08294783 Tier 3: exploratory + >=2-fold
## 9 0.08294783 Tier 3: exploratory + >=2-fold
## 10 0.08294783 Tier 3: exploratory + >=2-fold
## 11 0.08294783 Tier 3: exploratory + >=2-fold
## 12 0.08294783 Tier 3: exploratory + >=2-fold
## 13 0.08294783 Tier 3: exploratory + >=2-fold
## 14 0.08294783 Tier 3: exploratory + >=2-fold
## 15 0.08294783 Tier 3: exploratory + >=2-fold
## 16 0.08294783 Tier 3: exploratory + >=2-fold
## 17 0.08294783 Tier 3: exploratory + >=2-fold
## 18 0.08294783 Tier 3: exploratory + >=2-fold
## 19 0.08294783 Tier 3: exploratory + >=2-fold
## 20 0.08294783 Tier 3: exploratory + >=2-fold
## 21 0.08294783 Tier 3: exploratory + >=2-fold
## 22 0.08294783 Tier 3: exploratory + >=2-fold
## 23 0.08294783 Tier 3: exploratory + >=2-fold
## 24 0.08294783 Tier 3: exploratory + >=2-fold
## 25 0.08294783 Tier 3: exploratory + >=2-fold
## 26 0.08294783 Tier 3: exploratory + >=2-fold
## 27 0.08294783 Tier 3: exploratory + >=2-fold
## 28 0.08294783 Tier 3: exploratory + >=2-fold
## 29 0.08294783 Tier 3: exploratory + >=2-fold
## 30 0.08294783 Tier 3: exploratory + >=2-fold
## 31 0.08294783 Tier 3: exploratory + >=2-fold
## 32 0.08294783 Tier 3: exploratory + >=2-fold
## 33 0.08294783 Tier 3: exploratory + >=2-fold
## 34 0.08294783 Tier 3: exploratory + >=2-fold
## 35 0.08294783 Tier 3: exploratory + >=2-fold
## 36 0.08294783 Tier 3: exploratory + >=2-fold
## 37 0.08294783 Tier 3: exploratory + >=2-fold
## 38 0.08294783 Tier 3: exploratory + >=2-fold
## 39 0.08294783 Tier 3: exploratory + >=2-fold
## 40 0.08309077 Tier 3: exploratory + >=2-fold
## 41 0.08309077 Tier 3: exploratory + >=2-fold
## 42 0.08309077 Tier 3: exploratory + >=2-fold
## 43 0.08309077 Tier 3: exploratory + >=2-fold
## 44 0.08309077 Tier 3: exploratory + >=2-fold
## 45 0.08309077 Tier 3: exploratory + >=2-fold
## 46 0.08488550 Tier 3: exploratory + >=2-fold
## 47 0.08488550 Tier 3: exploratory + >=2-fold
## 48 0.08488550 Tier 3: exploratory + >=2-fold
## 49 0.08488550 Tier 3: exploratory + >=2-fold
## 50 0.08488550 Tier 3: exploratory + >=2-fold
## 51 0.08488550 Tier 3: exploratory + >=2-fold
## 52 0.08488550 Tier 3: exploratory + >=2-fold
## 53 0.08488550 Tier 3: exploratory + >=2-fold
## 54 0.08488550 Tier 3: exploratory + >=2-fold
## 55 0.08488550 Tier 3: exploratory + >=2-fold
## 56 0.08488550 Tier 3: exploratory + >=2-fold
## 57 0.08488550 Tier 3: exploratory + >=2-fold
## 58 0.08488550 Tier 3: exploratory + >=2-fold
## 59 0.08488550 Tier 3: exploratory + >=2-fold
## 60 0.08488550 Tier 3: exploratory + >=2-fold
## 61 0.08488550 Tier 3: exploratory + >=2-fold
## 62 0.08488550 Tier 3: exploratory + >=2-fold
## 63 0.08488550 Tier 3: exploratory + >=2-fold
## 64 0.08488550 Tier 3: exploratory + >=2-fold
## 65 0.08614744 Tier 3: exploratory + >=2-fold
## 66 0.08805975 Tier 3: exploratory + >=2-fold
## 67 0.08805975 Tier 3: exploratory + >=2-fold
## 68 0.08842749 Tier 3: exploratory + >=2-fold
## 69 0.08842749 Tier 3: exploratory + >=2-fold
## 70 0.08872237 Tier 3: exploratory + >=2-fold
## 71 0.09211685 Tier 3: exploratory + >=2-fold
## 72 0.09506512 Tier 3: exploratory + >=2-fold
## 73 0.09717011 Tier 3: exploratory + >=2-fold
## 74 0.09717011 Tier 3: exploratory + >=2-fold
## 75 0.09717011 Tier 3: exploratory + >=2-fold
## 76 0.09749001 Tier 3: exploratory + >=2-fold
## 77 0.09749001 Tier 3: exploratory + >=2-fold
## 78 0.09762671 Tier 3: exploratory + >=2-fold
## 79 0.09818075 Tier 3: exploratory + >=2-fold
## 80 0.09818075 Tier 3: exploratory + >=2-fold
## 81 0.09818075 Tier 3: exploratory + >=2-fold
## 82 0.09878661 Tier 3: exploratory + >=2-fold
## 83 0.09878661 Tier 3: exploratory + >=2-fold
## 84 0.09878661 Tier 3: exploratory + >=2-fold
## 85 0.09878661 Tier 3: exploratory + >=2-fold
## 86 0.09878661 Tier 3: exploratory + >=2-fold
## 87 0.09878661 Tier 3: exploratory + >=2-fold
## 88 0.09878661 Tier 3: exploratory + >=2-fold
## 89 0.09878661 Tier 3: exploratory + >=2-fold
## 90 0.09878661 Tier 3: exploratory + >=2-fold
## 91 0.10042215 Tier 3: exploratory + >=2-fold
## 92 0.10042215 Tier 3: exploratory + >=2-fold
## 93 0.10042215 Tier 3: exploratory + >=2-fold
## 94 0.10042215 Tier 3: exploratory + >=2-fold
## 95 0.10347823 Tier 3: exploratory + >=2-fold
## 96 0.10347823 Tier 3: exploratory + >=2-fold
## 97 0.10347823 Tier 3: exploratory + >=2-fold
## 98 0.10627228 Tier 3: exploratory + >=2-fold
## 99 0.10627228 Tier 3: exploratory + >=2-fold
## 100 0.10627228 Tier 3: exploratory + >=2-fold
## 101 0.11091131 Tier 3: exploratory + >=2-fold
## 102 0.11239640 Tier 3: exploratory + >=2-fold
## 103 0.11239640 Tier 3: exploratory + >=2-fold
## 104 0.11239640 Tier 3: exploratory + >=2-fold
## 105 0.11297804 Tier 3: exploratory + >=2-fold
## 106 0.11483296 Tier 3: exploratory + >=2-fold
## 107 0.12460543 Tier 3: exploratory + >=2-fold
## 108 0.13038397 Tier 3: exploratory + >=2-fold
## 109 0.13038397 Tier 3: exploratory + >=2-fold
## 110 0.13038397 Tier 3: exploratory + >=2-fold
## 111 0.13201651 Tier 3: exploratory + >=2-fold
## 112 0.13225860 Tier 3: exploratory + >=2-fold
## 113 0.13583567 Tier 3: exploratory + >=2-fold
## 114 0.13621746 Tier 3: exploratory + >=2-fold
## 115 0.13621746 Tier 3: exploratory + >=2-fold
## 116 0.13625862 Tier 3: exploratory + >=2-fold
## 117 0.13644440 Tier 3: exploratory + >=2-fold
## 118 0.13820467 Tier 3: exploratory + >=2-fold
## 119 0.14295065 Tier 3: exploratory + >=2-fold
## 120 0.15255421 Tier 3: exploratory + >=2-fold
## 121 0.15377456 Tier 3: exploratory + >=2-fold
## 122 0.15377456 Tier 3: exploratory + >=2-fold
## 123 0.15672220 Tier 3: exploratory + >=2-fold
## 124 0.15855972 Tier 3: exploratory + >=2-fold
## 125 0.16100389 Tier 3: exploratory + >=2-fold
## 126 0.16104173 Tier 3: exploratory + >=2-fold
## 127 0.16104173 Tier 3: exploratory + >=2-fold
## 128 0.16104173 Tier 3: exploratory + >=2-fold
## 129 0.16104173 Tier 3: exploratory + >=2-fold
## 130 0.16199478 Tier 3: exploratory + >=2-fold
## 131 0.16898863 Tier 3: exploratory + >=2-fold
## 132 0.16898863 Tier 3: exploratory + >=2-fold
## 133 0.16898863 Tier 3: exploratory + >=2-fold
## 134 0.16974288 Tier 3: exploratory + >=2-fold
## 135 0.17007132 Tier 3: exploratory + >=2-fold
## 136 0.17338371 Tier 3: exploratory + >=2-fold
## 137 0.17612972 Tier 3: exploratory + >=2-fold
## 138 0.18567848 Tier 3: exploratory + >=2-fold
## 139 0.18678612 Tier 3: exploratory + >=2-fold
## 140 0.19572989 Tier 3: exploratory + >=2-fold
## 141 0.19762233 Tier 3: exploratory + >=2-fold
## 142 0.20235418 Tier 3: exploratory + >=2-fold
## 143 0.20746946 Tier 3: exploratory + >=2-fold
## 144 0.20746946 Tier 3: exploratory + >=2-fold
## 145 0.20746946 Tier 3: exploratory + >=2-fold
## 146 0.20746946 Tier 3: exploratory + >=2-fold
## 147 0.20798655 Tier 3: exploratory + >=2-fold
## 148 0.20905544 Tier 3: exploratory + >=2-fold
## 149 0.21622802 Tier 3: exploratory + >=2-fold
## 150 0.21622802 Tier 3: exploratory + >=2-fold
## 151 0.21622802 Tier 3: exploratory + >=2-fold
## 152 0.22458092 Tier 3: exploratory + >=2-fold
## 153 0.22615187 Tier 3: exploratory + >=2-fold
## 154 0.22615187 Tier 3: exploratory + >=2-fold
## 155 0.22923172 Tier 3: exploratory + >=2-fold
## 156 0.22923172 Tier 3: exploratory + >=2-fold
## 157 0.23310493 Tier 3: exploratory + >=2-fold
## 158 0.23375967 Tier 3: exploratory + >=2-fold
## 159 0.23541160 Tier 3: exploratory + >=2-fold
## 160 0.23542380 Tier 3: exploratory + >=2-fold
## possible_standard
## 1 Identification needed first
## 2 Identification needed first
## 3 Identification needed first
## 4 Unknown feature - investigate MS/MS
## 5 Identification needed first
## 6 Identification needed first
## 7 Identification needed first
## 8 Unknown feature - investigate MS/MS
## 9 Identification needed first
## 10 Unknown feature - investigate MS/MS
## 11 Identification needed first
## 12 Identification needed first
## 13 Identification needed first
## 14 Unknown feature - investigate MS/MS
## 15 Unknown feature - investigate MS/MS
## 16 Identification needed first
## 17 Identification needed first
## 18 Identification needed first
## 19 Unknown feature - investigate MS/MS
## 20 Identification needed first
## 21 Unknown feature - investigate MS/MS
## 22 Identification needed first
## 23 Identification needed first
## 24 Unknown feature - investigate MS/MS
## 25 Identification needed first
## 26 Identification needed first
## 27 Unknown feature - investigate MS/MS
## 28 Unknown feature - investigate MS/MS
## 29 Identification needed first
## 30 Identification needed first
## 31 Identification needed first
## 32 Identification needed first
## 33 Identification needed first
## 34 Unknown feature - investigate MS/MS
## 35 Identification needed first
## 36 Identification needed first
## 37 Unknown feature - investigate MS/MS
## 38 Identification needed first
## 39 Identification needed first
## 40 Identification needed first
## 41 Identification needed first
## 42 Unknown feature - investigate MS/MS
## 43 Identification needed first
## 44 Identification needed first
## 45 Identification needed first
## 46 Identification needed first
## 47 Identification needed first
## 48 Identification needed first
## 49 Unknown feature - investigate MS/MS
## 50 Identification needed first
## 51 Identification needed first
## 52 Unknown feature - investigate MS/MS
## 53 Unknown feature - investigate MS/MS
## 54 Identification needed first
## 55 Identification needed first
## 56 Identification needed first
## 57 Identification needed first
## 58 Identification needed first
## 59 Unknown feature - investigate MS/MS
## 60 Unknown feature - investigate MS/MS
## 61 Identification needed first
## 62 Identification needed first
## 63 Identification needed first
## 64 Unknown feature - investigate MS/MS
## 65 Identification needed first
## 66 Identification needed first
## 67 Identification needed first
## 68 Identification needed first
## 69 Identification needed first
## 70 Identification needed first
## 71 Identification needed first
## 72 Identification needed first
## 73 Identification needed first
## 74 Identification needed first
## 75 Identification needed first
## 76 Identification needed first
## 77 Unknown feature - investigate MS/MS
## 78 Identification needed first
## 79 Identification needed first
## 80 Identification needed first
## 81 Identification needed first
## 82 Identification needed first
## 83 Identification needed first
## 84 Identification needed first
## 85 Identification needed first
## 86 Identification needed first
## 87 Identification needed first
## 88 Unknown feature - investigate MS/MS
## 89 Unknown feature - investigate MS/MS
## 90 Identification needed first
## 91 Identification needed first
## 92 Identification needed first
## 93 Identification needed first
## 94 Identification needed first
## 95 Identification needed first
## 96 Unknown feature - investigate MS/MS
## 97 Identification needed first
## 98 Identification needed first
## 99 Identification needed first
## 100 Unknown feature - investigate MS/MS
## 101 Identification needed first
## 102 Identification needed first
## 103 Identification needed first
## 104 Unknown feature - investigate MS/MS
## 105 Identification needed first
## 106 Identification needed first
## 107 Identification needed first
## 108 Identification needed first
## 109 Identification needed first
## 110 Identification needed first
## 111 Identification needed first
## 112 Identification needed first
## 113 Unknown feature - investigate MS/MS
## 114 Identification needed first
## 115 Identification needed first
## 116 Identification needed first
## 117 Unknown feature - investigate MS/MS
## 118 Identification needed first
## 119 Identification needed first
## 120 Identification needed first
## 121 Identification needed first
## 122 Identification needed first
## 123 Identification needed first
## 124 Identification needed first
## 125 Identification needed first
## 126 Identification needed first
## 127 Unknown feature - investigate MS/MS
## 128 Unknown feature - investigate MS/MS
## 129 Identification needed first
## 130 Identification needed first
## 131 Unknown feature - investigate MS/MS
## 132 Identification needed first
## 133 Unknown feature - investigate MS/MS
## 134 Unknown feature - investigate MS/MS
## 135 Identification needed first
## 136 Identification needed first
## 137 Unknown feature - investigate MS/MS
## 138 Identification needed first
## 139 Identification needed first
## 140 Identification needed first
## 141 Identification needed first
## 142 Identification needed first
## 143 Identification needed first
## 144 Identification needed first
## 145 Unknown feature - investigate MS/MS
## 146 Identification needed first
## 147 Identification needed first
## 148 Identification needed first
## 149 Identification needed first
## 150 Identification needed first
## 151 Identification needed first
## 152 Identification needed first
## 153 Identification needed first
## 154 Identification needed first
## 155 Unknown feature - investigate MS/MS
## 156 Unknown feature - investigate MS/MS
## 157 Unknown feature - investigate MS/MS
## 158 Unknown feature - investigate MS/MS
## 159 Identification needed first
## 160 Unknown feature - investigate MS/MS
write.csv(
exudate_soil_abundance_candidates,
"positive_mode_ranked_exudate_soil_abundance_candidates.csv",
row.names = FALSE
)
write.csv(
plant_detection_candidates,
"positive_mode_plant_detection_candidates.csv",
row.names = FALSE
)
write.csv(
ranked_root_exudate_candidates,
"positive_mode_ranked_root_exudate_candidates.csv",
row.names = FALSE
)
write.csv(
ranked_exudate_only_candidates,
"positive_mode_ranked_exudate_only_candidates.csv",
row.names = FALSE
)
write.csv(
fungal_age_master,
"positive_mode_fungal_age_master.csv",
row.names = FALSE
)
write.csv(
fungal_age_summary,
"positive_mode_fungal_age_summary.csv",
row.names = FALSE
)
write.csv(
age_stable_fungal_features,
"positive_mode_age_stable_fungal_features.csv",
row.names = FALSE
)
write.csv(
age_sensitive_fungal_ranked,
"positive_mode_age_sensitive_fungal_features.csv",
row.names = FALSE
)
write.csv(
annotated_exudate_candidates,
"positive_mode_annotated_exudate_candidates.csv",
row.names = FALSE
)
write.csv(
annotated_fungal_candidates,
"positive_mode_annotated_fungal_candidates.csv",
row.names = FALSE
)
write.csv(
standards_review_abundance,
"positive_mode_candidates_for_standard_review.csv",
row.names = FALSE
)
write.csv(
fungal_in_control_detection,
"positive_mode_fungal_in_control_detection_candidates.csv",
row.names = FALSE
)
write.csv(
fungal_out_control_detection,
"positive_mode_fungal_out_control_detection_candidates.csv",
row.names = FALSE
)
write.csv(
fungi_old_control_detection,
"positive_mode_fungi_old_control_detection_candidates.csv",
row.names = FALSE
)
write.csv(
fungi_old_new_detection,
"positive_mode_fungi_old_vs_new_detection_candidates.csv",
row.names = FALSE
)
This is useful because you now have a lot of analysis objects.
saveRDS(
limma_results,
"positive_mode_limma_results.rds"
)
saveRDS(
prepared_comparisons,
"positive_mode_prepared_comparisons.rds"
)
saveRDS(
normalized_comparisons,
"positive_mode_normalized_comparisons.rds"
)
saveRDS(
fungal_age_master,
"positive_mode_fungal_age_master.rds"
)
Later you can reload one with:
limma_results <-
readRDS(
"positive_mode_limma_results.rds"
)
sessionInfo()
## R version 4.5.2 (2025-10-31 ucrt)
## Platform: x86_64-w64-mingw32/x64
## Running under: Windows 11 x64 (build 26200)
##
## Matrix products: default
## LAPACK version 3.12.1
##
## locale:
## [1] LC_COLLATE=English_United States.utf8
## [2] LC_CTYPE=English_United States.utf8
## [3] LC_MONETARY=English_United States.utf8
## [4] LC_NUMERIC=C
## [5] LC_TIME=English_United States.utf8
##
## time zone: Africa/Johannesburg
## tzcode source: internal
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] limma_3.66.0 vegan_2.7-5 permute_0.9-10 pheatmap_1.0.13
## [5] tibble_3.3.1 ggrepel_0.9.8 ggplot2_4.0.3 stringr_1.6.0
## [9] tidyr_1.3.2 dplyr_1.2.1 readxl_1.5.0
##
## loaded via a namespace (and not attached):
## [1] sass_0.4.10 utf8_1.2.6 generics_0.1.4
## [4] stringi_1.8.7 lattice_0.22-7 digest_0.6.39
## [7] magrittr_2.0.5 evaluate_1.0.5 grid_4.5.2
## [10] RColorBrewer_1.1-3 fastmap_1.2.0 Matrix_1.7-4
## [13] cellranger_1.1.0 jsonlite_2.0.0 BiocManager_1.30.27
## [16] mgcv_1.9-3 purrr_1.2.2 scales_1.4.0
## [19] jquerylib_0.1.4 cli_3.6.5 rlang_1.1.7
## [22] splines_4.5.2 withr_3.0.3 cachem_1.1.0
## [25] yaml_2.3.12 otel_0.2.0 tools_4.5.2
## [28] parallel_4.5.2 vctrs_0.7.3 R6_2.6.1
## [31] lifecycle_1.0.5 MASS_7.3-65 cluster_2.1.8.3
## [34] pkgconfig_2.0.3 pillar_1.11.1 bslib_0.12.0
## [37] gtable_0.3.6 glue_1.8.1 Rcpp_1.1.1-1.1
## [40] statmod_1.5.2 xfun_0.56 tidyselect_1.2.1
## [43] rstudioapi_0.19.0 knitr_1.51 farver_2.1.2
## [46] nlme_3.1-168 htmltools_0.5.9 rmarkdown_2.31
## [49] labeling_0.4.3 compiler_4.5.2 S7_0.2.2
Save:
writeLines(
capture.output(
sessionInfo()
),
"positive_mode_R_session_info.txt"
)
After you run these sections, the most useful outputs to show me are:
fungal_age_summary
## fungal_age_category n
## 1 No strong fungal-age classification 1697
## 2 New-associated effect 649
## 3 Age-sensitive fungal effect 262
## 4 Age-stable fungal effect 14
## 5 Old-associated effect 6
exudate_soil_abundance_candidates %>%
count(evidence_tier)
## evidence_tier n
## 1 Tier 1: FDR + >=2-fold 1
## 2 Tier 3: exploratory + >=2-fold 159
## 3 Tier 4: large effect only 215
## 4 Tier 5: low priority 1011
ranked_root_exudate_candidates %>%
select(
feature_name,
`Average Rt(min)`,
`Average Mz`,
`Metabolite name`,
`MS/MS assigned`,
sample_to_blank_ratio,
priority
)
## # A tibble: 5 × 7
## feature_name `Average Rt(min)` `Average Mz` `Metabolite name` `MS/MS assigned`
## <chr> <dbl> <dbl> <chr> <lgl>
## 1 F1207_mz164… 1.26 164. Unknown TRUE
## 2 F5091_mz739… 9.70 740. Unknown FALSE
## 3 F2544_mz260… 0.897 260. Unknown TRUE
## 4 F4601_mz494… 0.417 495. Unknown FALSE
## 5 F1085_mz155… 0.441 155. Unknown FALSE
## # ℹ 2 more variables: sample_to_blank_ratio <dbl>, priority <chr>
and:
standards_review_abundance %>%
head(30)
## feature_name RT mz metabolite_name adduct formula
## 1 F2594_mz265.0235_rt0.44 0.443 265.02347 Unknown [M+H]+ null
## 2 F1906_mz212.852_rt0.43 0.430 212.85202 Unknown [M+H]+ null
## 3 F1209_mz164.921_rt0.43 0.428 164.92101 Unknown [M+H]+ null
## 4 F1682_mz196.8781_rt0.43 0.429 196.87810 Unknown [M+H]+ null
## 5 F1449_mz180.8948_rt0.43 0.427 180.89479 Unknown [M+H]+ null
## 6 F1034_mz150.4944_rt0.44 0.438 150.49442 Unknown [M+H]+ null
## 7 F808_mz136.484_rt0.43 0.433 136.48401 Unknown [M+H]+ null
## 8 F1744_mz201.0526_rt0.5 0.501 201.05261 Unknown [M+H]+ null
## 9 F4226_mz414.3914_rt0.4 0.398 414.39142 Unknown [M+2H]2+ null
## 10 F3537_mz337.1051_rt2.67 2.671 337.10507 Unknown [M+H]+ null
## 11 F1802_mz204.9095_rt0.43 0.433 204.90947 Unknown [M+H]+ null
## 12 F574_mz119.9606_rt0.47 0.474 119.96062 Unknown [M+H]+ null
## 13 F327_mz101.9501_rt0.47 0.473 101.95007 Unknown [M+H]+ null
## 14 F1158_mz160.9872_rt0.48 0.475 160.98715 Unknown [M+H]+ null
## 15 F2296_mz241.9999_rt0.39 0.393 241.99988 Unknown [M+H]+ null
## 16 F2922_mz288.0046_rt0.49 0.491 288.00458 Unknown [M+H]+ null
## 17 F901_mz142.0865_rt0.96 0.965 142.08653 Unknown [M+H]+ null
## 18 F231_mz91.5425_rt0.4 0.399 91.54252 Unknown [M+2H]2+ null
## 19 F2231_mz236.1049_rt0.52 0.521 236.10490 Unknown [M+H]+ null
## 20 F3276_mz315.1151_rt0.44 0.438 315.11511 Unknown [M+H]+ null
## 21 F2223_mz235.0928_rt0.49 0.486 235.09285 Unknown [M+H]+ null
## 22 F2534_mz260.0106_rt0.39 0.394 260.01056 Unknown [M+H]+ null
## 23 F2032_mz220.9814_rt0.39 0.392 220.98143 Unknown [M+H]+ null
## 24 F2006_mz218.9839_rt0.39 0.391 218.98390 Unknown [M+H]+ null
## 25 F233_mz92.5225_rt0.39 0.394 92.52245 Unknown [M+H]2+ null
## 26 F2239_mz236.9593_rt0.4 0.399 236.95926 Unknown [M+H]+ null
## 27 F222_mz90.526_rt0.4 0.396 90.52601 Unknown [M+2H]2+ null
## 28 F1974_mz216.951_rt0.39 0.393 216.95103 Unknown [M+H]+ null
## 29 F408_mz108.5367_rt0.41 0.410 108.53668 Unknown [M+H]+ null
## 30 F2219_mz234.9617_rt0.4 0.398 234.96170 Unknown [M+H]+ null
## ontology MSMS RT_flag blank_ratio log2_fold_change raw_p
## 1 null FALSE Very early RT 3.125543e+03 -7.451646 2.139684e-05
## 2 null FALSE Very early RT 1.557993e+06 -3.372187 1.706185e-03
## 3 null FALSE Very early RT 3.579970e+05 -3.077625 1.743638e-03
## 4 null TRUE Very early RT 1.192926e+06 -2.985851 2.744930e-03
## 5 null FALSE Very early RT 8.873990e+05 -2.911490 2.106150e-03
## 6 null FALSE Very early RT 2.071340e+05 -2.601137 1.108617e-03
## 7 null FALSE Very early RT 1.835770e+05 -2.335086 1.344391e-03
## 8 null TRUE Early RT 2.594749e+01 -2.273048 2.589619e-03
## 9 null FALSE Very early RT 1.584010e+05 -2.267772 4.800770e-04
## 10 null TRUE RT >= 1 min 2.107542e+01 2.089062 1.193692e-03
## 11 null FALSE Very early RT 2.084140e+05 -1.928661 2.323233e-04
## 12 null FALSE Very early RT 1.332856e+02 -1.840867 1.594237e-03
## 13 null FALSE Very early RT 2.249378e+02 -1.762497 1.617699e-03
## 14 null TRUE Very early RT 7.105651e+00 -1.651015 1.917764e-03
## 15 null TRUE Very early RT 1.056326e+07 -1.611393 1.113103e-03
## 16 null FALSE Very early RT 2.901540e+05 1.611187 1.172235e-03
## 17 null FALSE Early RT 9.091194e+00 -1.585008 2.600131e-03
## 18 null FALSE Very early RT 1.184470e+03 -1.579428 1.687377e-03
## 19 null TRUE Early RT 5.461098e+02 1.574972 1.945495e-03
## 20 null FALSE Very early RT 1.637540e+05 1.493418 7.998826e-04
## 21 null TRUE Very early RT 1.949687e+07 1.467007 2.350431e-03
## 22 null FALSE Very early RT 3.129300e+05 -1.446822 8.338002e-04
## 23 null FALSE Very early RT 7.763939e+02 -1.367319 2.442089e-03
## 24 null TRUE Very early RT 6.654493e+06 -1.362630 2.242272e-03
## 25 null FALSE Very early RT 6.343568e+02 -1.335081 1.373800e-03
## 26 null FALSE Very early RT 1.523617e+02 -1.330799 2.257291e-04
## 27 null TRUE Very early RT 2.878034e+02 -1.302585 2.752958e-03
## 28 null TRUE Very early RT 1.341865e+04 -1.294638 1.530368e-03
## 29 null FALSE Very early RT 2.917370e+05 -1.260835 1.242427e-03
## 30 null FALSE Very early RT 2.069710e+02 -1.238671 2.040047e-03
## FDR evidence_tier
## 1 0.02965602 Tier 1: FDR + >=2-fold
## 2 0.08294783 Tier 3: exploratory + >=2-fold
## 3 0.08294783 Tier 3: exploratory + >=2-fold
## 4 0.08294783 Tier 3: exploratory + >=2-fold
## 5 0.08294783 Tier 3: exploratory + >=2-fold
## 6 0.08294783 Tier 3: exploratory + >=2-fold
## 7 0.08294783 Tier 3: exploratory + >=2-fold
## 8 0.08294783 Tier 3: exploratory + >=2-fold
## 9 0.08294783 Tier 3: exploratory + >=2-fold
## 10 0.08294783 Tier 3: exploratory + >=2-fold
## 11 0.08294783 Tier 3: exploratory + >=2-fold
## 12 0.08294783 Tier 3: exploratory + >=2-fold
## 13 0.08294783 Tier 3: exploratory + >=2-fold
## 14 0.08294783 Tier 3: exploratory + >=2-fold
## 15 0.08294783 Tier 3: exploratory + >=2-fold
## 16 0.08294783 Tier 3: exploratory + >=2-fold
## 17 0.08294783 Tier 3: exploratory + >=2-fold
## 18 0.08294783 Tier 3: exploratory + >=2-fold
## 19 0.08294783 Tier 3: exploratory + >=2-fold
## 20 0.08294783 Tier 3: exploratory + >=2-fold
## 21 0.08294783 Tier 3: exploratory + >=2-fold
## 22 0.08294783 Tier 3: exploratory + >=2-fold
## 23 0.08294783 Tier 3: exploratory + >=2-fold
## 24 0.08294783 Tier 3: exploratory + >=2-fold
## 25 0.08294783 Tier 3: exploratory + >=2-fold
## 26 0.08294783 Tier 3: exploratory + >=2-fold
## 27 0.08294783 Tier 3: exploratory + >=2-fold
## 28 0.08294783 Tier 3: exploratory + >=2-fold
## 29 0.08294783 Tier 3: exploratory + >=2-fold
## 30 0.08294783 Tier 3: exploratory + >=2-fold
## possible_standard
## 1 Identification needed first
## 2 Identification needed first
## 3 Identification needed first
## 4 Unknown feature - investigate MS/MS
## 5 Identification needed first
## 6 Identification needed first
## 7 Identification needed first
## 8 Unknown feature - investigate MS/MS
## 9 Identification needed first
## 10 Unknown feature - investigate MS/MS
## 11 Identification needed first
## 12 Identification needed first
## 13 Identification needed first
## 14 Unknown feature - investigate MS/MS
## 15 Unknown feature - investigate MS/MS
## 16 Identification needed first
## 17 Identification needed first
## 18 Identification needed first
## 19 Unknown feature - investigate MS/MS
## 20 Identification needed first
## 21 Unknown feature - investigate MS/MS
## 22 Identification needed first
## 23 Identification needed first
## 24 Unknown feature - investigate MS/MS
## 25 Identification needed first
## 26 Identification needed first
## 27 Unknown feature - investigate MS/MS
## 28 Unknown feature - investigate MS/MS
## 29 Identification needed first
## 30 Identification needed first
Plot the 5 candidate features across plant compartments # ———————————————————— # Plot 5 root-exudate candidate features across compartments # ————————————————————
five_candidate_features <- c(
"F1207_mz164.1072_rt1.26",
"F5091_mz739.7451_rt9.7",
"F2544_mz260.1973_rt0.9",
"F4601_mz494.8109_rt0.42",
"F1085_mz155.0428_rt0.44"
)
plant_sample_cols <- c(
presence_groups$Leaf,
presence_groups$Root,
presence_groups$Exudate,
presence_groups$Soil
)
Now reshape the raw intensity data:
five_feature_plot_data <- feature_qc %>%
filter(
feature_name %in% five_candidate_features
) %>%
select(
feature_name,
all_of(plant_sample_cols)
) %>%
pivot_longer(
cols = all_of(plant_sample_cols),
names_to = "sample",
values_to = "raw_intensity"
) %>%
left_join(
sample_metadata %>%
select(
sample,
group
),
by = "sample"
)
Check it:
five_feature_plot_data Give the compartments a biological order
five_feature_plot_data <- five_feature_plot_data %>%
mutate(
group = factor(
group,
levels = c(
"Leaf",
"Root",
"Plant-soil exudate",
"Soil control"
)
),
feature_name = factor(
feature_name,
levels = five_candidate_features
)
)
Plot raw LC-MS intensities
ggplot(
five_feature_plot_data,
aes(
x = group,
y = raw_intensity,
fill = group
)
) +
geom_boxplot(
width = 0.55,
outlier.shape = NA,
alpha = 0.45
) +
geom_jitter(
width = 0.08,
size = 2.5
) +
facet_wrap(
~ feature_name,
scales = "free_y",
ncol = 2
) +
labs(
title = "Root-exudate candidate features across plant compartments",
subtitle = "Positive-mode LC-MS; points represent biological replicates",
x = NULL,
y = "Raw LC-MS feature intensity"
) +
theme_classic() +
theme(
legend.position = "none",
axis.text.x = element_text(
angle = 45,
hjust = 1
),
strip.text = element_text(
face = "bold"
)
)
I also want you to make a log2 version
This will probably be much easier to interpret, because LC-MS peak heights can differ by orders of magnitude.
Use log2(intensity + 1) so zeros remain zeros:
five_feature_plot_data <- five_feature_plot_data %>%
mutate(
log2_intensity =
log2(raw_intensity + 1)
)
Then:
ggplot(
five_feature_plot_data,
aes(
x = group,
y = log2_intensity,
fill = group
)
) +
geom_boxplot(
width = 0.55,
outlier.shape = NA,
alpha = 0.45
) +
geom_jitter(
width = 0.08,
size = 2.5
) +
facet_wrap(
~ feature_name,
scales = "free_y",
ncol = 2
) +
labs(
title = "Root-exudate candidate features across plant compartments",
subtitle = "Positive-mode LC-MS; log2-transformed raw feature intensities",
x = NULL,
y = "log2(Intensity + 1)"
) +
theme_classic() +
theme(
legend.position = "none",
axis.text.x = element_text(
angle = 45,
hjust = 1
),
strip.text = element_text(
face = "bold"
)
)
And make one summary table
This will let us see the numbers behind the plots:
five_feature_summary <- five_feature_plot_data %>%
group_by(
feature_name,
group
) %>%
summarise(
n_detected =
sum(
raw_intensity > 0,
na.rm = TRUE
),
mean_intensity =
mean(
raw_intensity,
na.rm = TRUE
),
median_intensity =
median(
raw_intensity,
na.rm = TRUE
),
sd_intensity =
sd(
raw_intensity,
na.rm = TRUE
),
.groups = "drop"
)
five_feature_summary
## # A tibble: 20 × 6
## feature_name group n_detected mean_intensity median_intensity sd_intensity
## <fct> <fct> <int> <dbl> <dbl> <dbl>
## 1 F1207_mz164.10… Leaf 0 0 0 0
## 2 F1207_mz164.10… Root 2 1542. 2223 1339.
## 3 F1207_mz164.10… Plan… 2 1204 395 1754.
## 4 F1207_mz164.10… Soil… 1 664. 0 1150.
## 5 F5091_mz739.74… Leaf 0 0 0 0
## 6 F5091_mz739.74… Root 2 65360. 62880 66635.
## 7 F5091_mz739.74… Plan… 3 24607. 17666 26384.
## 8 F5091_mz739.74… Soil… 1 191. 0 331.
## 9 F2544_mz260.19… Leaf 0 0 0 0
## 10 F2544_mz260.19… Root 2 14407 21217 12483.
## 11 F2544_mz260.19… Plan… 2 1744. 2337 1536.
## 12 F2544_mz260.19… Soil… 1 1597. 0 2766.
## 13 F4601_mz494.81… Leaf 0 0 0 0
## 14 F4601_mz494.81… Root 2 11209. 15057 9865.
## 15 F4601_mz494.81… Plan… 3 52070 51386 2561.
## 16 F4601_mz494.81… Soil… 1 11239. 0 19467.
## 17 F1085_mz155.04… Leaf 1 11361 0 19678.
## 18 F1085_mz155.04… Root 3 226070. 217155 60318.
## 19 F1085_mz155.04… Plan… 3 18674 19102 6543.
## 20 F1085_mz155.04… Soil… 1 2510. 0 4348.
Plot the 5 candidate features across plant compartments # ———————————————————— # Plot 5 root-exudate candidate features across compartments # ————————————————————
five_candidate_features <- c(
"F1207_mz164.1072_rt1.26",
"F5091_mz739.7451_rt9.7",
"F2544_mz260.1973_rt0.9",
"F4601_mz494.8109_rt0.42",
"F1085_mz155.0428_rt0.44"
)
plant_sample_cols <- c(
presence_groups$Leaf,
presence_groups$Root,
presence_groups$Exudate,
presence_groups$Soil
)
Now reshape the raw intensity data:
five_feature_plot_data <- feature_qc %>%
filter(
feature_name %in% five_candidate_features
) %>%
select(
feature_name,
all_of(plant_sample_cols)
) %>%
pivot_longer(
cols = all_of(plant_sample_cols),
names_to = "sample",
values_to = "raw_intensity"
) %>%
left_join(
sample_metadata %>%
select(
sample,
group
),
by = "sample"
)
Check it: five_feature_plot_data Give the compartments a biological order
five_feature_plot_data <- five_feature_plot_data %>%
mutate(
group = factor(
group,
levels = c(
"Leaf",
"Root",
"Plant-soil exudate",
"Soil control"
)
),
feature_name = factor(
feature_name,
levels = five_candidate_features
)
)
Plot raw LC-MS intensities
ggplot(
five_feature_plot_data,
aes(
x = group,
y = raw_intensity,
fill = group
)
) +
geom_boxplot(
width = 0.55,
outlier.shape = NA,
alpha = 0.45
) +
geom_jitter(
width = 0.08,
size = 2.5
) +
facet_wrap(
~ feature_name,
scales = "free_y",
ncol = 2
) +
labs(
title = "Root-exudate candidate features across plant compartments",
subtitle = "Positive-mode LC-MS; points represent biological replicates",
x = NULL,
y = "Raw LC-MS feature intensity"
) +
theme_classic() +
theme(
legend.position = "none",
axis.text.x = element_text(
angle = 45,
hjust = 1
),
strip.text = element_text(
face = "bold"
)
)
I also want you to make a log2 version
This will probably be much easier to interpret, because LC-MS peak heights can differ by orders of magnitude.
Use log2(intensity + 1) so zeros remain zeros:
five_feature_plot_data <- five_feature_plot_data %>%
mutate(
log2_intensity =
log2(raw_intensity + 1)
)
Then:
ggplot(
five_feature_plot_data,
aes(
x = group,
y = log2_intensity,
fill = group
)
) +
geom_boxplot(
width = 0.55,
outlier.shape = NA,
alpha = 0.45
) +
geom_jitter(
width = 0.08,
size = 2.5
) +
facet_wrap(
~ feature_name,
scales = "free_y",
ncol = 2
) +
labs(
title = "Root-exudate candidate features across plant compartments",
subtitle = "Positive-mode LC-MS; log2-transformed raw feature intensities",
x = NULL,
y = "log2(Intensity + 1)"
) +
theme_classic() +
theme(
legend.position = "none",
axis.text.x = element_text(
angle = 45,
hjust = 1
),
strip.text = element_text(
face = "bold"
)
)
And make one summary table
This will let us see the numbers behind the plots:
five_feature_summary <- five_feature_plot_data %>%
group_by(
feature_name,
group
) %>%
summarise(
n_detected =
sum(
raw_intensity > 0,
na.rm = TRUE
),
mean_intensity =
mean(
raw_intensity,
na.rm = TRUE
),
median_intensity =
median(
raw_intensity,
na.rm = TRUE
),
sd_intensity =
sd(
raw_intensity,
na.rm = TRUE
),
.groups = "drop"
)
five_feature_summary
## # A tibble: 20 × 6
## feature_name group n_detected mean_intensity median_intensity sd_intensity
## <fct> <fct> <int> <dbl> <dbl> <dbl>
## 1 F1207_mz164.10… Leaf 0 0 0 0
## 2 F1207_mz164.10… Root 2 1542. 2223 1339.
## 3 F1207_mz164.10… Plan… 2 1204 395 1754.
## 4 F1207_mz164.10… Soil… 1 664. 0 1150.
## 5 F5091_mz739.74… Leaf 0 0 0 0
## 6 F5091_mz739.74… Root 2 65360. 62880 66635.
## 7 F5091_mz739.74… Plan… 3 24607. 17666 26384.
## 8 F5091_mz739.74… Soil… 1 191. 0 331.
## 9 F2544_mz260.19… Leaf 0 0 0 0
## 10 F2544_mz260.19… Root 2 14407 21217 12483.
## 11 F2544_mz260.19… Plan… 2 1744. 2337 1536.
## 12 F2544_mz260.19… Soil… 1 1597. 0 2766.
## 13 F4601_mz494.81… Leaf 0 0 0 0
## 14 F4601_mz494.81… Root 2 11209. 15057 9865.
## 15 F4601_mz494.81… Plan… 3 52070 51386 2561.
## 16 F4601_mz494.81… Soil… 1 11239. 0 19467.
## 17 F1085_mz155.04… Leaf 1 11361 0 19678.
## 18 F1085_mz155.04… Root 3 226070. 217155 60318.
## 19 F1085_mz155.04… Plan… 3 18674 19102 6543.
## 20 F1085_mz155.04… Soil… 1 2510. 0 4348.
# ------------------------------------------------------------
# FUNGAL COMPARTMENT / AGE FEATURE PLOTS
# ------------------------------------------------------------
fungal_sample_cols <- c(
presence_groups$Fungal_control,
presence_groups$Fungal_out,
presence_groups$Fungal_in,
presence_groups$Fungi_old
)
fungal_sample_cols
## [1] "FC_1" "FC_2" "FC_3" "new_out_P08" "new_out_P09"
## [6] "new_out_P10" "new_in_P08" "new_in_P09" "new_in_P10" "fungi_old_1"
## [11] "fungi_old_2" "fungi_old_3"
fungal_long <- feature_qc %>%
select(
feature_name,
`Average Rt(min)`,
`Average Mz`,
`Metabolite name`,
`Adduct type`,
`MS/MS assigned`,
all_of(fungal_sample_cols)
) %>%
pivot_longer(
cols = all_of(fungal_sample_cols),
names_to = "sample",
values_to = "raw_intensity"
) %>%
left_join(
sample_metadata %>%
select(
sample,
group
),
by = "sample"
)
check
fungal_long %>%
count(group)
## # A tibble: 4 × 2
## group n
## <chr> <int>
## 1 Fungal agar in 12432
## 2 Fungal agar out 12432
## 3 Fungal control 12432
## 4 Fungi old 12432
103 Put the fungal conditions in biological order
fungal_long <- fungal_long %>%
mutate(
group = factor(
group,
levels = c(
"Fungal control",
"Fungal agar out",
"Fungal agar in",
"Fungi old"
)
),
log2_intensity =
log2(raw_intensity + 1)
)
top_fungal_age_candidates <-
age_sensitive_fungal_ranked %>%
filter(
old_new_FDR < 0.05
) %>%
arrange(
old_new_FDR,
desc(abs(old_new_logFC))
) %>%
slice_head(
n = 10
) %>%
pull(feature_name)
top_fungal_age_candidates
## [1] "F4086_mz393.2866_rt2.14" "F4756_mz555.4051_rt3.42"
## [3] "F2053_mz222.1129_rt1.18" "F1476_mz182.0814_rt0.52"
## [5] "F2331_mz244.264_rt2.03" "F1910_mz213.0761_rt0.97"
## [7] "F2330_mz244.2639_rt1.89" "F2420_mz251.1605_rt0.4"
## [9] "F2934_mz288.29_rt1.99" "F1728_mz200.1034_rt0.8"
top_fungal_plot_data <-
fungal_long %>%
filter(
feature_name %in%
top_fungal_age_candidates
)
plot the raw intensities Which metabolites/features change as the fungus ages?
ggplot(
top_fungal_plot_data,
aes(
x = group,
y = raw_intensity,
fill = group
)
) +
geom_boxplot(
width = 0.55,
outlier.shape = NA,
alpha = 0.45
) +
geom_jitter(
width = 0.08,
size = 2.5
) +
facet_wrap(
~ feature_name,
scales = "free_y",
ncol = 2
) +
labs(
title = "Top fungal age-sensitive LC-MS features",
subtitle =
"Positive-mode LC-MS; points represent biological replicates",
x = NULL,
y = "Raw LC-MS feature intensity"
) +
theme_classic() +
theme(
legend.position = "none",
axis.text.x =
element_text(
angle = 45,
hjust = 1
),
strip.text =
element_text(
face = "bold"
)
)
106 make the log2 version Which metabolites/features change as the fungus ages?
ggplot(
top_fungal_plot_data,
aes(
x = group,
y = log2_intensity,
fill = group
)
) +
geom_boxplot(
width = 0.55,
outlier.shape = NA,
alpha = 0.45
) +
geom_jitter(
width = 0.08,
size = 2.5
) +
facet_wrap(
~ feature_name,
scales = "free_y",
ncol = 2
) +
labs(
title =
"Top fungal age-sensitive LC-MS features",
subtitle =
"Control → outside colony → under colony → older fungal growth",
x = NULL,
y = "log2(Intensity + 1)"
) +
theme_classic() +
theme(
legend.position = "none",
axis.text.x =
element_text(
angle = 45,
hjust = 1
),
strip.text =
element_text(
face = "bold"
)
)
107 make a summary table
fungal_candidate_summary <-
top_fungal_plot_data %>%
group_by(
feature_name,
group
) %>%
summarise(
detected_n =
sum(
raw_intensity > 0,
na.rm = TRUE
),
mean_intensity =
mean(
raw_intensity,
na.rm = TRUE
),
median_intensity =
median(
raw_intensity,
na.rm = TRUE
),
sd_intensity =
sd(
raw_intensity,
na.rm = TRUE
),
.groups = "drop"
)
fungal_candidate_summary
## # A tibble: 40 × 6
## feature_name group detected_n mean_intensity median_intensity sd_intensity
## <chr> <fct> <int> <dbl> <dbl> <dbl>
## 1 F1476_mz182.08… Fung… 3 4132126. 319172 6619082.
## 2 F1476_mz182.08… Fung… 3 1436054. 427040 1799969.
## 3 F1476_mz182.08… Fung… 3 5783593. 5291086 1158264.
## 4 F1476_mz182.08… Fung… 3 312977. 317827 15507.
## 5 F1728_mz200.10… Fung… 3 315530. 312815 38891.
## 6 F1728_mz200.10… Fung… 3 292369 358189 157724.
## 7 F1728_mz200.10… Fung… 3 14327. 13930 2355.
## 8 F1728_mz200.10… Fung… 3 288272 251843 88026.
## 9 F1910_mz213.07… Fung… 1 5312. 0 9200.
## 10 F1910_mz213.07… Fung… 3 58690 30935 53449.
## # ℹ 30 more rows
108 and we should do the 14 age-stable features separately
age_stable_feature_names <-
age_stable_fungal_features %>%
pull(feature_name)
length(age_stable_feature_names)
## [1] 14
then
age_stable_plot_data <-
fungal_long %>%
filter(
feature_name %in%
age_stable_feature_names
)
plot Which metabolites/features appear to be consistently associated with fungal growth regardless of age?
ggplot(
age_stable_plot_data,
aes(
x = group,
y = log2_intensity,
fill = group
)
) +
geom_boxplot(
width = 0.55,
outlier.shape = NA,
alpha = 0.45
) +
geom_jitter(
width = 0.08,
size = 1.0
) +
facet_wrap(
~ feature_name,
scales = "free_y",
ncol = 2
) +
labs(
title =
"Age-stable fungal-associated LC-MS features",
subtitle =
"Features associated with fungal growth regardless of colony age",
x = NULL,
y = "log2(Intensity + 1)"
) +
theme_classic() +
theme(
legend.position = "none",
axis.text.x =
element_text(
angle = 45,
hjust = 1
),
strip.text =
element_text(
face = "bold"
)
)
109 define all biological compartments
# ------------------------------------------------------------
# CROSS-COMPARTMENT FEATURE OVERLAP
# Plant tissues + exudate + fungal samples
# ------------------------------------------------------------
cross_compartment_groups <- list(
Leaf =
presence_groups$Leaf,
Root =
presence_groups$Root,
Exudate =
presence_groups$Exudate,
Soil =
presence_groups$Soil,
Fungal_control =
presence_groups$Fungal_control,
Fungal_out =
presence_groups$Fungal_out,
Fungal_in =
presence_groups$Fungal_in,
Fungi_old =
presence_groups$Fungi_old
)
110 count detection in every compartment
cross_compartment_presence <- feature_qc %>%
mutate(
leaf_n =
rowSums(
across(
all_of(cross_compartment_groups$Leaf),
~ .x > 0
),
na.rm = TRUE
),
root_n =
rowSums(
across(
all_of(cross_compartment_groups$Root),
~ .x > 0
),
na.rm = TRUE
),
exudate_n =
rowSums(
across(
all_of(cross_compartment_groups$Exudate),
~ .x > 0
),
na.rm = TRUE
),
soil_n =
rowSums(
across(
all_of(cross_compartment_groups$Soil),
~ .x > 0
),
na.rm = TRUE
),
fungal_control_n =
rowSums(
across(
all_of(cross_compartment_groups$Fungal_control),
~ .x > 0
),
na.rm = TRUE
),
fungal_out_n =
rowSums(
across(
all_of(cross_compartment_groups$Fungal_out),
~ .x > 0
),
na.rm = TRUE
),
fungal_in_n =
rowSums(
across(
all_of(cross_compartment_groups$Fungal_in),
~ .x > 0
),
na.rm = TRUE
),
fungi_old_n =
rowSums(
across(
all_of(cross_compartment_groups$Fungi_old),
~ .x > 0
),
na.rm = TRUE
)
)
111 convert those counts into presence/absence
cross_compartment_presence <-
cross_compartment_presence %>%
mutate(
leaf_present =
leaf_n >= 2,
root_present =
root_n >= 2,
exudate_present =
exudate_n >= 2,
soil_present =
soil_n >= 2,
fungal_control_present =
fungal_control_n >= 2,
fungal_out_present =
fungal_out_n >= 2,
fungal_in_present =
fungal_in_n >= 2,
fungi_old_present =
fungi_old_n >= 2
)
112 how many features overlap plant and fungal samples. how many features are consistenly detected somewhere in the plant system and somewhere in fungus-associated samples?
cross_compartment_presence <-
cross_compartment_presence %>%
mutate(
plant_present =
leaf_present |
root_present |
exudate_present,
fungus_present =
fungal_in_present |
fungal_out_present |
fungi_old_present,
plant_and_fungus =
plant_present &
fungus_present
)
count them
cross_compartment_presence %>%
summarise(
total_features =
n(),
plant_features =
sum(
plant_present
),
fungal_features =
sum(
fungus_present
),
plant_and_fungal_features =
sum(
plant_and_fungus
)
)
## # A tibble: 1 × 4
## total_features plant_features fungal_features plant_and_fungal_features
## <int> <int> <int> <int>
## 1 4144 3211 3037 2124
113 look specifically for root + exudate + fungus
root_exudate_fungal_features <-
cross_compartment_presence %>%
filter(
root_present,
exudate_present,
fungal_in_present |
fungi_old_present
)
count
nrow(
root_exudate_fungal_features
)
## [1] 1063
114 exclude things also consistently present in controls
root_exudate_fungal_not_controls <-
cross_compartment_presence %>%
filter(
root_present,
exudate_present,
fungal_in_present |
fungi_old_present,
!soil_present,
!fungal_control_present
)
count
nrow(
root_exudate_fungal_not_controls
)
## [1] 4
115 look for exudate +fungus but not root
exudate_fungal_not_root <-
cross_compartment_presence %>%
filter(
exudate_present,
fungal_in_present |
fungi_old_present,
!root_present,
!soil_present,
!fungal_control_present
)
count
nrow(
exudate_fungal_not_root
)
## [1] 5
116 look for root + fungus but not exudate
root_fungal_not_exudate <-
cross_compartment_presence %>%
filter(
root_present,
fungal_in_present |
fungi_old_present,
!exudate_present
)
count
nrow(
root_fungal_not_exudate
)
## [1] 379
117 create a biologicallt useful classification
cross_compartment_presence <-
cross_compartment_presence %>%
mutate(
cross_pattern = case_when(
root_present &
exudate_present &
fungal_in_present &
!soil_present &
!fungal_control_present ~
"Root + Exudate + Fungal in",
root_present &
exudate_present &
fungi_old_present &
!soil_present &
!fungal_control_present ~
"Root + Exudate + Fungi old",
root_present &
exudate_present &
fungal_in_present &
fungi_old_present &
!soil_present &
!fungal_control_present ~
"Root + Exudate + New and Old fungus",
exudate_present &
fungal_in_present &
!root_present &
!soil_present &
!fungal_control_present ~
"Exudate + Fungal in",
root_present &
fungal_in_present &
!exudate_present ~
"Root + Fungal in",
leaf_present &
root_present &
exudate_present &
fungus_present ~
"Leaf + Root + Exudate + Fungus",
TRUE ~
"Other pattern"
)
)
alternative: chooses the first condition that matches. the most specific category should come first.
cross_compartment_presence <-
cross_compartment_presence %>%
mutate(
cross_pattern = case_when(
root_present &
exudate_present &
fungal_in_present &
fungi_old_present &
!soil_present &
!fungal_control_present ~
"Root + Exudate + New and Old fungus",
root_present &
exudate_present &
fungal_in_present &
!soil_present &
!fungal_control_present ~
"Root + Exudate + Fungal in",
root_present &
exudate_present &
fungi_old_present &
!soil_present &
!fungal_control_present ~
"Root + Exudate + Fungi old",
exudate_present &
fungal_in_present &
!root_present &
!soil_present &
!fungal_control_present ~
"Exudate + Fungal in",
root_present &
fungal_in_present &
!exudate_present ~
"Root + Fungal in",
leaf_present &
root_present &
exudate_present &
fungus_present ~
"Leaf + Root + Exudate + Fungus",
TRUE ~
"Other pattern"
)
)
118 count those biological patterns
cross_pattern_summary <-
cross_compartment_presence %>%
count(
cross_pattern,
sort = TRUE
) %>%
mutate(
percent =
100 * n / sum(n)
)
cross_pattern_summary
## # A tibble: 6 × 3
## cross_pattern n percent
## <chr> <int> <dbl>
## 1 Other pattern 2839 68.5
## 2 Leaf + Root + Exudate + Fungus 1003 24.2
## 3 Root + Fungal in 297 7.17
## 4 Root + Exudate + New and Old fungus 3 0.0724
## 5 Exudate + Fungal in 1 0.0241
## 6 Root + Exudate + Fungal in 1 0.0241
119 check whether our five root-exudate candidates occur in fungal samples
five_cross_compartment <-
cross_compartment_presence %>%
filter(
feature_name %in%
five_candidate_features
) %>%
select(
feature_name,
`Average Rt(min)`,
`Average Mz`,
`MS/MS assigned`,
leaf_n,
root_n,
exudate_n,
soil_n,
fungal_control_n,
fungal_out_n,
fungal_in_n,
fungi_old_n,
leaf_present,
root_present,
exudate_present,
soil_present,
fungal_control_present,
fungal_out_present,
fungal_in_present,
fungi_old_present
)
five_cross_compartment
## # A tibble: 5 × 20
## feature_name `Average Rt(min)` `Average Mz` `MS/MS assigned` leaf_n root_n
## <chr> <dbl> <dbl> <lgl> <dbl> <dbl>
## 1 F1085_mz155.042… 0.441 155. FALSE 1 3
## 2 F1207_mz164.107… 1.26 164. TRUE 0 2
## 3 F2544_mz260.197… 0.897 260. TRUE 0 2
## 4 F4601_mz494.810… 0.417 495. FALSE 0 2
## 5 F5091_mz739.745… 9.70 740. FALSE 0 2
## # ℹ 14 more variables: exudate_n <dbl>, soil_n <dbl>, fungal_control_n <dbl>,
## # fungal_out_n <dbl>, fungal_in_n <dbl>, fungi_old_n <dbl>,
## # leaf_present <lgl>, root_present <lgl>, exudate_present <lgl>,
## # soil_present <lgl>, fungal_control_present <lgl>, fungal_out_present <lgl>,
## # fungal_in_present <lgl>, fungi_old_present <lgl>
120 save the cross-compartment results
write.csv(
cross_compartment_presence,
"positive_mode_cross_compartment_presence.csv",
row.names = FALSE
)
write.csv(
cross_pattern_summary,
"positive_mode_cross_compartment_pattern_summary.csv",
row.names = FALSE
)
write.csv(
root_exudate_fungal_not_controls,
"positive_mode_root_exudate_fungal_candidates.csv",
row.names = FALSE
)
write.csv(
five_cross_compartment,
"positive_mode_five_candidates_cross_compartment.csv",
row.names = FALSE
)
inspect the 4 features Notice that only one of your original five candidates appears to meet this stricter fungal-control criterion: F5091. The other three candidates among the four must therefore be features elsewhere in the dataset that weren’t part of your original five-feature root/exudate shortlist.
I would inspect those four next
root_exudate_fungal_not_controls %>%
select(
feature_name,
`Average Rt(min)`,
`Average Mz`,
`Metabolite name`,
`Adduct type`,
`MS/MS assigned`,
Formula,
Ontology,
`Total score`,
sample_to_blank_ratio,
leaf_n,
root_n,
exudate_n,
soil_n,
fungal_control_n,
fungal_out_n,
fungal_in_n,
fungi_old_n
)
## # A tibble: 4 × 18
## feature_name `Average Rt(min)` `Average Mz` `Metabolite name` `Adduct type`
## <chr> <dbl> <dbl> <chr> <chr>
## 1 F1105_mz156.98… 0.514 157. Unknown [M+H]+
## 2 F3005_mz294.00… 0.456 294. Unknown [M+H]+
## 3 F3515_mz335.22… 3.55 335. Unknown [M+H]+
## 4 F5091_mz739.74… 9.70 740. Unknown [M+H]+
## # ℹ 13 more variables: `MS/MS assigned` <lgl>, Formula <chr>, Ontology <chr>,
## # `Total score` <chr>, sample_to_blank_ratio <dbl>, leaf_n <dbl>,
## # root_n <dbl>, exudate_n <dbl>, soil_n <dbl>, fungal_control_n <dbl>,
## # fungal_out_n <dbl>, fungal_in_n <dbl>, fungi_old_n <dbl>
make boxplotsa
cross_candidate_names <-
root_exudate_fungal_not_controls %>%
pull(feature_name)
creat long daya
cross_candidate_samples <- c(
presence_groups$Leaf,
presence_groups$Root,
presence_groups$Exudate,
presence_groups$Soil,
presence_groups$Fungal_control,
presence_groups$Fungal_out,
presence_groups$Fungal_in,
presence_groups$Fungi_old
)
cross_candidate_plot_data <- feature_qc %>%
filter(
feature_name %in%
cross_candidate_names
) %>%
select(
feature_name,
all_of(
cross_candidate_samples
)
) %>%
pivot_longer(
cols =
all_of(
cross_candidate_samples
),
names_to =
"sample",
values_to =
"raw_intensity"
) %>%
left_join(
sample_metadata %>%
select(
sample,
group
),
by = "sample"
) %>%
mutate(
group = factor(
group,
levels = c(
"Leaf",
"Root",
"Plant-soil exudate",
"Soil control",
"Fungal control",
"Fungal agar out",
"Fungal agar in",
"Fungi old"
)
),
log2_intensity =
log2(
raw_intensity + 1
)
)
plot
ggplot(
cross_candidate_plot_data,
aes(
x = group,
y = log2_intensity,
fill = group
)
) +
geom_boxplot(
width = 0.55,
outlier.shape = NA,
alpha = 0.45
) +
geom_jitter(
width = 0.08,
size = 2.5
) +
facet_wrap(
~ feature_name,
scales = "free_y",
ncol = 2
) +
labs(
title =
"Cross-system root–exudate–fungal candidate features",
subtitle =
"Positive-mode LC-MS; individual points are biological replicates",
x = NULL,
y =
"log2(Intensity + 1)"
) +
theme_classic() +
theme(
legend.position =
"none",
axis.text.x =
element_text(
angle = 45,
hjust = 1
),
strip.text =
element_text(
face = "bold"
)
)
#simplified statistics
This tells you how many of the 4,144 filtered features are reproducibly detected in each individual sample type.
compartment_feature_counts <- tibble(
compartment = c(
"Leaf",
"Root",
"Plant-soil exudate",
"Soil control",
"Fungal control",
"Fungal agar out",
"Fungal agar in",
"Fungi old"
),
detected_features = c(
sum(
cross_compartment_presence$leaf_present,
na.rm = TRUE
),
sum(
cross_compartment_presence$root_present,
na.rm = TRUE
),
sum(
cross_compartment_presence$exudate_present,
na.rm = TRUE
),
sum(
cross_compartment_presence$soil_present,
na.rm = TRUE
),
sum(
cross_compartment_presence$fungal_control_present,
na.rm = TRUE
),
sum(
cross_compartment_presence$fungal_out_present,
na.rm = TRUE
),
sum(
cross_compartment_presence$fungal_in_present,
na.rm = TRUE
),
sum(
cross_compartment_presence$fungi_old_present,
na.rm = TRUE
)
)
)
compartment_feature_counts
## # A tibble: 8 × 2
## compartment detected_features
## <chr> <int>
## 1 Leaf 2829
## 2 Root 1958
## 3 Plant-soil exudate 1515
## 4 Soil control 1510
## 5 Fungal control 2752
## 6 Fungal agar out 2668
## 7 Fungal agar in 2379
## 8 Fungi old 2569
compartment_feature_plot <- ggplot(
compartment_feature_counts,
aes(
x = reorder(
compartment,
detected_features
),
y = detected_features,
fill = compartment
)
) +
geom_col() +
coord_flip() +
geom_text(
aes(
label = detected_features
),
hjust = -0.1,
size = 4
) +
labs(
title =
"Reproducibly detected positive-mode LC-MS features",
subtitle =
"Presence defined as detection in at least 2 of 3 replicates",
x = NULL,
y = "Number of filtered LC-MS features"
) +
theme_classic() +
theme(
legend.position = "none"
)
compartment_feature_plot
Save it:
ggsave(
"PI_figure_feature_counts_by_compartment.png",
compartment_feature_plot,
width = 9,
height = 6,
dpi = 300
)
These are the numbers you just obtained.
plant_fungal_overlap_summary <- tibble(
category = c(
"All filtered features",
"Plant-associated",
"Fungus-associated",
"Plant + fungus overlap",
"Strict root-exudate-fungus candidates"
),
n = c(
nrow(
cross_compartment_presence
),
sum(
cross_compartment_presence$plant_present,
na.rm = TRUE
),
sum(
cross_compartment_presence$fungus_present,
na.rm = TRUE
),
sum(
cross_compartment_presence$plant_and_fungus,
na.rm = TRUE
),
nrow(
root_exudate_fungal_not_controls
)
)
)
plant_fungal_overlap_summary
## # A tibble: 5 × 2
## category n
## <chr> <int>
## 1 All filtered features 4144
## 2 Plant-associated 3211
## 3 Fungus-associated 3037
## 4 Plant + fungus overlap 2124
## 5 Strict root-exudate-fungus candidates 4
candidate_funnel_plot <- ggplot(
plant_fungal_overlap_summary,
aes(
x = factor(
category,
levels = rev(category)
),
y = n,
fill = category
)
) +
geom_col() +
coord_flip() +
geom_text(
aes(label = n),
hjust = -0.1,
size = 4
) +
labs(
title =
"Filtering positive-mode LC-MS features toward cross-system candidates",
subtitle =
"The four candidates represent a stringent biological pattern, not the total plant-fungal overlap",
x = NULL,
y = "Number of LC-MS features"
) +
theme_classic() +
theme(
legend.position = "none"
)
candidate_funnel_plot
plant_fungal_partition <- cross_compartment_presence %>%
summarise(
plant_only =
sum(
plant_present &
!fungus_present,
na.rm = TRUE
),
fungus_only =
sum(
fungus_present &
!plant_present,
na.rm = TRUE
),
plant_and_fungus =
sum(
plant_present &
fungus_present,
na.rm = TRUE
),
neither =
sum(
!plant_present &
!fungus_present,
na.rm = TRUE
)
)
plant_fungal_partition
## # A tibble: 1 × 4
## plant_only fungus_only plant_and_fungus neither
## <int> <int> <int> <int>
## 1 1087 913 2124 20
First reshape:
plant_fungal_partition_long <-
plant_fungal_partition %>%
pivot_longer(
everything(),
names_to = "category",
values_to = "features"
) %>%
mutate(
category = recode(
category,
plant_only =
"Plant only",
fungus_only =
"Fungus only",
plant_and_fungus =
"Plant + fungus",
neither =
"Neither consistently detected"
)
)
Plot:
plant_fungal_partition_plot <- ggplot(
plant_fungal_partition_long,
aes(
x = category,
y = features,
fill = category
)
) +
geom_col() +
geom_text(
aes(label = features),
vjust = -0.3,
size = 4
) +
labs(
title =
"Distribution of filtered features across plant and fungal systems",
x = NULL,
y = "Number of features"
) +
theme_classic() +
theme(
legend.position = "none",
axis.text.x =
element_text(
angle = 30,
hjust = 1
)
)
plant_fungal_partition_plot
How many features are shared between root and exudate? Root and fungal-in? Exudate and fungal-in? Fungal-in and old fungus?
Create a logical matrix:
presence_matrix <- cross_compartment_presence %>%
select(
Leaf = leaf_present,
Root = root_present,
Exudate = exudate_present,
Soil = soil_present,
Fungal_control = fungal_control_present,
Fungal_out = fungal_out_present,
Fungal_in = fungal_in_present,
Fungi_old = fungi_old_present
)
Then:
presence_matrix_numeric <-
as.matrix(
presence_matrix
) * 1
Calculate pairwise overlap:
pairwise_overlap_matrix <-
t(presence_matrix_numeric) %*%
presence_matrix_numeric
pairwise_overlap_matrix
## Leaf Root Exudate Soil Fungal_control Fungal_out Fungal_in
## Leaf 2829 1805 1214 1220 1641 1612 1477
## Root 1805 1958 1114 1113 1367 1358 1304
## Exudate 1214 1114 1515 1386 1354 1343 1276
## Soil 1220 1113 1386 1510 1351 1334 1273
## Fungal_control 1641 1367 1354 1351 2752 2556 2270
## Fungal_out 1612 1358 1343 1334 2556 2668 2290
## Fungal_in 1477 1304 1276 1273 2270 2290 2379
## Fungi_old 1637 1353 1350 1357 2269 2236 2053
## Fungi_old
## Leaf 1637
## Root 1353
## Exudate 1350
## Soil 1357
## Fungal_control 2269
## Fungal_out 2236
## Fungal_in 2053
## Fungi_old 2569
This is a very important table.
The diagonal tells you:
Leaf vs Leaf = total leaf features Root vs Root = total root features …
And an off-diagonal cell such as:
Root × Exudate
tells you exactly how many filtered features are reproducibly present in both.
pheatmap(
pairwise_overlap_matrix,
cluster_rows = FALSE,
cluster_cols = FALSE,
display_numbers = TRUE,
number_format = "%.0f",
main =
"Shared LC-MS features among plant, soil and fungal compartments"
)
Which sample types have the most chemistry in common?
Raw counts are useful, but percent overlap can also help.
For each pair, use the smaller feature set as the denominator:
pairwise_percent_overlap <-
matrix(
NA_real_,
nrow = ncol(presence_matrix_numeric),
ncol = ncol(presence_matrix_numeric)
)
rownames(pairwise_percent_overlap) <-
colnames(presence_matrix_numeric)
colnames(pairwise_percent_overlap) <-
colnames(presence_matrix_numeric)
Calculate:
for (
i in seq_len(
ncol(presence_matrix_numeric)
)
) {
for (
j in seq_len(
ncol(presence_matrix_numeric)
)
) {
overlap <-
sum(
presence_matrix_numeric[, i] == 1 &
presence_matrix_numeric[, j] == 1
)
smaller_total <-
min(
sum(
presence_matrix_numeric[, i]
),
sum(
presence_matrix_numeric[, j]
)
)
pairwise_percent_overlap[i, j] <-
100 *
overlap /
smaller_total
}
}
View:
round(
pairwise_percent_overlap,
1
)
## Leaf Root Exudate Soil Fungal_control Fungal_out Fungal_in
## Leaf 100.0 92.2 80.1 80.8 59.6 60.4 62.1
## Root 92.2 100.0 73.5 73.7 69.8 69.4 66.6
## Exudate 80.1 73.5 100.0 91.8 89.4 88.6 84.2
## Soil 80.8 73.7 91.8 100.0 89.5 88.3 84.3
## Fungal_control 59.6 69.8 89.4 89.5 100.0 95.8 95.4
## Fungal_out 60.4 69.4 88.6 88.3 95.8 100.0 96.3
## Fungal_in 62.1 66.6 84.2 84.3 95.4 96.3 100.0
## Fungi_old 63.7 69.1 89.1 89.9 88.3 87.0 86.3
## Fungi_old
## Leaf 63.7
## Root 69.1
## Exudate 89.1
## Soil 89.9
## Fungal_control 88.3
## Fungal_out 87.0
## Fungal_in 86.3
## Fungi_old 100.0
Heatmap:
pheatmap(
pairwise_percent_overlap,
cluster_rows = FALSE,
cluster_cols = FALSE,
display_numbers = TRUE,
number_format = "%.1f",
main =
"Percent feature overlap among biological compartments"
)
Now summarize just:
Leaf Root Exudate Soil
plant_pattern_detailed <- cross_compartment_presence %>%
mutate(
plant_detection_pattern =
paste0(
ifelse(
leaf_present,
"Leaf ",
""
),
ifelse(
root_present,
"Root ",
""
),
ifelse(
exudate_present,
"Exudate ",
""
),
ifelse(
soil_present,
"Soil",
""
)
)
) %>%
count(
plant_detection_pattern,
sort = TRUE
)
plant_pattern_detailed
## # A tibble: 16 × 2
## plant_detection_pattern n
## <chr> <int>
## 1 "Leaf Root Exudate Soil" 989
## 2 "" 900
## 3 "Leaf " 818
## 4 "Leaf Root " 709
## 5 "Exudate Soil" 187
## 6 "Leaf Exudate Soil" 143
## 7 "Root " 78
## 8 "Root Exudate Soil" 67
## 9 "Leaf Root Soil" 54
## 10 "Leaf Root Exudate " 53
## 11 "Exudate " 42
## 12 "Leaf Soil" 34
## 13 "Soil" 33
## 14 "Leaf Exudate " 29
## 15 "Root Exudate " 5
## 16 "Root Soil" 3
This tells you how many features are:
Leaf only Root only Leaf + root Root + exudate Leaf + root + exudate Exudate + soil all four etc.
Do the same for:
Fungal control Fungal out Fungal in Fungi old
fungal_pattern_detailed <- cross_compartment_presence %>%
mutate(
fungal_detection_pattern =
paste0(
ifelse(
fungal_control_present,
"Control ",
""
),
ifelse(
fungal_out_present,
"Out ",
""
),
ifelse(
fungal_in_present,
"In ",
""
),
ifelse(
fungi_old_present,
"Old",
""
)
)
) %>%
count(
fungal_detection_pattern,
sort = TRUE
)
fungal_pattern_detailed
## # A tibble: 16 × 2
## fungal_detection_pattern n
## <chr> <int>
## 1 "Control Out In Old" 1960
## 2 "" 1023
## 3 "Control Out In " 274
## 4 "Control Out Old" 211
## 5 "Old" 204
## 6 "Control Out " 111
## 7 "Control " 84
## 8 "Control Old" 76
## 9 "Out In Old" 40
## 10 "In Old" 31
## 11 "Out " 31
## 12 "Out Old" 25
## 13 "Control In Old" 22
## 14 "In " 22
## 15 "Out In " 16
## 16 "Control In " 14
This is extremely useful for explaining fungal chemistry.
You may find categories like:
fungal_pattern_plot_data <-
fungal_pattern_detailed %>%
filter(
fungal_detection_pattern != ""
) %>%
slice_head(
n = 15
)
Plot:
fungal_pattern_plot <- ggplot(
fungal_pattern_plot_data,
aes(
x = reorder(
fungal_detection_pattern,
n
),
y = n
)
) +
geom_col() +
coord_flip() +
geom_text(
aes(label = n),
hjust = -0.1
) +
labs(
title =
"Most common fungal LC-MS detection patterns",
x = NULL,
y = "Number of features"
) +
theme_classic()
fungal_pattern_plot
plant_pattern_plot_data <-
plant_pattern_detailed %>%
filter(
plant_detection_pattern != ""
) %>%
slice_head(
n = 15
)
plant_pattern_plot <- ggplot(
plant_pattern_plot_data,
aes(
x = reorder(
plant_detection_pattern,
n
),
y = n
)
) +
geom_col() +
coord_flip() +
geom_text(
aes(label = n),
hjust = -0.1
) +
labs(
title =
"Most common plant/soil LC-MS detection patterns",
x = NULL,
y = "Number of features"
) +
theme_classic()
plant_pattern_plot
These are the four, and this is where you explain exactly what “four” means.
strict_cross_system_candidates <-
root_exudate_fungal_not_controls %>%
select(
feature_name,
`Average Rt(min)`,
`Average Mz`,
`Metabolite name`,
`Adduct type`,
`MS/MS assigned`,
Formula,
Ontology,
`Total score`,
sample_to_blank_ratio,
leaf_n,
root_n,
exudate_n,
soil_n,
fungal_control_n,
fungal_out_n,
fungal_in_n,
fungi_old_n
)
strict_cross_system_candidates
## # A tibble: 4 × 18
## feature_name `Average Rt(min)` `Average Mz` `Metabolite name` `Adduct type`
## <chr> <dbl> <dbl> <chr> <chr>
## 1 F1105_mz156.98… 0.514 157. Unknown [M+H]+
## 2 F3005_mz294.00… 0.456 294. Unknown [M+H]+
## 3 F3515_mz335.22… 3.55 335. Unknown [M+H]+
## 4 F5091_mz739.74… 9.70 740. Unknown [M+H]+
## # ℹ 13 more variables: `MS/MS assigned` <lgl>, Formula <chr>, Ontology <chr>,
## # `Total score` <chr>, sample_to_blank_ratio <dbl>, leaf_n <dbl>,
## # root_n <dbl>, exudate_n <dbl>, soil_n <dbl>, fungal_control_n <dbl>,
## # fungal_out_n <dbl>, fungal_in_n <dbl>, fungi_old_n <dbl>
Add a descriptive column:
strict_cross_system_candidates <-
strict_cross_system_candidates %>%
mutate(
interpretation =
"Root + exudate + fungal-associated; not consistently detected in soil or fungal control"
)
You’ve already generated this, but save a presentation-quality copy:
cross_system_candidate_plot <- ggplot(
cross_candidate_plot_data,
aes(
x = group,
y = log2_intensity,
fill = group
)
) +
geom_boxplot(
width = 0.55,
outlier.shape = NA,
alpha = 0.45
) +
geom_jitter(
width = 0.08,
size = 2.5
) +
facet_wrap(
~ feature_name,
scales = "free_y",
ncol = 2
) +
labs(
title =
"Cross-system root–exudate–fungal candidate features",
subtitle =
"Positive-mode LC-MS; individual points are biological replicates",
x = NULL,
y =
"log2(Intensity + 1)"
) +
theme_classic() +
theme(
legend.position = "none",
axis.text.x =
element_text(
angle = 45,
hjust = 1
),
strip.text =
element_text(
face = "bold"
)
)
cross_system_candidate_plot
Save:
ggsave(
"PI_figure_cross_system_candidates.png",
cross_system_candidate_plot,
width = 12,
height = 8,
dpi = 300
)
You already obtained:
129 exudate-associated 124 soil-associated 1,386 quantifiable in both 2,505 not consistently detected in either.
Let’s turn that into a PI figure.
exudate_soil_detection_PI <-
prepared_comparisons$
Exudate_vs_Soil$
detection_summary
exudate_soil_detection_PI
## # A tibble: 4 × 3
## detection_category n percent
## <chr> <int> <dbl>
## 1 Exudate-associated detection 129 3.11
## 2 Not consistently detected in either 2505 60.4
## 3 Quantifiable in both 1386 33.4
## 4 Soil-associated detection 124 2.99
Plot:
exudate_soil_detection_plot <- ggplot(
exudate_soil_detection_PI,
aes(
x = reorder(
detection_category,
n
),
y = n,
fill = detection_category
)
) +
geom_col() +
coord_flip() +
geom_text(
aes(
label = paste0(
n,
" (",
round(
percent,
1
),
"%)"
)
),
hjust = -0.05
) +
labs(
title =
"Exudate versus soil: feature detection categories",
subtitle =
"Presence requires detection in at least 2 of 3 replicates",
x = NULL,
y = "Number of features"
) +
theme_classic() +
theme(
legend.position = "none"
)
exudate_soil_detection_plot
You already obtained:
Tier 1 1 Tier 3 159 Tier 4 215 Tier 5 1011
Generate the table:
exudate_evidence_summary <-
exudate_soil_abundance_candidates %>%
count(
evidence_tier
)
exudate_evidence_summary
## evidence_tier n
## 1 Tier 1: FDR + >=2-fold 1
## 2 Tier 3: exploratory + >=2-fold 159
## 3 Tier 4: large effect only 215
## 4 Tier 5: low priority 1011
Plot:
exudate_evidence_plot <- ggplot(
exudate_evidence_summary,
aes(
x = reorder(
evidence_tier,
n
),
y = n,
fill = evidence_tier
)
) +
geom_col() +
coord_flip() +
geom_text(
aes(label = n),
hjust = -0.1
) +
labs(
title =
"Strength of quantitative evidence: exudate vs soil",
subtitle =
"1,386 features were sufficiently detected in both groups for abundance testing",
x = NULL,
y = "Number of features"
) +
theme_classic() +
theme(
legend.position = "none"
)
exudate_evidence_plot
Your current numbers are:
No strong classification 1697 New-vs-control only 649 Old-vs-new differential 262 Age-stable fungal effect 14 Old-vs-control only 6
Use your actual object:
fungal_age_summary
## fungal_age_category n
## 1 No strong fungal-age classification 1697
## 2 New-associated effect 649
## 3 Age-sensitive fungal effect 262
## 4 Age-stable fungal effect 14
## 5 Old-associated effect 6
Plot:
fungal_age_summary_plot <- ggplot(
fungal_age_summary,
aes(
x = reorder(
fungal_age_category,
n
),
y = n,
fill = fungal_age_category
)
) +
geom_col() +
coord_flip() +
geom_text(
aes(label = n),
hjust = -0.1
) +
labs(
title =
"Fungal age and growth-associated LC-MS patterns",
subtitle =
"Positive-mode LC-MS",
x = NULL,
y = "Number of features"
) +
theme_classic() +
theme(
legend.position = "none"
)
fungal_age_summary_plot
You already generated this. Save it explicitly when you rerun the heatmap:
png(
"PI_figure_fungal_age_heatmap.png",
width = 2200,
height = 1600,
res = 200
)
pheatmap(
fungal_age_heatmap,
scale = "row",
clustering_distance_rows =
"euclidean",
clustering_distance_cols =
"euclidean",
clustering_method =
"complete",
show_rownames = TRUE,
show_colnames = TRUE,
fontsize_row = 7,
main =
"Features differing between old and newer fungal growth"
)
dev.off()
## png
## 3
Your top fungal-age plot is useful because the heatmap only shows relative differences.
Save the boxplot:
fungal_age_boxplot <- ggplot(
top_fungal_plot_data,
aes(
x = group,
y = log2_intensity,
fill = group
)
) +
geom_boxplot(
width = 0.55,
outlier.shape = NA,
alpha = 0.45
) +
geom_jitter(
width = 0.08,
size = 2.5
) +
facet_wrap(
~ feature_name,
scales = "free_y",
ncol = 2
) +
labs(
title =
"Top fungal age-sensitive LC-MS features",
subtitle =
"Control → outside colony → under colony → older fungal growth",
x = NULL,
y =
"log2(Intensity + 1)"
) +
theme_classic() +
theme(
legend.position = "none",
axis.text.x =
element_text(
angle = 45,
hjust = 1
)
)
fungal_age_boxplot
You already have these objects, so don’t rerun the entire PCA.
Save the broad PCA:
ggsave(
"PI_figure_global_PCA.png",
broad_pca_plot,
width = 9,
height = 7,
dpi = 300
)
Exudate vs soil:
ggsave(
"PI_figure_exudate_soil_PCA.png",
quantitative_pca_results$
Exudate_vs_Soil$plot,
width = 8,
height = 6,
dpi = 300
)
Leaf vs root:
ggsave(
"PI_figure_leaf_root_PCA.png",
quantitative_pca_results$
Leaf_vs_Root$plot,
width = 8,
height = 6,
dpi = 300
)
Fungal in vs control:
ggsave(
"PI_figure_fungal_in_control_PCA.png",
quantitative_pca_results$
Fungal_in_vs_control$plot,
width = 8,
height = 6,
dpi = 300
)
Old vs new fungus:
ggsave(
"PI_figure_fungal_old_new_PCA.png",
quantitative_pca_results$
Fungi_old_vs_Fungal_in$plot,
width = 8,
height = 6,
dpi = 300
)
PI_summary_table <- tibble(
result = c(
"Raw MS-DIAL features",
"Features after positive-mode filtering",
"Plant-associated features",
"Fungus-associated features",
"Features shared between plant and fungus",
"Strict root-exudate-fungus candidates",
"Exudate-associated detection features",
"Exudate-soil features quantifiable in both",
"Exudate-soil Tier 1 abundance candidates",
"Old-vs-new fungal differential features",
"Age-stable fungal-associated features"
),
n = c(
nrow(feature_table),
nrow(feature_qc),
sum(
cross_compartment_presence$
plant_present,
na.rm = TRUE
),
sum(
cross_compartment_presence$
fungus_present,
na.rm = TRUE
),
sum(
cross_compartment_presence$
plant_and_fungus,
na.rm = TRUE
),
nrow(
root_exudate_fungal_not_controls
),
129,
1386,
sum(
exudate_soil_abundance_candidates$
evidence_tier ==
"Tier 1: FDR + >=2-fold"
),
sum(
fungal_age_master$
fungal_age_category ==
"Age-sensitive fungal effect",
na.rm = TRUE
),
sum(
fungal_age_master$
fungal_age_category ==
"Age-stable fungal effect",
na.rm = TRUE
)
)
)
PI_summary_table
## # A tibble: 11 × 2
## result n
## <chr> <dbl>
## 1 Raw MS-DIAL features 5169
## 2 Features after positive-mode filtering 4144
## 3 Plant-associated features 3211
## 4 Fungus-associated features 3037
## 5 Features shared between plant and fungus 2124
## 6 Strict root-exudate-fungus candidates 4
## 7 Exudate-associated detection features 129
## 8 Exudate-soil features quantifiable in both 1386
## 9 Exudate-soil Tier 1 abundance candidates 1
## 10 Old-vs-new fungal differential features 262
## 11 Age-stable fungal-associated features 14
I would not hard-code 129 and 1386 long term, though. For a reproducible final notebook, replace them with calculations:
PI_summary_table <- tibble(
result = c(
"Raw MS-DIAL features",
"Features after positive-mode filtering",
"Plant-associated features",
"Fungus-associated features",
"Plant + fungus shared features",
"Strict root-exudate-fungus candidates",
"Exudate-associated detection features",
"Exudate-soil quantifiable features",
"Exudate-soil Tier 1 candidates",
"Old-vs-new fungal differential features",
"Age-stable fungal effects"
),
n = c(
nrow(feature_table),
nrow(feature_qc),
sum(
cross_compartment_presence$plant_present,
na.rm = TRUE
),
sum(
cross_compartment_presence$fungus_present,
na.rm = TRUE
),
sum(
cross_compartment_presence$plant_and_fungus,
na.rm = TRUE
),
nrow(
root_exudate_fungal_not_controls
),
sum(
prepared_comparisons$
Exudate_vs_Soil$
detection_table$
detection_category ==
"Exudate-associated detection",
na.rm = TRUE
),
nrow(
prepared_comparisons$
Exudate_vs_Soil$
abundance_features
),
sum(
exudate_soil_abundance_candidates$
evidence_tier ==
"Tier 1: FDR + >=2-fold",
na.rm = TRUE
),
sum(
fungal_age_master$
fungal_age_category ==
"Age-sensitive fungal effect",
na.rm = TRUE
),
sum(
fungal_age_master$
fungal_age_category ==
"Age-stable fungal effect",
na.rm = TRUE
)
)
)
PI_summary_table
## # A tibble: 11 × 2
## result n
## <chr> <int>
## 1 Raw MS-DIAL features 5169
## 2 Features after positive-mode filtering 4144
## 3 Plant-associated features 3211
## 4 Fungus-associated features 3037
## 5 Plant + fungus shared features 2124
## 6 Strict root-exudate-fungus candidates 4
## 7 Exudate-associated detection features 129
## 8 Exudate-soil quantifiable features 1386
## 9 Exudate-soil Tier 1 candidates 1
## 10 Old-vs-new fungal differential features 262
## 11 Age-stable fungal effects 14
Save:
write.csv(
PI_summary_table,
"PI_positive_mode_results_summary.csv",
row.names = FALSE
)
write.csv(
compartment_feature_counts,
"PI_feature_counts_by_compartment.csv",
row.names = FALSE
)
write.csv(
plant_fungal_overlap_summary,
"PI_plant_fungal_overlap_summary.csv",
row.names = FALSE
)
write.csv(
plant_fungal_partition_long,
"PI_plant_fungal_partition.csv",
row.names = FALSE
)
write.csv(
pairwise_overlap_matrix,
"PI_pairwise_feature_overlap_counts.csv"
)
write.csv(
pairwise_percent_overlap,
"PI_pairwise_percent_overlap.csv"
)
write.csv(
plant_pattern_detailed,
"PI_plant_detection_patterns.csv",
row.names = FALSE
)
write.csv(
fungal_pattern_detailed,
"PI_fungal_detection_patterns.csv",
row.names = FALSE
)
write.csv(
strict_cross_system_candidates,
"PI_strict_cross_system_candidates.csv",
row.names = FALSE
)