library(omiprep)
# import data
data <- read.csv(system.file("extdata", "dummy_data.csv", package = "omiprep"), header=T, row.names = 1, check.names = FALSE) |> as.matrix()
samples <- read.csv(system.file("extdata", "dummy_samples.csv", package = "omiprep"), header=T, row.names = 1)
features <- read.csv(system.file("extdata", "dummy_features.csv", package = "omiprep"), header=T, row.names = 1)
features$feature_id = as.character(features$feature_id)
# create object
mydata <- Omiprep(data = data, samples = samples, features = features)summary(mydata)
#> Omiprep Object Summary
#> --------------------------
#> Samples : 125
#> Features : 253
#> Data Layers : 1
#> Layer Names : input
#>
#> Sample Summary Layers : none
#> Feature Summary Layers: none
#>
#> Sample Annotation (metadata):
#> Columns: 10
#> Names : sample_id, parent_sample_id, client_identifier, sex, age, bmi, LC.MS.Polar, LC.MS.Neg, LC.MS.Pos.Early, LC.MS.Pos.Late
#>
#> Feature Annotation (metadata):
#> Columns: 14
#> Names : feature_id, pathway_sortorder, biochemical, super_pathway, sub_pathway, comp_id, platform, chemical_id, ri, mass, cas, pubchem, kegg, group_hmdb
#>
#> Exclusion Codes Summary:
#>
#> Sample Exclusions:
#> Exclusion | Count
#> -----------------
#> user_excluded | 0
#> extreme_sample_missingness | 0
#> user_defined_sample_missingness | 0
#> user_defined_sample_totalpeakarea | 0
#> user_defined_sample_pca_outlier | 0
#>
#> Feature Exclusions:
#> Exclusion | Count
#> -----------------
#> user_excluded | 0
#> extreme_feature_missingness | 0
#> user_defined_feature_missingness | 0
#> user_defined_feature_skewness | 0mydata = quality_control(mydata)
#> ── Starting Omics QC Process ───────────────────────────────────────────────────
#> ℹ Validating input parameters
#> ✔ Validating input parameters [16ms]
#>
#> ℹ Sample & Feature Summary Statistics for raw data
#> ℹ Number of informative PCs (Scree acceleration factor): 2
#> ℹ Sample & Feature Summary Statistics for raw data✔ Sample & Feature Summary Statistics for raw data [2.4s]
#>
#> ℹ Copying input data to new 'qc' data layer
#> ✔ Copying input data to new 'qc' data layer [22ms]
#>
#> ℹ Assessing for extreme sample missingness >=80% - excluding 0 sample(s)
#> ✔ Assessing for extreme sample missingness >=80% - excluding 0 sample(s) [21ms]
#>
#> ℹ Assessing for extreme feature missingness >=80% - excluding 0 feature(s)
#> ✔ Assessing for extreme feature missingness >=80% - excluding 5 feature(s) [21m…
#>
#> ℹ Assessing for sample missingness at specified level of >=20% - excluding 0 sa…
#> ✔ Assessing for sample missingness at specified level of >=20% - excluding 1 sa…
#>
#> ℹ Assessing for feature missingness at specified level of >=20% - excluding 0 f…
#> ✔ Assessing for feature missingness at specified level of >=20% - excluding 46 …
#>
#> ℹ Calculating total sum abundance outliers at +/- 5 Sdev - excluding 0 sample(s)
#> ✔ Calculating total sum abundance outliers at +/- 5 Sdev - excluding 0 sample(s…
#>
#> ℹ Running sample data PCA outlier analysis at +/- 5 Sdev
#> ✔ Running sample data PCA outlier analysis at +/- 5 Sdev [20ms]
#>
#> ℹ Sample PCA outlier analysis - re-identify feature independence and PC outlier…
#> ℹ Number of informative PCs (Scree acceleration factor): 2
#> ℹ Sample PCA outlier analysis - re-identify feature independence and PC outlier…! The stated max PCs [max_num_pcs=10] to use in PCA outlier assessment is greater than the number of available informative PCs [2]
#> ℹ Sample PCA outlier analysis - re-identify feature independence and PC outlier…✔ Sample PCA outlier analysis - re-identify feature independence and PC outlier…
#>
#> ℹ Creating final QC dataset...
#> ℹ Number of informative PCs (Scree acceleration factor): 2
#> ℹ Creating final QC dataset...
#> ℹ Creating final QC dataset...── Step timings ──
#> ℹ Creating final QC dataset...
#> ℹ Creating final QC dataset...
#> step seconds pct
#> validation 0.00 0.0
#> summarise_raw 2.36 38.8
#> copy_layer 0.00 0.0
#> extreme_sample_missingness 0.00 0.0
#> extreme_feature_missingness 0.00 0.0
#> sample_missingness 0.00 0.0
#> total_sum_abundance 0.01 0.2
#> summarise_pca 1.74 28.6
#> summarise_final 1.74 28.6
#> total 6.09 100.0
#> ✔ Creating final QC dataset... [1.8s]
#>
#> ℹ 'Omics QC Process Completed
#> ✔ 'Omics QC Process Completed [17ms]# Note: the quality_control() ultimately returns the feature_summary attribute as a matrix.
df <- t( as.data.frame(mydata@feature_summary[, 1:5, "input"]) )
df <- as.data.frame( round( df , 3) )
df <- cbind(feature_id = rownames(df), df)
df |> knitr::kable( digits = 3, row.names = FALSE, align = "c") |>
kableExtra::kable_styling(full_width = TRUE) | feature_id | missingness | outlier_count | n | mean | sd | median | min | max | range | skew | kurtosis | se | missing | var | disp_index | coef_variance | W | log10_W | k | independent_features |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 48719 | 0.248 | 2 | 94 | 4.877 | 28.121 | 1 | 0.393 | 256.608 | 256.215 | 8.027 | 66.644 | 2.900 | 31 | 790.803 | 162.154 | 5.766 | 0.128 | 0.564 | NA | NA |
| 43532 | 0.568 | 1 | 54 | 1.296 | 1.096 | 1 | 0.302 | 7.172 | 6.870 | 3.189 | 13.306 | 0.149 | 71 | 1.201 | 0.927 | 0.846 | 0.675 | 0.977 | NA | NA |
| 46639 | 0.128 | 4 | 109 | 2.266 | 3.517 | 1 | 0.078 | 23.696 | 23.619 | 3.379 | 14.104 | 0.337 | 16 | 12.371 | 5.460 | 1.552 | 0.596 | 0.992 | 1 | 1 |
| 606 | 0.000 | 0 | 125 | 0.990 | 0.211 | 1 | 0.006 | 1.461 | 1.455 | -1.367 | 5.791 | 0.019 | 0 | 0.045 | 0.045 | 0.214 | 0.903 | 0.307 | 2 | 1 |
| 62279 | 0.168 | 1 | 104 | 1.315 | 1.146 | 1 | 0.180 | 7.637 | 7.457 | 2.539 | 8.964 | 0.112 | 21 | 1.313 | 0.998 | 0.871 | 0.759 | 0.997 | 3 | 1 |
While feature summary is run as a part of the quality_control() function pipeline you can run the function yourself, on any layer you wish.
# NOTE:
# outlier_udist = number of IQRs from the median at which a value is flagged.
# 1.0 here is illustrative; in practice we favour 5.0, which is the default value
# for the quality_control() function.
feature_sum1 <- feature_summary(omiprep = mydata,
source_layer = "input",
outlier_udist = 1.0,
tree_cut_height = 0.5,
output = "data.frame",
cores = 1)feature_sum1 |>
head(n = 10) |>
knitr::kable( digits = 3, row.names = FALSE, align = "c") |>
kableExtra::kable_styling(full_width = FALSE) | feature_id | missingness | outlier_count | n | mean | sd | median | min | max | range | skew | kurtosis | se | missing | var | disp_index | coef_variance | W | log10_W | k | independent_features |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 48719 | 0.248 | 17 | 94 | 4.877 | 28.121 | 1 | 0.393 | 256.608 | 256.215 | 8.027 | 66.644 | 2.900 | 31 | 790.803 | 162.154 | 5.766 | 0.128 | 0.564 | NA | NA |
| 43532 | 0.568 | 10 | 54 | 1.296 | 1.096 | 1 | 0.302 | 7.172 | 6.870 | 3.189 | 13.306 | 0.149 | 71 | 1.201 | 0.927 | 0.846 | 0.675 | 0.977 | NA | NA |
| 46639 | 0.128 | 22 | 109 | 2.266 | 3.517 | 1 | 0.078 | 23.696 | 23.619 | 3.379 | 14.104 | 0.337 | 16 | 12.371 | 5.460 | 1.552 | 0.596 | 0.992 | 1 | TRUE |
| 606 | 0.000 | 27 | 125 | 0.990 | 0.211 | 1 | 0.006 | 1.461 | 1.455 | -1.367 | 5.791 | 0.019 | 0 | 0.045 | 0.045 | 0.214 | 0.903 | 0.307 | 2 | TRUE |
| 62279 | 0.168 | 18 | 104 | 1.315 | 1.146 | 1 | 0.180 | 7.637 | 7.457 | 2.539 | 8.964 | 0.112 | 21 | 1.313 | 0.998 | 0.871 | 0.759 | 0.997 | 3 | TRUE |
| 2342 | 0.008 | 27 | 124 | 1.110 | 0.620 | 1 | 0.048 | 3.500 | 3.452 | 1.053 | 1.586 | 0.056 | 1 | 0.385 | 0.347 | 0.559 | 0.940 | 0.907 | 4 | TRUE |
| 53010 | 0.000 | 25 | 125 | 1.021 | 0.240 | 1 | 0.516 | 1.753 | 1.237 | 0.453 | 0.065 | 0.021 | 0 | 0.058 | 0.056 | 0.235 | 0.985 | 0.996 | 5 | TRUE |
| 52435 | 0.000 | 24 | 125 | 0.998 | 0.284 | 1 | 0.005 | 1.715 | 1.709 | -0.357 | 1.234 | 0.025 | 0 | 0.081 | 0.081 | 0.285 | 0.979 | 0.440 | 6 | TRUE |
| 33384 | 0.608 | 11 | 49 | 7.325 | 19.419 | 1 | 0.248 | 112.333 | 112.085 | 3.911 | 16.323 | 2.774 | 76 | 377.115 | 51.483 | 2.651 | 0.401 | 0.861 | NA | NA |
| 52468 | 0.008 | 24 | 124 | 1.042 | 0.402 | 1 | 0.005 | 2.519 | 2.515 | 0.628 | 1.323 | 0.036 | 1 | 0.161 | 0.155 | 0.386 | 0.969 | 0.534 | 7 | TRUE |
Using the sample_ids and feature_ids
arguments you can run the summary for a subset of the data. Note: all
rows will be return, however summary data will only be returned for the
specified ids.
## define a vector of sample IDs
sids <- mydata@samples[mydata@samples$sex == "female", "sample_id"]
## define a vector of feature IDs
fids <- mydata@features[, "feature_id"] |> sample(25)
# NOTE:
# outlier_udist = number of IQRs from the median at which a value is flagged.
# 1.0 here is illustrative; in practice we favour 5.0, which is the default value
# for the quality_control() function.
feature_sum_subset <- feature_summary(omiprep = mydata,
source_layer = "input",
outlier_udist = 1.0,
tree_cut_height = 0.5,
sample_ids = sids,
feature_ids = fids,
output = "data.frame",
cores = 1)feature_sum_subset |>
na.omit() |>
knitr::kable( digits = 3, row.names = FALSE, align = "c") |>
kableExtra::kable_styling(full_width = FALSE) |>
kableExtra::scroll_box(width = "100%", height = "500px")| feature_id | missingness | outlier_count | n | mean | sd | median | min | max | range | skew | kurtosis | se | missing | var | disp_index | coef_variance | W | log10_W | k | independent_features |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 47437 | 0.015 | 13 | 64 | 1.155 | 0.603 | 1.020 | 0.266 | 3.137 | 2.872 | 1.351 | 1.580 | 0.075 | 1 | 0.363 | 0.314 | 0.522 | 0.878 | 0.989 | 9 | TRUE |
| 52307 | 0.200 | 10 | 52 | 1.348 | 1.072 | 1.061 | 0.171 | 6.205 | 6.035 | 2.225 | 6.641 | 0.149 | 13 | 1.148 | 0.852 | 0.795 | 0.793 | 0.994 | 7 | TRUE |
| 47905 | 0.000 | 15 | 65 | 1.028 | 0.359 | 0.993 | 0.418 | 2.321 | 1.902 | 0.853 | 1.274 | 0.045 | 0 | 0.129 | 0.125 | 0.349 | 0.954 | 0.987 | 3 | TRUE |
| 46261 | 0.108 | 14 | 58 | 1.486 | 1.597 | 1.011 | 0.013 | 9.238 | 9.225 | 2.926 | 9.620 | 0.210 | 7 | 2.550 | 1.716 | 1.075 | 0.644 | 0.880 | 5 | TRUE |
| 62277 | 0.000 | 12 | 65 | 1.208 | 0.855 | 1.094 | 0.052 | 3.875 | 3.823 | 1.206 | 1.034 | 0.106 | 0 | 0.731 | 0.605 | 0.708 | 0.888 | 0.937 | 18 | TRUE |
| 62278 | 0.031 | 10 | 63 | 1.403 | 1.217 | 1.046 | 0.102 | 6.235 | 6.134 | 1.826 | 3.618 | 0.153 | 2 | 1.482 | 1.056 | 0.868 | 0.811 | 0.987 | 15 | TRUE |
| 54942 | 0.185 | 13 | 53 | 1.299 | 0.973 | 1.041 | 0.016 | 5.117 | 5.100 | 1.825 | 3.852 | 0.134 | 12 | 0.947 | 0.729 | 0.749 | 0.826 | 0.860 | 4 | FALSE |
| 57714 | 0.015 | 10 | 64 | 1.441 | 1.264 | 0.964 | 0.165 | 7.118 | 6.953 | 1.890 | 4.738 | 0.158 | 1 | 1.597 | 1.108 | 0.877 | 0.809 | 0.988 | 2 | TRUE |
| 1121 | 0.000 | 10 | 65 | 1.145 | 0.534 | 1.074 | 0.016 | 3.066 | 3.050 | 1.036 | 1.732 | 0.066 | 0 | 0.286 | 0.249 | 0.467 | 0.936 | 0.714 | 12 | TRUE |
| 42027 | 0.062 | 12 | 61 | 1.537 | 1.724 | 0.982 | 0.029 | 8.599 | 8.570 | 1.908 | 3.927 | 0.221 | 4 | 2.971 | 1.933 | 1.121 | 0.780 | 0.973 | 14 | TRUE |
| 57476 | 0.000 | 10 | 65 | 1.156 | 0.578 | 1.039 | 0.017 | 2.829 | 2.812 | 0.707 | 0.033 | 0.072 | 0 | 0.334 | 0.289 | 0.500 | 0.955 | 0.774 | 21 | TRUE |
| 54885 | 0.000 | 16 | 65 | 1.052 | 0.379 | 1.048 | 0.013 | 2.245 | 2.232 | 0.542 | 1.399 | 0.047 | 0 | 0.144 | 0.137 | 0.360 | 0.963 | 0.586 | 20 | TRUE |
| 43400 | 0.015 | 9 | 64 | 1.037 | 0.468 | 1.031 | 0.004 | 2.330 | 2.326 | 0.264 | -0.070 | 0.059 | 1 | 0.219 | 0.211 | 0.451 | 0.989 | 0.642 | 6 | TRUE |
| 27672 | 0.000 | 11 | 65 | 1.114 | 0.521 | 1.055 | 0.219 | 2.827 | 2.608 | 0.582 | 0.275 | 0.065 | 0 | 0.271 | 0.243 | 0.467 | 0.970 | 0.967 | 1 | TRUE |
| 47815 | 0.200 | 10 | 52 | 1.773 | 1.961 | 1.085 | 0.228 | 9.640 | 9.412 | 2.294 | 5.230 | 0.272 | 13 | 3.846 | 2.169 | 1.106 | 0.697 | 0.979 | 17 | TRUE |
| 19260 | 0.154 | 8 | 55 | 1.201 | 0.826 | 0.980 | 0.291 | 4.876 | 4.585 | 2.109 | 5.760 | 0.111 | 10 | 0.682 | 0.568 | 0.688 | 0.796 | 0.990 | 8 | TRUE |
| 2761 | 0.000 | 18 | 65 | 0.998 | 0.268 | 0.975 | 0.005 | 1.801 | 1.796 | 0.046 | 2.624 | 0.033 | 0 | 0.072 | 0.072 | 0.269 | 0.934 | 0.372 | 10 | TRUE |
| 21127 | 0.015 | 11 | 64 | 1.430 | 1.149 | 1.053 | 0.050 | 5.555 | 5.506 | 1.737 | 2.970 | 0.144 | 1 | 1.320 | 0.923 | 0.803 | 0.814 | 0.961 | 4 | TRUE |
| 61700 | 0.031 | 15 | 63 | 1.237 | 0.723 | 1.024 | 0.008 | 4.156 | 4.148 | 2.132 | 5.046 | 0.091 | 2 | 0.523 | 0.423 | 0.584 | 0.760 | 0.625 | 13 | TRUE |
| 46443 | 0.000 | 8 | 65 | 1.222 | 0.952 | 0.957 | 0.003 | 5.315 | 5.312 | 1.823 | 4.365 | 0.118 | 0 | 0.907 | 0.742 | 0.779 | 0.839 | 0.806 | 19 | TRUE |
| 32349 | 0.154 | 12 | 55 | 1.140 | 0.436 | 1.128 | 0.162 | 2.681 | 2.520 | 0.683 | 1.770 | 0.059 | 10 | 0.190 | 0.167 | 0.383 | 0.959 | 0.892 | 16 | TRUE |
| 46518 | 0.154 | 13 | 55 | 1.068 | 0.605 | 0.987 | 0.010 | 3.902 | 3.892 | 2.373 | 8.435 | 0.082 | 10 | 0.366 | 0.343 | 0.566 | 0.782 | 0.674 | 11 | TRUE |
## The attributes include column names, row names, and class for the feature summary table
## as well as a hierarchical cluster dendrogram or `input_tree` and the parameter values for
## outlier_udist and input_tree_cut_height passed to the function.
names( attributes(feature_sum1) )
#> [1] "names" "row.names" "class"
#> [4] "input_tree" "input_outlier_udist" "input_tree_cut_height"In addition to the summary data, the hierarchical cluster dendrogram
is appended to the returned data.frame as and
attribute. This can be accessed with the attribute name:
[source_layer]_tree, in this case we summarised the
input data, therefore the attribute name is
input_tree.
suppressPackageStartupMessages(library(dendextend))
## number of independent features
indfeatcount = sum( feature_sum1$independent_features, na.rm = TRUE )
# extract tree from attributes
tree <- attr(feature_sum1, 'input_tree')
dend <- stats::as.dendrogram(tree)
# color the independent features blue
metab_color <- feature_sum1[, c("feature_id", "independent_features")]
metab_color <- metab_color[match(labels(dend), metab_color$feature_id), ]
metab_color$color <- ifelse(metab_color$independent_features==TRUE, "#084594", "grey80")
# format dendrogram for ploting
dend <- dend |>
dendextend::set("labels_cex", 0.75) |>
dendextend::set("labels_col", metab_color$color) |>
dendextend::set("branches_lwd", 1) |>
dendextend::set("branches_k_color", value = metab_color$color)
## plot the dendrogram
dend |> plot(main = paste0("Feature clustering dendrogram\n# of ind. features = ",indfeatcount ))
abline(h = 0.5, col = "#E41A1C", lwd = 1.5)# NOTE:
# outlier_udist = number of IQRs from the median at which a value is flagged.
# 1.0 here is illustrative; in practice we favour 5.0, which is the default value
# for the quality_control() function.
sf_sum <- summarise(omiprep = mydata,
source_layer = "input",
outlier_udist = 1.0,
tree_cut_height = 0.5,
sample_ids = sids, ## It is also possible to run on a subset of samples and/or features
feature_ids = fids,
output = "data.frame",
cores = 1)
#> ℹ Number of informative PCs (Scree acceleration factor): 2sf_sum$feature_summary |>
na.omit() |>
knitr::kable( digits = 3, row.names = FALSE, align = "c") |>
kableExtra::kable_styling(full_width = TRUE) |>
kableExtra::scroll_box(width = "100%", height = "500px")| feature_id | missingness | outlier_count | n | mean | sd | median | min | max | range | skew | kurtosis | se | missing | var | disp_index | coef_variance | W | log10_W | k | independent_features |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 47437 | 0.015 | 13 | 64 | 1.155 | 0.603 | 1.020 | 0.266 | 3.137 | 2.872 | 1.351 | 1.580 | 0.075 | 1 | 0.363 | 0.314 | 0.522 | 0.878 | 0.989 | 9 | TRUE |
| 52307 | 0.200 | 10 | 52 | 1.348 | 1.072 | 1.061 | 0.171 | 6.205 | 6.035 | 2.225 | 6.641 | 0.149 | 13 | 1.148 | 0.852 | 0.795 | 0.793 | 0.994 | 7 | TRUE |
| 47905 | 0.000 | 15 | 65 | 1.028 | 0.359 | 0.993 | 0.418 | 2.321 | 1.902 | 0.853 | 1.274 | 0.045 | 0 | 0.129 | 0.125 | 0.349 | 0.954 | 0.987 | 3 | TRUE |
| 46261 | 0.108 | 14 | 58 | 1.486 | 1.597 | 1.011 | 0.013 | 9.238 | 9.225 | 2.926 | 9.620 | 0.210 | 7 | 2.550 | 1.716 | 1.075 | 0.644 | 0.880 | 5 | TRUE |
| 62277 | 0.000 | 12 | 65 | 1.208 | 0.855 | 1.094 | 0.052 | 3.875 | 3.823 | 1.206 | 1.034 | 0.106 | 0 | 0.731 | 0.605 | 0.708 | 0.888 | 0.937 | 18 | TRUE |
| 62278 | 0.031 | 10 | 63 | 1.403 | 1.217 | 1.046 | 0.102 | 6.235 | 6.134 | 1.826 | 3.618 | 0.153 | 2 | 1.482 | 1.056 | 0.868 | 0.811 | 0.987 | 15 | TRUE |
| 54942 | 0.185 | 13 | 53 | 1.299 | 0.973 | 1.041 | 0.016 | 5.117 | 5.100 | 1.825 | 3.852 | 0.134 | 12 | 0.947 | 0.729 | 0.749 | 0.826 | 0.860 | 4 | FALSE |
| 57714 | 0.015 | 10 | 64 | 1.441 | 1.264 | 0.964 | 0.165 | 7.118 | 6.953 | 1.890 | 4.738 | 0.158 | 1 | 1.597 | 1.108 | 0.877 | 0.809 | 0.988 | 2 | TRUE |
| 1121 | 0.000 | 10 | 65 | 1.145 | 0.534 | 1.074 | 0.016 | 3.066 | 3.050 | 1.036 | 1.732 | 0.066 | 0 | 0.286 | 0.249 | 0.467 | 0.936 | 0.714 | 12 | TRUE |
| 42027 | 0.062 | 12 | 61 | 1.537 | 1.724 | 0.982 | 0.029 | 8.599 | 8.570 | 1.908 | 3.927 | 0.221 | 4 | 2.971 | 1.933 | 1.121 | 0.780 | 0.973 | 14 | TRUE |
| 57476 | 0.000 | 10 | 65 | 1.156 | 0.578 | 1.039 | 0.017 | 2.829 | 2.812 | 0.707 | 0.033 | 0.072 | 0 | 0.334 | 0.289 | 0.500 | 0.955 | 0.774 | 21 | TRUE |
| 54885 | 0.000 | 16 | 65 | 1.052 | 0.379 | 1.048 | 0.013 | 2.245 | 2.232 | 0.542 | 1.399 | 0.047 | 0 | 0.144 | 0.137 | 0.360 | 0.963 | 0.586 | 20 | TRUE |
| 43400 | 0.015 | 9 | 64 | 1.037 | 0.468 | 1.031 | 0.004 | 2.330 | 2.326 | 0.264 | -0.070 | 0.059 | 1 | 0.219 | 0.211 | 0.451 | 0.989 | 0.642 | 6 | TRUE |
| 27672 | 0.000 | 11 | 65 | 1.114 | 0.521 | 1.055 | 0.219 | 2.827 | 2.608 | 0.582 | 0.275 | 0.065 | 0 | 0.271 | 0.243 | 0.467 | 0.970 | 0.967 | 1 | TRUE |
| 47815 | 0.200 | 10 | 52 | 1.773 | 1.961 | 1.085 | 0.228 | 9.640 | 9.412 | 2.294 | 5.230 | 0.272 | 13 | 3.846 | 2.169 | 1.106 | 0.697 | 0.979 | 17 | TRUE |
| 19260 | 0.154 | 8 | 55 | 1.201 | 0.826 | 0.980 | 0.291 | 4.876 | 4.585 | 2.109 | 5.760 | 0.111 | 10 | 0.682 | 0.568 | 0.688 | 0.796 | 0.990 | 8 | TRUE |
| 2761 | 0.000 | 18 | 65 | 0.998 | 0.268 | 0.975 | 0.005 | 1.801 | 1.796 | 0.046 | 2.624 | 0.033 | 0 | 0.072 | 0.072 | 0.269 | 0.934 | 0.372 | 10 | TRUE |
| 21127 | 0.015 | 11 | 64 | 1.430 | 1.149 | 1.053 | 0.050 | 5.555 | 5.506 | 1.737 | 2.970 | 0.144 | 1 | 1.320 | 0.923 | 0.803 | 0.814 | 0.961 | 4 | TRUE |
| 61700 | 0.031 | 15 | 63 | 1.237 | 0.723 | 1.024 | 0.008 | 4.156 | 4.148 | 2.132 | 5.046 | 0.091 | 2 | 0.523 | 0.423 | 0.584 | 0.760 | 0.625 | 13 | TRUE |
| 46443 | 0.000 | 8 | 65 | 1.222 | 0.952 | 0.957 | 0.003 | 5.315 | 5.312 | 1.823 | 4.365 | 0.118 | 0 | 0.907 | 0.742 | 0.779 | 0.839 | 0.806 | 19 | TRUE |
| 32349 | 0.154 | 12 | 55 | 1.140 | 0.436 | 1.128 | 0.162 | 2.681 | 2.520 | 0.683 | 1.770 | 0.059 | 10 | 0.190 | 0.167 | 0.383 | 0.959 | 0.892 | 16 | TRUE |
| 46518 | 0.154 | 13 | 55 | 1.068 | 0.605 | 0.987 | 0.010 | 3.902 | 3.892 | 2.373 | 8.435 | 0.082 | 10 | 0.366 | 0.343 | 0.566 | 0.782 | 0.674 | 11 | TRUE |