1 Abstract

Macarron is a workflow to systematically annotate and prioritize potentially bioactive (and often unannotated) small molecules in microbial community metabolomic datasets. Macarron prioritizes metabolic features as potentially bioactive in a phenotype/condition of interest using a combination of (a) covariance with annotated metabolites, (b) ecological properties such as abundance with respect to covarying annotated compounds, and (c) differential abundance in the phenotype/condition of interest.

If you have questions, please direct it to: Macarron Forum

2 Installation

Macarron requires R version 4.2.0 or higher. Install Bioconductor and then install Macarron:

if(!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install("Macarron")

3 Running Macarron

Macarron can be run from the command line or as an R function. Both methods require the same arguments, have the same options, and use the same default settings. The package includes the wrapper Macarron() as well as functions which perform different steps in the Macarron framework.

3.1 Input CSV files

Macarron requires 4 comma-separated, appropriately formatted input files. The files and their formatting constraints are described below.

  1. Metabolic features abundances
    • Must contain features in rows and samples in columns.
    • First column must identify features.
  2. Metabolic features annotations
    • Must contain features in rows and annotations in columns.
    • First column must identify features.
    • Second column must contain either HMDB ID or PubChem Compound Identifier (CID).
    • Third column must contain the name of the metabolite.
    • Fourth column must contain a continuous chemical property such as m/z or RT or shift/ppm.
    • Other annotations such as RT, m/z or other identifiers can be listed column 4 onward.
  3. Sample metadata
    • Must contain samples in rows and metadata in columns.
    • First column must identify samples.
    • Second column must contain categorical metadata relevant to prioritization such as phenotypes, exposures or environments.
  4. Chemical taxonomy
    • First column must contain the HMDB ID or PubChem CID. IDs must be consistent between annotation and taxonomy files.
    • Second and third columns must contain chemical subclass and class of the respective metabolite.

If you do not have the chemical taxonomy file, you can generate this file using the annotation dataframe and Macarron utility decorate_ID (see Advanced Topics).

3.2 Output Files

By default, all files will be stored in a folder named Macarron_output inside the current working directory. The main prioritization results are stored in prioritized_metabolites_all.csv. Another file, prioritized_metabolites_characterizable.csv is a subset of prioritized_metabolites_all.csv and only contains metabolic features which covary with at least one annotated metabolite. The columns in these output files are:

  • Feature_index: Lists the identifier of the metabolic feature found in column 1 of abundance and annotation files.
  • HMDB_ID (or PubChem ID): Public database identifier from column 2 of annotation file (column 1 of annotation dataframe).
  • Metabolite name: From column 2 of annotation dataframe.
  • mz: The continuous numerical chemical property from column 3 of the annotation dataframe.
  • Priority_score: 1 indicates most prioritized. It is the percentile from the meta-rank of AVA, q-value and effect size.
  • Status: Direction of perturbation (differential abundance) in the phenotype (or environment) of interest compared to reference phenotype.
  • Module: ID of the covariance module a metabolic feature is a member of. Module = 0 indicates a singleton i.e., a metabolic feature that is not assigned to any module.
  • Anchor (of a module): Metabolic feature that has the highest abundance in any phenotype.
  • Related_classes: Chemical taxonomy of the annotated features that covary with a metabolic feature.
  • Covaries_with_standard: 1 (yes) and 0 (no). Column specifies if the metabolic feature covaries with at least one annotated (standard) metabolite.
  • AVA: Abundance versus anchor which is a ratio of the highest abundance (in any phenotype) of a metabolic feature and highest abundance of the covarying anchor. Naturally, the AVA of an anchor metabolite is 1.
  • qvalue: Estimated from multivariate linear model using Maaslin2.
  • effect_size
  • Remaining columns from the annotation dataframe are appended.

3.3 Run a demo in R

3.3.1 Using CSV files as inputs

Example (demo) input files can be found under inst/extdata folder of the Macarron source. These files were generated from the PRISM study of stool metabolomes of individuals with inflammatory bowel disease (IBD) and healthy “Control” individuals. Control and IBD are the two phenotypes in this example. Macarron will be applied to prioritize metabolic features with respect to their bioactivity in IBD. Therefore, in this example, the phenotype of interest is “IBD” and the reference phenotype is “Control”. The four input files are demo_abundances.csv, demo_annotations.csv, demo_metadata.csv, and demo_taxonomy.csv.

library(Macarron)
## Loading required package: SummarizedExperiment
## Loading required package: MatrixGenerics
## Loading required package: matrixStats
## 
## Attaching package: 'MatrixGenerics'
## The following objects are masked from 'package:matrixStats':
## 
##     colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,
##     colCounts, colCummaxs, colCummins, colCumprods, colCumsums,
##     colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,
##     colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,
##     colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,
##     colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,
##     colWeightedMeans, colWeightedMedians, colWeightedSds,
##     colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,
##     rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,
##     rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,
##     rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,
##     rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,
##     rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,
##     rowWeightedMads, rowWeightedMeans, rowWeightedMedians,
##     rowWeightedSds, rowWeightedVars
## Loading required package: GenomicRanges
## Loading required package: stats4
## Loading required package: BiocGenerics
## 
## Attaching package: 'BiocGenerics'
## The following objects are masked from 'package:stats':
## 
##     IQR, mad, sd, var, xtabs
## The following objects are masked from 'package:base':
## 
##     anyDuplicated, aperm, append, as.data.frame, basename, cbind,
##     colnames, dirname, do.call, duplicated, eval, evalq, Filter, Find,
##     get, grep, grepl, intersect, is.unsorted, lapply, Map, mapply,
##     match, mget, order, paste, pmax, pmax.int, pmin, pmin.int,
##     Position, rank, rbind, Reduce, rownames, sapply, setdiff, table,
##     tapply, union, unique, unsplit, which.max, which.min
## Loading required package: S4Vectors
## 
## Attaching package: 'S4Vectors'
## The following object is masked from 'package:utils':
## 
##     findMatches
## The following objects are masked from 'package:base':
## 
##     expand.grid, I, unname
## Loading required package: IRanges
## Loading required package: GenomeInfoDb
## Loading required package: Biobase
## Welcome to Bioconductor
## 
##     Vignettes contain introductory material; view with
##     'browseVignettes()'. To cite Bioconductor, see
##     'citation("Biobase")', and for packages 'citation("pkgname")'.
## 
## Attaching package: 'Biobase'
## The following object is masked from 'package:MatrixGenerics':
## 
##     rowMedians
## The following objects are masked from 'package:matrixStats':
## 
##     anyMissing, rowMedians
prism_abundances <- system.file(
    'extdata','demo_abundances.csv', package="Macarron")
prism_annotations <-system.file(
    'extdata','demo_annotations.csv', package="Macarron")
prism_metadata <-system.file(
    'extdata','demo_metadata.csv', package="Macarron")
mets_taxonomy <-system.file(
    'extdata','demo_taxonomy.csv', package="Macarron")
prism_prioritized <- Macarron::Macarron(input_abundances = prism_abundances,
                                        input_annotations = prism_annotations,
                                        input_metadata = prism_metadata,
                                        input_taxonomy = mets_taxonomy)
## 2023-10-24 19:49:34.713082 INFO::Creating output folder.
## 2023-10-24 19:49:34.725109 INFO::Writing function arguments to log file
## Samples with both abundances and metadata: 102
## 2023-10-24 19:49:34.781025 INFO::Summarized Experiment created.
## 2023-10-24 19:49:34.782621 INFO::Metadata chosen for prevalence filtering: diagnosis
## 869 features pass chosen minimum prevalence threshold of 0.7.
## Calculating pairwise correlations in phenotype: IBD
## 
## Calculating pairwise correlations in phenotype: Control
## Distance matrix with 869 features created.
## 2023-10-24 19:49:39.131589 INFO::Distance matrix with 869 metabolic features created.
## Initiating module detection
## 2023-10-24 19:49:39.132812 INFO::Minimum module size used for this dataset: 10
## Tree constructed
## Evaluating measures of success
##  ..cutHeight not given, setting it to 0.99  ===>  99% of the (truncated) height range in dendro.
##  ..done.
##  ..cutHeight not given, setting it to 0.99  ===>  99% of the (truncated) height range in dendro.
##  ..done.
##  ..cutHeight not given, setting it to 0.99  ===>  99% of the (truncated) height range in dendro.
##  ..done.
##  ..cutHeight not given, setting it to 0.99  ===>  99% of the (truncated) height range in dendro.
##  ..done.
##  ..cutHeight not given, setting it to 0.99  ===>  99% of the (truncated) height range in dendro.
##  ..done.
## 2023-10-24 19:49:40.633298 INFO::Total number of modules detected: 30
## Initiating AVA calculations
## Finding anchors
## Calculating AVA
## Initiating q-value calculations
## [1] "Creating output folder"
## [1] "Creating output feature tables folder"
## [1] "Creating output fits folder"
## [1] "Creating output figures folder"
## 2023-10-24 19:49:42.867021 INFO::Writing function arguments to log file
## 2023-10-24 19:49:42.872273 INFO::Verifying options selected are valid
## 2023-10-24 19:49:42.914779 INFO::Determining format of input files
## 2023-10-24 19:49:42.915779 INFO::Input format is data samples as columns and metadata samples as rows
## 2023-10-24 19:49:42.931208 INFO::Formula for fixed effects: expr ~  diagnosis + age + antibiotics
## 2023-10-24 19:49:42.932659 INFO::Filter data based on min abundance and min prevalence
## 2023-10-24 19:49:42.933321 INFO::Total samples in data: 102
## 2023-10-24 19:49:42.933924 INFO::Min samples required with min abundance for a feature not to be filtered: 0.000000
## 2023-10-24 19:49:42.945613 INFO::Total filtered features: 0
## 2023-10-24 19:49:42.946461 INFO::Filtered feature names from abundance and prevalence filtering:
## 2023-10-24 19:49:42.963889 INFO::Total filtered features with variance filtering: 0
## 2023-10-24 19:49:42.96479 INFO::Filtered feature names from variance filtering:
## 2023-10-24 19:49:42.965425 INFO::Running selected normalization method: NONE
## 2023-10-24 19:49:42.966098 INFO::Applying z-score to standardize continuous metadata
## 2023-10-24 19:49:42.994857 INFO::Running selected transform method: NONE
## 2023-10-24 19:49:42.995707 INFO::Running selected analysis method: LM
## 2023-10-24 19:49:43.001015 INFO::Fitting model to feature number 1, F1
## 2023-10-24 19:49:43.01114 INFO::Fitting model to feature number 2, F2
## 2023-10-24 19:49:43.014946 INFO::Fitting model to feature number 3, F3
## 2023-10-24 19:49:43.018578 INFO::Fitting model to feature number 4, F4
## 2023-10-24 19:49:43.022091 INFO::Fitting model to feature number 5, F5
## 2023-10-24 19:49:43.025545 INFO::Fitting model to feature number 6, F6
## 2023-10-24 19:49:43.028937 INFO::Fitting model to feature number 7, F7
## 2023-10-24 19:49:43.032309 INFO::Fitting model to feature number 8, F8
## 2023-10-24 19:49:43.035652 INFO::Fitting model to feature number 9, F9
## 2023-10-24 19:49:43.038984 INFO::Fitting model to feature number 10, F10
## 2023-10-24 19:49:43.042288 INFO::Fitting model to feature number 11, F11
## 2023-10-24 19:49:43.045618 INFO::Fitting model to feature number 12, F12
## 2023-10-24 19:49:43.048933 INFO::Fitting model to feature number 13, F13
## 2023-10-24 19:49:43.052259 INFO::Fitting model to feature number 14, F14
## 2023-10-24 19:49:43.055588 INFO::Fitting model to feature number 15, F15
## 2023-10-24 19:49:43.05892 INFO::Fitting model to feature number 16, F16
## 2023-10-24 19:49:43.06227 INFO::Fitting model to feature number 17, F17
## 2023-10-24 19:49:43.065602 INFO::Fitting model to feature number 18, F18
## 2023-10-24 19:49:43.068947 INFO::Fitting model to feature number 19, F19
## 2023-10-24 19:49:43.072274 INFO::Fitting model to feature number 20, F20
## 2023-10-24 19:49:43.075609 INFO::Fitting model to feature number 21, F21
## 2023-10-24 19:49:43.078949 INFO::Fitting model to feature number 22, F22
## 2023-10-24 19:49:43.082309 INFO::Fitting model to feature number 23, F23
## 2023-10-24 19:49:43.085666 INFO::Fitting model to feature number 24, F24
## 2023-10-24 19:49:43.089014 INFO::Fitting model to feature number 25, F25
## 2023-10-24 19:49:43.092355 INFO::Fitting model to feature number 26, F26
## 2023-10-24 19:49:43.095673 INFO::Fitting model to feature number 27, F27
## 2023-10-24 19:49:43.099019 INFO::Fitting model to feature number 28, F28
## 2023-10-24 19:49:43.102389 INFO::Fitting model to feature number 29, F29
## 2023-10-24 19:49:43.105746 INFO::Fitting model to feature number 30, F30
## 2023-10-24 19:49:43.10919 INFO::Fitting model to feature number 31, F31
## 2023-10-24 19:49:43.112567 INFO::Fitting model to feature number 32, F32
## 2023-10-24 19:49:43.115959 INFO::Fitting model to feature number 33, F33
## 2023-10-24 19:49:43.119375 INFO::Fitting model to feature number 34, F34
## 2023-10-24 19:49:43.122753 INFO::Fitting model to feature number 35, F35
## 2023-10-24 19:49:43.126126 INFO::Fitting model to feature number 36, F36
## 2023-10-24 19:49:43.129504 INFO::Fitting model to feature number 37, F37
## 2023-10-24 19:49:43.132907 INFO::Fitting model to feature number 38, F38
## 2023-10-24 19:49:43.136452 INFO::Fitting model to feature number 39, F39
## 2023-10-24 19:49:43.140054 INFO::Fitting model to feature number 40, F40
## 2023-10-24 19:49:43.14365 INFO::Fitting model to feature number 41, F41
## 2023-10-24 19:49:43.147135 INFO::Fitting model to feature number 42, F43
## 2023-10-24 19:49:43.15059 INFO::Fitting model to feature number 43, F44
## 2023-10-24 19:49:43.154034 INFO::Fitting model to feature number 44, F45
## 2023-10-24 19:49:43.157433 INFO::Fitting model to feature number 45, F46
## 2023-10-24 19:49:43.160791 INFO::Fitting model to feature number 46, F47
## 2023-10-24 19:49:43.164173 INFO::Fitting model to feature number 47, F48
## 2023-10-24 19:49:43.167496 INFO::Fitting model to feature number 48, F49
## 2023-10-24 19:49:43.170897 INFO::Fitting model to feature number 49, F50
## 2023-10-24 19:49:43.174317 INFO::Fitting model to feature number 50, F51
## 2023-10-24 19:49:43.177752 INFO::Fitting model to feature number 51, F52
## 2023-10-24 19:49:43.181165 INFO::Fitting model to feature number 52, F53
## 2023-10-24 19:49:43.184636 INFO::Fitting model to feature number 53, F54
## 2023-10-24 19:49:43.188065 INFO::Fitting model to feature number 54, F55
## 2023-10-24 19:49:43.19144 INFO::Fitting model to feature number 55, F56
## 2023-10-24 19:49:43.194882 INFO::Fitting model to feature number 56, F57
## 2023-10-24 19:49:43.198308 INFO::Fitting model to feature number 57, F58
## 2023-10-24 19:49:43.201713 INFO::Fitting model to feature number 58, F59
## 2023-10-24 19:49:43.205176 INFO::Fitting model to feature number 59, F60
## 2023-10-24 19:49:43.208568 INFO::Fitting model to feature number 60, F63
## 2023-10-24 19:49:43.21192 INFO::Fitting model to feature number 61, F64
## 2023-10-24 19:49:43.215294 INFO::Fitting model to feature number 62, F65
## 2023-10-24 19:49:43.218659 INFO::Fitting model to feature number 63, F66
## 2023-10-24 19:49:43.221973 INFO::Fitting model to feature number 64, F67
## 2023-10-24 19:49:43.225315 INFO::Fitting model to feature number 65, F68
## 2023-10-24 19:49:43.228679 INFO::Fitting model to feature number 66, F69
## 2023-10-24 19:49:43.231993 INFO::Fitting model to feature number 67, F70
## 2023-10-24 19:49:43.235311 INFO::Fitting model to feature number 68, F71
## 2023-10-24 19:49:43.262334 INFO::Fitting model to feature number 69, F72
## 2023-10-24 19:49:43.266682 INFO::Fitting model to feature number 70, F73
## 2023-10-24 19:49:43.270292 INFO::Fitting model to feature number 71, F74
## 2023-10-24 19:49:43.273794 INFO::Fitting model to feature number 72, F76
## 2023-10-24 19:49:43.277237 INFO::Fitting model to feature number 73, F77
## 2023-10-24 19:49:43.280628 INFO::Fitting model to feature number 74, F78
## 2023-10-24 19:49:43.284003 INFO::Fitting model to feature number 75, F79
## 2023-10-24 19:49:43.287336 INFO::Fitting model to feature number 76, F80
## 2023-10-24 19:49:43.290644 INFO::Fitting model to feature number 77, F81
## 2023-10-24 19:49:43.293903 INFO::Fitting model to feature number 78, F82
## 2023-10-24 19:49:43.297151 INFO::Fitting model to feature number 79, F83
## 2023-10-24 19:49:43.300341 INFO::Fitting model to feature number 80, F84
## 2023-10-24 19:49:43.303592 INFO::Fitting model to feature number 81, F85
## 2023-10-24 19:49:43.306871 INFO::Fitting model to feature number 82, F86
## 2023-10-24 19:49:43.310115 INFO::Fitting model to feature number 83, F87
## 2023-10-24 19:49:43.313364 INFO::Fitting model to feature number 84, F88
## 2023-10-24 19:49:43.316606 INFO::Fitting model to feature number 85, F89
## 2023-10-24 19:49:43.319847 INFO::Fitting model to feature number 86, F90
## 2023-10-24 19:49:43.323086 INFO::Fitting model to feature number 87, F91
## 2023-10-24 19:49:43.326327 INFO::Fitting model to feature number 88, F92
## 2023-10-24 19:49:43.329617 INFO::Fitting model to feature number 89, F93
## 2023-10-24 19:49:43.332868 INFO::Fitting model to feature number 90, F94
## 2023-10-24 19:49:43.336154 INFO::Fitting model to feature number 91, F95
## 2023-10-24 19:49:43.339387 INFO::Fitting model to feature number 92, F96
## 2023-10-24 19:49:43.342635 INFO::Fitting model to feature number 93, F97
## 2023-10-24 19:49:43.345876 INFO::Fitting model to feature number 94, F98
## 2023-10-24 19:49:43.349102 INFO::Fitting model to feature number 95, F99
## 2023-10-24 19:49:43.352351 INFO::Fitting model to feature number 96, F100
## 2023-10-24 19:49:43.355638 INFO::Fitting model to feature number 97, F101
## 2023-10-24 19:49:43.35898 INFO::Fitting model to feature number 98, F102
## 2023-10-24 19:49:43.362377 INFO::Fitting model to feature number 99, F103
## 2023-10-24 19:49:43.365965 INFO::Fitting model to feature number 100, F104
## 2023-10-24 19:49:43.369655 INFO::Fitting model to feature number 101, F105
## 2023-10-24 19:49:43.373236 INFO::Fitting model to feature number 102, F106
## 2023-10-24 19:49:43.376752 INFO::Fitting model to feature number 103, F107
## 2023-10-24 19:49:43.380173 INFO::Fitting model to feature number 104, F108
## 2023-10-24 19:49:43.383567 INFO::Fitting model to feature number 105, F109
## 2023-10-24 19:49:43.38698 INFO::Fitting model to feature number 106, F110
## 2023-10-24 19:49:43.390367 INFO::Fitting model to feature number 107, F111
## 2023-10-24 19:49:43.393724 INFO::Fitting model to feature number 108, F112
## 2023-10-24 19:49:43.397049 INFO::Fitting model to feature number 109, F113
## 2023-10-24 19:49:43.400365 INFO::Fitting model to feature number 110, F114
## 2023-10-24 19:49:43.403676 INFO::Fitting model to feature number 111, F115
## 2023-10-24 19:49:43.406957 INFO::Fitting model to feature number 112, F117
## 2023-10-24 19:49:43.410206 INFO::Fitting model to feature number 113, F118
## 2023-10-24 19:49:43.413485 INFO::Fitting model to feature number 114, F119
## 2023-10-24 19:49:43.416756 INFO::Fitting model to feature number 115, F120
## 2023-10-24 19:49:43.420055 INFO::Fitting model to feature number 116, F121
## 2023-10-24 19:49:43.423347 INFO::Fitting model to feature number 117, F122
## 2023-10-24 19:49:43.426612 INFO::Fitting model to feature number 118, F123
## 2023-10-24 19:49:43.429815 INFO::Fitting model to feature number 119, F124
## 2023-10-24 19:49:43.433094 INFO::Fitting model to feature number 120, F125
## 2023-10-24 19:49:43.436397 INFO::Fitting model to feature number 121, F126
## 2023-10-24 19:49:43.439686 INFO::Fitting model to feature number 122, F127
## 2023-10-24 19:49:43.442977 INFO::Fitting model to feature number 123, F128
## 2023-10-24 19:49:43.446251 INFO::Fitting model to feature number 124, F129
## 2023-10-24 19:49:43.449563 INFO::Fitting model to feature number 125, F130
## 2023-10-24 19:49:43.452897 INFO::Fitting model to feature number 126, F131
## 2023-10-24 19:49:43.456402 INFO::Fitting model to feature number 127, F132
## 2023-10-24 19:49:43.459895 INFO::Fitting model to feature number 128, F133
## 2023-10-24 19:49:43.463357 INFO::Fitting model to feature number 129, F134
## 2023-10-24 19:49:43.466855 INFO::Fitting model to feature number 130, F135
## 2023-10-24 19:49:43.470238 INFO::Fitting model to feature number 131, F136
## 2023-10-24 19:49:43.473611 INFO::Fitting model to feature number 132, F137
## 2023-10-24 19:49:43.476916 INFO::Fitting model to feature number 133, F138
## 2023-10-24 19:49:43.480224 INFO::Fitting model to feature number 134, F139
## 2023-10-24 19:49:43.483553 INFO::Fitting model to feature number 135, F140
## 2023-10-24 19:49:43.48688 INFO::Fitting model to feature number 136, F141
## 2023-10-24 19:49:43.490162 INFO::Fitting model to feature number 137, F142
## 2023-10-24 19:49:43.493524 INFO::Fitting model to feature number 138, F143
## 2023-10-24 19:49:43.496853 INFO::Fitting model to feature number 139, F144
## 2023-10-24 19:49:43.500106 INFO::Fitting model to feature number 140, F145
## 2023-10-24 19:49:43.503343 INFO::Fitting model to feature number 141, F146
## 2023-10-24 19:49:43.506573 INFO::Fitting model to feature number 142, F147
## 2023-10-24 19:49:43.509777 INFO::Fitting model to feature number 143, F148
## 2023-10-24 19:49:43.513015 INFO::Fitting model to feature number 144, F149
## 2023-10-24 19:49:43.516254 INFO::Fitting model to feature number 145, F150
## 2023-10-24 19:49:43.519486 INFO::Fitting model to feature number 146, F152
## 2023-10-24 19:49:43.522732 INFO::Fitting model to feature number 147, F153
## 2023-10-24 19:49:43.52596 INFO::Fitting model to feature number 148, F154
## 2023-10-24 19:49:43.529238 INFO::Fitting model to feature number 149, F155
## 2023-10-24 19:49:43.53252 INFO::Fitting model to feature number 150, F156
## 2023-10-24 19:49:43.535742 INFO::Fitting model to feature number 151, F157
## 2023-10-24 19:49:43.538966 INFO::Fitting model to feature number 152, F158
## 2023-10-24 19:49:43.542174 INFO::Fitting model to feature number 153, F159
## 2023-10-24 19:49:43.545418 INFO::Fitting model to feature number 154, F160
## 2023-10-24 19:49:43.548651 INFO::Fitting model to feature number 155, F161
## 2023-10-24 19:49:43.551867 INFO::Fitting model to feature number 156, F162
## 2023-10-24 19:49:43.555083 INFO::Fitting model to feature number 157, F163
## 2023-10-24 19:49:43.558341 INFO::Fitting model to feature number 158, F164
## 2023-10-24 19:49:43.561599 INFO::Fitting model to feature number 159, F165
## 2023-10-24 19:49:43.56484 INFO::Fitting model to feature number 160, F166
## 2023-10-24 19:49:43.568092 INFO::Fitting model to feature number 161, F167
## 2023-10-24 19:49:43.571367 INFO::Fitting model to feature number 162, F168
## 2023-10-24 19:49:43.574596 INFO::Fitting model to feature number 163, F169
## 2023-10-24 19:49:43.577847 INFO::Fitting model to feature number 164, F170
## 2023-10-24 19:49:43.581089 INFO::Fitting model to feature number 165, F171
## 2023-10-24 19:49:43.584311 INFO::Fitting model to feature number 166, F172
## 2023-10-24 19:49:43.587569 INFO::Fitting model to feature number 167, F173
## 2023-10-24 19:49:43.590792 INFO::Fitting model to feature number 168, F174
## 2023-10-24 19:49:43.593982 INFO::Fitting model to feature number 169, F175
## 2023-10-24 19:49:43.597192 INFO::Fitting model to feature number 170, F176
## 2023-10-24 19:49:43.600404 INFO::Fitting model to feature number 171, F177
## 2023-10-24 19:49:43.603613 INFO::Fitting model to feature number 172, F178
## 2023-10-24 19:49:43.60681 INFO::Fitting model to feature number 173, F179
## 2023-10-24 19:49:43.61001 INFO::Fitting model to feature number 174, F180
## 2023-10-24 19:49:43.613202 INFO::Fitting model to feature number 175, F181
## 2023-10-24 19:49:43.616396 INFO::Fitting model to feature number 176, F182
## 2023-10-24 19:49:43.619624 INFO::Fitting model to feature number 177, F183
## 2023-10-24 19:49:43.622857 INFO::Fitting model to feature number 178, F184
## 2023-10-24 19:49:43.626061 INFO::Fitting model to feature number 179, F185
## 2023-10-24 19:49:43.629293 INFO::Fitting model to feature number 180, F186
## 2023-10-24 19:49:43.632524 INFO::Fitting model to feature number 181, F187
## 2023-10-24 19:49:43.635755 INFO::Fitting model to feature number 182, F188
## 2023-10-24 19:49:43.638984 INFO::Fitting model to feature number 183, F189
## 2023-10-24 19:49:43.642184 INFO::Fitting model to feature number 184, F190
## 2023-10-24 19:49:43.645403 INFO::Fitting model to feature number 185, F191
## 2023-10-24 19:49:43.648607 INFO::Fitting model to feature number 186, F192
## 2023-10-24 19:49:43.651817 INFO::Fitting model to feature number 187, F193
## 2023-10-24 19:49:43.654943 INFO::Fitting model to feature number 188, F194
## 2023-10-24 19:49:43.658134 INFO::Fitting model to feature number 189, F195
## 2023-10-24 19:49:43.661328 INFO::Fitting model to feature number 190, F196
## 2023-10-24 19:49:43.664521 INFO::Fitting model to feature number 191, F197
## 2023-10-24 19:49:43.667735 INFO::Fitting model to feature number 192, F198
## 2023-10-24 19:49:43.670958 INFO::Fitting model to feature number 193, F199
## 2023-10-24 19:49:43.674154 INFO::Fitting model to feature number 194, F200
## 2023-10-24 19:49:43.677366 INFO::Fitting model to feature number 195, F201
## 2023-10-24 19:49:43.680609 INFO::Fitting model to feature number 196, F202
## 2023-10-24 19:49:43.683861 INFO::Fitting model to feature number 197, F203
## 2023-10-24 19:49:43.687122 INFO::Fitting model to feature number 198, F204
## 2023-10-24 19:49:43.690425 INFO::Fitting model to feature number 199, F206
## 2023-10-24 19:49:43.693688 INFO::Fitting model to feature number 200, F207
## 2023-10-24 19:49:43.696978 INFO::Fitting model to feature number 201, F208
## 2023-10-24 19:49:43.700193 INFO::Fitting model to feature number 202, F209
## 2023-10-24 19:49:43.703407 INFO::Fitting model to feature number 203, F210
## 2023-10-24 19:49:43.706625 INFO::Fitting model to feature number 204, F211
## 2023-10-24 19:49:43.709825 INFO::Fitting model to feature number 205, F212
## 2023-10-24 19:49:43.713062 INFO::Fitting model to feature number 206, F213
## 2023-10-24 19:49:43.71629 INFO::Fitting model to feature number 207, F214
## 2023-10-24 19:49:43.719495 INFO::Fitting model to feature number 208, F215
## 2023-10-24 19:49:43.72272 INFO::Fitting model to feature number 209, F216
## 2023-10-24 19:49:43.725962 INFO::Fitting model to feature number 210, F217
## 2023-10-24 19:49:43.729243 INFO::Fitting model to feature number 211, F218
## 2023-10-24 19:49:43.732511 INFO::Fitting model to feature number 212, F219
## 2023-10-24 19:49:43.735761 INFO::Fitting model to feature number 213, F220
## 2023-10-24 19:49:43.739015 INFO::Fitting model to feature number 214, F221
## 2023-10-24 19:49:43.742243 INFO::Fitting model to feature number 215, F222
## 2023-10-24 19:49:43.745484 INFO::Fitting model to feature number 216, F223
## 2023-10-24 19:49:43.748777 INFO::Fitting model to feature number 217, F224
## 2023-10-24 19:49:43.75214 INFO::Fitting model to feature number 218, F225
## 2023-10-24 19:49:43.755423 INFO::Fitting model to feature number 219, F226
## 2023-10-24 19:49:43.758703 INFO::Fitting model to feature number 220, F227
## 2023-10-24 19:49:43.76197 INFO::Fitting model to feature number 221, F228
## 2023-10-24 19:49:43.765254 INFO::Fitting model to feature number 222, F229
## 2023-10-24 19:49:43.768533 INFO::Fitting model to feature number 223, F230
## 2023-10-24 19:49:43.77182 INFO::Fitting model to feature number 224, F231
## 2023-10-24 19:49:43.775129 INFO::Fitting model to feature number 225, F232
## 2023-10-24 19:49:43.778437 INFO::Fitting model to feature number 226, F233
## 2023-10-24 19:49:43.781858 INFO::Fitting model to feature number 227, F234
## 2023-10-24 19:49:43.785182 INFO::Fitting model to feature number 228, F235
## 2023-10-24 19:49:43.788542 INFO::Fitting model to feature number 229, F236
## 2023-10-24 19:49:43.791903 INFO::Fitting model to feature number 230, F237
## 2023-10-24 19:49:43.795193 INFO::Fitting model to feature number 231, F238
## 2023-10-24 19:49:43.798504 INFO::Fitting model to feature number 232, F239
## 2023-10-24 19:49:43.80182 INFO::Fitting model to feature number 233, F240
## 2023-10-24 19:49:43.805169 INFO::Fitting model to feature number 234, F241
## 2023-10-24 19:49:43.808509 INFO::Fitting model to feature number 235, F242
## 2023-10-24 19:49:43.811888 INFO::Fitting model to feature number 236, F243
## 2023-10-24 19:49:43.815248 INFO::Fitting model to feature number 237, F244
## 2023-10-24 19:49:43.81859 INFO::Fitting model to feature number 238, F245
## 2023-10-24 19:49:43.821934 INFO::Fitting model to feature number 239, F246
## 2023-10-24 19:49:43.825307 INFO::Fitting model to feature number 240, F247
## 2023-10-24 19:49:43.828686 INFO::Fitting model to feature number 241, F248
## 2023-10-24 19:49:43.832042 INFO::Fitting model to feature number 242, F249
## 2023-10-24 19:49:43.835383 INFO::Fitting model to feature number 243, F250
## 2023-10-24 19:49:43.838717 INFO::Fitting model to feature number 244, F252
## 2023-10-24 19:49:43.842022 INFO::Fitting model to feature number 245, F253
## 2023-10-24 19:49:43.845337 INFO::Fitting model to feature number 246, F254
## 2023-10-24 19:49:43.84867 INFO::Fitting model to feature number 247, F255
## 2023-10-24 19:49:43.851978 INFO::Fitting model to feature number 248, F256
## 2023-10-24 19:49:43.855318 INFO::Fitting model to feature number 249, F257
## 2023-10-24 19:49:43.858647 INFO::Fitting model to feature number 250, F259
## 2023-10-24 19:49:43.861957 INFO::Fitting model to feature number 251, F260
## 2023-10-24 19:49:43.86531 INFO::Fitting model to feature number 252, F261
## 2023-10-24 19:49:43.868658 INFO::Fitting model to feature number 253, F262
## 2023-10-24 19:49:43.871994 INFO::Fitting model to feature number 254, F263
## 2023-10-24 19:49:43.875362 INFO::Fitting model to feature number 255, F264
## 2023-10-24 19:49:43.878752 INFO::Fitting model to feature number 256, F265
## 2023-10-24 19:49:43.882102 INFO::Fitting model to feature number 257, F266
## 2023-10-24 19:49:43.885414 INFO::Fitting model to feature number 258, F267
## 2023-10-24 19:49:43.888791 INFO::Fitting model to feature number 259, F269
## 2023-10-24 19:49:43.892161 INFO::Fitting model to feature number 260, F270
## 2023-10-24 19:49:43.895535 INFO::Fitting model to feature number 261, F271
## 2023-10-24 19:49:43.898913 INFO::Fitting model to feature number 262, F272
## 2023-10-24 19:49:43.9023 INFO::Fitting model to feature number 263, F273
## 2023-10-24 19:49:43.905678 INFO::Fitting model to feature number 264, F274
## 2023-10-24 19:49:43.909056 INFO::Fitting model to feature number 265, F276
## 2023-10-24 19:49:43.912436 INFO::Fitting model to feature number 266, F277
## 2023-10-24 19:49:43.915792 INFO::Fitting model to feature number 267, F278
## 2023-10-24 19:49:43.919148 INFO::Fitting model to feature number 268, F279
## 2023-10-24 19:49:43.922516 INFO::Fitting model to feature number 269, F280
## 2023-10-24 19:49:43.925873 INFO::Fitting model to feature number 270, F281
## 2023-10-24 19:49:43.92925 INFO::Fitting model to feature number 271, F282
## 2023-10-24 19:49:43.932663 INFO::Fitting model to feature number 272, F283
## 2023-10-24 19:49:43.936051 INFO::Fitting model to feature number 273, F284
## 2023-10-24 19:49:43.939439 INFO::Fitting model to feature number 274, F285
## 2023-10-24 19:49:43.942836 INFO::Fitting model to feature number 275, F286
## 2023-10-24 19:49:43.946232 INFO::Fitting model to feature number 276, F287
## 2023-10-24 19:49:43.949654 INFO::Fitting model to feature number 277, F288
## 2023-10-24 19:49:43.953076 INFO::Fitting model to feature number 278, F289
## 2023-10-24 19:49:43.956501 INFO::Fitting model to feature number 279, F290
## 2023-10-24 19:49:43.959916 INFO::Fitting model to feature number 280, F292
## 2023-10-24 19:49:43.963464 INFO::Fitting model to feature number 281, F293
## 2023-10-24 19:49:43.967098 INFO::Fitting model to feature number 282, F294
## 2023-10-24 19:49:43.970674 INFO::Fitting model to feature number 283, F295
## 2023-10-24 19:49:43.974019 INFO::Fitting model to feature number 284, F296
## 2023-10-24 19:49:43.977378 INFO::Fitting model to feature number 285, F297
## 2023-10-24 19:49:43.980783 INFO::Fitting model to feature number 286, F298
## 2023-10-24 19:49:43.984175 INFO::Fitting model to feature number 287, F299
## 2023-10-24 19:49:43.98751 INFO::Fitting model to feature number 288, F300
## 2023-10-24 19:49:43.99096 INFO::Fitting model to feature number 289, F301
## 2023-10-24 19:49:43.994374 INFO::Fitting model to feature number 290, F302
## 2023-10-24 19:49:43.997851 INFO::Fitting model to feature number 291, F303
## 2023-10-24 19:49:44.001302 INFO::Fitting model to feature number 292, F304
## 2023-10-24 19:49:44.004756 INFO::Fitting model to feature number 293, F305
## 2023-10-24 19:49:44.008169 INFO::Fitting model to feature number 294, F306
## 2023-10-24 19:49:44.011604 INFO::Fitting model to feature number 295, F307
## 2023-10-24 19:49:44.014986 INFO::Fitting model to feature number 296, F308
## 2023-10-24 19:49:44.018322 INFO::Fitting model to feature number 297, F309
## 2023-10-24 19:49:44.021713 INFO::Fitting model to feature number 298, F310
## 2023-10-24 19:49:44.025085 INFO::Fitting model to feature number 299, F311
## 2023-10-24 19:49:44.043696 INFO::Fitting model to feature number 300, F312
## 2023-10-24 19:49:44.047374 INFO::Fitting model to feature number 301, F313
## 2023-10-24 19:49:44.050924 INFO::Fitting model to feature number 302, F315
## 2023-10-24 19:49:44.054404 INFO::Fitting model to feature number 303, F316
## 2023-10-24 19:49:44.057909 INFO::Fitting model to feature number 304, F317
## 2023-10-24 19:49:44.061407 INFO::Fitting model to feature number 305, F318
## 2023-10-24 19:49:44.06487 INFO::Fitting model to feature number 306, F319
## 2023-10-24 19:49:44.068315 INFO::Fitting model to feature number 307, F320
## 2023-10-24 19:49:44.07169 INFO::Fitting model to feature number 308, F321
## 2023-10-24 19:49:44.075029 INFO::Fitting model to feature number 309, F322
## 2023-10-24 19:49:44.078361 INFO::Fitting model to feature number 310, F323
## 2023-10-24 19:49:44.081674 INFO::Fitting model to feature number 311, F324
## 2023-10-24 19:49:44.084957 INFO::Fitting model to feature number 312, F325
## 2023-10-24 19:49:44.088228 INFO::Fitting model to feature number 313, F326
## 2023-10-24 19:49:44.091473 INFO::Fitting model to feature number 314, F327
## 2023-10-24 19:49:44.094712 INFO::Fitting model to feature number 315, F328
## 2023-10-24 19:49:44.097931 INFO::Fitting model to feature number 316, F329
## 2023-10-24 19:49:44.101148 INFO::Fitting model to feature number 317, F330
## 2023-10-24 19:49:44.104356 INFO::Fitting model to feature number 318, F331
## 2023-10-24 19:49:44.107577 INFO::Fitting model to feature number 319, F332
## 2023-10-24 19:49:44.110812 INFO::Fitting model to feature number 320, F333
## 2023-10-24 19:49:44.114059 INFO::Fitting model to feature number 321, F334
## 2023-10-24 19:49:44.11735 INFO::Fitting model to feature number 322, F335
## 2023-10-24 19:49:44.120666 INFO::Fitting model to feature number 323, F336
## 2023-10-24 19:49:44.123999 INFO::Fitting model to feature number 324, F337
## 2023-10-24 19:49:44.12735 INFO::Fitting model to feature number 325, F338
## 2023-10-24 19:49:44.130674 INFO::Fitting model to feature number 326, F339
## 2023-10-24 19:49:44.133993 INFO::Fitting model to feature number 327, F340
## 2023-10-24 19:49:44.137337 INFO::Fitting model to feature number 328, F342
## 2023-10-24 19:49:44.140677 INFO::Fitting model to feature number 329, F343
## 2023-10-24 19:49:44.14401 INFO::Fitting model to feature number 330, F344
## 2023-10-24 19:49:44.147298 INFO::Fitting model to feature number 331, F345
## 2023-10-24 19:49:44.150619 INFO::Fitting model to feature number 332, F346
## 2023-10-24 19:49:44.153904 INFO::Fitting model to feature number 333, F347
## 2023-10-24 19:49:44.15723 INFO::Fitting model to feature number 334, F348
## 2023-10-24 19:49:44.160591 INFO::Fitting model to feature number 335, F350
## 2023-10-24 19:49:44.16387 INFO::Fitting model to feature number 336, F351
## 2023-10-24 19:49:44.16719 INFO::Fitting model to feature number 337, F352
## 2023-10-24 19:49:44.170519 INFO::Fitting model to feature number 338, F353
## 2023-10-24 19:49:44.173805 INFO::Fitting model to feature number 339, F355
## 2023-10-24 19:49:44.177086 INFO::Fitting model to feature number 340, F356
## 2023-10-24 19:49:44.180376 INFO::Fitting model to feature number 341, F357
## 2023-10-24 19:49:44.183682 INFO::Fitting model to feature number 342, F358
## 2023-10-24 19:49:44.186952 INFO::Fitting model to feature number 343, F359
## 2023-10-24 19:49:44.190205 INFO::Fitting model to feature number 344, F360
## 2023-10-24 19:49:44.193487 INFO::Fitting model to feature number 345, F361
## 2023-10-24 19:49:44.196769 INFO::Fitting model to feature number 346, F362
## 2023-10-24 19:49:44.200041 INFO::Fitting model to feature number 347, F363
## 2023-10-24 19:49:44.203239 INFO::Fitting model to feature number 348, F364
## 2023-10-24 19:49:44.206505 INFO::Fitting model to feature number 349, F365
## 2023-10-24 19:49:44.209768 INFO::Fitting model to feature number 350, F366
## 2023-10-24 19:49:44.213053 INFO::Fitting model to feature number 351, F367
## 2023-10-24 19:49:44.216319 INFO::Fitting model to feature number 352, F368
## 2023-10-24 19:49:44.219632 INFO::Fitting model to feature number 353, F369
## 2023-10-24 19:49:44.222958 INFO::Fitting model to feature number 354, F370
## 2023-10-24 19:49:44.226226 INFO::Fitting model to feature number 355, F371
## 2023-10-24 19:49:44.229514 INFO::Fitting model to feature number 356, F372
## 2023-10-24 19:49:44.232838 INFO::Fitting model to feature number 357, F373
## 2023-10-24 19:49:44.236087 INFO::Fitting model to feature number 358, F374
## 2023-10-24 19:49:44.239389 INFO::Fitting model to feature number 359, F375
## 2023-10-24 19:49:44.242692 INFO::Fitting model to feature number 360, F376
## 2023-10-24 19:49:44.245943 INFO::Fitting model to feature number 361, F377
## 2023-10-24 19:49:44.24923 INFO::Fitting model to feature number 362, F378
## 2023-10-24 19:49:44.252506 INFO::Fitting model to feature number 363, F379
## 2023-10-24 19:49:44.255768 INFO::Fitting model to feature number 364, F380
## 2023-10-24 19:49:44.259051 INFO::Fitting model to feature number 365, F381
## 2023-10-24 19:49:44.262343 INFO::Fitting model to feature number 366, F382
## 2023-10-24 19:49:44.265654 INFO::Fitting model to feature number 367, F383
## 2023-10-24 19:49:44.268981 INFO::Fitting model to feature number 368, F384
## 2023-10-24 19:49:44.272297 INFO::Fitting model to feature number 369, F386
## 2023-10-24 19:49:44.275595 INFO::Fitting model to feature number 370, F387
## 2023-10-24 19:49:44.278878 INFO::Fitting model to feature number 371, F388
## 2023-10-24 19:49:44.28214 INFO::Fitting model to feature number 372, F389
## 2023-10-24 19:49:44.285417 INFO::Fitting model to feature number 373, F390
## 2023-10-24 19:49:44.288694 INFO::Fitting model to feature number 374, F391
## 2023-10-24 19:49:44.291962 INFO::Fitting model to feature number 375, F392
## 2023-10-24 19:49:44.29525 INFO::Fitting model to feature number 376, F393
## 2023-10-24 19:49:44.298525 INFO::Fitting model to feature number 377, F394
## 2023-10-24 19:49:44.301805 INFO::Fitting model to feature number 378, F395
## 2023-10-24 19:49:44.305116 INFO::Fitting model to feature number 379, F396
## 2023-10-24 19:49:44.308433 INFO::Fitting model to feature number 380, F397
## 2023-10-24 19:49:44.311751 INFO::Fitting model to feature number 381, F398
## 2023-10-24 19:49:44.315077 INFO::Fitting model to feature number 382, F399
## 2023-10-24 19:49:44.318369 INFO::Fitting model to feature number 383, F400
## 2023-10-24 19:49:44.321696 INFO::Fitting model to feature number 384, F401
## 2023-10-24 19:49:44.325035 INFO::Fitting model to feature number 385, F402
## 2023-10-24 19:49:44.328354 INFO::Fitting model to feature number 386, F403
## 2023-10-24 19:49:44.331669 INFO::Fitting model to feature number 387, F404
## 2023-10-24 19:49:44.335025 INFO::Fitting model to feature number 388, F406
## 2023-10-24 19:49:44.338402 INFO::Fitting model to feature number 389, F407
## 2023-10-24 19:49:44.3418 INFO::Fitting model to feature number 390, F408
## 2023-10-24 19:49:44.345189 INFO::Fitting model to feature number 391, F409
## 2023-10-24 19:49:44.348577 INFO::Fitting model to feature number 392, F410
## 2023-10-24 19:49:44.351851 INFO::Fitting model to feature number 393, F411
## 2023-10-24 19:49:44.355171 INFO::Fitting model to feature number 394, F412
## 2023-10-24 19:49:44.358499 INFO::Fitting model to feature number 395, F413
## 2023-10-24 19:49:44.361819 INFO::Fitting model to feature number 396, F414
## 2023-10-24 19:49:44.365198 INFO::Fitting model to feature number 397, F415
## 2023-10-24 19:49:44.368526 INFO::Fitting model to feature number 398, F416
## 2023-10-24 19:49:44.371901 INFO::Fitting model to feature number 399, F417
## 2023-10-24 19:49:44.375279 INFO::Fitting model to feature number 400, F418
## 2023-10-24 19:49:44.378645 INFO::Fitting model to feature number 401, F419
## 2023-10-24 19:49:44.381992 INFO::Fitting model to feature number 402, F420
## 2023-10-24 19:49:44.385274 INFO::Fitting model to feature number 403, F421
## 2023-10-24 19:49:44.388615 INFO::Fitting model to feature number 404, F422
## 2023-10-24 19:49:44.391919 INFO::Fitting model to feature number 405, F423
## 2023-10-24 19:49:44.395231 INFO::Fitting model to feature number 406, F425
## 2023-10-24 19:49:44.398656 INFO::Fitting model to feature number 407, F426
## 2023-10-24 19:49:44.40215 INFO::Fitting model to feature number 408, F428
## 2023-10-24 19:49:44.405591 INFO::Fitting model to feature number 409, F429
## 2023-10-24 19:49:44.409087 INFO::Fitting model to feature number 410, F430
## 2023-10-24 19:49:44.412594 INFO::Fitting model to feature number 411, F431
## 2023-10-24 19:49:44.416074 INFO::Fitting model to feature number 412, F432
## 2023-10-24 19:49:44.419466 INFO::Fitting model to feature number 413, F433
## 2023-10-24 19:49:44.422861 INFO::Fitting model to feature number 414, F434
## 2023-10-24 19:49:44.426229 INFO::Fitting model to feature number 415, F435
## 2023-10-24 19:49:44.429571 INFO::Fitting model to feature number 416, F436
## 2023-10-24 19:49:44.432957 INFO::Fitting model to feature number 417, F437
## 2023-10-24 19:49:44.436305 INFO::Fitting model to feature number 418, F438
## 2023-10-24 19:49:44.439628 INFO::Fitting model to feature number 419, F439
## 2023-10-24 19:49:44.44294 INFO::Fitting model to feature number 420, F440
## 2023-10-24 19:49:44.446248 INFO::Fitting model to feature number 421, F441
## 2023-10-24 19:49:44.449769 INFO::Fitting model to feature number 422, F442
## 2023-10-24 19:49:44.453388 INFO::Fitting model to feature number 423, F443
## 2023-10-24 19:49:44.456897 INFO::Fitting model to feature number 424, F444
## 2023-10-24 19:49:44.460472 INFO::Fitting model to feature number 425, F445
## 2023-10-24 19:49:44.463962 INFO::Fitting model to feature number 426, F446
## 2023-10-24 19:49:44.467419 INFO::Fitting model to feature number 427, F447
## 2023-10-24 19:49:44.470836 INFO::Fitting model to feature number 428, F448
## 2023-10-24 19:49:44.474207 INFO::Fitting model to feature number 429, F449
## 2023-10-24 19:49:44.477536 INFO::Fitting model to feature number 430, F450
## 2023-10-24 19:49:44.480917 INFO::Fitting model to feature number 431, F451
## 2023-10-24 19:49:44.484254 INFO::Fitting model to feature number 432, F452
## 2023-10-24 19:49:44.487554 INFO::Fitting model to feature number 433, F454
## 2023-10-24 19:49:44.490851 INFO::Fitting model to feature number 434, F455
## 2023-10-24 19:49:44.49412 INFO::Fitting model to feature number 435, F456
## 2023-10-24 19:49:44.497383 INFO::Fitting model to feature number 436, F457
## 2023-10-24 19:49:44.500613 INFO::Fitting model to feature number 437, F458
## 2023-10-24 19:49:44.503836 INFO::Fitting model to feature number 438, F459
## 2023-10-24 19:49:44.507082 INFO::Fitting model to feature number 439, F461
## 2023-10-24 19:49:44.510332 INFO::Fitting model to feature number 440, F462
## 2023-10-24 19:49:44.513609 INFO::Fitting model to feature number 441, F463
## 2023-10-24 19:49:44.516912 INFO::Fitting model to feature number 442, F464
## 2023-10-24 19:49:44.520159 INFO::Fitting model to feature number 443, F465
## 2023-10-24 19:49:44.52341 INFO::Fitting model to feature number 444, F466
## 2023-10-24 19:49:44.526628 INFO::Fitting model to feature number 445, F467
## 2023-10-24 19:49:44.529783 INFO::Fitting model to feature number 446, F468
## 2023-10-24 19:49:44.533029 INFO::Fitting model to feature number 447, F469
## 2023-10-24 19:49:44.536315 INFO::Fitting model to feature number 448, F470
## 2023-10-24 19:49:44.539557 INFO::Fitting model to feature number 449, F471
## 2023-10-24 19:49:44.542792 INFO::Fitting model to feature number 450, F474
## 2023-10-24 19:49:44.546001 INFO::Fitting model to feature number 451, F475
## 2023-10-24 19:49:44.549257 INFO::Fitting model to feature number 452, F476
## 2023-10-24 19:49:44.55253 INFO::Fitting model to feature number 453, F477
## 2023-10-24 19:49:44.55578 INFO::Fitting model to feature number 454, F478
## 2023-10-24 19:49:44.559055 INFO::Fitting model to feature number 455, F479
## 2023-10-24 19:49:44.562403 INFO::Fitting model to feature number 456, F480
## 2023-10-24 19:49:44.565799 INFO::Fitting model to feature number 457, F481
## 2023-10-24 19:49:44.569094 INFO::Fitting model to feature number 458, F482
## 2023-10-24 19:49:44.572407 INFO::Fitting model to feature number 459, F483
## 2023-10-24 19:49:44.57573 INFO::Fitting model to feature number 460, F484
## 2023-10-24 19:49:44.579026 INFO::Fitting model to feature number 461, F485
## 2023-10-24 19:49:44.582312 INFO::Fitting model to feature number 462, F486
## 2023-10-24 19:49:44.585603 INFO::Fitting model to feature number 463, F487
## 2023-10-24 19:49:44.588904 INFO::Fitting model to feature number 464, F488
## 2023-10-24 19:49:44.592216 INFO::Fitting model to feature number 465, F489
## 2023-10-24 19:49:44.595542 INFO::Fitting model to feature number 466, F490
## 2023-10-24 19:49:44.598847 INFO::Fitting model to feature number 467, F491
## 2023-10-24 19:49:44.602137 INFO::Fitting model to feature number 468, F492
## 2023-10-24 19:49:44.60548 INFO::Fitting model to feature number 469, F493
## 2023-10-24 19:49:44.608779 INFO::Fitting model to feature number 470, F494
## 2023-10-24 19:49:44.616852 INFO::Fitting model to feature number 471, F495
## 2023-10-24 19:49:44.620732 INFO::Fitting model to feature number 472, F496
## 2023-10-24 19:49:44.624087 INFO::Fitting model to feature number 473, F497
## 2023-10-24 19:49:44.627445 INFO::Fitting model to feature number 474, F498
## 2023-10-24 19:49:44.63077 INFO::Fitting model to feature number 475, F499
## 2023-10-24 19:49:44.634064 INFO::Fitting model to feature number 476, F500
## 2023-10-24 19:49:44.637381 INFO::Fitting model to feature number 477, F501
## 2023-10-24 19:49:44.640712 INFO::Fitting model to feature number 478, F502
## 2023-10-24 19:49:44.644053 INFO::Fitting model to feature number 479, F503
## 2023-10-24 19:49:44.647372 INFO::Fitting model to feature number 480, F504
## 2023-10-24 19:49:44.650709 INFO::Fitting model to feature number 481, F505
## 2023-10-24 19:49:44.654041 INFO::Fitting model to feature number 482, F506
## 2023-10-24 19:49:44.65739 INFO::Fitting model to feature number 483, F507
## 2023-10-24 19:49:44.660801 INFO::Fitting model to feature number 484, F508
## 2023-10-24 19:49:44.664153 INFO::Fitting model to feature number 485, F509
## 2023-10-24 19:49:44.667519 INFO::Fitting model to feature number 486, F510
## 2023-10-24 19:49:44.670827 INFO::Fitting model to feature number 487, F511
## 2023-10-24 19:49:44.674139 INFO::Fitting model to feature number 488, F512
## 2023-10-24 19:49:44.677454 INFO::Fitting model to feature number 489, F513
## 2023-10-24 19:49:44.680773 INFO::Fitting model to feature number 490, F514
## 2023-10-24 19:49:44.684113 INFO::Fitting model to feature number 491, F515
## 2023-10-24 19:49:44.687478 INFO::Fitting model to feature number 492, F516
## 2023-10-24 19:49:44.690859 INFO::Fitting model to feature number 493, F517
## 2023-10-24 19:49:44.694243 INFO::Fitting model to feature number 494, F518
## 2023-10-24 19:49:44.697666 INFO::Fitting model to feature number 495, F519
## 2023-10-24 19:49:44.701032 INFO::Fitting model to feature number 496, F520
## 2023-10-24 19:49:44.704442 INFO::Fitting model to feature number 497, F521
## 2023-10-24 19:49:44.707853 INFO::Fitting model to feature number 498, F522
## 2023-10-24 19:49:44.711258 INFO::Fitting model to feature number 499, F523
## 2023-10-24 19:49:44.714662 INFO::Fitting model to feature number 500, F524
## 2023-10-24 19:49:44.718032 INFO::Fitting model to feature number 501, F525
## 2023-10-24 19:49:44.721396 INFO::Fitting model to feature number 502, F526
## 2023-10-24 19:49:44.724811 INFO::Fitting model to feature number 503, F527
## 2023-10-24 19:49:44.728141 INFO::Fitting model to feature number 504, F528
## 2023-10-24 19:49:44.731453 INFO::Fitting model to feature number 505, F529
## 2023-10-24 19:49:44.73478 INFO::Fitting model to feature number 506, F530
## 2023-10-24 19:49:44.738101 INFO::Fitting model to feature number 507, F531
## 2023-10-24 19:49:44.741439 INFO::Fitting model to feature number 508, F532
## 2023-10-24 19:49:44.744769 INFO::Fitting model to feature number 509, F533
## 2023-10-24 19:49:44.7481 INFO::Fitting model to feature number 510, F534
## 2023-10-24 19:49:44.751415 INFO::Fitting model to feature number 511, F535
## 2023-10-24 19:49:44.754752 INFO::Fitting model to feature number 512, F536
## 2023-10-24 19:49:44.758048 INFO::Fitting model to feature number 513, F537
## 2023-10-24 19:49:44.761383 INFO::Fitting model to feature number 514, F539
## 2023-10-24 19:49:44.764755 INFO::Fitting model to feature number 515, F540
## 2023-10-24 19:49:44.768112 INFO::Fitting model to feature number 516, F541
## 2023-10-24 19:49:44.771419 INFO::Fitting model to feature number 517, F543
## 2023-10-24 19:49:44.774811 INFO::Fitting model to feature number 518, F544
## 2023-10-24 19:49:44.778158 INFO::Fitting model to feature number 519, F545
## 2023-10-24 19:49:44.78152 INFO::Fitting model to feature number 520, F546
## 2023-10-24 19:49:44.784924 INFO::Fitting model to feature number 521, F547
## 2023-10-24 19:49:44.78836 INFO::Fitting model to feature number 522, F548
## 2023-10-24 19:49:44.791791 INFO::Fitting model to feature number 523, F549
## 2023-10-24 19:49:44.795216 INFO::Fitting model to feature number 524, F550
## 2023-10-24 19:49:44.798651 INFO::Fitting model to feature number 525, F551
## 2023-10-24 19:49:44.802045 INFO::Fitting model to feature number 526, F552
## 2023-10-24 19:49:44.805457 INFO::Fitting model to feature number 527, F553
## 2023-10-24 19:49:44.808871 INFO::Fitting model to feature number 528, F554
## 2023-10-24 19:49:44.837656 INFO::Fitting model to feature number 529, F555
## 2023-10-24 19:49:44.842849 INFO::Fitting model to feature number 530, F556
## 2023-10-24 19:49:44.846563 INFO::Fitting model to feature number 531, F557
## 2023-10-24 19:49:44.85014 INFO::Fitting model to feature number 532, F558
## 2023-10-24 19:49:44.853638 INFO::Fitting model to feature number 533, F559
## 2023-10-24 19:49:44.857135 INFO::Fitting model to feature number 534, F560
## 2023-10-24 19:49:44.860538 INFO::Fitting model to feature number 535, F561
## 2023-10-24 19:49:44.863904 INFO::Fitting model to feature number 536, F562
## 2023-10-24 19:49:44.867275 INFO::Fitting model to feature number 537, F563
## 2023-10-24 19:49:44.870582 INFO::Fitting model to feature number 538, F564
## 2023-10-24 19:49:44.873856 INFO::Fitting model to feature number 539, F566
## 2023-10-24 19:49:44.877081 INFO::Fitting model to feature number 540, F567
## 2023-10-24 19:49:44.880373 INFO::Fitting model to feature number 541, F568
## 2023-10-24 19:49:44.883681 INFO::Fitting model to feature number 542, F569
## 2023-10-24 19:49:44.886959 INFO::Fitting model to feature number 543, F570
## 2023-10-24 19:49:44.890233 INFO::Fitting model to feature number 544, F571
## 2023-10-24 19:49:44.893508 INFO::Fitting model to feature number 545, F572
## 2023-10-24 19:49:44.896774 INFO::Fitting model to feature number 546, F573
## 2023-10-24 19:49:44.900055 INFO::Fitting model to feature number 547, F574
## 2023-10-24 19:49:44.903346 INFO::Fitting model to feature number 548, F575
## 2023-10-24 19:49:44.90662 INFO::Fitting model to feature number 549, F576
## 2023-10-24 19:49:44.909864 INFO::Fitting model to feature number 550, F577
## 2023-10-24 19:49:44.913115 INFO::Fitting model to feature number 551, F578
## 2023-10-24 19:49:44.916371 INFO::Fitting model to feature number 552, F579
## 2023-10-24 19:49:44.919618 INFO::Fitting model to feature number 553, F580
## 2023-10-24 19:49:44.922853 INFO::Fitting model to feature number 554, F581
## 2023-10-24 19:49:44.926082 INFO::Fitting model to feature number 555, F582
## 2023-10-24 19:49:44.929261 INFO::Fitting model to feature number 556, F583
## 2023-10-24 19:49:44.932426 INFO::Fitting model to feature number 557, F584
## 2023-10-24 19:49:44.935668 INFO::Fitting model to feature number 558, F585
## 2023-10-24 19:49:44.938941 INFO::Fitting model to feature number 559, F586
## 2023-10-24 19:49:44.942213 INFO::Fitting model to feature number 560, F587
## 2023-10-24 19:49:44.94549 INFO::Fitting model to feature number 561, F588
## 2023-10-24 19:49:44.948768 INFO::Fitting model to feature number 562, F589
## 2023-10-24 19:49:44.952054 INFO::Fitting model to feature number 563, F590
## 2023-10-24 19:49:44.955352 INFO::Fitting model to feature number 564, F591
## 2023-10-24 19:49:44.958622 INFO::Fitting model to feature number 565, F592
## 2023-10-24 19:49:44.961885 INFO::Fitting model to feature number 566, F593
## 2023-10-24 19:49:44.965171 INFO::Fitting model to feature number 567, F594
## 2023-10-24 19:49:44.968465 INFO::Fitting model to feature number 568, F595
## 2023-10-24 19:49:44.971742 INFO::Fitting model to feature number 569, F596
## 2023-10-24 19:49:44.975018 INFO::Fitting model to feature number 570, F597
## 2023-10-24 19:49:44.978304 INFO::Fitting model to feature number 571, F598
## 2023-10-24 19:49:44.98158 INFO::Fitting model to feature number 572, F599
## 2023-10-24 19:49:44.984843 INFO::Fitting model to feature number 573, F600
## 2023-10-24 19:49:44.98813 INFO::Fitting model to feature number 574, F601
## 2023-10-24 19:49:44.9914 INFO::Fitting model to feature number 575, F602
## 2023-10-24 19:49:44.99515 INFO::Fitting model to feature number 576, F603
## 2023-10-24 19:49:44.998414 INFO::Fitting model to feature number 577, F605
## 2023-10-24 19:49:45.001702 INFO::Fitting model to feature number 578, F606
## 2023-10-24 19:49:45.004971 INFO::Fitting model to feature number 579, F607
## 2023-10-24 19:49:45.008214 INFO::Fitting model to feature number 580, F608
## 2023-10-24 19:49:45.011415 INFO::Fitting model to feature number 581, F609
## 2023-10-24 19:49:45.014677 INFO::Fitting model to feature number 582, F610
## 2023-10-24 19:49:45.017828 INFO::Fitting model to feature number 583, F611
## 2023-10-24 19:49:45.021075 INFO::Fitting model to feature number 584, F612
## 2023-10-24 19:49:45.024272 INFO::Fitting model to feature number 585, F613
## 2023-10-24 19:49:45.027538 INFO::Fitting model to feature number 586, F614
## 2023-10-24 19:49:45.030793 INFO::Fitting model to feature number 587, F615
## 2023-10-24 19:49:45.034017 INFO::Fitting model to feature number 588, F616
## 2023-10-24 19:49:45.037196 INFO::Fitting model to feature number 589, F617
## 2023-10-24 19:49:45.04043 INFO::Fitting model to feature number 590, F618
## 2023-10-24 19:49:45.043658 INFO::Fitting model to feature number 591, F619
## 2023-10-24 19:49:45.046884 INFO::Fitting model to feature number 592, F620
## 2023-10-24 19:49:45.050114 INFO::Fitting model to feature number 593, F621
## 2023-10-24 19:49:45.053366 INFO::Fitting model to feature number 594, F622
## 2023-10-24 19:49:45.056614 INFO::Fitting model to feature number 595, F623
## 2023-10-24 19:49:45.059872 INFO::Fitting model to feature number 596, F624
## 2023-10-24 19:49:45.063127 INFO::Fitting model to feature number 597, F625
## 2023-10-24 19:49:45.066391 INFO::Fitting model to feature number 598, F626
## 2023-10-24 19:49:45.069688 INFO::Fitting model to feature number 599, F627
## 2023-10-24 19:49:45.072958 INFO::Fitting model to feature number 600, F628
## 2023-10-24 19:49:45.076298 INFO::Fitting model to feature number 601, F629
## 2023-10-24 19:49:45.079562 INFO::Fitting model to feature number 602, F630
## 2023-10-24 19:49:45.082808 INFO::Fitting model to feature number 603, F631
## 2023-10-24 19:49:45.08605 INFO::Fitting model to feature number 604, F632
## 2023-10-24 19:49:45.089292 INFO::Fitting model to feature number 605, F633
## 2023-10-24 19:49:45.092486 INFO::Fitting model to feature number 606, F634
## 2023-10-24 19:49:45.095744 INFO::Fitting model to feature number 607, F635
## 2023-10-24 19:49:45.099033 INFO::Fitting model to feature number 608, F636
## 2023-10-24 19:49:45.102331 INFO::Fitting model to feature number 609, F637
## 2023-10-24 19:49:45.105571 INFO::Fitting model to feature number 610, F638
## 2023-10-24 19:49:45.108794 INFO::Fitting model to feature number 611, F639
## 2023-10-24 19:49:45.112019 INFO::Fitting model to feature number 612, F640
## 2023-10-24 19:49:45.115249 INFO::Fitting model to feature number 613, F641
## 2023-10-24 19:49:45.118488 INFO::Fitting model to feature number 614, F642
## 2023-10-24 19:49:45.121712 INFO::Fitting model to feature number 615, F643
## 2023-10-24 19:49:45.124964 INFO::Fitting model to feature number 616, F644
## 2023-10-24 19:49:45.12823 INFO::Fitting model to feature number 617, F645
## 2023-10-24 19:49:45.131492 INFO::Fitting model to feature number 618, F646
## 2023-10-24 19:49:45.134729 INFO::Fitting model to feature number 619, F647
## 2023-10-24 19:49:45.137959 INFO::Fitting model to feature number 620, F648
## 2023-10-24 19:49:45.141219 INFO::Fitting model to feature number 621, F649
## 2023-10-24 19:49:45.144497 INFO::Fitting model to feature number 622, F650
## 2023-10-24 19:49:45.147746 INFO::Fitting model to feature number 623, F651
## 2023-10-24 19:49:45.150996 INFO::Fitting model to feature number 624, F652
## 2023-10-24 19:49:45.154176 INFO::Fitting model to feature number 625, F653
## 2023-10-24 19:49:45.15743 INFO::Fitting model to feature number 626, F654
## 2023-10-24 19:49:45.160703 INFO::Fitting model to feature number 627, F655
## 2023-10-24 19:49:45.163997 INFO::Fitting model to feature number 628, F656
## 2023-10-24 19:49:45.167263 INFO::Fitting model to feature number 629, F657
## 2023-10-24 19:49:45.170543 INFO::Fitting model to feature number 630, F658
## 2023-10-24 19:49:45.173784 INFO::Fitting model to feature number 631, F659
## 2023-10-24 19:49:45.177017 INFO::Fitting model to feature number 632, F660
## 2023-10-24 19:49:45.180275 INFO::Fitting model to feature number 633, F661
## 2023-10-24 19:49:45.183521 INFO::Fitting model to feature number 634, F662
## 2023-10-24 19:49:45.186778 INFO::Fitting model to feature number 635, F663
## 2023-10-24 19:49:45.190001 INFO::Fitting model to feature number 636, F664
## 2023-10-24 19:49:45.193234 INFO::Fitting model to feature number 637, F665
## 2023-10-24 19:49:45.196469 INFO::Fitting model to feature number 638, F666
## 2023-10-24 19:49:45.199721 INFO::Fitting model to feature number 639, F667
## 2023-10-24 19:49:45.202999 INFO::Fitting model to feature number 640, F668
## 2023-10-24 19:49:45.206238 INFO::Fitting model to feature number 641, F669
## 2023-10-24 19:49:45.209481 INFO::Fitting model to feature number 642, F670
## 2023-10-24 19:49:45.212662 INFO::Fitting model to feature number 643, F671
## 2023-10-24 19:49:45.215925 INFO::Fitting model to feature number 644, F672
## 2023-10-24 19:49:45.219173 INFO::Fitting model to feature number 645, F673
## 2023-10-24 19:49:45.222439 INFO::Fitting model to feature number 646, F674
## 2023-10-24 19:49:45.22569 INFO::Fitting model to feature number 647, F675
## 2023-10-24 19:49:45.228951 INFO::Fitting model to feature number 648, F676
## 2023-10-24 19:49:45.232157 INFO::Fitting model to feature number 649, F677
## 2023-10-24 19:49:45.235421 INFO::Fitting model to feature number 650, F678
## 2023-10-24 19:49:45.238709 INFO::Fitting model to feature number 651, F679
## 2023-10-24 19:49:45.242 INFO::Fitting model to feature number 652, F680
## 2023-10-24 19:49:45.245341 INFO::Fitting model to feature number 653, F681
## 2023-10-24 19:49:45.248703 INFO::Fitting model to feature number 654, F682
## 2023-10-24 19:49:45.252051 INFO::Fitting model to feature number 655, F683
## 2023-10-24 19:49:45.255386 INFO::Fitting model to feature number 656, F684
## 2023-10-24 19:49:45.258761 INFO::Fitting model to feature number 657, F685
## 2023-10-24 19:49:45.262071 INFO::Fitting model to feature number 658, F686
## 2023-10-24 19:49:45.26548 INFO::Fitting model to feature number 659, F687
## 2023-10-24 19:49:45.268818 INFO::Fitting model to feature number 660, F688
## 2023-10-24 19:49:45.272225 INFO::Fitting model to feature number 661, F689
## 2023-10-24 19:49:45.275612 INFO::Fitting model to feature number 662, F690
## 2023-10-24 19:49:45.279062 INFO::Fitting model to feature number 663, F691
## 2023-10-24 19:49:45.282603 INFO::Fitting model to feature number 664, F692
## 2023-10-24 19:49:45.286085 INFO::Fitting model to feature number 665, F693
## 2023-10-24 19:49:45.289605 INFO::Fitting model to feature number 666, F694
## 2023-10-24 19:49:45.293127 INFO::Fitting model to feature number 667, F695
## 2023-10-24 19:49:45.296419 INFO::Fitting model to feature number 668, F696
## 2023-10-24 19:49:45.29969 INFO::Fitting model to feature number 669, F697
## 2023-10-24 19:49:45.302978 INFO::Fitting model to feature number 670, F698
## 2023-10-24 19:49:45.306293 INFO::Fitting model to feature number 671, F699
## 2023-10-24 19:49:45.309578 INFO::Fitting model to feature number 672, F700
## 2023-10-24 19:49:45.312846 INFO::Fitting model to feature number 673, F701
## 2023-10-24 19:49:45.3161 INFO::Fitting model to feature number 674, F702
## 2023-10-24 19:49:45.319346 INFO::Fitting model to feature number 675, F704
## 2023-10-24 19:49:45.322593 INFO::Fitting model to feature number 676, F705
## 2023-10-24 19:49:45.325857 INFO::Fitting model to feature number 677, F706
## 2023-10-24 19:49:45.329165 INFO::Fitting model to feature number 678, F707
## 2023-10-24 19:49:45.332436 INFO::Fitting model to feature number 679, F708
## 2023-10-24 19:49:45.335713 INFO::Fitting model to feature number 680, F709
## 2023-10-24 19:49:45.339003 INFO::Fitting model to feature number 681, F710
## 2023-10-24 19:49:45.342282 INFO::Fitting model to feature number 682, F711
## 2023-10-24 19:49:45.345592 INFO::Fitting model to feature number 683, F712
## 2023-10-24 19:49:45.348991 INFO::Fitting model to feature number 684, F713
## 2023-10-24 19:49:45.352398 INFO::Fitting model to feature number 685, F714
## 2023-10-24 19:49:45.356339 INFO::Fitting model to feature number 686, F715
## 2023-10-24 19:49:45.360354 INFO::Fitting model to feature number 687, F716
## 2023-10-24 19:49:45.363889 INFO::Fitting model to feature number 688, F717
## 2023-10-24 19:49:45.367302 INFO::Fitting model to feature number 689, F718
## 2023-10-24 19:49:45.370671 INFO::Fitting model to feature number 690, F719
## 2023-10-24 19:49:45.373989 INFO::Fitting model to feature number 691, F720
## 2023-10-24 19:49:45.377334 INFO::Fitting model to feature number 692, F721
## 2023-10-24 19:49:45.38069 INFO::Fitting model to feature number 693, F722
## 2023-10-24 19:49:45.38405 INFO::Fitting model to feature number 694, F723
## 2023-10-24 19:49:45.387455 INFO::Fitting model to feature number 695, F724
## 2023-10-24 19:49:45.390878 INFO::Fitting model to feature number 696, F725
## 2023-10-24 19:49:45.394219 INFO::Fitting model to feature number 697, F726
## 2023-10-24 19:49:45.397539 INFO::Fitting model to feature number 698, F727
## 2023-10-24 19:49:45.400849 INFO::Fitting model to feature number 699, F728
## 2023-10-24 19:49:45.404203 INFO::Fitting model to feature number 700, F729
## 2023-10-24 19:49:45.407567 INFO::Fitting model to feature number 701, F730
## 2023-10-24 19:49:45.410929 INFO::Fitting model to feature number 702, F731
## 2023-10-24 19:49:45.41423 INFO::Fitting model to feature number 703, F732
## 2023-10-24 19:49:45.417514 INFO::Fitting model to feature number 704, F733
## 2023-10-24 19:49:45.420785 INFO::Fitting model to feature number 705, F734
## 2023-10-24 19:49:45.424109 INFO::Fitting model to feature number 706, F735
## 2023-10-24 19:49:45.427431 INFO::Fitting model to feature number 707, F736
## 2023-10-24 19:49:45.430732 INFO::Fitting model to feature number 708, F737
## 2023-10-24 19:49:45.434011 INFO::Fitting model to feature number 709, F739
## 2023-10-24 19:49:45.437323 INFO::Fitting model to feature number 710, F740
## 2023-10-24 19:49:45.440642 INFO::Fitting model to feature number 711, F741
## 2023-10-24 19:49:45.443944 INFO::Fitting model to feature number 712, F742
## 2023-10-24 19:49:45.447242 INFO::Fitting model to feature number 713, F743
## 2023-10-24 19:49:45.450531 INFO::Fitting model to feature number 714, F744
## 2023-10-24 19:49:45.453814 INFO::Fitting model to feature number 715, F745
## 2023-10-24 19:49:45.457115 INFO::Fitting model to feature number 716, F746
## 2023-10-24 19:49:45.460402 INFO::Fitting model to feature number 717, F747
## 2023-10-24 19:49:45.463691 INFO::Fitting model to feature number 718, F748
## 2023-10-24 19:49:45.466968 INFO::Fitting model to feature number 719, F749
## 2023-10-24 19:49:45.470273 INFO::Fitting model to feature number 720, F750
## 2023-10-24 19:49:45.473609 INFO::Fitting model to feature number 721, F751
## 2023-10-24 19:49:45.476945 INFO::Fitting model to feature number 722, F752
## 2023-10-24 19:49:45.48036 INFO::Fitting model to feature number 723, F753
## 2023-10-24 19:49:45.483693 INFO::Fitting model to feature number 724, F754
## 2023-10-24 19:49:45.48705 INFO::Fitting model to feature number 725, F755
## 2023-10-24 19:49:45.490386 INFO::Fitting model to feature number 726, F756
## 2023-10-24 19:49:45.493762 INFO::Fitting model to feature number 727, F757
## 2023-10-24 19:49:45.497119 INFO::Fitting model to feature number 728, F758
## 2023-10-24 19:49:45.500469 INFO::Fitting model to feature number 729, F759
## 2023-10-24 19:49:45.503775 INFO::Fitting model to feature number 730, F760
## 2023-10-24 19:49:45.507006 INFO::Fitting model to feature number 731, F761
## 2023-10-24 19:49:45.510289 INFO::Fitting model to feature number 732, F762
## 2023-10-24 19:49:45.513592 INFO::Fitting model to feature number 733, F763
## 2023-10-24 19:49:45.516892 INFO::Fitting model to feature number 734, F764
## 2023-10-24 19:49:45.520184 INFO::Fitting model to feature number 735, F765
## 2023-10-24 19:49:45.523498 INFO::Fitting model to feature number 736, F766
## 2023-10-24 19:49:45.526826 INFO::Fitting model to feature number 737, F767
## 2023-10-24 19:49:45.530141 INFO::Fitting model to feature number 738, F768
## 2023-10-24 19:49:45.533481 INFO::Fitting model to feature number 739, F769
## 2023-10-24 19:49:45.536829 INFO::Fitting model to feature number 740, F770
## 2023-10-24 19:49:45.540131 INFO::Fitting model to feature number 741, F771
## 2023-10-24 19:49:45.543472 INFO::Fitting model to feature number 742, F772
## 2023-10-24 19:49:45.546849 INFO::Fitting model to feature number 743, F773
## 2023-10-24 19:49:45.550197 INFO::Fitting model to feature number 744, F774
## 2023-10-24 19:49:45.553513 INFO::Fitting model to feature number 745, F775
## 2023-10-24 19:49:45.55683 INFO::Fitting model to feature number 746, F776
## 2023-10-24 19:49:45.560164 INFO::Fitting model to feature number 747, F777
## 2023-10-24 19:49:45.563484 INFO::Fitting model to feature number 748, F778
## 2023-10-24 19:49:45.56687 INFO::Fitting model to feature number 749, F779
## 2023-10-24 19:49:45.570187 INFO::Fitting model to feature number 750, F780
## 2023-10-24 19:49:45.573609 INFO::Fitting model to feature number 751, F781
## 2023-10-24 19:49:45.577098 INFO::Fitting model to feature number 752, F782
## 2023-10-24 19:49:45.58055 INFO::Fitting model to feature number 753, F783
## 2023-10-24 19:49:45.583967 INFO::Fitting model to feature number 754, F784
## 2023-10-24 19:49:45.587371 INFO::Fitting model to feature number 755, F785
## 2023-10-24 19:49:45.590758 INFO::Fitting model to feature number 756, F786
## 2023-10-24 19:49:45.594104 INFO::Fitting model to feature number 757, F787
## 2023-10-24 19:49:45.597501 INFO::Fitting model to feature number 758, F788
## 2023-10-24 19:49:45.640851 INFO::Fitting model to feature number 759, F789
## 2023-10-24 19:49:45.644961 INFO::Fitting model to feature number 760, F790
## 2023-10-24 19:49:45.648763 INFO::Fitting model to feature number 761, F791
## 2023-10-24 19:49:45.652447 INFO::Fitting model to feature number 762, F792
## 2023-10-24 19:49:45.656022 INFO::Fitting model to feature number 763, F793
## 2023-10-24 19:49:45.659536 INFO::Fitting model to feature number 764, F794
## 2023-10-24 19:49:45.663 INFO::Fitting model to feature number 765, F795
## 2023-10-24 19:49:45.666428 INFO::Fitting model to feature number 766, F796
## 2023-10-24 19:49:45.669801 INFO::Fitting model to feature number 767, F797
## 2023-10-24 19:49:45.673142 INFO::Fitting model to feature number 768, F798
## 2023-10-24 19:49:45.676524 INFO::Fitting model to feature number 769, F799
## 2023-10-24 19:49:45.679904 INFO::Fitting model to feature number 770, F800
## 2023-10-24 19:49:45.683256 INFO::Fitting model to feature number 771, F801
## 2023-10-24 19:49:45.68661 INFO::Fitting model to feature number 772, F802
## 2023-10-24 19:49:45.689912 INFO::Fitting model to feature number 773, F803
## 2023-10-24 19:49:45.69323 INFO::Fitting model to feature number 774, F804
## 2023-10-24 19:49:45.696535 INFO::Fitting model to feature number 775, F805
## 2023-10-24 19:49:45.699848 INFO::Fitting model to feature number 776, F806
## 2023-10-24 19:49:45.703159 INFO::Fitting model to feature number 777, F808
## 2023-10-24 19:49:45.706483 INFO::Fitting model to feature number 778, F809
## 2023-10-24 19:49:45.709778 INFO::Fitting model to feature number 779, F810
## 2023-10-24 19:49:45.713077 INFO::Fitting model to feature number 780, F811
## 2023-10-24 19:49:45.716496 INFO::Fitting model to feature number 781, F812
## 2023-10-24 19:49:45.719874 INFO::Fitting model to feature number 782, F813
## 2023-10-24 19:49:45.723208 INFO::Fitting model to feature number 783, F814
## 2023-10-24 19:49:45.726475 INFO::Fitting model to feature number 784, F815
## 2023-10-24 19:49:45.729731 INFO::Fitting model to feature number 785, F816
## 2023-10-24 19:49:45.733018 INFO::Fitting model to feature number 786, F817
## 2023-10-24 19:49:45.736317 INFO::Fitting model to feature number 787, F818
## 2023-10-24 19:49:45.73963 INFO::Fitting model to feature number 788, F819
## 2023-10-24 19:49:45.742943 INFO::Fitting model to feature number 789, F820
## 2023-10-24 19:49:45.74623 INFO::Fitting model to feature number 790, F821
## 2023-10-24 19:49:45.749527 INFO::Fitting model to feature number 791, F822
## 2023-10-24 19:49:45.752821 INFO::Fitting model to feature number 792, F823
## 2023-10-24 19:49:45.756118 INFO::Fitting model to feature number 793, F824
## 2023-10-24 19:49:45.759414 INFO::Fitting model to feature number 794, F825
## 2023-10-24 19:49:45.7627 INFO::Fitting model to feature number 795, F826
## 2023-10-24 19:49:45.765993 INFO::Fitting model to feature number 796, F827
## 2023-10-24 19:49:45.76936 INFO::Fitting model to feature number 797, F828
## 2023-10-24 19:49:45.772719 INFO::Fitting model to feature number 798, F829
## 2023-10-24 19:49:45.776062 INFO::Fitting model to feature number 799, F830
## 2023-10-24 19:49:45.779402 INFO::Fitting model to feature number 800, F831
## 2023-10-24 19:49:45.782737 INFO::Fitting model to feature number 801, F832
## 2023-10-24 19:49:45.786067 INFO::Fitting model to feature number 802, F833
## 2023-10-24 19:49:45.789411 INFO::Fitting model to feature number 803, F834
## 2023-10-24 19:49:45.792768 INFO::Fitting model to feature number 804, F835
## 2023-10-24 19:49:45.796138 INFO::Fitting model to feature number 805, F836
## 2023-10-24 19:49:45.799478 INFO::Fitting model to feature number 806, F837
## 2023-10-24 19:49:45.802822 INFO::Fitting model to feature number 807, F838
## 2023-10-24 19:49:45.806145 INFO::Fitting model to feature number 808, F839
## 2023-10-24 19:49:45.809499 INFO::Fitting model to feature number 809, F840
## 2023-10-24 19:49:45.812866 INFO::Fitting model to feature number 810, F841
## 2023-10-24 19:49:45.816287 INFO::Fitting model to feature number 811, F842
## 2023-10-24 19:49:45.819695 INFO::Fitting model to feature number 812, F843
## 2023-10-24 19:49:45.82312 INFO::Fitting model to feature number 813, F844
## 2023-10-24 19:49:45.826524 INFO::Fitting model to feature number 814, F845
## 2023-10-24 19:49:45.829898 INFO::Fitting model to feature number 815, F846
## 2023-10-24 19:49:45.833267 INFO::Fitting model to feature number 816, F847
## 2023-10-24 19:49:45.836658 INFO::Fitting model to feature number 817, F848
## 2023-10-24 19:49:45.840021 INFO::Fitting model to feature number 818, F849
## 2023-10-24 19:49:45.843369 INFO::Fitting model to feature number 819, F850
## 2023-10-24 19:49:45.84671 INFO::Fitting model to feature number 820, F851
## 2023-10-24 19:49:45.849996 INFO::Fitting model to feature number 821, F852
## 2023-10-24 19:49:45.853338 INFO::Fitting model to feature number 822, F853
## 2023-10-24 19:49:45.856666 INFO::Fitting model to feature number 823, F854
## 2023-10-24 19:49:45.859981 INFO::Fitting model to feature number 824, F855
## 2023-10-24 19:49:45.863286 INFO::Fitting model to feature number 825, F856
## 2023-10-24 19:49:45.866621 INFO::Fitting model to feature number 826, F857
## 2023-10-24 19:49:45.86994 INFO::Fitting model to feature number 827, F858
## 2023-10-24 19:49:45.873277 INFO::Fitting model to feature number 828, F859
## 2023-10-24 19:49:45.876716 INFO::Fitting model to feature number 829, F860
## 2023-10-24 19:49:45.880129 INFO::Fitting model to feature number 830, F861
## 2023-10-24 19:49:45.883555 INFO::Fitting model to feature number 831, F862
## 2023-10-24 19:49:45.886927 INFO::Fitting model to feature number 832, F863
## 2023-10-24 19:49:45.890291 INFO::Fitting model to feature number 833, F864
## 2023-10-24 19:49:45.893703 INFO::Fitting model to feature number 834, F865
## 2023-10-24 19:49:45.897105 INFO::Fitting model to feature number 835, F866
## 2023-10-24 19:49:45.900505 INFO::Fitting model to feature number 836, F867
## 2023-10-24 19:49:45.903888 INFO::Fitting model to feature number 837, F868
## 2023-10-24 19:49:45.907315 INFO::Fitting model to feature number 838, F869
## 2023-10-24 19:49:45.91073 INFO::Fitting model to feature number 839, F870
## 2023-10-24 19:49:45.914155 INFO::Fitting model to feature number 840, F871
## 2023-10-24 19:49:45.917749 INFO::Fitting model to feature number 841, F872
## 2023-10-24 19:49:45.92134 INFO::Fitting model to feature number 842, F873
## 2023-10-24 19:49:45.924865 INFO::Fitting model to feature number 843, F874
## 2023-10-24 19:49:45.928356 INFO::Fitting model to feature number 844, F875
## 2023-10-24 19:49:45.931829 INFO::Fitting model to feature number 845, F876
## 2023-10-24 19:49:45.935316 INFO::Fitting model to feature number 846, F877
## 2023-10-24 19:49:45.938831 INFO::Fitting model to feature number 847, F878
## 2023-10-24 19:49:45.942417 INFO::Fitting model to feature number 848, F879
## 2023-10-24 19:49:45.945971 INFO::Fitting model to feature number 849, F880
## 2023-10-24 19:49:45.949457 INFO::Fitting model to feature number 850, F881
## 2023-10-24 19:49:45.952958 INFO::Fitting model to feature number 851, F882
## 2023-10-24 19:49:45.956456 INFO::Fitting model to feature number 852, F883
## 2023-10-24 19:49:45.959888 INFO::Fitting model to feature number 853, F884
## 2023-10-24 19:49:45.963279 INFO::Fitting model to feature number 854, F885
## 2023-10-24 19:49:45.966638 INFO::Fitting model to feature number 855, F886
## 2023-10-24 19:49:45.969993 INFO::Fitting model to feature number 856, F887
## 2023-10-24 19:49:45.97332 INFO::Fitting model to feature number 857, F888
## 2023-10-24 19:49:45.976638 INFO::Fitting model to feature number 858, F889
## 2023-10-24 19:49:45.979951 INFO::Fitting model to feature number 859, F890
## 2023-10-24 19:49:45.983237 INFO::Fitting model to feature number 860, F891
## 2023-10-24 19:49:45.986524 INFO::Fitting model to feature number 861, F892
## 2023-10-24 19:49:45.989788 INFO::Fitting model to feature number 862, F893
## 2023-10-24 19:49:45.99307 INFO::Fitting model to feature number 863, F894
## 2023-10-24 19:49:45.996332 INFO::Fitting model to feature number 864, F895
## 2023-10-24 19:49:45.999521 INFO::Fitting model to feature number 865, F896
## 2023-10-24 19:49:46.002788 INFO::Fitting model to feature number 866, F897
## 2023-10-24 19:49:46.006036 INFO::Fitting model to feature number 867, F898
## 2023-10-24 19:49:46.009298 INFO::Fitting model to feature number 868, F899
## 2023-10-24 19:49:46.012553 INFO::Fitting model to feature number 869, F900
## 2023-10-24 19:49:46.178226 INFO::Counting total values for each feature
## 2023-10-24 19:49:46.300095 INFO::Writing filtered data to file Macarron_output/maaslin2_results/features/filtered_data.tsv
## 2023-10-24 19:49:46.443924 INFO::Writing filtered, normalized data to file Macarron_output/maaslin2_results/features/filtered_data_norm.tsv
## 2023-10-24 19:49:46.588017 INFO::Writing filtered, normalized, transformed data to file Macarron_output/maaslin2_results/features/filtered_data_norm_transformed.tsv
## 2023-10-24 19:49:46.732203 INFO::Writing residuals to file Macarron_output/maaslin2_results/fits/residuals.rds
## 2023-10-24 19:49:46.794863 INFO::Writing fitted values to file Macarron_output/maaslin2_results/fits/fitted.rds
## 2023-10-24 19:49:46.839659 INFO::Writing all results to file (ordered by increasing q-values): Macarron_output/maaslin2_results/all_results.tsv
## 2023-10-24 19:49:46.861017 INFO::Writing the significant results (those which are less than or equal to the threshold of 0.250000 ) to file (ordered by increasing q-values): Macarron_output/maaslin2_results/significant_results.tsv
## 2023-10-24 19:49:46.870805 INFO::Writing heatmap of significant results to file: Macarron_output/maaslin2_results/heatmap.pdf
## Initiating effect size calculations
## Calculating mean abundance in: IBD
## Calculating mean abundance in: Control
## Calculating effect size in: IBD
## Initiating prioritization
## Assigning ranks
## Calculating meta-rank and prioritizing metabolic features
## 2023-10-24 19:49:47.216694 INFO::Writing all prioritized metabolites to file: Macarron_output/prioritized_metabolites_all.csv
## 2023-10-24 19:49:47.227904 INFO::Writing characterizable prioritized metabolites to file: Macarron_output/prioritized_metabolites_characterizable.csv
## 2023-10-24 19:49:47.255195 INFO::Writing highly prioritized metabolites in IBD to file: Macarron_output/highly_prioritized_per_module_in_IBD.csv

3.3.2 Using dataframes as inputs

abundances_df = read.csv(file = prism_abundances, row.names = 1) # setting features as rownames
annotations_df = read.csv(file = prism_annotations, row.names = 1) # setting features as rownames
metadata_df = read.csv(file = prism_metadata, row.names = 1) # setting samples as rownames 
taxonomy_df = read.csv(file = mets_taxonomy)

# Running Macarron
prism_prioritized <- Macarron::Macarron(input_abundances = abundances_df,
                                        input_annotations = annotations_df,
                                        input_metadata = metadata_df,
                                        input_taxonomy = taxonomy_df)

3.3.3 Running Macarron as individual functions

The Macarron::Macarron() function is a wrapper for the Macarron framework. Users can also apply individual functions on the input dataframes to achieve same results as the wrapper with the added benefit of storing output from each function for other analyses. There are seven steps:

# Step 1: Storing input data in a summarized experiment object
prism_mbx <- prepInput(input_abundances = abundances_df,
                       input_annotations = annotations_df,
                       input_metadata = metadata_df)

# Step 2: Creating a distance matrix from pairwise correlations in abundances of metabolic features
prism_w <- makeDisMat(se = prism_mbx)

# Step 3: Finding covariance modules
prism_modules <- findMacMod(se = prism_mbx,
                            w = prism_w,
                            input_taxonomy = taxonomy_df)
# The output is a list containing two dataframes- module assignments and measures of success
# if evaluateMOS=TRUE. To write modules to a separate dataframe, do:
prism_module_assignments <- prism_modules[[1]]
prism_modules_mos <- prism_modules[[2]]

# Step 4: Calculating AVA
prism_ava <- calAVA(se = prism_mbx,
                    mod.assn = prism_modules)

# Step 5: Calculating q-value
prism_qval <- calQval(se = prism_mbx,
                      mod.assn = prism_modules)

# Step 6: Calculating effect size
prism_es <- calES(se = prism_mbx,
                   mac.qval = prism_qval)

# Step 7: Prioritizing metabolic features
prism_prioritized <- prioritize(se = prism_mbx,
                                mod.assn = prism_modules,
                                mac.ava = prism_ava,
                                mac.qval = prism_qval,
                                mac.es = prism_es)
# The output is a list containing two dataframes- all prioritized metabolic features and
# only characterizable metabolic features.
all_prioritized <- prism_prioritized[[1]]
char_prioritized <- prism_prioritized[[2]]

# Step 8 (optional): View only the highly prioritized metabolic features in each module
prism_highly_prioritized <- showBest(prism_prioritized)

Session info from running the demo in R can be displayed with the following command.

sessionInfo()
## R Under development (unstable) (2023-10-22 r85388)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 22.04.3 LTS
## 
## Matrix products: default
## BLAS:   /home/biocbuild/bbs-3.19-bioc/R/lib/libRblas.so 
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
##  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
##  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
## 
## time zone: America/New_York
## tzcode source: system (glibc)
## 
## attached base packages:
## [1] stats4    stats     graphics  grDevices utils     datasets  methods  
## [8] base     
## 
## other attached packages:
##  [1] Macarron_1.7.0              SummarizedExperiment_1.33.0
##  [3] Biobase_2.63.0              GenomicRanges_1.55.0       
##  [5] GenomeInfoDb_1.39.0         IRanges_2.37.0             
##  [7] S4Vectors_0.41.0            BiocGenerics_0.49.0        
##  [9] MatrixGenerics_1.15.0       matrixStats_1.0.0          
## [11] BiocStyle_2.31.0           
## 
## loaded via a namespace (and not attached):
##   [1] mnormt_2.1.1            DBI_1.1.3               bitops_1.0-7           
##   [4] pbapply_1.7-2           gridExtra_2.3           rlang_1.1.1            
##   [7] magrittr_2.0.3          compiler_4.4.0          RSQLite_2.3.1          
##  [10] png_0.1-8               vctrs_0.6.4             stringr_1.5.0          
##  [13] pkgconfig_2.0.3         crayon_1.5.2            fastmap_1.1.1          
##  [16] backports_1.4.1         XVector_0.43.0          utf8_1.2.4             
##  [19] rmarkdown_2.25          preprocessCore_1.65.0   bit_4.0.5              
##  [22] xfun_0.40               zlibbioc_1.49.0         cachem_1.0.8           
##  [25] jsonlite_1.8.7          blob_1.2.4              DelayedArray_0.29.0    
##  [28] BiocParallel_1.37.0     psych_2.3.9             Maaslin2_1.17.0        
##  [31] parallel_4.4.0          cluster_2.1.4           biglm_0.9-2.1          
##  [34] R6_2.5.1                RColorBrewer_1.1-3      stringi_1.7.12         
##  [37] bslib_0.5.1             rpart_4.1.21            jquerylib_0.1.4        
##  [40] Rcpp_1.0.11             bookdown_0.36           iterators_1.0.14       
##  [43] knitr_1.44              WGCNA_1.72-1            base64enc_0.1-3        
##  [46] Matrix_1.6-1.1          splines_4.4.0           nnet_7.3-19            
##  [49] tidyselect_1.2.0        rstudioapi_0.15.0       abind_1.4-5            
##  [52] yaml_2.3.7              doParallel_1.0.17       codetools_0.2-19       
##  [55] plyr_1.8.9              lattice_0.22-5          tibble_3.2.1           
##  [58] withr_2.5.1             KEGGREST_1.43.0         evaluate_0.22          
##  [61] foreign_0.8-85          survival_3.5-7          getopt_1.20.4          
##  [64] Biostrings_2.71.0       pillar_1.9.0            BiocManager_1.30.22    
##  [67] checkmate_2.2.0         foreach_1.5.2           pcaPP_2.0-3            
##  [70] generics_0.1.3          RCurl_1.98-1.12         ggplot2_3.4.4          
##  [73] munsell_0.5.0           scales_1.2.1            glue_1.6.2             
##  [76] pheatmap_1.0.12         Hmisc_5.1-1             tools_4.4.0            
##  [79] robustbase_0.99-0       data.table_1.14.8       mvtnorm_1.2-3          
##  [82] fastcluster_1.2.3       grid_4.4.0              optparse_1.7.3         
##  [85] impute_1.77.0           AnnotationDbi_1.65.0    colorspace_2.1-0       
##  [88] nlme_3.1-163            GenomeInfoDbData_1.2.11 htmlTable_2.4.1        
##  [91] Formula_1.2-5           cli_3.6.1               fansi_1.0.5            
##  [94] S4Arrays_1.3.0          dplyr_1.1.3             DEoptimR_1.1-3         
##  [97] gtable_0.3.4            hash_2.2.6.3            logging_0.10-108       
## [100] dynamicTreeCut_1.63-1   sass_0.4.7              digest_0.6.33          
## [103] SparseArray_1.3.0       htmlwidgets_1.6.2       memoise_2.0.1          
## [106] htmltools_0.5.6.1       lifecycle_1.0.3         httr_1.4.7             
## [109] GO.db_3.18.0            bit64_4.0.5

3.4 Advanced Topics

3.4.1 Generating the input chemical taxonomy file

The input taxonomy dataframe can be generated using the input metabolic features annotation dataframe using Macarron::decorateID(). This function annotates an HMDB ID or a PubChem CID with the chemical class and subclass of the metabolite.

taxonomy_df <- decorateID(input_annotations = annotations_df)
write.csv(taxonomy_df, file="demo_taxonomy.csv", row.names = FALSE)

3.4.2 Accessory output files

3.4.2.1 Macarron.log

A record of all chosen parameters and steps that were followed during execution.

3.4.2.2 modules_measures_of_success.csv

This file provides information about the properties of covariance modules used in the analysis. By default, modules are generated using a minimum module size (MMS) (argument: min_module_size) equal to cube root of the total number of prevalent metabolic features. Macarron evaluates 9 measures of success (MOS) that collectively capture the “correctness” and chemical homogeneity of the modules. The MOS are as follows:

  • Total modules: Number of modules.
  • Singletons: Number of metabolic features that were not assigned to any module at MMS.
  • % Annotated modules: Percentage of modules that contained at least one annotated metabolic feature.
  • % Consistent assignments: Percentage of times the same metabolic feature was assigned to the same module e.g. if three metabolic features represent glucose, they should all be in the same module. This percentage must be high.
  • Max classes per module: The highest number of chemical classes observed in any module. This is evaluated using the chemical taxonomy of covarying annotated features.
  • 90p classes per module: 90th percentile of classes per module; captures the chemical homogeneity of the modules.
  • Max subclasses per module: The highest number of chemical subclasses observed in any module.
  • 90p subclasses per module: 90th percentile of subclasses per module; captures the chemical homogeneity of the modules.
  • % Features in HAM: Macarron first finds homogeneously annoted modules (HAMs): These are modules in which >75% annotated features have the same chemical class indicating that they are chemically homogeneous. It then calculates how many features the HAMs account for.

3.4.2.3 Maaslin2 results

This folder contains the Maaslin2 log file (maaslin2.log), significant associations found by Maaslin2 (significant_results.tsv) and the linear model residuals file (residuals.rds). For more information, see Maaslin2.

3.4.3 Changing defaults

3.4.3.1 Filtering metabolic features based on prevalence

Ideally, at least 50% metabolic features must be retained after prevalence filtering. By default, Macarron uses the union of metabolic features observed (non-zero abundance) in at least 70% samples of any phenotype for further analysis. This prevalence threshold may be high for some metabolomics datasets and can be changed using the min_prevalence argument.

prism_prioritized <- Macarron::Macarron(input_abundances = abundances_df,
                                        input_annotations = annotations_df,
                                        input_metadata = metadata_df,
                                        input_taxonomy = taxonomy_df,
                                        min_prevalence = 0.5)
# or
prism_w <- makeDisMat(se = prism_mbx,
                      min_prevalence = 0.5)

3.4.4 Minimum module size

By default, cube root of the total number of prevalent features is used as the minimum module size (MMS) (argument: min_module_size) for module detection and generation. We expect this to work for most real world datasets. To determine if the modules are optimal for further analysis, Macarron evaluates several measures of success (MOS) as described above. In addition to evaluating MOS for modules generated using the default MMS, Macarron also evaluates MOS for MMS values that are larger (MMS+5, MMS+10) and smaller (MMS-5, MMS-10) than the default MMS. If you find that the MOS improve with larger or smaller MMS, you may change the default accordingly. For more details about module detection, please see WGCNA and dynamicTreeCut.

# See MOS of modules generated using default
prism_modules <- findMacMod(se = prism_mbx,
                            w = prism_w,
                            input_taxonomy = taxonomy_df)
prism_modules_mos <- prism_modules[[2]]
View(prism_modules_mos)

# Change MMS
prism_modules <- findMacMod(se = prism_mbx,
                            w = prism_w,
                            input_taxonomy = taxonomy_df,
                            min_module_size = 10)

3.4.5 Specifying fixed effects, random effects and reference

Macarron uses Maaslin2 for determining the q-value of differential abundance in a phenotype of interest. For default execution, the phenotype of interest must be a category in column 1 of the metadata dataframe e.g. IBD in diagnosis in the demo. This is also the column that is picked by the metadata_variable argument for identifying the main phenotypes/conditions in any dataset (see Macarron.log file). Further, in the default execution, all columns in the metadata table are considered as fixed effects and the alphabetically first categorical variable in each covariate with two categories is considered as the reference. Maaslin2 requires reference categories to be explicitly defined for all categorical metadata with more than two categories. Defaults can be changed with the arguments fixed_effects, random_effects and reference. In the demo example, fixed effects and reference can be defined as follows:

prism_qval <- calQval(se = prism_mbx,
                      mod.assn = prism_modules,
                      metadata_variable = "diagnosis",
                      fixed_effects = c("diagnosis","age","antibiotics"),
                      reference = c("diagnosis,Control";"antibiotics,No"))

4 Command line invocation

The package source contains a script MacarronCMD.R in inst/scripts to invoke Macarron in the command line using Rscript. The inst/scripts folder also contains a README file that comprehensively documents the usage of the script.