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)
## 2024-04-30 23:56:28.536138 INFO::Creating output folder.
## 2024-04-30 23:56:28.55307 INFO::Writing function arguments to log file
## Samples with both abundances and metadata: 102
## 2024-04-30 23:56:28.615779 INFO::Summarized Experiment created.
## 2024-04-30 23:56:28.617485 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.
## 2024-04-30 23:56:33.198525 INFO::Distance matrix with 869 metabolic features created.
## Initiating module detection
## 2024-04-30 23:56:33.200228 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.
## 2024-04-30 23:56:34.825161 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"
## 2024-04-30 23:56:37.186284 INFO::Writing function arguments to log file
## 2024-04-30 23:56:37.194932 INFO::Verifying options selected are valid
## 2024-04-30 23:56:37.256298 INFO::Determining format of input files
## 2024-04-30 23:56:37.257762 INFO::Input format is data samples as columns and metadata samples as rows
## 2024-04-30 23:56:37.281605 INFO::Formula for fixed effects: expr ~  diagnosis + age + antibiotics
## 2024-04-30 23:56:37.28332 INFO::Filter data based on min abundance and min prevalence
## 2024-04-30 23:56:37.28417 INFO::Total samples in data: 102
## 2024-04-30 23:56:37.284898 INFO::Min samples required with min abundance for a feature not to be filtered: 0.000000
## 2024-04-30 23:56:37.300213 INFO::Total filtered features: 0
## 2024-04-30 23:56:37.301856 INFO::Filtered feature names from abundance and prevalence filtering:
## 2024-04-30 23:56:37.321848 INFO::Total filtered features with variance filtering: 0
## 2024-04-30 23:56:37.322984 INFO::Filtered feature names from variance filtering:
## 2024-04-30 23:56:37.324308 INFO::Running selected normalization method: NONE
## 2024-04-30 23:56:37.325577 INFO::Applying z-score to standardize continuous metadata
## 2024-04-30 23:56:37.349334 INFO::Running selected transform method: NONE
## 2024-04-30 23:56:37.350432 INFO::Running selected analysis method: LM
## 2024-04-30 23:56:37.357076 INFO::Fitting model to feature number 1, F1
## 2024-04-30 23:56:37.36995 INFO::Fitting model to feature number 2, F2
## 2024-04-30 23:56:37.374468 INFO::Fitting model to feature number 3, F3
## 2024-04-30 23:56:37.379646 INFO::Fitting model to feature number 4, F4
## 2024-04-30 23:56:37.385324 INFO::Fitting model to feature number 5, F5
## 2024-04-30 23:56:37.418456 INFO::Fitting model to feature number 6, F6
## 2024-04-30 23:56:37.424147 INFO::Fitting model to feature number 7, F7
## 2024-04-30 23:56:37.428779 INFO::Fitting model to feature number 8, F8
## 2024-04-30 23:56:37.432963 INFO::Fitting model to feature number 9, F9
## 2024-04-30 23:56:37.438973 INFO::Fitting model to feature number 10, F10
## 2024-04-30 23:56:37.443344 INFO::Fitting model to feature number 11, F11
## 2024-04-30 23:56:37.449167 INFO::Fitting model to feature number 12, F12
## 2024-04-30 23:56:37.453765 INFO::Fitting model to feature number 13, F13
## 2024-04-30 23:56:37.459865 INFO::Fitting model to feature number 14, F14
## 2024-04-30 23:56:37.465518 INFO::Fitting model to feature number 15, F15
## 2024-04-30 23:56:37.469783 INFO::Fitting model to feature number 16, F16
## 2024-04-30 23:56:37.474134 INFO::Fitting model to feature number 17, F17
## 2024-04-30 23:56:37.47915 INFO::Fitting model to feature number 18, F18
## 2024-04-30 23:56:37.485286 INFO::Fitting model to feature number 19, F19
## 2024-04-30 23:56:37.489665 INFO::Fitting model to feature number 20, F20
## 2024-04-30 23:56:37.495196 INFO::Fitting model to feature number 21, F21
## 2024-04-30 23:56:37.500691 INFO::Fitting model to feature number 22, F22
## 2024-04-30 23:56:37.504844 INFO::Fitting model to feature number 23, F23
## 2024-04-30 23:56:37.510311 INFO::Fitting model to feature number 24, F24
## 2024-04-30 23:56:37.514871 INFO::Fitting model to feature number 25, F25
## 2024-04-30 23:56:37.519362 INFO::Fitting model to feature number 26, F26
## 2024-04-30 23:56:37.524823 INFO::Fitting model to feature number 27, F27
## 2024-04-30 23:56:37.529284 INFO::Fitting model to feature number 28, F28
## 2024-04-30 23:56:37.534614 INFO::Fitting model to feature number 29, F29
## 2024-04-30 23:56:37.539545 INFO::Fitting model to feature number 30, F30
## 2024-04-30 23:56:37.544497 INFO::Fitting model to feature number 31, F31
## 2024-04-30 23:56:37.549895 INFO::Fitting model to feature number 32, F32
## 2024-04-30 23:56:37.555386 INFO::Fitting model to feature number 33, F33
## 2024-04-30 23:56:37.559893 INFO::Fitting model to feature number 34, F34
## 2024-04-30 23:56:37.565445 INFO::Fitting model to feature number 35, F35
## 2024-04-30 23:56:37.571716 INFO::Fitting model to feature number 36, F36
## 2024-04-30 23:56:37.57748 INFO::Fitting model to feature number 37, F37
## 2024-04-30 23:56:37.583307 INFO::Fitting model to feature number 38, F38
## 2024-04-30 23:56:37.589147 INFO::Fitting model to feature number 39, F39
## 2024-04-30 23:56:37.594973 INFO::Fitting model to feature number 40, F40
## 2024-04-30 23:56:37.60083 INFO::Fitting model to feature number 41, F41
## 2024-04-30 23:56:37.605622 INFO::Fitting model to feature number 42, F43
## 2024-04-30 23:56:37.609787 INFO::Fitting model to feature number 43, F44
## 2024-04-30 23:56:37.61371 INFO::Fitting model to feature number 44, F45
## 2024-04-30 23:56:37.618053 INFO::Fitting model to feature number 45, F46
## 2024-04-30 23:56:37.623225 INFO::Fitting model to feature number 46, F47
## 2024-04-30 23:56:37.62814 INFO::Fitting model to feature number 47, F48
## 2024-04-30 23:56:37.633714 INFO::Fitting model to feature number 48, F49
## 2024-04-30 23:56:37.638711 INFO::Fitting model to feature number 49, F50
## 2024-04-30 23:56:37.642523 INFO::Fitting model to feature number 50, F51
## 2024-04-30 23:56:37.64731 INFO::Fitting model to feature number 51, F52
## 2024-04-30 23:56:37.650978 INFO::Fitting model to feature number 52, F53
## 2024-04-30 23:56:37.655327 INFO::Fitting model to feature number 53, F54
## 2024-04-30 23:56:37.660129 INFO::Fitting model to feature number 54, F55
## 2024-04-30 23:56:37.663927 INFO::Fitting model to feature number 55, F56
## 2024-04-30 23:56:37.668951 INFO::Fitting model to feature number 56, F57
## 2024-04-30 23:56:37.673325 INFO::Fitting model to feature number 57, F58
## 2024-04-30 23:56:37.67732 INFO::Fitting model to feature number 58, F59
## 2024-04-30 23:56:37.681653 INFO::Fitting model to feature number 59, F60
## 2024-04-30 23:56:37.686721 INFO::Fitting model to feature number 60, F63
## 2024-04-30 23:56:37.690332 INFO::Fitting model to feature number 61, F64
## 2024-04-30 23:56:37.694488 INFO::Fitting model to feature number 62, F65
## 2024-04-30 23:56:37.69911 INFO::Fitting model to feature number 63, F66
## 2024-04-30 23:56:37.704105 INFO::Fitting model to feature number 64, F67
## 2024-04-30 23:56:37.709097 INFO::Fitting model to feature number 65, F68
## 2024-04-30 23:56:37.713505 INFO::Fitting model to feature number 66, F69
## 2024-04-30 23:56:37.717904 INFO::Fitting model to feature number 67, F70
## 2024-04-30 23:56:37.721951 INFO::Fitting model to feature number 68, F71
## 2024-04-30 23:56:37.726601 INFO::Fitting model to feature number 69, F72
## 2024-04-30 23:56:37.731158 INFO::Fitting model to feature number 70, F73
## 2024-04-30 23:56:37.734802 INFO::Fitting model to feature number 71, F74
## 2024-04-30 23:56:37.738532 INFO::Fitting model to feature number 72, F76
## 2024-04-30 23:56:37.74225 INFO::Fitting model to feature number 73, F77
## 2024-04-30 23:56:37.746026 INFO::Fitting model to feature number 74, F78
## 2024-04-30 23:56:37.749789 INFO::Fitting model to feature number 75, F79
## 2024-04-30 23:56:37.753507 INFO::Fitting model to feature number 76, F80
## 2024-04-30 23:56:37.757321 INFO::Fitting model to feature number 77, F81
## 2024-04-30 23:56:37.761021 INFO::Fitting model to feature number 78, F82
## 2024-04-30 23:56:37.764746 INFO::Fitting model to feature number 79, F83
## 2024-04-30 23:56:37.768469 INFO::Fitting model to feature number 80, F84
## 2024-04-30 23:56:37.772081 INFO::Fitting model to feature number 81, F85
## 2024-04-30 23:56:37.775668 INFO::Fitting model to feature number 82, F86
## 2024-04-30 23:56:37.779412 INFO::Fitting model to feature number 83, F87
## 2024-04-30 23:56:37.783018 INFO::Fitting model to feature number 84, F88
## 2024-04-30 23:56:37.786631 INFO::Fitting model to feature number 85, F89
## 2024-04-30 23:56:37.790242 INFO::Fitting model to feature number 86, F90
## 2024-04-30 23:56:37.793877 INFO::Fitting model to feature number 87, F91
## 2024-04-30 23:56:37.797442 INFO::Fitting model to feature number 88, F92
## 2024-04-30 23:56:37.801037 INFO::Fitting model to feature number 89, F93
## 2024-04-30 23:56:37.804629 INFO::Fitting model to feature number 90, F94
## 2024-04-30 23:56:37.808185 INFO::Fitting model to feature number 91, F95
## 2024-04-30 23:56:37.811749 INFO::Fitting model to feature number 92, F96
## 2024-04-30 23:56:37.815396 INFO::Fitting model to feature number 93, F97
## 2024-04-30 23:56:37.819032 INFO::Fitting model to feature number 94, F98
## 2024-04-30 23:56:37.822674 INFO::Fitting model to feature number 95, F99
## 2024-04-30 23:56:37.826373 INFO::Fitting model to feature number 96, F100
## 2024-04-30 23:56:37.830069 INFO::Fitting model to feature number 97, F101
## 2024-04-30 23:56:37.833905 INFO::Fitting model to feature number 98, F102
## 2024-04-30 23:56:37.837976 INFO::Fitting model to feature number 99, F103
## 2024-04-30 23:56:37.841806 INFO::Fitting model to feature number 100, F104
## 2024-04-30 23:56:37.845544 INFO::Fitting model to feature number 101, F105
## 2024-04-30 23:56:37.849313 INFO::Fitting model to feature number 102, F106
## 2024-04-30 23:56:37.853045 INFO::Fitting model to feature number 103, F107
## 2024-04-30 23:56:37.856683 INFO::Fitting model to feature number 104, F108
## 2024-04-30 23:56:37.860289 INFO::Fitting model to feature number 105, F109
## 2024-04-30 23:56:37.864016 INFO::Fitting model to feature number 106, F110
## 2024-04-30 23:56:37.86775 INFO::Fitting model to feature number 107, F111
## 2024-04-30 23:56:37.871431 INFO::Fitting model to feature number 108, F112
## 2024-04-30 23:56:37.875083 INFO::Fitting model to feature number 109, F113
## 2024-04-30 23:56:37.878749 INFO::Fitting model to feature number 110, F114
## 2024-04-30 23:56:37.882387 INFO::Fitting model to feature number 111, F115
## 2024-04-30 23:56:37.886057 INFO::Fitting model to feature number 112, F117
## 2024-04-30 23:56:37.889723 INFO::Fitting model to feature number 113, F118
## 2024-04-30 23:56:37.893491 INFO::Fitting model to feature number 114, F119
## 2024-04-30 23:56:37.897164 INFO::Fitting model to feature number 115, F120
## 2024-04-30 23:56:37.900866 INFO::Fitting model to feature number 116, F121
## 2024-04-30 23:56:37.904546 INFO::Fitting model to feature number 117, F122
## 2024-04-30 23:56:37.908218 INFO::Fitting model to feature number 118, F123
## 2024-04-30 23:56:37.913025 INFO::Fitting model to feature number 119, F124
## 2024-04-30 23:56:37.917635 INFO::Fitting model to feature number 120, F125
## 2024-04-30 23:56:37.922687 INFO::Fitting model to feature number 121, F126
## 2024-04-30 23:56:37.928601 INFO::Fitting model to feature number 122, F127
## 2024-04-30 23:56:37.93454 INFO::Fitting model to feature number 123, F128
## 2024-04-30 23:56:37.93869 INFO::Fitting model to feature number 124, F129
## 2024-04-30 23:56:37.943544 INFO::Fitting model to feature number 125, F130
## 2024-04-30 23:56:37.94865 INFO::Fitting model to feature number 126, F131
## 2024-04-30 23:56:37.953498 INFO::Fitting model to feature number 127, F132
## 2024-04-30 23:56:37.957397 INFO::Fitting model to feature number 128, F133
## 2024-04-30 23:56:37.961432 INFO::Fitting model to feature number 129, F134
## 2024-04-30 23:56:37.96531 INFO::Fitting model to feature number 130, F135
## 2024-04-30 23:56:37.96924 INFO::Fitting model to feature number 131, F136
## 2024-04-30 23:56:37.973318 INFO::Fitting model to feature number 132, F137
## 2024-04-30 23:56:37.977206 INFO::Fitting model to feature number 133, F138
## 2024-04-30 23:56:37.983461 INFO::Fitting model to feature number 134, F139
## 2024-04-30 23:56:37.988899 INFO::Fitting model to feature number 135, F140
## 2024-04-30 23:56:37.993318 INFO::Fitting model to feature number 136, F141
## 2024-04-30 23:56:37.998438 INFO::Fitting model to feature number 137, F142
## 2024-04-30 23:56:38.003129 INFO::Fitting model to feature number 138, F143
## 2024-04-30 23:56:38.007178 INFO::Fitting model to feature number 139, F144
## 2024-04-30 23:56:38.011292 INFO::Fitting model to feature number 140, F145
## 2024-04-30 23:56:38.015748 INFO::Fitting model to feature number 141, F146
## 2024-04-30 23:56:38.020264 INFO::Fitting model to feature number 142, F147
## 2024-04-30 23:56:38.026004 INFO::Fitting model to feature number 143, F148
## 2024-04-30 23:56:38.032752 INFO::Fitting model to feature number 144, F149
## 2024-04-30 23:56:38.038329 INFO::Fitting model to feature number 145, F150
## 2024-04-30 23:56:38.044495 INFO::Fitting model to feature number 146, F152
## 2024-04-30 23:56:38.049096 INFO::Fitting model to feature number 147, F153
## 2024-04-30 23:56:38.053325 INFO::Fitting model to feature number 148, F154
## 2024-04-30 23:56:38.057774 INFO::Fitting model to feature number 149, F155
## 2024-04-30 23:56:38.062835 INFO::Fitting model to feature number 150, F156
## 2024-04-30 23:56:38.067479 INFO::Fitting model to feature number 151, F157
## 2024-04-30 23:56:38.072213 INFO::Fitting model to feature number 152, F158
## 2024-04-30 23:56:38.075895 INFO::Fitting model to feature number 153, F159
## 2024-04-30 23:56:38.079506 INFO::Fitting model to feature number 154, F160
## 2024-04-30 23:56:38.083067 INFO::Fitting model to feature number 155, F161
## 2024-04-30 23:56:38.086742 INFO::Fitting model to feature number 156, F162
## 2024-04-30 23:56:38.090402 INFO::Fitting model to feature number 157, F163
## 2024-04-30 23:56:38.094129 INFO::Fitting model to feature number 158, F164
## 2024-04-30 23:56:38.097765 INFO::Fitting model to feature number 159, F165
## 2024-04-30 23:56:38.101532 INFO::Fitting model to feature number 160, F166
## 2024-04-30 23:56:38.10521 INFO::Fitting model to feature number 161, F167
## 2024-04-30 23:56:38.108881 INFO::Fitting model to feature number 162, F168
## 2024-04-30 23:56:38.112588 INFO::Fitting model to feature number 163, F169
## 2024-04-30 23:56:38.116333 INFO::Fitting model to feature number 164, F170
## 2024-04-30 23:56:38.120071 INFO::Fitting model to feature number 165, F171
## 2024-04-30 23:56:38.123723 INFO::Fitting model to feature number 166, F172
## 2024-04-30 23:56:38.174437 INFO::Fitting model to feature number 167, F173
## 2024-04-30 23:56:38.179425 INFO::Fitting model to feature number 168, F174
## 2024-04-30 23:56:38.184929 INFO::Fitting model to feature number 169, F175
## 2024-04-30 23:56:38.188834 INFO::Fitting model to feature number 170, F176
## 2024-04-30 23:56:38.192457 INFO::Fitting model to feature number 171, F177
## 2024-04-30 23:56:38.196193 INFO::Fitting model to feature number 172, F178
## 2024-04-30 23:56:38.199848 INFO::Fitting model to feature number 173, F179
## 2024-04-30 23:56:38.203534 INFO::Fitting model to feature number 174, F180
## 2024-04-30 23:56:38.207217 INFO::Fitting model to feature number 175, F181
## 2024-04-30 23:56:38.210927 INFO::Fitting model to feature number 176, F182
## 2024-04-30 23:56:38.214593 INFO::Fitting model to feature number 177, F183
## 2024-04-30 23:56:38.219427 INFO::Fitting model to feature number 178, F184
## 2024-04-30 23:56:38.225011 INFO::Fitting model to feature number 179, F185
## 2024-04-30 23:56:38.229489 INFO::Fitting model to feature number 180, F186
## 2024-04-30 23:56:38.233085 INFO::Fitting model to feature number 181, F187
## 2024-04-30 23:56:38.23667 INFO::Fitting model to feature number 182, F188
## 2024-04-30 23:56:38.240149 INFO::Fitting model to feature number 183, F189
## 2024-04-30 23:56:38.243739 INFO::Fitting model to feature number 184, F190
## 2024-04-30 23:56:38.247292 INFO::Fitting model to feature number 185, F191
## 2024-04-30 23:56:38.250773 INFO::Fitting model to feature number 186, F192
## 2024-04-30 23:56:38.25423 INFO::Fitting model to feature number 187, F193
## 2024-04-30 23:56:38.258329 INFO::Fitting model to feature number 188, F194
## 2024-04-30 23:56:38.263123 INFO::Fitting model to feature number 189, F195
## 2024-04-30 23:56:38.267486 INFO::Fitting model to feature number 190, F196
## 2024-04-30 23:56:38.271916 INFO::Fitting model to feature number 191, F197
## 2024-04-30 23:56:38.275874 INFO::Fitting model to feature number 192, F198
## 2024-04-30 23:56:38.280809 INFO::Fitting model to feature number 193, F199
## 2024-04-30 23:56:38.285097 INFO::Fitting model to feature number 194, F200
## 2024-04-30 23:56:38.291237 INFO::Fitting model to feature number 195, F201
## 2024-04-30 23:56:38.295897 INFO::Fitting model to feature number 196, F202
## 2024-04-30 23:56:38.301334 INFO::Fitting model to feature number 197, F203
## 2024-04-30 23:56:38.306239 INFO::Fitting model to feature number 198, F204
## 2024-04-30 23:56:38.310124 INFO::Fitting model to feature number 199, F206
## 2024-04-30 23:56:38.316478 INFO::Fitting model to feature number 200, F207
## 2024-04-30 23:56:38.322209 INFO::Fitting model to feature number 201, F208
## 2024-04-30 23:56:38.32754 INFO::Fitting model to feature number 202, F209
## 2024-04-30 23:56:38.333283 INFO::Fitting model to feature number 203, F210
## 2024-04-30 23:56:38.340082 INFO::Fitting model to feature number 204, F211
## 2024-04-30 23:56:38.346082 INFO::Fitting model to feature number 205, F212
## 2024-04-30 23:56:38.351083 INFO::Fitting model to feature number 206, F213
## 2024-04-30 23:56:38.355816 INFO::Fitting model to feature number 207, F214
## 2024-04-30 23:56:38.361577 INFO::Fitting model to feature number 208, F215
## 2024-04-30 23:56:38.367686 INFO::Fitting model to feature number 209, F216
## 2024-04-30 23:56:38.373496 INFO::Fitting model to feature number 210, F217
## 2024-04-30 23:56:38.378411 INFO::Fitting model to feature number 211, F218
## 2024-04-30 23:56:38.383439 INFO::Fitting model to feature number 212, F219
## 2024-04-30 23:56:38.388553 INFO::Fitting model to feature number 213, F220
## 2024-04-30 23:56:38.393219 INFO::Fitting model to feature number 214, F221
## 2024-04-30 23:56:38.398289 INFO::Fitting model to feature number 215, F222
## 2024-04-30 23:56:38.403047 INFO::Fitting model to feature number 216, F223
## 2024-04-30 23:56:38.406845 INFO::Fitting model to feature number 217, F224
## 2024-04-30 23:56:38.41062 INFO::Fitting model to feature number 218, F225
## 2024-04-30 23:56:38.414294 INFO::Fitting model to feature number 219, F226
## 2024-04-30 23:56:38.419353 INFO::Fitting model to feature number 220, F227
## 2024-04-30 23:56:38.423858 INFO::Fitting model to feature number 221, F228
## 2024-04-30 23:56:38.427529 INFO::Fitting model to feature number 222, F229
## 2024-04-30 23:56:38.431219 INFO::Fitting model to feature number 223, F230
## 2024-04-30 23:56:38.436748 INFO::Fitting model to feature number 224, F231
## 2024-04-30 23:56:38.440905 INFO::Fitting model to feature number 225, F232
## 2024-04-30 23:56:38.446241 INFO::Fitting model to feature number 226, F233
## 2024-04-30 23:56:38.451917 INFO::Fitting model to feature number 227, F234
## 2024-04-30 23:56:38.456713 INFO::Fitting model to feature number 228, F235
## 2024-04-30 23:56:38.461733 INFO::Fitting model to feature number 229, F236
## 2024-04-30 23:56:38.467167 INFO::Fitting model to feature number 230, F237
## 2024-04-30 23:56:38.47308 INFO::Fitting model to feature number 231, F238
## 2024-04-30 23:56:38.478977 INFO::Fitting model to feature number 232, F239
## 2024-04-30 23:56:38.485036 INFO::Fitting model to feature number 233, F240
## 2024-04-30 23:56:38.490515 INFO::Fitting model to feature number 234, F241
## 2024-04-30 23:56:38.495737 INFO::Fitting model to feature number 235, F242
## 2024-04-30 23:56:38.501211 INFO::Fitting model to feature number 236, F243
## 2024-04-30 23:56:38.507494 INFO::Fitting model to feature number 237, F244
## 2024-04-30 23:56:38.51312 INFO::Fitting model to feature number 238, F245
## 2024-04-30 23:56:38.518721 INFO::Fitting model to feature number 239, F246
## 2024-04-30 23:56:38.523965 INFO::Fitting model to feature number 240, F247
## 2024-04-30 23:56:38.529224 INFO::Fitting model to feature number 241, F248
## 2024-04-30 23:56:38.534159 INFO::Fitting model to feature number 242, F249
## 2024-04-30 23:56:38.540053 INFO::Fitting model to feature number 243, F250
## 2024-04-30 23:56:38.54586 INFO::Fitting model to feature number 244, F252
## 2024-04-30 23:56:38.551106 INFO::Fitting model to feature number 245, F253
## 2024-04-30 23:56:38.557 INFO::Fitting model to feature number 246, F254
## 2024-04-30 23:56:38.561804 INFO::Fitting model to feature number 247, F255
## 2024-04-30 23:56:38.566687 INFO::Fitting model to feature number 248, F256
## 2024-04-30 23:56:38.571602 INFO::Fitting model to feature number 249, F257
## 2024-04-30 23:56:38.575829 INFO::Fitting model to feature number 250, F259
## 2024-04-30 23:56:38.580199 INFO::Fitting model to feature number 251, F260
## 2024-04-30 23:56:38.585937 INFO::Fitting model to feature number 252, F261
## 2024-04-30 23:56:38.591588 INFO::Fitting model to feature number 253, F262
## 2024-04-30 23:56:38.597474 INFO::Fitting model to feature number 254, F263
## 2024-04-30 23:56:38.604115 INFO::Fitting model to feature number 255, F264
## 2024-04-30 23:56:38.6095 INFO::Fitting model to feature number 256, F265
## 2024-04-30 23:56:38.615493 INFO::Fitting model to feature number 257, F266
## 2024-04-30 23:56:38.620831 INFO::Fitting model to feature number 258, F267
## 2024-04-30 23:56:38.62685 INFO::Fitting model to feature number 259, F269
## 2024-04-30 23:56:38.632223 INFO::Fitting model to feature number 260, F270
## 2024-04-30 23:56:38.638197 INFO::Fitting model to feature number 261, F271
## 2024-04-30 23:56:38.643721 INFO::Fitting model to feature number 262, F272
## 2024-04-30 23:56:38.648371 INFO::Fitting model to feature number 263, F273
## 2024-04-30 23:56:38.652204 INFO::Fitting model to feature number 264, F274
## 2024-04-30 23:56:38.656183 INFO::Fitting model to feature number 265, F276
## 2024-04-30 23:56:38.660009 INFO::Fitting model to feature number 266, F277
## 2024-04-30 23:56:38.663663 INFO::Fitting model to feature number 267, F278
## 2024-04-30 23:56:38.667205 INFO::Fitting model to feature number 268, F279
## 2024-04-30 23:56:38.67113 INFO::Fitting model to feature number 269, F280
## 2024-04-30 23:56:38.674871 INFO::Fitting model to feature number 270, F281
## 2024-04-30 23:56:38.67828 INFO::Fitting model to feature number 271, F282
## 2024-04-30 23:56:38.681791 INFO::Fitting model to feature number 272, F283
## 2024-04-30 23:56:38.685248 INFO::Fitting model to feature number 273, F284
## 2024-04-30 23:56:38.690167 INFO::Fitting model to feature number 274, F285
## 2024-04-30 23:56:38.695862 INFO::Fitting model to feature number 275, F286
## 2024-04-30 23:56:38.701495 INFO::Fitting model to feature number 276, F287
## 2024-04-30 23:56:38.707501 INFO::Fitting model to feature number 277, F288
## 2024-04-30 23:56:38.712987 INFO::Fitting model to feature number 278, F289
## 2024-04-30 23:56:38.717391 INFO::Fitting model to feature number 279, F290
## 2024-04-30 23:56:38.722007 INFO::Fitting model to feature number 280, F292
## 2024-04-30 23:56:38.72688 INFO::Fitting model to feature number 281, F293
## 2024-04-30 23:56:38.732673 INFO::Fitting model to feature number 282, F294
## 2024-04-30 23:56:38.738423 INFO::Fitting model to feature number 283, F295
## 2024-04-30 23:56:38.74303 INFO::Fitting model to feature number 284, F296
## 2024-04-30 23:56:38.748489 INFO::Fitting model to feature number 285, F297
## 2024-04-30 23:56:38.752894 INFO::Fitting model to feature number 286, F298
## 2024-04-30 23:56:38.756484 INFO::Fitting model to feature number 287, F299
## 2024-04-30 23:56:38.76 INFO::Fitting model to feature number 288, F300
## 2024-04-30 23:56:38.76345 INFO::Fitting model to feature number 289, F301
## 2024-04-30 23:56:38.769152 INFO::Fitting model to feature number 290, F302
## 2024-04-30 23:56:38.774484 INFO::Fitting model to feature number 291, F303
## 2024-04-30 23:56:38.778902 INFO::Fitting model to feature number 292, F304
## 2024-04-30 23:56:38.78515 INFO::Fitting model to feature number 293, F305
## 2024-04-30 23:56:38.791003 INFO::Fitting model to feature number 294, F306
## 2024-04-30 23:56:38.797101 INFO::Fitting model to feature number 295, F307
## 2024-04-30 23:56:38.802594 INFO::Fitting model to feature number 296, F308
## 2024-04-30 23:56:38.807726 INFO::Fitting model to feature number 297, F309
## 2024-04-30 23:56:38.812636 INFO::Fitting model to feature number 298, F310
## 2024-04-30 23:56:38.818157 INFO::Fitting model to feature number 299, F311
## 2024-04-30 23:56:38.823008 INFO::Fitting model to feature number 300, F312
## 2024-04-30 23:56:38.828178 INFO::Fitting model to feature number 301, F313
## 2024-04-30 23:56:38.83372 INFO::Fitting model to feature number 302, F315
## 2024-04-30 23:56:38.839294 INFO::Fitting model to feature number 303, F316
## 2024-04-30 23:56:38.843844 INFO::Fitting model to feature number 304, F317
## 2024-04-30 23:56:38.849205 INFO::Fitting model to feature number 305, F318
## 2024-04-30 23:56:38.854635 INFO::Fitting model to feature number 306, F319
## 2024-04-30 23:56:38.859337 INFO::Fitting model to feature number 307, F320
## 2024-04-30 23:56:38.865761 INFO::Fitting model to feature number 308, F321
## 2024-04-30 23:56:38.87189 INFO::Fitting model to feature number 309, F322
## 2024-04-30 23:56:38.876422 INFO::Fitting model to feature number 310, F323
## 2024-04-30 23:56:38.88203 INFO::Fitting model to feature number 311, F324
## 2024-04-30 23:56:38.887092 INFO::Fitting model to feature number 312, F325
## 2024-04-30 23:56:38.893265 INFO::Fitting model to feature number 313, F326
## 2024-04-30 23:56:38.899059 INFO::Fitting model to feature number 314, F327
## 2024-04-30 23:56:38.904366 INFO::Fitting model to feature number 315, F328
## 2024-04-30 23:56:38.908519 INFO::Fitting model to feature number 316, F329
## 2024-04-30 23:56:38.913024 INFO::Fitting model to feature number 317, F330
## 2024-04-30 23:56:38.918878 INFO::Fitting model to feature number 318, F331
## 2024-04-30 23:56:38.92506 INFO::Fitting model to feature number 319, F332
## 2024-04-30 23:56:38.931004 INFO::Fitting model to feature number 320, F333
## 2024-04-30 23:56:38.936081 INFO::Fitting model to feature number 321, F334
## 2024-04-30 23:56:38.941374 INFO::Fitting model to feature number 322, F335
## 2024-04-30 23:56:38.947253 INFO::Fitting model to feature number 323, F336
## 2024-04-30 23:56:38.952575 INFO::Fitting model to feature number 324, F337
## 2024-04-30 23:56:38.958341 INFO::Fitting model to feature number 325, F338
## 2024-04-30 23:56:38.964304 INFO::Fitting model to feature number 326, F339
## 2024-04-30 23:56:38.969711 INFO::Fitting model to feature number 327, F340
## 2024-04-30 23:56:38.975521 INFO::Fitting model to feature number 328, F342
## 2024-04-30 23:56:38.981108 INFO::Fitting model to feature number 329, F343
## 2024-04-30 23:56:38.986539 INFO::Fitting model to feature number 330, F344
## 2024-04-30 23:56:38.990883 INFO::Fitting model to feature number 331, F345
## 2024-04-30 23:56:38.994487 INFO::Fitting model to feature number 332, F346
## 2024-04-30 23:56:38.998105 INFO::Fitting model to feature number 333, F347
## 2024-04-30 23:56:39.001709 INFO::Fitting model to feature number 334, F348
## 2024-04-30 23:56:39.005226 INFO::Fitting model to feature number 335, F350
## 2024-04-30 23:56:39.008744 INFO::Fitting model to feature number 336, F351
## 2024-04-30 23:56:39.012193 INFO::Fitting model to feature number 337, F352
## 2024-04-30 23:56:39.015627 INFO::Fitting model to feature number 338, F353
## 2024-04-30 23:56:39.019079 INFO::Fitting model to feature number 339, F355
## 2024-04-30 23:56:39.022454 INFO::Fitting model to feature number 340, F356
## 2024-04-30 23:56:39.02585 INFO::Fitting model to feature number 341, F357
## 2024-04-30 23:56:39.029189 INFO::Fitting model to feature number 342, F358
## 2024-04-30 23:56:39.032605 INFO::Fitting model to feature number 343, F359
## 2024-04-30 23:56:39.036101 INFO::Fitting model to feature number 344, F360
## 2024-04-30 23:56:39.039621 INFO::Fitting model to feature number 345, F361
## 2024-04-30 23:56:39.043075 INFO::Fitting model to feature number 346, F362
## 2024-04-30 23:56:39.046512 INFO::Fitting model to feature number 347, F363
## 2024-04-30 23:56:39.049987 INFO::Fitting model to feature number 348, F364
## 2024-04-30 23:56:39.053589 INFO::Fitting model to feature number 349, F365
## 2024-04-30 23:56:39.057161 INFO::Fitting model to feature number 350, F366
## 2024-04-30 23:56:39.060679 INFO::Fitting model to feature number 351, F367
## 2024-04-30 23:56:39.06426 INFO::Fitting model to feature number 352, F368
## 2024-04-30 23:56:39.067863 INFO::Fitting model to feature number 353, F369
## 2024-04-30 23:56:39.071324 INFO::Fitting model to feature number 354, F370
## 2024-04-30 23:56:39.074742 INFO::Fitting model to feature number 355, F371
## 2024-04-30 23:56:39.078391 INFO::Fitting model to feature number 356, F372
## 2024-04-30 23:56:39.084081 INFO::Fitting model to feature number 357, F373
## 2024-04-30 23:56:39.089057 INFO::Fitting model to feature number 358, F374
## 2024-04-30 23:56:39.092782 INFO::Fitting model to feature number 359, F375
## 2024-04-30 23:56:39.096457 INFO::Fitting model to feature number 360, F376
## 2024-04-30 23:56:39.100234 INFO::Fitting model to feature number 361, F377
## 2024-04-30 23:56:39.104054 INFO::Fitting model to feature number 362, F378
## 2024-04-30 23:56:39.10787 INFO::Fitting model to feature number 363, F379
## 2024-04-30 23:56:39.111516 INFO::Fitting model to feature number 364, F380
## 2024-04-30 23:56:39.11594 INFO::Fitting model to feature number 365, F381
## 2024-04-30 23:56:39.120747 INFO::Fitting model to feature number 366, F382
## 2024-04-30 23:56:39.124389 INFO::Fitting model to feature number 367, F383
## 2024-04-30 23:56:39.128069 INFO::Fitting model to feature number 368, F384
## 2024-04-30 23:56:39.133077 INFO::Fitting model to feature number 369, F386
## 2024-04-30 23:56:39.138759 INFO::Fitting model to feature number 370, F387
## 2024-04-30 23:56:39.143227 INFO::Fitting model to feature number 371, F388
## 2024-04-30 23:56:39.147125 INFO::Fitting model to feature number 372, F389
## 2024-04-30 23:56:39.152472 INFO::Fitting model to feature number 373, F390
## 2024-04-30 23:56:39.158844 INFO::Fitting model to feature number 374, F391
## 2024-04-30 23:56:39.163898 INFO::Fitting model to feature number 375, F392
## 2024-04-30 23:56:39.169443 INFO::Fitting model to feature number 376, F393
## 2024-04-30 23:56:39.174262 INFO::Fitting model to feature number 377, F394
## 2024-04-30 23:56:39.178187 INFO::Fitting model to feature number 378, F395
## 2024-04-30 23:56:39.183314 INFO::Fitting model to feature number 379, F396
## 2024-04-30 23:56:39.188821 INFO::Fitting model to feature number 380, F397
## 2024-04-30 23:56:39.194373 INFO::Fitting model to feature number 381, F398
## 2024-04-30 23:56:39.200064 INFO::Fitting model to feature number 382, F399
## 2024-04-30 23:56:39.204826 INFO::Fitting model to feature number 383, F400
## 2024-04-30 23:56:39.210404 INFO::Fitting model to feature number 384, F401
## 2024-04-30 23:56:39.215521 INFO::Fitting model to feature number 385, F402
## 2024-04-30 23:56:39.22048 INFO::Fitting model to feature number 386, F403
## 2024-04-30 23:56:39.2243 INFO::Fitting model to feature number 387, F404
## 2024-04-30 23:56:39.229039 INFO::Fitting model to feature number 388, F406
## 2024-04-30 23:56:39.234651 INFO::Fitting model to feature number 389, F407
## 2024-04-30 23:56:39.240258 INFO::Fitting model to feature number 390, F408
## 2024-04-30 23:56:39.244836 INFO::Fitting model to feature number 391, F409
## 2024-04-30 23:56:39.24986 INFO::Fitting model to feature number 392, F410
## 2024-04-30 23:56:39.25539 INFO::Fitting model to feature number 393, F411
## 2024-04-30 23:56:39.2598 INFO::Fitting model to feature number 394, F412
## 2024-04-30 23:56:39.263863 INFO::Fitting model to feature number 395, F413
## 2024-04-30 23:56:39.269958 INFO::Fitting model to feature number 396, F414
## 2024-04-30 23:56:39.274797 INFO::Fitting model to feature number 397, F415
## 2024-04-30 23:56:39.279748 INFO::Fitting model to feature number 398, F416
## 2024-04-30 23:56:39.285784 INFO::Fitting model to feature number 399, F417
## 2024-04-30 23:56:39.291343 INFO::Fitting model to feature number 400, F418
## 2024-04-30 23:56:39.295991 INFO::Fitting model to feature number 401, F419
## 2024-04-30 23:56:39.301045 INFO::Fitting model to feature number 402, F420
## 2024-04-30 23:56:39.306534 INFO::Fitting model to feature number 403, F421
## 2024-04-30 23:56:39.310824 INFO::Fitting model to feature number 404, F422
## 2024-04-30 23:56:39.315767 INFO::Fitting model to feature number 405, F423
## 2024-04-30 23:56:39.32068 INFO::Fitting model to feature number 406, F425
## 2024-04-30 23:56:39.32513 INFO::Fitting model to feature number 407, F426
## 2024-04-30 23:56:39.330205 INFO::Fitting model to feature number 408, F428
## 2024-04-30 23:56:39.335972 INFO::Fitting model to feature number 409, F429
## 2024-04-30 23:56:39.341057 INFO::Fitting model to feature number 410, F430
## 2024-04-30 23:56:39.346269 INFO::Fitting model to feature number 411, F431
## 2024-04-30 23:56:39.351531 INFO::Fitting model to feature number 412, F432
## 2024-04-30 23:56:39.355651 INFO::Fitting model to feature number 413, F433
## 2024-04-30 23:56:39.361448 INFO::Fitting model to feature number 414, F434
## 2024-04-30 23:56:39.367246 INFO::Fitting model to feature number 415, F435
## 2024-04-30 23:56:39.371885 INFO::Fitting model to feature number 416, F436
## 2024-04-30 23:56:39.377933 INFO::Fitting model to feature number 417, F437
## 2024-04-30 23:56:39.382431 INFO::Fitting model to feature number 418, F438
## 2024-04-30 23:56:39.386185 INFO::Fitting model to feature number 419, F439
## 2024-04-30 23:56:39.389907 INFO::Fitting model to feature number 420, F440
## 2024-04-30 23:56:39.393628 INFO::Fitting model to feature number 421, F441
## 2024-04-30 23:56:39.398136 INFO::Fitting model to feature number 422, F442
## 2024-04-30 23:56:39.403812 INFO::Fitting model to feature number 423, F443
## 2024-04-30 23:56:39.408803 INFO::Fitting model to feature number 424, F444
## 2024-04-30 23:56:39.414843 INFO::Fitting model to feature number 425, F445
## 2024-04-30 23:56:39.420283 INFO::Fitting model to feature number 426, F446
## 2024-04-30 23:56:39.425842 INFO::Fitting model to feature number 427, F447
## 2024-04-30 23:56:39.431433 INFO::Fitting model to feature number 428, F448
## 2024-04-30 23:56:39.437445 INFO::Fitting model to feature number 429, F449
## 2024-04-30 23:56:39.442761 INFO::Fitting model to feature number 430, F450
## 2024-04-30 23:56:39.447289 INFO::Fitting model to feature number 431, F451
## 2024-04-30 23:56:39.453312 INFO::Fitting model to feature number 432, F452
## 2024-04-30 23:56:39.458439 INFO::Fitting model to feature number 433, F454
## 2024-04-30 23:56:39.463007 INFO::Fitting model to feature number 434, F455
## 2024-04-30 23:56:39.467113 INFO::Fitting model to feature number 435, F456
## 2024-04-30 23:56:39.471089 INFO::Fitting model to feature number 436, F457
## 2024-04-30 23:56:39.474937 INFO::Fitting model to feature number 437, F458
## 2024-04-30 23:56:39.478692 INFO::Fitting model to feature number 438, F459
## 2024-04-30 23:56:39.482395 INFO::Fitting model to feature number 439, F461
## 2024-04-30 23:56:39.487233 INFO::Fitting model to feature number 440, F462
## 2024-04-30 23:56:39.490927 INFO::Fitting model to feature number 441, F463
## 2024-04-30 23:56:39.49546 INFO::Fitting model to feature number 442, F464
## 2024-04-30 23:56:39.499734 INFO::Fitting model to feature number 443, F465
## 2024-04-30 23:56:39.504804 INFO::Fitting model to feature number 444, F466
## 2024-04-30 23:56:39.509849 INFO::Fitting model to feature number 445, F467
## 2024-04-30 23:56:39.515208 INFO::Fitting model to feature number 446, F468
## 2024-04-30 23:56:39.521134 INFO::Fitting model to feature number 447, F469
## 2024-04-30 23:56:39.527334 INFO::Fitting model to feature number 448, F470
## 2024-04-30 23:56:39.53253 INFO::Fitting model to feature number 449, F471
## 2024-04-30 23:56:39.537288 INFO::Fitting model to feature number 450, F474
## 2024-04-30 23:56:39.543065 INFO::Fitting model to feature number 451, F475
## 2024-04-30 23:56:39.549719 INFO::Fitting model to feature number 452, F476
## 2024-04-30 23:56:39.598177 INFO::Fitting model to feature number 453, F477
## 2024-04-30 23:56:39.603858 INFO::Fitting model to feature number 454, F478
## 2024-04-30 23:56:39.609654 INFO::Fitting model to feature number 455, F479
## 2024-04-30 23:56:39.614389 INFO::Fitting model to feature number 456, F480
## 2024-04-30 23:56:39.619868 INFO::Fitting model to feature number 457, F481
## 2024-04-30 23:56:39.624789 INFO::Fitting model to feature number 458, F482
## 2024-04-30 23:56:39.630376 INFO::Fitting model to feature number 459, F483
## 2024-04-30 23:56:39.635526 INFO::Fitting model to feature number 460, F484
## 2024-04-30 23:56:39.640329 INFO::Fitting model to feature number 461, F485
## 2024-04-30 23:56:39.645528 INFO::Fitting model to feature number 462, F486
## 2024-04-30 23:56:39.650691 INFO::Fitting model to feature number 463, F487
## 2024-04-30 23:56:39.655181 INFO::Fitting model to feature number 464, F488
## 2024-04-30 23:56:39.658971 INFO::Fitting model to feature number 465, F489
## 2024-04-30 23:56:39.662783 INFO::Fitting model to feature number 466, F490
## 2024-04-30 23:56:39.666402 INFO::Fitting model to feature number 467, F491
## 2024-04-30 23:56:39.669958 INFO::Fitting model to feature number 468, F492
## 2024-04-30 23:56:39.67356 INFO::Fitting model to feature number 469, F493
## 2024-04-30 23:56:39.677218 INFO::Fitting model to feature number 470, F494
## 2024-04-30 23:56:39.681633 INFO::Fitting model to feature number 471, F495
## 2024-04-30 23:56:39.687463 INFO::Fitting model to feature number 472, F496
## 2024-04-30 23:56:39.693479 INFO::Fitting model to feature number 473, F497
## 2024-04-30 23:56:39.698662 INFO::Fitting model to feature number 474, F498
## 2024-04-30 23:56:39.703273 INFO::Fitting model to feature number 475, F499
## 2024-04-30 23:56:39.708217 INFO::Fitting model to feature number 476, F500
## 2024-04-30 23:56:39.713575 INFO::Fitting model to feature number 477, F501
## 2024-04-30 23:56:39.719115 INFO::Fitting model to feature number 478, F502
## 2024-04-30 23:56:39.723635 INFO::Fitting model to feature number 479, F503
## 2024-04-30 23:56:39.729245 INFO::Fitting model to feature number 480, F504
## 2024-04-30 23:56:39.734575 INFO::Fitting model to feature number 481, F505
## 2024-04-30 23:56:39.738621 INFO::Fitting model to feature number 482, F506
## 2024-04-30 23:56:39.743165 INFO::Fitting model to feature number 483, F507
## 2024-04-30 23:56:39.747851 INFO::Fitting model to feature number 484, F508
## 2024-04-30 23:56:39.752925 INFO::Fitting model to feature number 485, F509
## 2024-04-30 23:56:39.758059 INFO::Fitting model to feature number 486, F510
## 2024-04-30 23:56:39.763043 INFO::Fitting model to feature number 487, F511
## 2024-04-30 23:56:39.767651 INFO::Fitting model to feature number 488, F512
## 2024-04-30 23:56:39.772831 INFO::Fitting model to feature number 489, F513
## 2024-04-30 23:56:39.7766 INFO::Fitting model to feature number 490, F514
## 2024-04-30 23:56:39.780152 INFO::Fitting model to feature number 491, F515
## 2024-04-30 23:56:39.78377 INFO::Fitting model to feature number 492, F516
## 2024-04-30 23:56:39.787218 INFO::Fitting model to feature number 493, F517
## 2024-04-30 23:56:39.790695 INFO::Fitting model to feature number 494, F518
## 2024-04-30 23:56:39.794196 INFO::Fitting model to feature number 495, F519
## 2024-04-30 23:56:39.797667 INFO::Fitting model to feature number 496, F520
## 2024-04-30 23:56:39.801241 INFO::Fitting model to feature number 497, F521
## 2024-04-30 23:56:39.804829 INFO::Fitting model to feature number 498, F522
## 2024-04-30 23:56:39.808479 INFO::Fitting model to feature number 499, F523
## 2024-04-30 23:56:39.812112 INFO::Fitting model to feature number 500, F524
## 2024-04-30 23:56:39.815664 INFO::Fitting model to feature number 501, F525
## 2024-04-30 23:56:39.819089 INFO::Fitting model to feature number 502, F526
## 2024-04-30 23:56:39.822612 INFO::Fitting model to feature number 503, F527
## 2024-04-30 23:56:39.827566 INFO::Fitting model to feature number 504, F528
## 2024-04-30 23:56:39.831326 INFO::Fitting model to feature number 505, F529
## 2024-04-30 23:56:39.835064 INFO::Fitting model to feature number 506, F530
## 2024-04-30 23:56:39.838758 INFO::Fitting model to feature number 507, F531
## 2024-04-30 23:56:39.843312 INFO::Fitting model to feature number 508, F532
## 2024-04-30 23:56:39.8489 INFO::Fitting model to feature number 509, F533
## 2024-04-30 23:56:39.853776 INFO::Fitting model to feature number 510, F534
## 2024-04-30 23:56:39.858135 INFO::Fitting model to feature number 511, F535
## 2024-04-30 23:56:39.863206 INFO::Fitting model to feature number 512, F536
## 2024-04-30 23:56:39.868138 INFO::Fitting model to feature number 513, F537
## 2024-04-30 23:56:39.872138 INFO::Fitting model to feature number 514, F539
## 2024-04-30 23:56:39.877535 INFO::Fitting model to feature number 515, F540
## 2024-04-30 23:56:39.88278 INFO::Fitting model to feature number 516, F541
## 2024-04-30 23:56:39.888604 INFO::Fitting model to feature number 517, F543
## 2024-04-30 23:56:39.893087 INFO::Fitting model to feature number 518, F544
## 2024-04-30 23:56:39.896902 INFO::Fitting model to feature number 519, F545
## 2024-04-30 23:56:39.900681 INFO::Fitting model to feature number 520, F546
## 2024-04-30 23:56:39.904524 INFO::Fitting model to feature number 521, F547
## 2024-04-30 23:56:39.908198 INFO::Fitting model to feature number 522, F548
## 2024-04-30 23:56:39.911854 INFO::Fitting model to feature number 523, F549
## 2024-04-30 23:56:39.915617 INFO::Fitting model to feature number 524, F550
## 2024-04-30 23:56:39.91929 INFO::Fitting model to feature number 525, F551
## 2024-04-30 23:56:39.922859 INFO::Fitting model to feature number 526, F552
## 2024-04-30 23:56:39.926379 INFO::Fitting model to feature number 527, F553
## 2024-04-30 23:56:39.929892 INFO::Fitting model to feature number 528, F554
## 2024-04-30 23:56:39.933462 INFO::Fitting model to feature number 529, F555
## 2024-04-30 23:56:39.937034 INFO::Fitting model to feature number 530, F556
## 2024-04-30 23:56:39.94055 INFO::Fitting model to feature number 531, F557
## 2024-04-30 23:56:39.943993 INFO::Fitting model to feature number 532, F558
## 2024-04-30 23:56:39.947434 INFO::Fitting model to feature number 533, F559
## 2024-04-30 23:56:39.950884 INFO::Fitting model to feature number 534, F560
## 2024-04-30 23:56:39.954348 INFO::Fitting model to feature number 535, F561
## 2024-04-30 23:56:39.957854 INFO::Fitting model to feature number 536, F562
## 2024-04-30 23:56:39.96151 INFO::Fitting model to feature number 537, F563
## 2024-04-30 23:56:39.965282 INFO::Fitting model to feature number 538, F564
## 2024-04-30 23:56:39.969122 INFO::Fitting model to feature number 539, F566
## 2024-04-30 23:56:39.973017 INFO::Fitting model to feature number 540, F567
## 2024-04-30 23:56:39.976852 INFO::Fitting model to feature number 541, F568
## 2024-04-30 23:56:39.980652 INFO::Fitting model to feature number 542, F569
## 2024-04-30 23:56:39.984383 INFO::Fitting model to feature number 543, F570
## 2024-04-30 23:56:39.988084 INFO::Fitting model to feature number 544, F571
## 2024-04-30 23:56:39.991739 INFO::Fitting model to feature number 545, F572
## 2024-04-30 23:56:39.995456 INFO::Fitting model to feature number 546, F573
## 2024-04-30 23:56:39.999173 INFO::Fitting model to feature number 547, F574
## 2024-04-30 23:56:40.00285 INFO::Fitting model to feature number 548, F575
## 2024-04-30 23:56:40.006445 INFO::Fitting model to feature number 549, F576
## 2024-04-30 23:56:40.010042 INFO::Fitting model to feature number 550, F577
## 2024-04-30 23:56:40.015189 INFO::Fitting model to feature number 551, F578
## 2024-04-30 23:56:40.019953 INFO::Fitting model to feature number 552, F579
## 2024-04-30 23:56:40.02532 INFO::Fitting model to feature number 553, F580
## 2024-04-30 23:56:40.030425 INFO::Fitting model to feature number 554, F581
## 2024-04-30 23:56:40.036244 INFO::Fitting model to feature number 555, F582
## 2024-04-30 23:56:40.041616 INFO::Fitting model to feature number 556, F583
## 2024-04-30 23:56:40.046702 INFO::Fitting model to feature number 557, F584
## 2024-04-30 23:56:40.051426 INFO::Fitting model to feature number 558, F585
## 2024-04-30 23:56:40.055216 INFO::Fitting model to feature number 559, F586
## 2024-04-30 23:56:40.058944 INFO::Fitting model to feature number 560, F587
## 2024-04-30 23:56:40.063437 INFO::Fitting model to feature number 561, F588
## 2024-04-30 23:56:40.067657 INFO::Fitting model to feature number 562, F589
## 2024-04-30 23:56:40.072385 INFO::Fitting model to feature number 563, F590
## 2024-04-30 23:56:40.077174 INFO::Fitting model to feature number 564, F591
## 2024-04-30 23:56:40.081776 INFO::Fitting model to feature number 565, F592
## 2024-04-30 23:56:40.085927 INFO::Fitting model to feature number 566, F593
## 2024-04-30 23:56:40.090393 INFO::Fitting model to feature number 567, F594
## 2024-04-30 23:56:40.095777 INFO::Fitting model to feature number 568, F595
## 2024-04-30 23:56:40.09979 INFO::Fitting model to feature number 569, F596
## 2024-04-30 23:56:40.103895 INFO::Fitting model to feature number 570, F597
## 2024-04-30 23:56:40.108358 INFO::Fitting model to feature number 571, F598
## 2024-04-30 23:56:40.113009 INFO::Fitting model to feature number 572, F599
## 2024-04-30 23:56:40.118245 INFO::Fitting model to feature number 573, F600
## 2024-04-30 23:56:40.12238 INFO::Fitting model to feature number 574, F601
## 2024-04-30 23:56:40.127032 INFO::Fitting model to feature number 575, F602
## 2024-04-30 23:56:40.13208 INFO::Fitting model to feature number 576, F603
## 2024-04-30 23:56:40.136007 INFO::Fitting model to feature number 577, F605
## 2024-04-30 23:56:40.139694 INFO::Fitting model to feature number 578, F606
## 2024-04-30 23:56:40.144333 INFO::Fitting model to feature number 579, F607
## 2024-04-30 23:56:40.148494 INFO::Fitting model to feature number 580, F608
## 2024-04-30 23:56:40.153678 INFO::Fitting model to feature number 581, F609
## 2024-04-30 23:56:40.157573 INFO::Fitting model to feature number 582, F610
## 2024-04-30 23:56:40.161145 INFO::Fitting model to feature number 583, F611
## 2024-04-30 23:56:40.164718 INFO::Fitting model to feature number 584, F612
## 2024-04-30 23:56:40.168254 INFO::Fitting model to feature number 585, F613
## 2024-04-30 23:56:40.171934 INFO::Fitting model to feature number 586, F614
## 2024-04-30 23:56:40.175547 INFO::Fitting model to feature number 587, F615
## 2024-04-30 23:56:40.17909 INFO::Fitting model to feature number 588, F616
## 2024-04-30 23:56:40.18264 INFO::Fitting model to feature number 589, F617
## 2024-04-30 23:56:40.1862 INFO::Fitting model to feature number 590, F618
## 2024-04-30 23:56:40.18991 INFO::Fitting model to feature number 591, F619
## 2024-04-30 23:56:40.193573 INFO::Fitting model to feature number 592, F620
## 2024-04-30 23:56:40.197215 INFO::Fitting model to feature number 593, F621
## 2024-04-30 23:56:40.200781 INFO::Fitting model to feature number 594, F622
## 2024-04-30 23:56:40.204917 INFO::Fitting model to feature number 595, F623
## 2024-04-30 23:56:40.209929 INFO::Fitting model to feature number 596, F624
## 2024-04-30 23:56:40.215078 INFO::Fitting model to feature number 597, F625
## 2024-04-30 23:56:40.219795 INFO::Fitting model to feature number 598, F626
## 2024-04-30 23:56:40.22398 INFO::Fitting model to feature number 599, F627
## 2024-04-30 23:56:40.228418 INFO::Fitting model to feature number 600, F628
## 2024-04-30 23:56:40.233972 INFO::Fitting model to feature number 601, F629
## 2024-04-30 23:56:40.238743 INFO::Fitting model to feature number 602, F630
## 2024-04-30 23:56:40.243048 INFO::Fitting model to feature number 603, F631
## 2024-04-30 23:56:40.24669 INFO::Fitting model to feature number 604, F632
## 2024-04-30 23:56:40.250293 INFO::Fitting model to feature number 605, F633
## 2024-04-30 23:56:40.253802 INFO::Fitting model to feature number 606, F634
## 2024-04-30 23:56:40.257625 INFO::Fitting model to feature number 607, F635
## 2024-04-30 23:56:40.262822 INFO::Fitting model to feature number 608, F636
## 2024-04-30 23:56:40.266535 INFO::Fitting model to feature number 609, F637
## 2024-04-30 23:56:40.270148 INFO::Fitting model to feature number 610, F638
## 2024-04-30 23:56:40.273689 INFO::Fitting model to feature number 611, F639
## 2024-04-30 23:56:40.277233 INFO::Fitting model to feature number 612, F640
## 2024-04-30 23:56:40.280856 INFO::Fitting model to feature number 613, F641
## 2024-04-30 23:56:40.285035 INFO::Fitting model to feature number 614, F642
## 2024-04-30 23:56:40.290694 INFO::Fitting model to feature number 615, F643
## 2024-04-30 23:56:40.295461 INFO::Fitting model to feature number 616, F644
## 2024-04-30 23:56:40.299962 INFO::Fitting model to feature number 617, F645
## 2024-04-30 23:56:40.305578 INFO::Fitting model to feature number 618, F646
## 2024-04-30 23:56:40.311064 INFO::Fitting model to feature number 619, F647
## 2024-04-30 23:56:40.316062 INFO::Fitting model to feature number 620, F648
## 2024-04-30 23:56:40.319822 INFO::Fitting model to feature number 621, F649
## 2024-04-30 23:56:40.323623 INFO::Fitting model to feature number 622, F650
## 2024-04-30 23:56:40.327254 INFO::Fitting model to feature number 623, F651
## 2024-04-30 23:56:40.330786 INFO::Fitting model to feature number 624, F652
## 2024-04-30 23:56:40.334404 INFO::Fitting model to feature number 625, F653
## 2024-04-30 23:56:40.33796 INFO::Fitting model to feature number 626, F654
## 2024-04-30 23:56:40.341511 INFO::Fitting model to feature number 627, F655
## 2024-04-30 23:56:40.345025 INFO::Fitting model to feature number 628, F656
## 2024-04-30 23:56:40.348552 INFO::Fitting model to feature number 629, F657
## 2024-04-30 23:56:40.352217 INFO::Fitting model to feature number 630, F658
## 2024-04-30 23:56:40.355806 INFO::Fitting model to feature number 631, F659
## 2024-04-30 23:56:40.359372 INFO::Fitting model to feature number 632, F660
## 2024-04-30 23:56:40.363069 INFO::Fitting model to feature number 633, F661
## 2024-04-30 23:56:40.366658 INFO::Fitting model to feature number 634, F662
## 2024-04-30 23:56:40.370364 INFO::Fitting model to feature number 635, F663
## 2024-04-30 23:56:40.374041 INFO::Fitting model to feature number 636, F664
## 2024-04-30 23:56:40.377625 INFO::Fitting model to feature number 637, F665
## 2024-04-30 23:56:40.381255 INFO::Fitting model to feature number 638, F666
## 2024-04-30 23:56:40.384828 INFO::Fitting model to feature number 639, F667
## 2024-04-30 23:56:40.388405 INFO::Fitting model to feature number 640, F668
## 2024-04-30 23:56:40.392009 INFO::Fitting model to feature number 641, F669
## 2024-04-30 23:56:40.395598 INFO::Fitting model to feature number 642, F670
## 2024-04-30 23:56:40.399228 INFO::Fitting model to feature number 643, F671
## 2024-04-30 23:56:40.402878 INFO::Fitting model to feature number 644, F672
## 2024-04-30 23:56:40.406529 INFO::Fitting model to feature number 645, F673
## 2024-04-30 23:56:40.410178 INFO::Fitting model to feature number 646, F674
## 2024-04-30 23:56:40.413742 INFO::Fitting model to feature number 647, F675
## 2024-04-30 23:56:40.417316 INFO::Fitting model to feature number 648, F676
## 2024-04-30 23:56:40.420821 INFO::Fitting model to feature number 649, F677
## 2024-04-30 23:56:40.424313 INFO::Fitting model to feature number 650, F678
## 2024-04-30 23:56:40.427772 INFO::Fitting model to feature number 651, F679
## 2024-04-30 23:56:40.431401 INFO::Fitting model to feature number 652, F680
## 2024-04-30 23:56:40.434976 INFO::Fitting model to feature number 653, F681
## 2024-04-30 23:56:40.439166 INFO::Fitting model to feature number 654, F682
## 2024-04-30 23:56:40.443702 INFO::Fitting model to feature number 655, F683
## 2024-04-30 23:56:40.447729 INFO::Fitting model to feature number 656, F684
## 2024-04-30 23:56:40.45321 INFO::Fitting model to feature number 657, F685
## 2024-04-30 23:56:40.458678 INFO::Fitting model to feature number 658, F686
## 2024-04-30 23:56:40.464973 INFO::Fitting model to feature number 659, F687
## 2024-04-30 23:56:40.46921 INFO::Fitting model to feature number 660, F688
## 2024-04-30 23:56:40.47321 INFO::Fitting model to feature number 661, F689
## 2024-04-30 23:56:40.477292 INFO::Fitting model to feature number 662, F690
## 2024-04-30 23:56:40.482148 INFO::Fitting model to feature number 663, F691
## 2024-04-30 23:56:40.48791 INFO::Fitting model to feature number 664, F692
## 2024-04-30 23:56:40.493596 INFO::Fitting model to feature number 665, F693
## 2024-04-30 23:56:40.498928 INFO::Fitting model to feature number 666, F694
## 2024-04-30 23:56:40.504366 INFO::Fitting model to feature number 667, F695
## 2024-04-30 23:56:40.510157 INFO::Fitting model to feature number 668, F696
## 2024-04-30 23:56:40.514852 INFO::Fitting model to feature number 669, F697
## 2024-04-30 23:56:40.520042 INFO::Fitting model to feature number 670, F698
## 2024-04-30 23:56:40.525777 INFO::Fitting model to feature number 671, F699
## 2024-04-30 23:56:40.530105 INFO::Fitting model to feature number 672, F700
## 2024-04-30 23:56:40.535636 INFO::Fitting model to feature number 673, F701
## 2024-04-30 23:56:40.540853 INFO::Fitting model to feature number 674, F702
## 2024-04-30 23:56:40.546378 INFO::Fitting model to feature number 675, F704
## 2024-04-30 23:56:40.550985 INFO::Fitting model to feature number 676, F705
## 2024-04-30 23:56:40.555923 INFO::Fitting model to feature number 677, F706
## 2024-04-30 23:56:40.560384 INFO::Fitting model to feature number 678, F707
## 2024-04-30 23:56:40.564941 INFO::Fitting model to feature number 679, F708
## 2024-04-30 23:56:40.56966 INFO::Fitting model to feature number 680, F709
## 2024-04-30 23:56:40.574129 INFO::Fitting model to feature number 681, F710
## 2024-04-30 23:56:40.579248 INFO::Fitting model to feature number 682, F711
## 2024-04-30 23:56:40.584172 INFO::Fitting model to feature number 683, F712
## 2024-04-30 23:56:40.588877 INFO::Fitting model to feature number 684, F713
## 2024-04-30 23:56:40.594138 INFO::Fitting model to feature number 685, F714
## 2024-04-30 23:56:40.599733 INFO::Fitting model to feature number 686, F715
## 2024-04-30 23:56:40.603767 INFO::Fitting model to feature number 687, F716
## 2024-04-30 23:56:40.608828 INFO::Fitting model to feature number 688, F717
## 2024-04-30 23:56:40.613238 INFO::Fitting model to feature number 689, F718
## 2024-04-30 23:56:40.616857 INFO::Fitting model to feature number 690, F719
## 2024-04-30 23:56:40.620385 INFO::Fitting model to feature number 691, F720
## 2024-04-30 23:56:40.624357 INFO::Fitting model to feature number 692, F721
## 2024-04-30 23:56:40.629304 INFO::Fitting model to feature number 693, F722
## 2024-04-30 23:56:40.634166 INFO::Fitting model to feature number 694, F723
## 2024-04-30 23:56:40.639072 INFO::Fitting model to feature number 695, F724
## 2024-04-30 23:56:40.643466 INFO::Fitting model to feature number 696, F725
## 2024-04-30 23:56:40.64825 INFO::Fitting model to feature number 697, F726
## 2024-04-30 23:56:40.652397 INFO::Fitting model to feature number 698, F727
## 2024-04-30 23:56:40.657646 INFO::Fitting model to feature number 699, F728
## 2024-04-30 23:56:40.66356 INFO::Fitting model to feature number 700, F729
## 2024-04-30 23:56:40.668444 INFO::Fitting model to feature number 701, F730
## 2024-04-30 23:56:40.672938 INFO::Fitting model to feature number 702, F731
## 2024-04-30 23:56:40.677368 INFO::Fitting model to feature number 703, F732
## 2024-04-30 23:56:40.683264 INFO::Fitting model to feature number 704, F733
## 2024-04-30 23:56:40.687968 INFO::Fitting model to feature number 705, F734
## 2024-04-30 23:56:40.69374 INFO::Fitting model to feature number 706, F735
## 2024-04-30 23:56:40.698842 INFO::Fitting model to feature number 707, F736
## 2024-04-30 23:56:40.704725 INFO::Fitting model to feature number 708, F737
## 2024-04-30 23:56:40.709504 INFO::Fitting model to feature number 709, F739
## 2024-04-30 23:56:40.713632 INFO::Fitting model to feature number 710, F740
## 2024-04-30 23:56:40.717491 INFO::Fitting model to feature number 711, F741
## 2024-04-30 23:56:40.722981 INFO::Fitting model to feature number 712, F742
## 2024-04-30 23:56:40.728644 INFO::Fitting model to feature number 713, F743
## 2024-04-30 23:56:40.733963 INFO::Fitting model to feature number 714, F744
## 2024-04-30 23:56:40.738904 INFO::Fitting model to feature number 715, F745
## 2024-04-30 23:56:40.743718 INFO::Fitting model to feature number 716, F746
## 2024-04-30 23:56:40.749713 INFO::Fitting model to feature number 717, F747
## 2024-04-30 23:56:40.755571 INFO::Fitting model to feature number 718, F748
## 2024-04-30 23:56:40.761475 INFO::Fitting model to feature number 719, F749
## 2024-04-30 23:56:40.766101 INFO::Fitting model to feature number 720, F750
## 2024-04-30 23:56:40.770172 INFO::Fitting model to feature number 721, F751
## 2024-04-30 23:56:40.774683 INFO::Fitting model to feature number 722, F752
## 2024-04-30 23:56:40.78045 INFO::Fitting model to feature number 723, F753
## 2024-04-30 23:56:40.785638 INFO::Fitting model to feature number 724, F754
## 2024-04-30 23:56:40.791033 INFO::Fitting model to feature number 725, F755
## 2024-04-30 23:56:40.795593 INFO::Fitting model to feature number 726, F756
## 2024-04-30 23:56:40.801201 INFO::Fitting model to feature number 727, F757
## 2024-04-30 23:56:40.80688 INFO::Fitting model to feature number 728, F758
## 2024-04-30 23:56:40.81263 INFO::Fitting model to feature number 729, F759
## 2024-04-30 23:56:40.852619 INFO::Fitting model to feature number 730, F760
## 2024-04-30 23:56:40.85798 INFO::Fitting model to feature number 731, F761
## 2024-04-30 23:56:40.862632 INFO::Fitting model to feature number 732, F762
## 2024-04-30 23:56:40.866918 INFO::Fitting model to feature number 733, F763
## 2024-04-30 23:56:40.870795 INFO::Fitting model to feature number 734, F764
## 2024-04-30 23:56:40.874405 INFO::Fitting model to feature number 735, F765
## 2024-04-30 23:56:40.877909 INFO::Fitting model to feature number 736, F766
## 2024-04-30 23:56:40.881482 INFO::Fitting model to feature number 737, F767
## 2024-04-30 23:56:40.884993 INFO::Fitting model to feature number 738, F768
## 2024-04-30 23:56:40.888533 INFO::Fitting model to feature number 739, F769
## 2024-04-30 23:56:40.892554 INFO::Fitting model to feature number 740, F770
## 2024-04-30 23:56:40.897368 INFO::Fitting model to feature number 741, F771
## 2024-04-30 23:56:40.901926 INFO::Fitting model to feature number 742, F772
## 2024-04-30 23:56:40.905927 INFO::Fitting model to feature number 743, F773
## 2024-04-30 23:56:40.910696 INFO::Fitting model to feature number 744, F774
## 2024-04-30 23:56:40.914323 INFO::Fitting model to feature number 745, F775
## 2024-04-30 23:56:40.918097 INFO::Fitting model to feature number 746, F776
## 2024-04-30 23:56:40.92184 INFO::Fitting model to feature number 747, F777
## 2024-04-30 23:56:40.925839 INFO::Fitting model to feature number 748, F778
## 2024-04-30 23:56:40.930411 INFO::Fitting model to feature number 749, F779
## 2024-04-30 23:56:40.934932 INFO::Fitting model to feature number 750, F780
## 2024-04-30 23:56:40.940249 INFO::Fitting model to feature number 751, F781
## 2024-04-30 23:56:40.944276 INFO::Fitting model to feature number 752, F782
## 2024-04-30 23:56:40.949018 INFO::Fitting model to feature number 753, F783
## 2024-04-30 23:56:40.954503 INFO::Fitting model to feature number 754, F784
## 2024-04-30 23:56:40.958933 INFO::Fitting model to feature number 755, F785
## 2024-04-30 23:56:40.964497 INFO::Fitting model to feature number 756, F786
## 2024-04-30 23:56:40.97009 INFO::Fitting model to feature number 757, F787
## 2024-04-30 23:56:40.974435 INFO::Fitting model to feature number 758, F788
## 2024-04-30 23:56:40.978492 INFO::Fitting model to feature number 759, F789
## 2024-04-30 23:56:40.983352 INFO::Fitting model to feature number 760, F790
## 2024-04-30 23:56:40.987409 INFO::Fitting model to feature number 761, F791
## 2024-04-30 23:56:40.991557 INFO::Fitting model to feature number 762, F792
## 2024-04-30 23:56:40.995584 INFO::Fitting model to feature number 763, F793
## 2024-04-30 23:56:40.999643 INFO::Fitting model to feature number 764, F794
## 2024-04-30 23:56:41.004187 INFO::Fitting model to feature number 765, F795
## 2024-04-30 23:56:41.008758 INFO::Fitting model to feature number 766, F796
## 2024-04-30 23:56:41.014151 INFO::Fitting model to feature number 767, F797
## 2024-04-30 23:56:41.018054 INFO::Fitting model to feature number 768, F798
## 2024-04-30 23:56:41.022022 INFO::Fitting model to feature number 769, F799
## 2024-04-30 23:56:41.026839 INFO::Fitting model to feature number 770, F800
## 2024-04-30 23:56:41.030688 INFO::Fitting model to feature number 771, F801
## 2024-04-30 23:56:41.034376 INFO::Fitting model to feature number 772, F802
## 2024-04-30 23:56:41.038935 INFO::Fitting model to feature number 773, F803
## 2024-04-30 23:56:41.043597 INFO::Fitting model to feature number 774, F804
## 2024-04-30 23:56:41.047986 INFO::Fitting model to feature number 775, F805
## 2024-04-30 23:56:41.052025 INFO::Fitting model to feature number 776, F806
## 2024-04-30 23:56:41.056131 INFO::Fitting model to feature number 777, F808
## 2024-04-30 23:56:41.061658 INFO::Fitting model to feature number 778, F809
## 2024-04-30 23:56:41.067209 INFO::Fitting model to feature number 779, F810
## 2024-04-30 23:56:41.07337 INFO::Fitting model to feature number 780, F811
## 2024-04-30 23:56:41.079002 INFO::Fitting model to feature number 781, F812
## 2024-04-30 23:56:41.083388 INFO::Fitting model to feature number 782, F813
## 2024-04-30 23:56:41.087674 INFO::Fitting model to feature number 783, F814
## 2024-04-30 23:56:41.093347 INFO::Fitting model to feature number 784, F815
## 2024-04-30 23:56:41.097084 INFO::Fitting model to feature number 785, F816
## 2024-04-30 23:56:41.100543 INFO::Fitting model to feature number 786, F817
## 2024-04-30 23:56:41.104009 INFO::Fitting model to feature number 787, F818
## 2024-04-30 23:56:41.107524 INFO::Fitting model to feature number 788, F819
## 2024-04-30 23:56:41.11101 INFO::Fitting model to feature number 789, F820
## 2024-04-30 23:56:41.114496 INFO::Fitting model to feature number 790, F821
## 2024-04-30 23:56:41.117971 INFO::Fitting model to feature number 791, F822
## 2024-04-30 23:56:41.121438 INFO::Fitting model to feature number 792, F823
## 2024-04-30 23:56:41.124905 INFO::Fitting model to feature number 793, F824
## 2024-04-30 23:56:41.128317 INFO::Fitting model to feature number 794, F825
## 2024-04-30 23:56:41.131844 INFO::Fitting model to feature number 795, F826
## 2024-04-30 23:56:41.135315 INFO::Fitting model to feature number 796, F827
## 2024-04-30 23:56:41.139437 INFO::Fitting model to feature number 797, F828
## 2024-04-30 23:56:41.145091 INFO::Fitting model to feature number 798, F829
## 2024-04-30 23:56:41.15081 INFO::Fitting model to feature number 799, F830
## 2024-04-30 23:56:41.154723 INFO::Fitting model to feature number 800, F831
## 2024-04-30 23:56:41.159922 INFO::Fitting model to feature number 801, F832
## 2024-04-30 23:56:41.164312 INFO::Fitting model to feature number 802, F833
## 2024-04-30 23:56:41.169081 INFO::Fitting model to feature number 803, F834
## 2024-04-30 23:56:41.173562 INFO::Fitting model to feature number 804, F835
## 2024-04-30 23:56:41.177311 INFO::Fitting model to feature number 805, F836
## 2024-04-30 23:56:41.182455 INFO::Fitting model to feature number 806, F837
## 2024-04-30 23:56:41.188139 INFO::Fitting model to feature number 807, F838
## 2024-04-30 23:56:41.192745 INFO::Fitting model to feature number 808, F839
## 2024-04-30 23:56:41.197565 INFO::Fitting model to feature number 809, F840
## 2024-04-30 23:56:41.203259 INFO::Fitting model to feature number 810, F841
## 2024-04-30 23:56:41.208098 INFO::Fitting model to feature number 811, F842
## 2024-04-30 23:56:41.213269 INFO::Fitting model to feature number 812, F843
## 2024-04-30 23:56:41.217897 INFO::Fitting model to feature number 813, F844
## 2024-04-30 23:56:41.221633 INFO::Fitting model to feature number 814, F845
## 2024-04-30 23:56:41.225427 INFO::Fitting model to feature number 815, F846
## 2024-04-30 23:56:41.229236 INFO::Fitting model to feature number 816, F847
## 2024-04-30 23:56:41.23298 INFO::Fitting model to feature number 817, F848
## 2024-04-30 23:56:41.236737 INFO::Fitting model to feature number 818, F849
## 2024-04-30 23:56:41.240412 INFO::Fitting model to feature number 819, F850
## 2024-04-30 23:56:41.244078 INFO::Fitting model to feature number 820, F851
## 2024-04-30 23:56:41.247775 INFO::Fitting model to feature number 821, F852
## 2024-04-30 23:56:41.251461 INFO::Fitting model to feature number 822, F853
## 2024-04-30 23:56:41.255184 INFO::Fitting model to feature number 823, F854
## 2024-04-30 23:56:41.259768 INFO::Fitting model to feature number 824, F855
## 2024-04-30 23:56:41.264805 INFO::Fitting model to feature number 825, F856
## 2024-04-30 23:56:41.270321 INFO::Fitting model to feature number 826, F857
## 2024-04-30 23:56:41.274684 INFO::Fitting model to feature number 827, F858
## 2024-04-30 23:56:41.279647 INFO::Fitting model to feature number 828, F859
## 2024-04-30 23:56:41.283247 INFO::Fitting model to feature number 829, F860
## 2024-04-30 23:56:41.28687 INFO::Fitting model to feature number 830, F861
## 2024-04-30 23:56:41.290532 INFO::Fitting model to feature number 831, F862
## 2024-04-30 23:56:41.294158 INFO::Fitting model to feature number 832, F863
## 2024-04-30 23:56:41.297712 INFO::Fitting model to feature number 833, F864
## 2024-04-30 23:56:41.301804 INFO::Fitting model to feature number 834, F865
## 2024-04-30 23:56:41.307111 INFO::Fitting model to feature number 835, F866
## 2024-04-30 23:56:41.311787 INFO::Fitting model to feature number 836, F867
## 2024-04-30 23:56:41.315447 INFO::Fitting model to feature number 837, F868
## 2024-04-30 23:56:41.320567 INFO::Fitting model to feature number 838, F869
## 2024-04-30 23:56:41.325798 INFO::Fitting model to feature number 839, F870
## 2024-04-30 23:56:41.331631 INFO::Fitting model to feature number 840, F871
## 2024-04-30 23:56:41.337322 INFO::Fitting model to feature number 841, F872
## 2024-04-30 23:56:41.342937 INFO::Fitting model to feature number 842, F873
## 2024-04-30 23:56:41.348173 INFO::Fitting model to feature number 843, F874
## 2024-04-30 23:56:41.35373 INFO::Fitting model to feature number 844, F875
## 2024-04-30 23:56:41.357817 INFO::Fitting model to feature number 845, F876
## 2024-04-30 23:56:41.361487 INFO::Fitting model to feature number 846, F877
## 2024-04-30 23:56:41.365261 INFO::Fitting model to feature number 847, F878
## 2024-04-30 23:56:41.368943 INFO::Fitting model to feature number 848, F879
## 2024-04-30 23:56:41.372681 INFO::Fitting model to feature number 849, F880
## 2024-04-30 23:56:41.3769 INFO::Fitting model to feature number 850, F881
## 2024-04-30 23:56:41.381886 INFO::Fitting model to feature number 851, F882
## 2024-04-30 23:56:41.386167 INFO::Fitting model to feature number 852, F883
## 2024-04-30 23:56:41.39065 INFO::Fitting model to feature number 853, F884
## 2024-04-30 23:56:41.394511 INFO::Fitting model to feature number 854, F885
## 2024-04-30 23:56:41.399007 INFO::Fitting model to feature number 855, F886
## 2024-04-30 23:56:41.403318 INFO::Fitting model to feature number 856, F887
## 2024-04-30 23:56:41.407143 INFO::Fitting model to feature number 857, F888
## 2024-04-30 23:56:41.410854 INFO::Fitting model to feature number 858, F889
## 2024-04-30 23:56:41.41451 INFO::Fitting model to feature number 859, F890
## 2024-04-30 23:56:41.418509 INFO::Fitting model to feature number 860, F891
## 2024-04-30 23:56:41.422413 INFO::Fitting model to feature number 861, F892
## 2024-04-30 23:56:41.426246 INFO::Fitting model to feature number 862, F893
## 2024-04-30 23:56:41.43134 INFO::Fitting model to feature number 863, F894
## 2024-04-30 23:56:41.436256 INFO::Fitting model to feature number 864, F895
## 2024-04-30 23:56:41.441533 INFO::Fitting model to feature number 865, F896
## 2024-04-30 23:56:41.445779 INFO::Fitting model to feature number 866, F897
## 2024-04-30 23:56:41.449812 INFO::Fitting model to feature number 867, F898
## 2024-04-30 23:56:41.453506 INFO::Fitting model to feature number 868, F899
## 2024-04-30 23:56:41.458288 INFO::Fitting model to feature number 869, F900
## 2024-04-30 23:56:41.617368 INFO::Counting total values for each feature
## 2024-04-30 23:56:41.71483 INFO::Writing filtered data to file Macarron_output/maaslin2_results/features/filtered_data.tsv
## 2024-04-30 23:56:41.821378 INFO::Writing filtered, normalized data to file Macarron_output/maaslin2_results/features/filtered_data_norm.tsv
## 2024-04-30 23:56:41.931433 INFO::Writing filtered, normalized, transformed data to file Macarron_output/maaslin2_results/features/filtered_data_norm_transformed.tsv
## 2024-04-30 23:56:42.034024 INFO::Writing residuals to file Macarron_output/maaslin2_results/fits/residuals.rds
## 2024-04-30 23:56:42.083507 INFO::Writing fitted values to file Macarron_output/maaslin2_results/fits/fitted.rds
## 2024-04-30 23:56:42.125612 INFO::Writing all results to file (ordered by increasing q-values): Macarron_output/maaslin2_results/all_results.tsv
## 2024-04-30 23:56:42.148279 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
## 2024-04-30 23:56:42.158417 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
## Calculating meta-rank and prioritizing metabolic features
## 2024-04-30 23:56:42.482769 INFO::Writing all prioritized metabolites to file: Macarron_output/prioritized_metabolites_all.csv
## 2024-04-30 23:56:42.493537 INFO::Writing characterizable prioritized metabolites to file: Macarron_output/prioritized_metabolites_characterizable.csv
## 2024-04-30 23:56:42.522323 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 version 4.4.0 beta (2024-04-14 r86421)
## Platform: x86_64-apple-darwin20
## Running under: macOS Monterey 12.7.1
## 
## Matrix products: default
## BLAS:   /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRblas.0.dylib 
## LAPACK: /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.0
## 
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
## 
## time zone: America/New_York
## tzcode source: internal
## 
## attached base packages:
## [1] stats4    stats     graphics  grDevices utils     datasets  methods  
## [8] base     
## 
## other attached packages:
##  [1] Macarron_1.8.0              SummarizedExperiment_1.34.0
##  [3] Biobase_2.64.0              GenomicRanges_1.56.0       
##  [5] GenomeInfoDb_1.40.0         IRanges_2.38.0             
##  [7] S4Vectors_0.42.0            BiocGenerics_0.50.0        
##  [9] MatrixGenerics_1.16.0       matrixStats_1.3.0          
## [11] BiocStyle_2.32.0           
## 
## loaded via a namespace (and not attached):
##   [1] mnormt_2.1.1            DBI_1.2.2               pbapply_1.7-2          
##   [4] gridExtra_2.3           rlang_1.1.3             magrittr_2.0.3         
##   [7] compiler_4.4.0          RSQLite_2.3.6           png_0.1-8              
##  [10] vctrs_0.6.5             stringr_1.5.1           pkgconfig_2.0.3        
##  [13] crayon_1.5.2            fastmap_1.1.1           backports_1.4.1        
##  [16] XVector_0.44.0          utf8_1.2.4              rmarkdown_2.26         
##  [19] preprocessCore_1.66.0   UCSC.utils_1.0.0        bit_4.0.5              
##  [22] xfun_0.43               zlibbioc_1.50.0         cachem_1.0.8           
##  [25] jsonlite_1.8.8          blob_1.2.4              DelayedArray_0.30.0    
##  [28] BiocParallel_1.38.0     psych_2.4.3             Maaslin2_1.18.0        
##  [31] parallel_4.4.0          cluster_2.1.6           biglm_0.9-2.1          
##  [34] R6_2.5.1                RColorBrewer_1.1-3      stringi_1.8.3          
##  [37] bslib_0.7.0             rpart_4.1.23            jquerylib_0.1.4        
##  [40] Rcpp_1.0.12             bookdown_0.39           iterators_1.0.14       
##  [43] knitr_1.46              WGCNA_1.72-5            base64enc_0.1-3        
##  [46] Matrix_1.7-0            splines_4.4.0           nnet_7.3-19            
##  [49] tidyselect_1.2.1        rstudioapi_0.16.0       abind_1.4-5            
##  [52] yaml_2.3.8              doParallel_1.0.17       codetools_0.2-20       
##  [55] plyr_1.8.9              lattice_0.22-6          tibble_3.2.1           
##  [58] withr_3.0.0             KEGGREST_1.44.0         evaluate_0.23          
##  [61] foreign_0.8-86          survival_3.6-4          getopt_1.20.4          
##  [64] Biostrings_2.72.0       pillar_1.9.0            BiocManager_1.30.22    
##  [67] checkmate_2.3.1         foreach_1.5.2           pcaPP_2.0-4            
##  [70] generics_0.1.3          ggplot2_3.5.1           munsell_0.5.1          
##  [73] scales_1.3.0            glue_1.7.0              pheatmap_1.0.12        
##  [76] Hmisc_5.1-2             tools_4.4.0             robustbase_0.99-2      
##  [79] data.table_1.15.4       mvtnorm_1.2-4           fastcluster_1.2.6      
##  [82] grid_4.4.0              optparse_1.7.5          impute_1.78.0          
##  [85] AnnotationDbi_1.66.0    colorspace_2.1-0        nlme_3.1-164           
##  [88] GenomeInfoDbData_1.2.12 htmlTable_2.4.2         Formula_1.2-5          
##  [91] cli_3.6.2               fansi_1.0.6             S4Arrays_1.4.0         
##  [94] dplyr_1.1.4             DEoptimR_1.1-3          gtable_0.3.5           
##  [97] hash_2.2.6.3            logging_0.10-108        dynamicTreeCut_1.63-1  
## [100] sass_0.4.9              digest_0.6.35           SparseArray_1.4.0      
## [103] htmlwidgets_1.6.4       memoise_2.0.1           htmltools_0.5.8.1      
## [106] lifecycle_1.0.4         httr_1.4.7              GO.db_3.19.1           
## [109] 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.