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':
## 
##     Filter, Find, Map, Position, Reduce, anyDuplicated, aperm, append,
##     as.data.frame, basename, cbind, colnames, dirname, do.call,
##     duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
##     lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
##     pmin.int, rank, rbind, 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':
## 
##     I, expand.grid, 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-05-01 20:06:12.267892 INFO::Creating output folder.
## 2024-05-01 20:06:12.304588 INFO::Writing function arguments to log file
## Samples with both abundances and metadata: 102
## 2024-05-01 20:06:12.488206 INFO::Summarized Experiment created.
## 2024-05-01 20:06:12.492718 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-05-01 20:06:21.3219 INFO::Distance matrix with 869 metabolic features created.
## Initiating module detection
## 2024-05-01 20:06:21.324523 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-05-01 20:06:24.863371 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-05-01 20:06:31.363562 INFO::Writing function arguments to log file
## 2024-05-01 20:06:31.380612 INFO::Verifying options selected are valid
## 2024-05-01 20:06:31.494738 INFO::Determining format of input files
## 2024-05-01 20:06:31.497302 INFO::Input format is data samples as columns and metadata samples as rows
## 2024-05-01 20:06:31.558704 INFO::Formula for fixed effects: expr ~  diagnosis + age + antibiotics
## 2024-05-01 20:06:31.563838 INFO::Filter data based on min abundance and min prevalence
## 2024-05-01 20:06:31.566039 INFO::Total samples in data: 102
## 2024-05-01 20:06:31.567915 INFO::Min samples required with min abundance for a feature not to be filtered: 0.000000
## 2024-05-01 20:06:31.610064 INFO::Total filtered features: 0
## 2024-05-01 20:06:31.612356 INFO::Filtered feature names from abundance and prevalence filtering:
## 2024-05-01 20:06:31.676295 INFO::Total filtered features with variance filtering: 0
## 2024-05-01 20:06:31.678297 INFO::Filtered feature names from variance filtering:
## 2024-05-01 20:06:31.680357 INFO::Running selected normalization method: NONE
## 2024-05-01 20:06:31.682247 INFO::Applying z-score to standardize continuous metadata
## 2024-05-01 20:06:31.727385 INFO::Running selected transform method: NONE
## 2024-05-01 20:06:31.72957 INFO::Running selected analysis method: LM
## 2024-05-01 20:06:31.741982 INFO::Fitting model to feature number 1, F1
## 2024-05-01 20:06:31.762219 INFO::Fitting model to feature number 2, F2
## 2024-05-01 20:06:31.771222 INFO::Fitting model to feature number 3, F3
## 2024-05-01 20:06:31.779774 INFO::Fitting model to feature number 4, F4
## 2024-05-01 20:06:31.789887 INFO::Fitting model to feature number 5, F5
## 2024-05-01 20:06:31.799109 INFO::Fitting model to feature number 6, F6
## 2024-05-01 20:06:31.809643 INFO::Fitting model to feature number 7, F7
## 2024-05-01 20:06:31.819994 INFO::Fitting model to feature number 8, F8
## 2024-05-01 20:06:31.829018 INFO::Fitting model to feature number 9, F9
## 2024-05-01 20:06:31.838183 INFO::Fitting model to feature number 10, F10
## 2024-05-01 20:06:31.886572 INFO::Fitting model to feature number 11, F11
## 2024-05-01 20:06:31.895383 INFO::Fitting model to feature number 12, F12
## 2024-05-01 20:06:31.905413 INFO::Fitting model to feature number 13, F13
## 2024-05-01 20:06:31.916066 INFO::Fitting model to feature number 14, F14
## 2024-05-01 20:06:31.926439 INFO::Fitting model to feature number 15, F15
## 2024-05-01 20:06:31.936849 INFO::Fitting model to feature number 16, F16
## 2024-05-01 20:06:31.946471 INFO::Fitting model to feature number 17, F17
## 2024-05-01 20:06:31.956472 INFO::Fitting model to feature number 18, F18
## 2024-05-01 20:06:31.967115 INFO::Fitting model to feature number 19, F19
## 2024-05-01 20:06:31.976688 INFO::Fitting model to feature number 20, F20
## 2024-05-01 20:06:31.986591 INFO::Fitting model to feature number 21, F21
## 2024-05-01 20:06:31.99784 INFO::Fitting model to feature number 22, F22
## 2024-05-01 20:06:32.008587 INFO::Fitting model to feature number 23, F23
## 2024-05-01 20:06:32.019857 INFO::Fitting model to feature number 24, F24
## 2024-05-01 20:06:32.03145 INFO::Fitting model to feature number 25, F25
## 2024-05-01 20:06:32.041739 INFO::Fitting model to feature number 26, F26
## 2024-05-01 20:06:32.052931 INFO::Fitting model to feature number 27, F27
## 2024-05-01 20:06:32.06337 INFO::Fitting model to feature number 28, F28
## 2024-05-01 20:06:32.073635 INFO::Fitting model to feature number 29, F29
## 2024-05-01 20:06:32.082691 INFO::Fitting model to feature number 30, F30
## 2024-05-01 20:06:32.09237 INFO::Fitting model to feature number 31, F31
## 2024-05-01 20:06:32.125939 INFO::Fitting model to feature number 32, F32
## 2024-05-01 20:06:32.135304 INFO::Fitting model to feature number 33, F33
## 2024-05-01 20:06:32.144737 INFO::Fitting model to feature number 34, F34
## 2024-05-01 20:06:32.153933 INFO::Fitting model to feature number 35, F35
## 2024-05-01 20:06:32.164071 INFO::Fitting model to feature number 36, F36
## 2024-05-01 20:06:32.174061 INFO::Fitting model to feature number 37, F37
## 2024-05-01 20:06:32.184454 INFO::Fitting model to feature number 38, F38
## 2024-05-01 20:06:32.194062 INFO::Fitting model to feature number 39, F39
## 2024-05-01 20:06:32.204392 INFO::Fitting model to feature number 40, F40
## 2024-05-01 20:06:32.213724 INFO::Fitting model to feature number 41, F41
## 2024-05-01 20:06:32.223403 INFO::Fitting model to feature number 42, F43
## 2024-05-01 20:06:32.232895 INFO::Fitting model to feature number 43, F44
## 2024-05-01 20:06:32.243181 INFO::Fitting model to feature number 44, F45
## 2024-05-01 20:06:32.254014 INFO::Fitting model to feature number 45, F46
## 2024-05-01 20:06:32.264266 INFO::Fitting model to feature number 46, F47
## 2024-05-01 20:06:32.273931 INFO::Fitting model to feature number 47, F48
## 2024-05-01 20:06:32.284714 INFO::Fitting model to feature number 48, F49
## 2024-05-01 20:06:32.294996 INFO::Fitting model to feature number 49, F50
## 2024-05-01 20:06:32.30482 INFO::Fitting model to feature number 50, F51
## 2024-05-01 20:06:32.316362 INFO::Fitting model to feature number 51, F52
## 2024-05-01 20:06:32.326661 INFO::Fitting model to feature number 52, F53
## 2024-05-01 20:06:32.33708 INFO::Fitting model to feature number 53, F54
## 2024-05-01 20:06:32.347236 INFO::Fitting model to feature number 54, F55
## 2024-05-01 20:06:32.357162 INFO::Fitting model to feature number 55, F56
## 2024-05-01 20:06:32.367546 INFO::Fitting model to feature number 56, F57
## 2024-05-01 20:06:32.377052 INFO::Fitting model to feature number 57, F58
## 2024-05-01 20:06:32.388025 INFO::Fitting model to feature number 58, F59
## 2024-05-01 20:06:32.398413 INFO::Fitting model to feature number 59, F60
## 2024-05-01 20:06:32.409559 INFO::Fitting model to feature number 60, F63
## 2024-05-01 20:06:32.420027 INFO::Fitting model to feature number 61, F64
## 2024-05-01 20:06:32.432512 INFO::Fitting model to feature number 62, F65
## 2024-05-01 20:06:32.44294 INFO::Fitting model to feature number 63, F66
## 2024-05-01 20:06:32.45332 INFO::Fitting model to feature number 64, F67
## 2024-05-01 20:06:32.462629 INFO::Fitting model to feature number 65, F68
## 2024-05-01 20:06:32.472472 INFO::Fitting model to feature number 66, F69
## 2024-05-01 20:06:32.483096 INFO::Fitting model to feature number 67, F70
## 2024-05-01 20:06:32.492458 INFO::Fitting model to feature number 68, F71
## 2024-05-01 20:06:32.502923 INFO::Fitting model to feature number 69, F72
## 2024-05-01 20:06:32.513282 INFO::Fitting model to feature number 70, F73
## 2024-05-01 20:06:32.523833 INFO::Fitting model to feature number 71, F74
## 2024-05-01 20:06:32.534069 INFO::Fitting model to feature number 72, F76
## 2024-05-01 20:06:32.544443 INFO::Fitting model to feature number 73, F77
## 2024-05-01 20:06:32.555208 INFO::Fitting model to feature number 74, F78
## 2024-05-01 20:06:32.566021 INFO::Fitting model to feature number 75, F79
## 2024-05-01 20:06:32.577331 INFO::Fitting model to feature number 76, F80
## 2024-05-01 20:06:32.588845 INFO::Fitting model to feature number 77, F81
## 2024-05-01 20:06:32.599629 INFO::Fitting model to feature number 78, F82
## 2024-05-01 20:06:32.610117 INFO::Fitting model to feature number 79, F83
## 2024-05-01 20:06:32.620263 INFO::Fitting model to feature number 80, F84
## 2024-05-01 20:06:32.630657 INFO::Fitting model to feature number 81, F85
## 2024-05-01 20:06:32.641274 INFO::Fitting model to feature number 82, F86
## 2024-05-01 20:06:32.651578 INFO::Fitting model to feature number 83, F87
## 2024-05-01 20:06:32.661645 INFO::Fitting model to feature number 84, F88
## 2024-05-01 20:06:32.672312 INFO::Fitting model to feature number 85, F89
## 2024-05-01 20:06:32.682126 INFO::Fitting model to feature number 86, F90
## 2024-05-01 20:06:32.69202 INFO::Fitting model to feature number 87, F91
## 2024-05-01 20:06:32.702261 INFO::Fitting model to feature number 88, F92
## 2024-05-01 20:06:32.712733 INFO::Fitting model to feature number 89, F93
## 2024-05-01 20:06:32.723262 INFO::Fitting model to feature number 90, F94
## 2024-05-01 20:06:32.73465 INFO::Fitting model to feature number 91, F95
## 2024-05-01 20:06:32.745192 INFO::Fitting model to feature number 92, F96
## 2024-05-01 20:06:32.756043 INFO::Fitting model to feature number 93, F97
## 2024-05-01 20:06:32.766721 INFO::Fitting model to feature number 94, F98
## 2024-05-01 20:06:32.776992 INFO::Fitting model to feature number 95, F99
## 2024-05-01 20:06:32.786281 INFO::Fitting model to feature number 96, F100
## 2024-05-01 20:06:32.796393 INFO::Fitting model to feature number 97, F101
## 2024-05-01 20:06:32.806589 INFO::Fitting model to feature number 98, F102
## 2024-05-01 20:06:32.816603 INFO::Fitting model to feature number 99, F103
## 2024-05-01 20:06:32.826822 INFO::Fitting model to feature number 100, F104
## 2024-05-01 20:06:32.837658 INFO::Fitting model to feature number 101, F105
## 2024-05-01 20:06:32.848491 INFO::Fitting model to feature number 102, F106
## 2024-05-01 20:06:32.858323 INFO::Fitting model to feature number 103, F107
## 2024-05-01 20:06:32.869444 INFO::Fitting model to feature number 104, F108
## 2024-05-01 20:06:32.880161 INFO::Fitting model to feature number 105, F109
## 2024-05-01 20:06:32.890816 INFO::Fitting model to feature number 106, F110
## 2024-05-01 20:06:32.901264 INFO::Fitting model to feature number 107, F111
## 2024-05-01 20:06:32.911885 INFO::Fitting model to feature number 108, F112
## 2024-05-01 20:06:32.922176 INFO::Fitting model to feature number 109, F113
## 2024-05-01 20:06:32.932358 INFO::Fitting model to feature number 110, F114
## 2024-05-01 20:06:32.942781 INFO::Fitting model to feature number 111, F115
## 2024-05-01 20:06:32.953409 INFO::Fitting model to feature number 112, F117
## 2024-05-01 20:06:32.963466 INFO::Fitting model to feature number 113, F118
## 2024-05-01 20:06:32.973913 INFO::Fitting model to feature number 114, F119
## 2024-05-01 20:06:32.984242 INFO::Fitting model to feature number 115, F120
## 2024-05-01 20:06:32.994197 INFO::Fitting model to feature number 116, F121
## 2024-05-01 20:06:33.005501 INFO::Fitting model to feature number 117, F122
## 2024-05-01 20:06:33.015447 INFO::Fitting model to feature number 118, F123
## 2024-05-01 20:06:33.025307 INFO::Fitting model to feature number 119, F124
## 2024-05-01 20:06:33.034734 INFO::Fitting model to feature number 120, F125
## 2024-05-01 20:06:33.045665 INFO::Fitting model to feature number 121, F126
## 2024-05-01 20:06:33.056433 INFO::Fitting model to feature number 122, F127
## 2024-05-01 20:06:33.066741 INFO::Fitting model to feature number 123, F128
## 2024-05-01 20:06:33.076896 INFO::Fitting model to feature number 124, F129
## 2024-05-01 20:06:33.086944 INFO::Fitting model to feature number 125, F130
## 2024-05-01 20:06:33.097728 INFO::Fitting model to feature number 126, F131
## 2024-05-01 20:06:33.107835 INFO::Fitting model to feature number 127, F132
## 2024-05-01 20:06:33.118506 INFO::Fitting model to feature number 128, F133
## 2024-05-01 20:06:33.128803 INFO::Fitting model to feature number 129, F134
## 2024-05-01 20:06:33.138884 INFO::Fitting model to feature number 130, F135
## 2024-05-01 20:06:33.149802 INFO::Fitting model to feature number 131, F136
## 2024-05-01 20:06:33.160959 INFO::Fitting model to feature number 132, F137
## 2024-05-01 20:06:33.171274 INFO::Fitting model to feature number 133, F138
## 2024-05-01 20:06:33.181743 INFO::Fitting model to feature number 134, F139
## 2024-05-01 20:06:33.191896 INFO::Fitting model to feature number 135, F140
## 2024-05-01 20:06:33.202623 INFO::Fitting model to feature number 136, F141
## 2024-05-01 20:06:33.212824 INFO::Fitting model to feature number 137, F142
## 2024-05-01 20:06:33.223041 INFO::Fitting model to feature number 138, F143
## 2024-05-01 20:06:33.23267 INFO::Fitting model to feature number 139, F144
## 2024-05-01 20:06:33.242621 INFO::Fitting model to feature number 140, F145
## 2024-05-01 20:06:33.252339 INFO::Fitting model to feature number 141, F146
## 2024-05-01 20:06:33.262689 INFO::Fitting model to feature number 142, F147
## 2024-05-01 20:06:33.273269 INFO::Fitting model to feature number 143, F148
## 2024-05-01 20:06:33.284676 INFO::Fitting model to feature number 144, F149
## 2024-05-01 20:06:33.294133 INFO::Fitting model to feature number 145, F150
## 2024-05-01 20:06:33.304557 INFO::Fitting model to feature number 146, F152
## 2024-05-01 20:06:33.314456 INFO::Fitting model to feature number 147, F153
## 2024-05-01 20:06:33.324432 INFO::Fitting model to feature number 148, F154
## 2024-05-01 20:06:33.334315 INFO::Fitting model to feature number 149, F155
## 2024-05-01 20:06:33.344441 INFO::Fitting model to feature number 150, F156
## 2024-05-01 20:06:33.35408 INFO::Fitting model to feature number 151, F157
## 2024-05-01 20:06:33.364357 INFO::Fitting model to feature number 152, F158
## 2024-05-01 20:06:33.374569 INFO::Fitting model to feature number 153, F159
## 2024-05-01 20:06:33.384423 INFO::Fitting model to feature number 154, F160
## 2024-05-01 20:06:33.394413 INFO::Fitting model to feature number 155, F161
## 2024-05-01 20:06:33.404012 INFO::Fitting model to feature number 156, F162
## 2024-05-01 20:06:33.413933 INFO::Fitting model to feature number 157, F163
## 2024-05-01 20:06:33.424158 INFO::Fitting model to feature number 158, F164
## 2024-05-01 20:06:33.434209 INFO::Fitting model to feature number 159, F165
## 2024-05-01 20:06:33.444458 INFO::Fitting model to feature number 160, F166
## 2024-05-01 20:06:33.455669 INFO::Fitting model to feature number 161, F167
## 2024-05-01 20:06:33.465897 INFO::Fitting model to feature number 162, F168
## 2024-05-01 20:06:33.476237 INFO::Fitting model to feature number 163, F169
## 2024-05-01 20:06:33.485707 INFO::Fitting model to feature number 164, F170
## 2024-05-01 20:06:33.49535 INFO::Fitting model to feature number 165, F171
## 2024-05-01 20:06:33.505429 INFO::Fitting model to feature number 166, F172
## 2024-05-01 20:06:33.516126 INFO::Fitting model to feature number 167, F173
## 2024-05-01 20:06:33.525392 INFO::Fitting model to feature number 168, F174
## 2024-05-01 20:06:33.535613 INFO::Fitting model to feature number 169, F175
## 2024-05-01 20:06:33.545915 INFO::Fitting model to feature number 170, F176
## 2024-05-01 20:06:33.556083 INFO::Fitting model to feature number 171, F177
## 2024-05-01 20:06:33.567786 INFO::Fitting model to feature number 172, F178
## 2024-05-01 20:06:33.577984 INFO::Fitting model to feature number 173, F179
## 2024-05-01 20:06:33.588508 INFO::Fitting model to feature number 174, F180
## 2024-05-01 20:06:33.599606 INFO::Fitting model to feature number 175, F181
## 2024-05-01 20:06:33.610456 INFO::Fitting model to feature number 176, F182
## 2024-05-01 20:06:33.621599 INFO::Fitting model to feature number 177, F183
## 2024-05-01 20:06:33.629805 INFO::Fitting model to feature number 178, F184
## 2024-05-01 20:06:33.63924 INFO::Fitting model to feature number 179, F185
## 2024-05-01 20:06:33.649735 INFO::Fitting model to feature number 180, F186
## 2024-05-01 20:06:33.659881 INFO::Fitting model to feature number 181, F187
## 2024-05-01 20:06:33.670698 INFO::Fitting model to feature number 182, F188
## 2024-05-01 20:06:33.680378 INFO::Fitting model to feature number 183, F189
## 2024-05-01 20:06:33.690866 INFO::Fitting model to feature number 184, F190
## 2024-05-01 20:06:33.701192 INFO::Fitting model to feature number 185, F191
## 2024-05-01 20:06:33.711437 INFO::Fitting model to feature number 186, F192
## 2024-05-01 20:06:33.721375 INFO::Fitting model to feature number 187, F193
## 2024-05-01 20:06:33.731187 INFO::Fitting model to feature number 188, F194
## 2024-05-01 20:06:33.74182 INFO::Fitting model to feature number 189, F195
## 2024-05-01 20:06:33.752118 INFO::Fitting model to feature number 190, F196
## 2024-05-01 20:06:33.76265 INFO::Fitting model to feature number 191, F197
## 2024-05-01 20:06:33.773072 INFO::Fitting model to feature number 192, F198
## 2024-05-01 20:06:33.783695 INFO::Fitting model to feature number 193, F199
## 2024-05-01 20:06:33.79349 INFO::Fitting model to feature number 194, F200
## 2024-05-01 20:06:33.802862 INFO::Fitting model to feature number 195, F201
## 2024-05-01 20:06:33.812184 INFO::Fitting model to feature number 196, F202
## 2024-05-01 20:06:33.822037 INFO::Fitting model to feature number 197, F203
## 2024-05-01 20:06:33.831589 INFO::Fitting model to feature number 198, F204
## 2024-05-01 20:06:33.841335 INFO::Fitting model to feature number 199, F206
## 2024-05-01 20:06:33.851082 INFO::Fitting model to feature number 200, F207
## 2024-05-01 20:06:33.860143 INFO::Fitting model to feature number 201, F208
## 2024-05-01 20:06:33.868707 INFO::Fitting model to feature number 202, F209
## 2024-05-01 20:06:33.878271 INFO::Fitting model to feature number 203, F210
## 2024-05-01 20:06:33.887996 INFO::Fitting model to feature number 204, F211
## 2024-05-01 20:06:33.897364 INFO::Fitting model to feature number 205, F212
## 2024-05-01 20:06:33.907299 INFO::Fitting model to feature number 206, F213
## 2024-05-01 20:06:33.917126 INFO::Fitting model to feature number 207, F214
## 2024-05-01 20:06:33.927751 INFO::Fitting model to feature number 208, F215
## 2024-05-01 20:06:33.937534 INFO::Fitting model to feature number 209, F216
## 2024-05-01 20:06:33.947857 INFO::Fitting model to feature number 210, F217
## 2024-05-01 20:06:33.958921 INFO::Fitting model to feature number 211, F218
## 2024-05-01 20:06:33.969717 INFO::Fitting model to feature number 212, F219
## 2024-05-01 20:06:33.979771 INFO::Fitting model to feature number 213, F220
## 2024-05-01 20:06:33.990243 INFO::Fitting model to feature number 214, F221
## 2024-05-01 20:06:34.00019 INFO::Fitting model to feature number 215, F222
## 2024-05-01 20:06:34.010353 INFO::Fitting model to feature number 216, F223
## 2024-05-01 20:06:34.019938 INFO::Fitting model to feature number 217, F224
## 2024-05-01 20:06:34.02987 INFO::Fitting model to feature number 218, F225
## 2024-05-01 20:06:34.040704 INFO::Fitting model to feature number 219, F226
## 2024-05-01 20:06:34.050891 INFO::Fitting model to feature number 220, F227
## 2024-05-01 20:06:34.06111 INFO::Fitting model to feature number 221, F228
## 2024-05-01 20:06:34.134981 INFO::Fitting model to feature number 222, F229
## 2024-05-01 20:06:34.144862 INFO::Fitting model to feature number 223, F230
## 2024-05-01 20:06:34.155182 INFO::Fitting model to feature number 224, F231
## 2024-05-01 20:06:34.165071 INFO::Fitting model to feature number 225, F232
## 2024-05-01 20:06:34.175022 INFO::Fitting model to feature number 226, F233
## 2024-05-01 20:06:34.184443 INFO::Fitting model to feature number 227, F234
## 2024-05-01 20:06:34.19399 INFO::Fitting model to feature number 228, F235
## 2024-05-01 20:06:34.203457 INFO::Fitting model to feature number 229, F236
## 2024-05-01 20:06:34.212946 INFO::Fitting model to feature number 230, F237
## 2024-05-01 20:06:34.222276 INFO::Fitting model to feature number 231, F238
## 2024-05-01 20:06:34.231724 INFO::Fitting model to feature number 232, F239
## 2024-05-01 20:06:34.241354 INFO::Fitting model to feature number 233, F240
## 2024-05-01 20:06:34.250659 INFO::Fitting model to feature number 234, F241
## 2024-05-01 20:06:34.259271 INFO::Fitting model to feature number 235, F242
## 2024-05-01 20:06:34.268802 INFO::Fitting model to feature number 236, F243
## 2024-05-01 20:06:34.317586 INFO::Fitting model to feature number 237, F244
## 2024-05-01 20:06:34.326438 INFO::Fitting model to feature number 238, F245
## 2024-05-01 20:06:34.335668 INFO::Fitting model to feature number 239, F246
## 2024-05-01 20:06:34.344937 INFO::Fitting model to feature number 240, F247
## 2024-05-01 20:06:34.354088 INFO::Fitting model to feature number 241, F248
## 2024-05-01 20:06:34.363448 INFO::Fitting model to feature number 242, F249
## 2024-05-01 20:06:34.372824 INFO::Fitting model to feature number 243, F250
## 2024-05-01 20:06:34.382063 INFO::Fitting model to feature number 244, F252
## 2024-05-01 20:06:34.391666 INFO::Fitting model to feature number 245, F253
## 2024-05-01 20:06:34.401215 INFO::Fitting model to feature number 246, F254
## 2024-05-01 20:06:34.411164 INFO::Fitting model to feature number 247, F255
## 2024-05-01 20:06:34.420774 INFO::Fitting model to feature number 248, F256
## 2024-05-01 20:06:34.430534 INFO::Fitting model to feature number 249, F257
## 2024-05-01 20:06:34.440312 INFO::Fitting model to feature number 250, F259
## 2024-05-01 20:06:34.449937 INFO::Fitting model to feature number 251, F260
## 2024-05-01 20:06:34.459512 INFO::Fitting model to feature number 252, F261
## 2024-05-01 20:06:34.468754 INFO::Fitting model to feature number 253, F262
## 2024-05-01 20:06:34.478503 INFO::Fitting model to feature number 254, F263
## 2024-05-01 20:06:34.488382 INFO::Fitting model to feature number 255, F264
## 2024-05-01 20:06:34.497694 INFO::Fitting model to feature number 256, F265
## 2024-05-01 20:06:34.507483 INFO::Fitting model to feature number 257, F266
## 2024-05-01 20:06:34.51649 INFO::Fitting model to feature number 258, F267
## 2024-05-01 20:06:34.526308 INFO::Fitting model to feature number 259, F269
## 2024-05-01 20:06:34.53595 INFO::Fitting model to feature number 260, F270
## 2024-05-01 20:06:34.545456 INFO::Fitting model to feature number 261, F271
## 2024-05-01 20:06:34.555761 INFO::Fitting model to feature number 262, F272
## 2024-05-01 20:06:34.565559 INFO::Fitting model to feature number 263, F273
## 2024-05-01 20:06:34.575275 INFO::Fitting model to feature number 264, F274
## 2024-05-01 20:06:34.584595 INFO::Fitting model to feature number 265, F276
## 2024-05-01 20:06:34.594049 INFO::Fitting model to feature number 266, F277
## 2024-05-01 20:06:34.603815 INFO::Fitting model to feature number 267, F278
## 2024-05-01 20:06:34.613126 INFO::Fitting model to feature number 268, F279
## 2024-05-01 20:06:34.621982 INFO::Fitting model to feature number 269, F280
## 2024-05-01 20:06:34.631963 INFO::Fitting model to feature number 270, F281
## 2024-05-01 20:06:34.641888 INFO::Fitting model to feature number 271, F282
## 2024-05-01 20:06:34.651099 INFO::Fitting model to feature number 272, F283
## 2024-05-01 20:06:34.660706 INFO::Fitting model to feature number 273, F284
## 2024-05-01 20:06:34.670397 INFO::Fitting model to feature number 274, F285
## 2024-05-01 20:06:34.680193 INFO::Fitting model to feature number 275, F286
## 2024-05-01 20:06:34.690005 INFO::Fitting model to feature number 276, F287
## 2024-05-01 20:06:34.699824 INFO::Fitting model to feature number 277, F288
## 2024-05-01 20:06:34.709632 INFO::Fitting model to feature number 278, F289
## 2024-05-01 20:06:34.718948 INFO::Fitting model to feature number 279, F290
## 2024-05-01 20:06:34.728199 INFO::Fitting model to feature number 280, F292
## 2024-05-01 20:06:34.738043 INFO::Fitting model to feature number 281, F293
## 2024-05-01 20:06:34.747194 INFO::Fitting model to feature number 282, F294
## 2024-05-01 20:06:34.757064 INFO::Fitting model to feature number 283, F295
## 2024-05-01 20:06:34.767064 INFO::Fitting model to feature number 284, F296
## 2024-05-01 20:06:34.776673 INFO::Fitting model to feature number 285, F297
## 2024-05-01 20:06:34.786536 INFO::Fitting model to feature number 286, F298
## 2024-05-01 20:06:34.796286 INFO::Fitting model to feature number 287, F299
## 2024-05-01 20:06:34.805579 INFO::Fitting model to feature number 288, F300
## 2024-05-01 20:06:34.815067 INFO::Fitting model to feature number 289, F301
## 2024-05-01 20:06:34.824384 INFO::Fitting model to feature number 290, F302
## 2024-05-01 20:06:34.83365 INFO::Fitting model to feature number 291, F303
## 2024-05-01 20:06:34.843996 INFO::Fitting model to feature number 292, F304
## 2024-05-01 20:06:34.853765 INFO::Fitting model to feature number 293, F305
## 2024-05-01 20:06:34.864203 INFO::Fitting model to feature number 294, F306
## 2024-05-01 20:06:34.874112 INFO::Fitting model to feature number 295, F307
## 2024-05-01 20:06:34.884095 INFO::Fitting model to feature number 296, F308
## 2024-05-01 20:06:34.893908 INFO::Fitting model to feature number 297, F309
## 2024-05-01 20:06:34.903188 INFO::Fitting model to feature number 298, F310
## 2024-05-01 20:06:34.913311 INFO::Fitting model to feature number 299, F311
## 2024-05-01 20:06:34.923192 INFO::Fitting model to feature number 300, F312
## 2024-05-01 20:06:34.932933 INFO::Fitting model to feature number 301, F313
## 2024-05-01 20:06:34.942872 INFO::Fitting model to feature number 302, F315
## 2024-05-01 20:06:34.952666 INFO::Fitting model to feature number 303, F316
## 2024-05-01 20:06:34.961927 INFO::Fitting model to feature number 304, F317
## 2024-05-01 20:06:34.971173 INFO::Fitting model to feature number 305, F318
## 2024-05-01 20:06:34.980372 INFO::Fitting model to feature number 306, F319
## 2024-05-01 20:06:34.989275 INFO::Fitting model to feature number 307, F320
## 2024-05-01 20:06:34.998772 INFO::Fitting model to feature number 308, F321
## 2024-05-01 20:06:35.008223 INFO::Fitting model to feature number 309, F322
## 2024-05-01 20:06:35.018169 INFO::Fitting model to feature number 310, F323
## 2024-05-01 20:06:35.027727 INFO::Fitting model to feature number 311, F324
## 2024-05-01 20:06:35.037558 INFO::Fitting model to feature number 312, F325
## 2024-05-01 20:06:35.047859 INFO::Fitting model to feature number 313, F326
## 2024-05-01 20:06:35.0583 INFO::Fitting model to feature number 314, F327
## 2024-05-01 20:06:35.068396 INFO::Fitting model to feature number 315, F328
## 2024-05-01 20:06:35.07838 INFO::Fitting model to feature number 316, F329
## 2024-05-01 20:06:35.087895 INFO::Fitting model to feature number 317, F330
## 2024-05-01 20:06:35.097481 INFO::Fitting model to feature number 318, F331
## 2024-05-01 20:06:35.107223 INFO::Fitting model to feature number 319, F332
## 2024-05-01 20:06:35.117074 INFO::Fitting model to feature number 320, F333
## 2024-05-01 20:06:35.126624 INFO::Fitting model to feature number 321, F334
## 2024-05-01 20:06:35.136154 INFO::Fitting model to feature number 322, F335
## 2024-05-01 20:06:35.145677 INFO::Fitting model to feature number 323, F336
## 2024-05-01 20:06:35.15559 INFO::Fitting model to feature number 324, F337
## 2024-05-01 20:06:35.165179 INFO::Fitting model to feature number 325, F338
## 2024-05-01 20:06:35.174408 INFO::Fitting model to feature number 326, F339
## 2024-05-01 20:06:35.184668 INFO::Fitting model to feature number 327, F340
## 2024-05-01 20:06:35.194484 INFO::Fitting model to feature number 328, F342
## 2024-05-01 20:06:35.204201 INFO::Fitting model to feature number 329, F343
## 2024-05-01 20:06:35.213677 INFO::Fitting model to feature number 330, F344
## 2024-05-01 20:06:35.223531 INFO::Fitting model to feature number 331, F345
## 2024-05-01 20:06:35.233551 INFO::Fitting model to feature number 332, F346
## 2024-05-01 20:06:35.242935 INFO::Fitting model to feature number 333, F347
## 2024-05-01 20:06:35.252109 INFO::Fitting model to feature number 334, F348
## 2024-05-01 20:06:35.261175 INFO::Fitting model to feature number 335, F350
## 2024-05-01 20:06:35.270511 INFO::Fitting model to feature number 336, F351
## 2024-05-01 20:06:35.279537 INFO::Fitting model to feature number 337, F352
## 2024-05-01 20:06:35.288813 INFO::Fitting model to feature number 338, F353
## 2024-05-01 20:06:35.298167 INFO::Fitting model to feature number 339, F355
## 2024-05-01 20:06:35.307408 INFO::Fitting model to feature number 340, F356
## 2024-05-01 20:06:35.316647 INFO::Fitting model to feature number 341, F357
## 2024-05-01 20:06:35.325699 INFO::Fitting model to feature number 342, F358
## 2024-05-01 20:06:35.334566 INFO::Fitting model to feature number 343, F359
## 2024-05-01 20:06:35.344008 INFO::Fitting model to feature number 344, F360
## 2024-05-01 20:06:35.353895 INFO::Fitting model to feature number 345, F361
## 2024-05-01 20:06:35.364 INFO::Fitting model to feature number 346, F362
## 2024-05-01 20:06:35.373696 INFO::Fitting model to feature number 347, F363
## 2024-05-01 20:06:35.383077 INFO::Fitting model to feature number 348, F364
## 2024-05-01 20:06:35.392329 INFO::Fitting model to feature number 349, F365
## 2024-05-01 20:06:35.401881 INFO::Fitting model to feature number 350, F366
## 2024-05-01 20:06:35.411276 INFO::Fitting model to feature number 351, F367
## 2024-05-01 20:06:35.421552 INFO::Fitting model to feature number 352, F368
## 2024-05-01 20:06:35.431177 INFO::Fitting model to feature number 353, F369
## 2024-05-01 20:06:35.481116 INFO::Fitting model to feature number 354, F370
## 2024-05-01 20:06:35.490369 INFO::Fitting model to feature number 355, F371
## 2024-05-01 20:06:35.500606 INFO::Fitting model to feature number 356, F372
## 2024-05-01 20:06:35.509736 INFO::Fitting model to feature number 357, F373
## 2024-05-01 20:06:35.519321 INFO::Fitting model to feature number 358, F374
## 2024-05-01 20:06:35.529087 INFO::Fitting model to feature number 359, F375
## 2024-05-01 20:06:35.538059 INFO::Fitting model to feature number 360, F376
## 2024-05-01 20:06:35.548084 INFO::Fitting model to feature number 361, F377
## 2024-05-01 20:06:35.557443 INFO::Fitting model to feature number 362, F378
## 2024-05-01 20:06:35.566713 INFO::Fitting model to feature number 363, F379
## 2024-05-01 20:06:35.576195 INFO::Fitting model to feature number 364, F380
## 2024-05-01 20:06:35.585529 INFO::Fitting model to feature number 365, F381
## 2024-05-01 20:06:35.594778 INFO::Fitting model to feature number 366, F382
## 2024-05-01 20:06:35.627211 INFO::Fitting model to feature number 367, F383
## 2024-05-01 20:06:35.637301 INFO::Fitting model to feature number 368, F384
## 2024-05-01 20:06:35.647256 INFO::Fitting model to feature number 369, F386
## 2024-05-01 20:06:35.656735 INFO::Fitting model to feature number 370, F387
## 2024-05-01 20:06:35.666541 INFO::Fitting model to feature number 371, F388
## 2024-05-01 20:06:35.676671 INFO::Fitting model to feature number 372, F389
## 2024-05-01 20:06:35.685757 INFO::Fitting model to feature number 373, F390
## 2024-05-01 20:06:35.695099 INFO::Fitting model to feature number 374, F391
## 2024-05-01 20:06:35.704682 INFO::Fitting model to feature number 375, F392
## 2024-05-01 20:06:35.714547 INFO::Fitting model to feature number 376, F393
## 2024-05-01 20:06:35.724139 INFO::Fitting model to feature number 377, F394
## 2024-05-01 20:06:35.733978 INFO::Fitting model to feature number 378, F395
## 2024-05-01 20:06:35.743366 INFO::Fitting model to feature number 379, F396
## 2024-05-01 20:06:35.753277 INFO::Fitting model to feature number 380, F397
## 2024-05-01 20:06:35.762899 INFO::Fitting model to feature number 381, F398
## 2024-05-01 20:06:35.812464 INFO::Fitting model to feature number 382, F399
## 2024-05-01 20:06:35.822892 INFO::Fitting model to feature number 383, F400
## 2024-05-01 20:06:35.833265 INFO::Fitting model to feature number 384, F401
## 2024-05-01 20:06:35.843694 INFO::Fitting model to feature number 385, F402
## 2024-05-01 20:06:35.854213 INFO::Fitting model to feature number 386, F403
## 2024-05-01 20:06:35.865474 INFO::Fitting model to feature number 387, F404
## 2024-05-01 20:06:35.876777 INFO::Fitting model to feature number 388, F406
## 2024-05-01 20:06:35.887216 INFO::Fitting model to feature number 389, F407
## 2024-05-01 20:06:35.897636 INFO::Fitting model to feature number 390, F408
## 2024-05-01 20:06:35.907317 INFO::Fitting model to feature number 391, F409
## 2024-05-01 20:06:35.917204 INFO::Fitting model to feature number 392, F410
## 2024-05-01 20:06:35.926988 INFO::Fitting model to feature number 393, F411
## 2024-05-01 20:06:35.937169 INFO::Fitting model to feature number 394, F412
## 2024-05-01 20:06:35.947204 INFO::Fitting model to feature number 395, F413
## 2024-05-01 20:06:35.95725 INFO::Fitting model to feature number 396, F414
## 2024-05-01 20:06:35.966987 INFO::Fitting model to feature number 397, F415
## 2024-05-01 20:06:35.977204 INFO::Fitting model to feature number 398, F416
## 2024-05-01 20:06:35.987093 INFO::Fitting model to feature number 399, F417
## 2024-05-01 20:06:35.997221 INFO::Fitting model to feature number 400, F418
## 2024-05-01 20:06:36.006947 INFO::Fitting model to feature number 401, F419
## 2024-05-01 20:06:36.016298 INFO::Fitting model to feature number 402, F420
## 2024-05-01 20:06:36.026567 INFO::Fitting model to feature number 403, F421
## 2024-05-01 20:06:36.036994 INFO::Fitting model to feature number 404, F422
## 2024-05-01 20:06:36.047269 INFO::Fitting model to feature number 405, F423
## 2024-05-01 20:06:36.056773 INFO::Fitting model to feature number 406, F425
## 2024-05-01 20:06:36.066984 INFO::Fitting model to feature number 407, F426
## 2024-05-01 20:06:36.076774 INFO::Fitting model to feature number 408, F428
## 2024-05-01 20:06:36.086916 INFO::Fitting model to feature number 409, F429
## 2024-05-01 20:06:36.09748 INFO::Fitting model to feature number 410, F430
## 2024-05-01 20:06:36.106997 INFO::Fitting model to feature number 411, F431
## 2024-05-01 20:06:36.118492 INFO::Fitting model to feature number 412, F432
## 2024-05-01 20:06:36.130348 INFO::Fitting model to feature number 413, F433
## 2024-05-01 20:06:36.140885 INFO::Fitting model to feature number 414, F434
## 2024-05-01 20:06:36.151284 INFO::Fitting model to feature number 415, F435
## 2024-05-01 20:06:36.161897 INFO::Fitting model to feature number 416, F436
## 2024-05-01 20:06:36.172923 INFO::Fitting model to feature number 417, F437
## 2024-05-01 20:06:36.183079 INFO::Fitting model to feature number 418, F438
## 2024-05-01 20:06:36.192922 INFO::Fitting model to feature number 419, F439
## 2024-05-01 20:06:36.203388 INFO::Fitting model to feature number 420, F440
## 2024-05-01 20:06:36.214116 INFO::Fitting model to feature number 421, F441
## 2024-05-01 20:06:36.224008 INFO::Fitting model to feature number 422, F442
## 2024-05-01 20:06:36.234331 INFO::Fitting model to feature number 423, F443
## 2024-05-01 20:06:36.244758 INFO::Fitting model to feature number 424, F444
## 2024-05-01 20:06:36.256028 INFO::Fitting model to feature number 425, F445
## 2024-05-01 20:06:36.267034 INFO::Fitting model to feature number 426, F446
## 2024-05-01 20:06:36.27839 INFO::Fitting model to feature number 427, F447
## 2024-05-01 20:06:36.288499 INFO::Fitting model to feature number 428, F448
## 2024-05-01 20:06:36.298828 INFO::Fitting model to feature number 429, F449
## 2024-05-01 20:06:36.309028 INFO::Fitting model to feature number 430, F450
## 2024-05-01 20:06:36.318811 INFO::Fitting model to feature number 431, F451
## 2024-05-01 20:06:36.328548 INFO::Fitting model to feature number 432, F452
## 2024-05-01 20:06:36.33768 INFO::Fitting model to feature number 433, F454
## 2024-05-01 20:06:36.346706 INFO::Fitting model to feature number 434, F455
## 2024-05-01 20:06:36.355942 INFO::Fitting model to feature number 435, F456
## 2024-05-01 20:06:36.365596 INFO::Fitting model to feature number 436, F457
## 2024-05-01 20:06:36.375285 INFO::Fitting model to feature number 437, F458
## 2024-05-01 20:06:36.384814 INFO::Fitting model to feature number 438, F459
## 2024-05-01 20:06:36.394746 INFO::Fitting model to feature number 439, F461
## 2024-05-01 20:06:36.404817 INFO::Fitting model to feature number 440, F462
## 2024-05-01 20:06:36.415032 INFO::Fitting model to feature number 441, F463
## 2024-05-01 20:06:36.424986 INFO::Fitting model to feature number 442, F464
## 2024-05-01 20:06:36.434696 INFO::Fitting model to feature number 443, F465
## 2024-05-01 20:06:36.445487 INFO::Fitting model to feature number 444, F466
## 2024-05-01 20:06:36.454911 INFO::Fitting model to feature number 445, F467
## 2024-05-01 20:06:36.46505 INFO::Fitting model to feature number 446, F468
## 2024-05-01 20:06:36.475667 INFO::Fitting model to feature number 447, F469
## 2024-05-01 20:06:36.486161 INFO::Fitting model to feature number 448, F470
## 2024-05-01 20:06:36.496454 INFO::Fitting model to feature number 449, F471
## 2024-05-01 20:06:36.506519 INFO::Fitting model to feature number 450, F474
## 2024-05-01 20:06:36.516277 INFO::Fitting model to feature number 451, F475
## 2024-05-01 20:06:36.526059 INFO::Fitting model to feature number 452, F476
## 2024-05-01 20:06:36.536293 INFO::Fitting model to feature number 453, F477
## 2024-05-01 20:06:36.545828 INFO::Fitting model to feature number 454, F478
## 2024-05-01 20:06:36.555893 INFO::Fitting model to feature number 455, F479
## 2024-05-01 20:06:36.566338 INFO::Fitting model to feature number 456, F480
## 2024-05-01 20:06:36.576122 INFO::Fitting model to feature number 457, F481
## 2024-05-01 20:06:36.587134 INFO::Fitting model to feature number 458, F482
## 2024-05-01 20:06:36.597232 INFO::Fitting model to feature number 459, F483
## 2024-05-01 20:06:36.607257 INFO::Fitting model to feature number 460, F484
## 2024-05-01 20:06:36.617952 INFO::Fitting model to feature number 461, F485
## 2024-05-01 20:06:36.628387 INFO::Fitting model to feature number 462, F486
## 2024-05-01 20:06:36.638662 INFO::Fitting model to feature number 463, F487
## 2024-05-01 20:06:36.648744 INFO::Fitting model to feature number 464, F488
## 2024-05-01 20:06:36.658525 INFO::Fitting model to feature number 465, F489
## 2024-05-01 20:06:36.668623 INFO::Fitting model to feature number 466, F490
## 2024-05-01 20:06:36.679351 INFO::Fitting model to feature number 467, F491
## 2024-05-01 20:06:36.689317 INFO::Fitting model to feature number 468, F492
## 2024-05-01 20:06:36.699999 INFO::Fitting model to feature number 469, F493
## 2024-05-01 20:06:36.710974 INFO::Fitting model to feature number 470, F494
## 2024-05-01 20:06:36.720795 INFO::Fitting model to feature number 471, F495
## 2024-05-01 20:06:36.730449 INFO::Fitting model to feature number 472, F496
## 2024-05-01 20:06:36.740167 INFO::Fitting model to feature number 473, F497
## 2024-05-01 20:06:36.750275 INFO::Fitting model to feature number 474, F498
## 2024-05-01 20:06:36.760193 INFO::Fitting model to feature number 475, F499
## 2024-05-01 20:06:36.769964 INFO::Fitting model to feature number 476, F500
## 2024-05-01 20:06:36.77945 INFO::Fitting model to feature number 477, F501
## 2024-05-01 20:06:36.788724 INFO::Fitting model to feature number 478, F502
## 2024-05-01 20:06:36.798148 INFO::Fitting model to feature number 479, F503
## 2024-05-01 20:06:36.808406 INFO::Fitting model to feature number 480, F504
## 2024-05-01 20:06:36.861218 INFO::Fitting model to feature number 481, F505
## 2024-05-01 20:06:36.900788 INFO::Fitting model to feature number 482, F506
## 2024-05-01 20:06:36.911621 INFO::Fitting model to feature number 483, F507
## 2024-05-01 20:06:37.000527 INFO::Fitting model to feature number 484, F508
## 2024-05-01 20:06:37.010349 INFO::Fitting model to feature number 485, F509
## 2024-05-01 20:06:37.020283 INFO::Fitting model to feature number 486, F510
## 2024-05-01 20:06:37.030873 INFO::Fitting model to feature number 487, F511
## 2024-05-01 20:06:37.081373 INFO::Fitting model to feature number 488, F512
## 2024-05-01 20:06:37.091297 INFO::Fitting model to feature number 489, F513
## 2024-05-01 20:06:37.142813 INFO::Fitting model to feature number 490, F514
## 2024-05-01 20:06:37.235488 INFO::Fitting model to feature number 491, F515
## 2024-05-01 20:06:37.245198 INFO::Fitting model to feature number 492, F516
## 2024-05-01 20:06:37.254885 INFO::Fitting model to feature number 493, F517
## 2024-05-01 20:06:37.264693 INFO::Fitting model to feature number 494, F518
## 2024-05-01 20:06:37.274941 INFO::Fitting model to feature number 495, F519
## 2024-05-01 20:06:37.284932 INFO::Fitting model to feature number 496, F520
## 2024-05-01 20:06:37.294971 INFO::Fitting model to feature number 497, F521
## 2024-05-01 20:06:37.304699 INFO::Fitting model to feature number 498, F522
## 2024-05-01 20:06:37.312927 INFO::Fitting model to feature number 499, F523
## 2024-05-01 20:06:37.322495 INFO::Fitting model to feature number 500, F524
## 2024-05-01 20:06:37.332516 INFO::Fitting model to feature number 501, F525
## 2024-05-01 20:06:37.342327 INFO::Fitting model to feature number 502, F526
## 2024-05-01 20:06:37.351886 INFO::Fitting model to feature number 503, F527
## 2024-05-01 20:06:37.361579 INFO::Fitting model to feature number 504, F528
## 2024-05-01 20:06:37.412221 INFO::Fitting model to feature number 505, F529
## 2024-05-01 20:06:37.454412 INFO::Fitting model to feature number 506, F530
## 2024-05-01 20:06:37.463792 INFO::Fitting model to feature number 507, F531
## 2024-05-01 20:06:37.473505 INFO::Fitting model to feature number 508, F532
## 2024-05-01 20:06:37.483062 INFO::Fitting model to feature number 509, F533
## 2024-05-01 20:06:37.492744 INFO::Fitting model to feature number 510, F534
## 2024-05-01 20:06:37.502399 INFO::Fitting model to feature number 511, F535
## 2024-05-01 20:06:37.512541 INFO::Fitting model to feature number 512, F536
## 2024-05-01 20:06:37.522272 INFO::Fitting model to feature number 513, F537
## 2024-05-01 20:06:37.531871 INFO::Fitting model to feature number 514, F539
## 2024-05-01 20:06:37.540869 INFO::Fitting model to feature number 515, F540
## 2024-05-01 20:06:37.550391 INFO::Fitting model to feature number 516, F541
## 2024-05-01 20:06:37.560238 INFO::Fitting model to feature number 517, F543
## 2024-05-01 20:06:37.570643 INFO::Fitting model to feature number 518, F544
## 2024-05-01 20:06:37.580487 INFO::Fitting model to feature number 519, F545
## 2024-05-01 20:06:37.590484 INFO::Fitting model to feature number 520, F546
## 2024-05-01 20:06:37.599994 INFO::Fitting model to feature number 521, F547
## 2024-05-01 20:06:37.610328 INFO::Fitting model to feature number 522, F548
## 2024-05-01 20:06:37.620523 INFO::Fitting model to feature number 523, F549
## 2024-05-01 20:06:37.66877 INFO::Fitting model to feature number 524, F550
## 2024-05-01 20:06:37.67848 INFO::Fitting model to feature number 525, F551
## 2024-05-01 20:06:37.687787 INFO::Fitting model to feature number 526, F552
## 2024-05-01 20:06:37.696831 INFO::Fitting model to feature number 527, F553
## 2024-05-01 20:06:37.706925 INFO::Fitting model to feature number 528, F554
## 2024-05-01 20:06:37.716894 INFO::Fitting model to feature number 529, F555
## 2024-05-01 20:06:37.727031 INFO::Fitting model to feature number 530, F556
## 2024-05-01 20:06:37.736711 INFO::Fitting model to feature number 531, F557
## 2024-05-01 20:06:37.745471 INFO::Fitting model to feature number 532, F558
## 2024-05-01 20:06:37.75551 INFO::Fitting model to feature number 533, F559
## 2024-05-01 20:06:37.76578 INFO::Fitting model to feature number 534, F560
## 2024-05-01 20:06:37.775864 INFO::Fitting model to feature number 535, F561
## 2024-05-01 20:06:37.785048 INFO::Fitting model to feature number 536, F562
## 2024-05-01 20:06:37.794819 INFO::Fitting model to feature number 537, F563
## 2024-05-01 20:06:37.803995 INFO::Fitting model to feature number 538, F564
## 2024-05-01 20:06:37.812895 INFO::Fitting model to feature number 539, F566
## 2024-05-01 20:06:37.82184 INFO::Fitting model to feature number 540, F567
## 2024-05-01 20:06:37.831131 INFO::Fitting model to feature number 541, F568
## 2024-05-01 20:06:37.840642 INFO::Fitting model to feature number 542, F569
## 2024-05-01 20:06:37.850435 INFO::Fitting model to feature number 543, F570
## 2024-05-01 20:06:37.860165 INFO::Fitting model to feature number 544, F571
## 2024-05-01 20:06:37.869742 INFO::Fitting model to feature number 545, F572
## 2024-05-01 20:06:37.879713 INFO::Fitting model to feature number 546, F573
## 2024-05-01 20:06:37.889433 INFO::Fitting model to feature number 547, F574
## 2024-05-01 20:06:37.898972 INFO::Fitting model to feature number 548, F575
## 2024-05-01 20:06:37.909166 INFO::Fitting model to feature number 549, F576
## 2024-05-01 20:06:37.918922 INFO::Fitting model to feature number 550, F577
## 2024-05-01 20:06:37.928226 INFO::Fitting model to feature number 551, F578
## 2024-05-01 20:06:37.998977 INFO::Fitting model to feature number 552, F579
## 2024-05-01 20:06:38.009032 INFO::Fitting model to feature number 553, F580
## 2024-05-01 20:06:38.018723 INFO::Fitting model to feature number 554, F581
## 2024-05-01 20:06:38.028344 INFO::Fitting model to feature number 555, F582
## 2024-05-01 20:06:38.037217 INFO::Fitting model to feature number 556, F583
## 2024-05-01 20:06:38.046684 INFO::Fitting model to feature number 557, F584
## 2024-05-01 20:06:38.056394 INFO::Fitting model to feature number 558, F585
## 2024-05-01 20:06:38.066211 INFO::Fitting model to feature number 559, F586
## 2024-05-01 20:06:38.076126 INFO::Fitting model to feature number 560, F587
## 2024-05-01 20:06:38.085516 INFO::Fitting model to feature number 561, F588
## 2024-05-01 20:06:38.09528 INFO::Fitting model to feature number 562, F589
## 2024-05-01 20:06:38.105701 INFO::Fitting model to feature number 563, F590
## 2024-05-01 20:06:38.115155 INFO::Fitting model to feature number 564, F591
## 2024-05-01 20:06:38.125378 INFO::Fitting model to feature number 565, F592
## 2024-05-01 20:06:38.135935 INFO::Fitting model to feature number 566, F593
## 2024-05-01 20:06:38.145485 INFO::Fitting model to feature number 567, F594
## 2024-05-01 20:06:38.154703 INFO::Fitting model to feature number 568, F595
## 2024-05-01 20:06:38.190074 INFO::Fitting model to feature number 569, F596
## 2024-05-01 20:06:38.200698 INFO::Fitting model to feature number 570, F597
## 2024-05-01 20:06:38.212405 INFO::Fitting model to feature number 571, F598
## 2024-05-01 20:06:38.222961 INFO::Fitting model to feature number 572, F599
## 2024-05-01 20:06:38.23297 INFO::Fitting model to feature number 573, F600
## 2024-05-01 20:06:38.242646 INFO::Fitting model to feature number 574, F601
## 2024-05-01 20:06:38.251944 INFO::Fitting model to feature number 575, F602
## 2024-05-01 20:06:38.261566 INFO::Fitting model to feature number 576, F603
## 2024-05-01 20:06:38.271598 INFO::Fitting model to feature number 577, F605
## 2024-05-01 20:06:38.322243 INFO::Fitting model to feature number 578, F606
## 2024-05-01 20:06:38.331738 INFO::Fitting model to feature number 579, F607
## 2024-05-01 20:06:38.341572 INFO::Fitting model to feature number 580, F608
## 2024-05-01 20:06:38.351211 INFO::Fitting model to feature number 581, F609
## 2024-05-01 20:06:38.361876 INFO::Fitting model to feature number 582, F610
## 2024-05-01 20:06:38.371283 INFO::Fitting model to feature number 583, F611
## 2024-05-01 20:06:38.380988 INFO::Fitting model to feature number 584, F612
## 2024-05-01 20:06:38.390123 INFO::Fitting model to feature number 585, F613
## 2024-05-01 20:06:38.400021 INFO::Fitting model to feature number 586, F614
## 2024-05-01 20:06:38.409177 INFO::Fitting model to feature number 587, F615
## 2024-05-01 20:06:38.418723 INFO::Fitting model to feature number 588, F616
## 2024-05-01 20:06:38.430349 INFO::Fitting model to feature number 589, F617
## 2024-05-01 20:06:38.440485 INFO::Fitting model to feature number 590, F618
## 2024-05-01 20:06:38.45061 INFO::Fitting model to feature number 591, F619
## 2024-05-01 20:06:38.460932 INFO::Fitting model to feature number 592, F620
## 2024-05-01 20:06:38.470678 INFO::Fitting model to feature number 593, F621
## 2024-05-01 20:06:38.480871 INFO::Fitting model to feature number 594, F622
## 2024-05-01 20:06:38.49098 INFO::Fitting model to feature number 595, F623
## 2024-05-01 20:06:38.501777 INFO::Fitting model to feature number 596, F624
## 2024-05-01 20:06:38.510798 INFO::Fitting model to feature number 597, F625
## 2024-05-01 20:06:38.519702 INFO::Fitting model to feature number 598, F626
## 2024-05-01 20:06:38.528219 INFO::Fitting model to feature number 599, F627
## 2024-05-01 20:06:38.537769 INFO::Fitting model to feature number 600, F628
## 2024-05-01 20:06:38.547798 INFO::Fitting model to feature number 601, F629
## 2024-05-01 20:06:38.557042 INFO::Fitting model to feature number 602, F630
## 2024-05-01 20:06:38.566093 INFO::Fitting model to feature number 603, F631
## 2024-05-01 20:06:38.575647 INFO::Fitting model to feature number 604, F632
## 2024-05-01 20:06:38.585358 INFO::Fitting model to feature number 605, F633
## 2024-05-01 20:06:38.595393 INFO::Fitting model to feature number 606, F634
## 2024-05-01 20:06:38.604697 INFO::Fitting model to feature number 607, F635
## 2024-05-01 20:06:38.615043 INFO::Fitting model to feature number 608, F636
## 2024-05-01 20:06:38.625251 INFO::Fitting model to feature number 609, F637
## 2024-05-01 20:06:38.634645 INFO::Fitting model to feature number 610, F638
## 2024-05-01 20:06:38.644897 INFO::Fitting model to feature number 611, F639
## 2024-05-01 20:06:38.654698 INFO::Fitting model to feature number 612, F640
## 2024-05-01 20:06:38.663991 INFO::Fitting model to feature number 613, F641
## 2024-05-01 20:06:38.67385 INFO::Fitting model to feature number 614, F642
## 2024-05-01 20:06:38.683897 INFO::Fitting model to feature number 615, F643
## 2024-05-01 20:06:38.693338 INFO::Fitting model to feature number 616, F644
## 2024-05-01 20:06:38.703068 INFO::Fitting model to feature number 617, F645
## 2024-05-01 20:06:38.712631 INFO::Fitting model to feature number 618, F646
## 2024-05-01 20:06:38.722504 INFO::Fitting model to feature number 619, F647
## 2024-05-01 20:06:38.732265 INFO::Fitting model to feature number 620, F648
## 2024-05-01 20:06:38.742225 INFO::Fitting model to feature number 621, F649
## 2024-05-01 20:06:38.792368 INFO::Fitting model to feature number 622, F650
## 2024-05-01 20:06:38.799754 INFO::Fitting model to feature number 623, F651
## 2024-05-01 20:06:38.807638 INFO::Fitting model to feature number 624, F652
## 2024-05-01 20:06:38.815615 INFO::Fitting model to feature number 625, F653
## 2024-05-01 20:06:38.82425 INFO::Fitting model to feature number 626, F654
## 2024-05-01 20:06:38.832633 INFO::Fitting model to feature number 627, F655
## 2024-05-01 20:06:38.841494 INFO::Fitting model to feature number 628, F656
## 2024-05-01 20:06:38.85018 INFO::Fitting model to feature number 629, F657
## 2024-05-01 20:06:38.85964 INFO::Fitting model to feature number 630, F658
## 2024-05-01 20:06:38.868934 INFO::Fitting model to feature number 631, F659
## 2024-05-01 20:06:38.877733 INFO::Fitting model to feature number 632, F660
## 2024-05-01 20:06:38.885739 INFO::Fitting model to feature number 633, F661
## 2024-05-01 20:06:38.895119 INFO::Fitting model to feature number 634, F662
## 2024-05-01 20:06:38.904317 INFO::Fitting model to feature number 635, F663
## 2024-05-01 20:06:38.913677 INFO::Fitting model to feature number 636, F664
## 2024-05-01 20:06:38.922034 INFO::Fitting model to feature number 637, F665
## 2024-05-01 20:06:38.930719 INFO::Fitting model to feature number 638, F666
## 2024-05-01 20:06:38.939703 INFO::Fitting model to feature number 639, F667
## 2024-05-01 20:06:38.948888 INFO::Fitting model to feature number 640, F668
## 2024-05-01 20:06:38.958414 INFO::Fitting model to feature number 641, F669
## 2024-05-01 20:06:38.967847 INFO::Fitting model to feature number 642, F670
## 2024-05-01 20:06:38.976849 INFO::Fitting model to feature number 643, F671
## 2024-05-01 20:06:38.98594 INFO::Fitting model to feature number 644, F672
## 2024-05-01 20:06:38.995145 INFO::Fitting model to feature number 645, F673
## 2024-05-01 20:06:39.004333 INFO::Fitting model to feature number 646, F674
## 2024-05-01 20:06:39.013102 INFO::Fitting model to feature number 647, F675
## 2024-05-01 20:06:39.022356 INFO::Fitting model to feature number 648, F676
## 2024-05-01 20:06:39.031539 INFO::Fitting model to feature number 649, F677
## 2024-05-01 20:06:39.040557 INFO::Fitting model to feature number 650, F678
## 2024-05-01 20:06:39.049832 INFO::Fitting model to feature number 651, F679
## 2024-05-01 20:06:39.059088 INFO::Fitting model to feature number 652, F680
## 2024-05-01 20:06:39.068052 INFO::Fitting model to feature number 653, F681
## 2024-05-01 20:06:39.077456 INFO::Fitting model to feature number 654, F682
## 2024-05-01 20:06:39.087097 INFO::Fitting model to feature number 655, F683
## 2024-05-01 20:06:39.096728 INFO::Fitting model to feature number 656, F684
## 2024-05-01 20:06:39.105604 INFO::Fitting model to feature number 657, F685
## 2024-05-01 20:06:39.114692 INFO::Fitting model to feature number 658, F686
## 2024-05-01 20:06:39.122929 INFO::Fitting model to feature number 659, F687
## 2024-05-01 20:06:39.132074 INFO::Fitting model to feature number 660, F688
## 2024-05-01 20:06:39.141374 INFO::Fitting model to feature number 661, F689
## 2024-05-01 20:06:39.150878 INFO::Fitting model to feature number 662, F690
## 2024-05-01 20:06:39.160224 INFO::Fitting model to feature number 663, F691
## 2024-05-01 20:06:39.169794 INFO::Fitting model to feature number 664, F692
## 2024-05-01 20:06:39.178953 INFO::Fitting model to feature number 665, F693
## 2024-05-01 20:06:39.188098 INFO::Fitting model to feature number 666, F694
## 2024-05-01 20:06:39.197256 INFO::Fitting model to feature number 667, F695
## 2024-05-01 20:06:39.206753 INFO::Fitting model to feature number 668, F696
## 2024-05-01 20:06:39.215831 INFO::Fitting model to feature number 669, F697
## 2024-05-01 20:06:39.224966 INFO::Fitting model to feature number 670, F698
## 2024-05-01 20:06:39.234466 INFO::Fitting model to feature number 671, F699
## 2024-05-01 20:06:39.243768 INFO::Fitting model to feature number 672, F700
## 2024-05-01 20:06:39.253034 INFO::Fitting model to feature number 673, F701
## 2024-05-01 20:06:39.263011 INFO::Fitting model to feature number 674, F702
## 2024-05-01 20:06:39.272594 INFO::Fitting model to feature number 675, F704
## 2024-05-01 20:06:39.281814 INFO::Fitting model to feature number 676, F705
## 2024-05-01 20:06:39.291042 INFO::Fitting model to feature number 677, F706
## 2024-05-01 20:06:39.300319 INFO::Fitting model to feature number 678, F707
## 2024-05-01 20:06:39.308901 INFO::Fitting model to feature number 679, F708
## 2024-05-01 20:06:39.318355 INFO::Fitting model to feature number 680, F709
## 2024-05-01 20:06:39.328145 INFO::Fitting model to feature number 681, F710
## 2024-05-01 20:06:39.338008 INFO::Fitting model to feature number 682, F711
## 2024-05-01 20:06:39.347675 INFO::Fitting model to feature number 683, F712
## 2024-05-01 20:06:39.357195 INFO::Fitting model to feature number 684, F713
## 2024-05-01 20:06:39.366911 INFO::Fitting model to feature number 685, F714
## 2024-05-01 20:06:39.376381 INFO::Fitting model to feature number 686, F715
## 2024-05-01 20:06:39.386497 INFO::Fitting model to feature number 687, F716
## 2024-05-01 20:06:39.395704 INFO::Fitting model to feature number 688, F717
## 2024-05-01 20:06:39.405048 INFO::Fitting model to feature number 689, F718
## 2024-05-01 20:06:39.414724 INFO::Fitting model to feature number 690, F719
## 2024-05-01 20:06:39.424087 INFO::Fitting model to feature number 691, F720
## 2024-05-01 20:06:39.433796 INFO::Fitting model to feature number 692, F721
## 2024-05-01 20:06:39.443205 INFO::Fitting model to feature number 693, F722
## 2024-05-01 20:06:39.453648 INFO::Fitting model to feature number 694, F723
## 2024-05-01 20:06:39.463518 INFO::Fitting model to feature number 695, F724
## 2024-05-01 20:06:39.472674 INFO::Fitting model to feature number 696, F725
## 2024-05-01 20:06:39.482188 INFO::Fitting model to feature number 697, F726
## 2024-05-01 20:06:39.491263 INFO::Fitting model to feature number 698, F727
## 2024-05-01 20:06:39.524956 INFO::Fitting model to feature number 699, F728
## 2024-05-01 20:06:39.534254 INFO::Fitting model to feature number 700, F729
## 2024-05-01 20:06:39.544579 INFO::Fitting model to feature number 701, F730
## 2024-05-01 20:06:39.553958 INFO::Fitting model to feature number 702, F731
## 2024-05-01 20:06:39.563522 INFO::Fitting model to feature number 703, F732
## 2024-05-01 20:06:39.572767 INFO::Fitting model to feature number 704, F733
## 2024-05-01 20:06:39.581661 INFO::Fitting model to feature number 705, F734
## 2024-05-01 20:06:39.591406 INFO::Fitting model to feature number 706, F735
## 2024-05-01 20:06:39.600591 INFO::Fitting model to feature number 707, F736
## 2024-05-01 20:06:39.609842 INFO::Fitting model to feature number 708, F737
## 2024-05-01 20:06:39.61946 INFO::Fitting model to feature number 709, F739
## 2024-05-01 20:06:39.629113 INFO::Fitting model to feature number 710, F740
## 2024-05-01 20:06:39.638615 INFO::Fitting model to feature number 711, F741
## 2024-05-01 20:06:39.64836 INFO::Fitting model to feature number 712, F742
## 2024-05-01 20:06:39.658229 INFO::Fitting model to feature number 713, F743
## 2024-05-01 20:06:39.667988 INFO::Fitting model to feature number 714, F744
## 2024-05-01 20:06:39.677895 INFO::Fitting model to feature number 715, F745
## 2024-05-01 20:06:39.687609 INFO::Fitting model to feature number 716, F746
## 2024-05-01 20:06:39.697204 INFO::Fitting model to feature number 717, F747
## 2024-05-01 20:06:39.706566 INFO::Fitting model to feature number 718, F748
## 2024-05-01 20:06:39.71548 INFO::Fitting model to feature number 719, F749
## 2024-05-01 20:06:39.724331 INFO::Fitting model to feature number 720, F750
## 2024-05-01 20:06:39.733821 INFO::Fitting model to feature number 721, F751
## 2024-05-01 20:06:39.743305 INFO::Fitting model to feature number 722, F752
## 2024-05-01 20:06:39.752954 INFO::Fitting model to feature number 723, F753
## 2024-05-01 20:06:39.762951 INFO::Fitting model to feature number 724, F754
## 2024-05-01 20:06:39.773691 INFO::Fitting model to feature number 725, F755
## 2024-05-01 20:06:39.783736 INFO::Fitting model to feature number 726, F756
## 2024-05-01 20:06:39.793562 INFO::Fitting model to feature number 727, F757
## 2024-05-01 20:06:39.803103 INFO::Fitting model to feature number 728, F758
## 2024-05-01 20:06:39.812839 INFO::Fitting model to feature number 729, F759
## 2024-05-01 20:06:39.822859 INFO::Fitting model to feature number 730, F760
## 2024-05-01 20:06:39.832938 INFO::Fitting model to feature number 731, F761
## 2024-05-01 20:06:39.842922 INFO::Fitting model to feature number 732, F762
## 2024-05-01 20:06:39.852743 INFO::Fitting model to feature number 733, F763
## 2024-05-01 20:06:39.86299 INFO::Fitting model to feature number 734, F764
## 2024-05-01 20:06:39.872832 INFO::Fitting model to feature number 735, F765
## 2024-05-01 20:06:39.882846 INFO::Fitting model to feature number 736, F766
## 2024-05-01 20:06:39.892531 INFO::Fitting model to feature number 737, F767
## 2024-05-01 20:06:39.902224 INFO::Fitting model to feature number 738, F768
## 2024-05-01 20:06:39.912776 INFO::Fitting model to feature number 739, F769
## 2024-05-01 20:06:39.923529 INFO::Fitting model to feature number 740, F770
## 2024-05-01 20:06:39.933455 INFO::Fitting model to feature number 741, F771
## 2024-05-01 20:06:39.943207 INFO::Fitting model to feature number 742, F772
## 2024-05-01 20:06:39.952381 INFO::Fitting model to feature number 743, F773
## 2024-05-01 20:06:39.962234 INFO::Fitting model to feature number 744, F774
## 2024-05-01 20:06:39.972164 INFO::Fitting model to feature number 745, F775
## 2024-05-01 20:06:39.981221 INFO::Fitting model to feature number 746, F776
## 2024-05-01 20:06:39.991001 INFO::Fitting model to feature number 747, F777
## 2024-05-01 20:06:40.001419 INFO::Fitting model to feature number 748, F778
## 2024-05-01 20:06:40.011257 INFO::Fitting model to feature number 749, F779
## 2024-05-01 20:06:40.022276 INFO::Fitting model to feature number 750, F780
## 2024-05-01 20:06:40.031823 INFO::Fitting model to feature number 751, F781
## 2024-05-01 20:06:40.041125 INFO::Fitting model to feature number 752, F782
## 2024-05-01 20:06:40.051088 INFO::Fitting model to feature number 753, F783
## 2024-05-01 20:06:40.06136 INFO::Fitting model to feature number 754, F784
## 2024-05-01 20:06:40.071961 INFO::Fitting model to feature number 755, F785
## 2024-05-01 20:06:40.082335 INFO::Fitting model to feature number 756, F786
## 2024-05-01 20:06:40.093888 INFO::Fitting model to feature number 757, F787
## 2024-05-01 20:06:40.103857 INFO::Fitting model to feature number 758, F788
## 2024-05-01 20:06:40.114397 INFO::Fitting model to feature number 759, F789
## 2024-05-01 20:06:40.124089 INFO::Fitting model to feature number 760, F790
## 2024-05-01 20:06:40.132874 INFO::Fitting model to feature number 761, F791
## 2024-05-01 20:06:40.142973 INFO::Fitting model to feature number 762, F792
## 2024-05-01 20:06:40.15268 INFO::Fitting model to feature number 763, F793
## 2024-05-01 20:06:40.16152 INFO::Fitting model to feature number 764, F794
## 2024-05-01 20:06:40.171102 INFO::Fitting model to feature number 765, F795
## 2024-05-01 20:06:40.181336 INFO::Fitting model to feature number 766, F796
## 2024-05-01 20:06:40.19116 INFO::Fitting model to feature number 767, F797
## 2024-05-01 20:06:40.200932 INFO::Fitting model to feature number 768, F798
## 2024-05-01 20:06:40.211462 INFO::Fitting model to feature number 769, F799
## 2024-05-01 20:06:40.221302 INFO::Fitting model to feature number 770, F800
## 2024-05-01 20:06:40.231323 INFO::Fitting model to feature number 771, F801
## 2024-05-01 20:06:40.242511 INFO::Fitting model to feature number 772, F802
## 2024-05-01 20:06:40.253251 INFO::Fitting model to feature number 773, F803
## 2024-05-01 20:06:40.263112 INFO::Fitting model to feature number 774, F804
## 2024-05-01 20:06:40.272644 INFO::Fitting model to feature number 775, F805
## 2024-05-01 20:06:40.282029 INFO::Fitting model to feature number 776, F806
## 2024-05-01 20:06:40.292124 INFO::Fitting model to feature number 777, F808
## 2024-05-01 20:06:40.301347 INFO::Fitting model to feature number 778, F809
## 2024-05-01 20:06:40.310809 INFO::Fitting model to feature number 779, F810
## 2024-05-01 20:06:40.320238 INFO::Fitting model to feature number 780, F811
## 2024-05-01 20:06:40.33138 INFO::Fitting model to feature number 781, F812
## 2024-05-01 20:06:40.341438 INFO::Fitting model to feature number 782, F813
## 2024-05-01 20:06:40.350626 INFO::Fitting model to feature number 783, F814
## 2024-05-01 20:06:40.360625 INFO::Fitting model to feature number 784, F815
## 2024-05-01 20:06:40.370986 INFO::Fitting model to feature number 785, F816
## 2024-05-01 20:06:40.381128 INFO::Fitting model to feature number 786, F817
## 2024-05-01 20:06:40.392005 INFO::Fitting model to feature number 787, F818
## 2024-05-01 20:06:40.401301 INFO::Fitting model to feature number 788, F819
## 2024-05-01 20:06:40.40969 INFO::Fitting model to feature number 789, F820
## 2024-05-01 20:06:40.419875 INFO::Fitting model to feature number 790, F821
## 2024-05-01 20:06:40.430228 INFO::Fitting model to feature number 791, F822
## 2024-05-01 20:06:40.440473 INFO::Fitting model to feature number 792, F823
## 2024-05-01 20:06:40.450638 INFO::Fitting model to feature number 793, F824
## 2024-05-01 20:06:40.460937 INFO::Fitting model to feature number 794, F825
## 2024-05-01 20:06:40.470968 INFO::Fitting model to feature number 795, F826
## 2024-05-01 20:06:40.482625 INFO::Fitting model to feature number 796, F827
## 2024-05-01 20:06:40.492217 INFO::Fitting model to feature number 797, F828
## 2024-05-01 20:06:40.502126 INFO::Fitting model to feature number 798, F829
## 2024-05-01 20:06:40.512076 INFO::Fitting model to feature number 799, F830
## 2024-05-01 20:06:40.521858 INFO::Fitting model to feature number 800, F831
## 2024-05-01 20:06:40.531206 INFO::Fitting model to feature number 801, F832
## 2024-05-01 20:06:40.540105 INFO::Fitting model to feature number 802, F833
## 2024-05-01 20:06:40.549313 INFO::Fitting model to feature number 803, F834
## 2024-05-01 20:06:40.560252 INFO::Fitting model to feature number 804, F835
## 2024-05-01 20:06:40.570964 INFO::Fitting model to feature number 805, F836
## 2024-05-01 20:06:40.580563 INFO::Fitting model to feature number 806, F837
## 2024-05-01 20:06:40.590485 INFO::Fitting model to feature number 807, F838
## 2024-05-01 20:06:40.601828 INFO::Fitting model to feature number 808, F839
## 2024-05-01 20:06:40.612368 INFO::Fitting model to feature number 809, F840
## 2024-05-01 20:06:40.621585 INFO::Fitting model to feature number 810, F841
## 2024-05-01 20:06:40.630861 INFO::Fitting model to feature number 811, F842
## 2024-05-01 20:06:40.640074 INFO::Fitting model to feature number 812, F843
## 2024-05-01 20:06:40.64928 INFO::Fitting model to feature number 813, F844
## 2024-05-01 20:06:40.659398 INFO::Fitting model to feature number 814, F845
## 2024-05-01 20:06:40.669625 INFO::Fitting model to feature number 815, F846
## 2024-05-01 20:06:40.679675 INFO::Fitting model to feature number 816, F847
## 2024-05-01 20:06:40.689588 INFO::Fitting model to feature number 817, F848
## 2024-05-01 20:06:40.699442 INFO::Fitting model to feature number 818, F849
## 2024-05-01 20:06:40.709579 INFO::Fitting model to feature number 819, F850
## 2024-05-01 20:06:40.718811 INFO::Fitting model to feature number 820, F851
## 2024-05-01 20:06:40.728352 INFO::Fitting model to feature number 821, F852
## 2024-05-01 20:06:40.738848 INFO::Fitting model to feature number 822, F853
## 2024-05-01 20:06:40.749706 INFO::Fitting model to feature number 823, F854
## 2024-05-01 20:06:40.76033 INFO::Fitting model to feature number 824, F855
## 2024-05-01 20:06:40.771122 INFO::Fitting model to feature number 825, F856
## 2024-05-01 20:06:40.781213 INFO::Fitting model to feature number 826, F857
## 2024-05-01 20:06:40.790466 INFO::Fitting model to feature number 827, F858
## 2024-05-01 20:06:40.800418 INFO::Fitting model to feature number 828, F859
## 2024-05-01 20:06:40.811188 INFO::Fitting model to feature number 829, F860
## 2024-05-01 20:06:40.82125 INFO::Fitting model to feature number 830, F861
## 2024-05-01 20:06:40.831237 INFO::Fitting model to feature number 831, F862
## 2024-05-01 20:06:40.841101 INFO::Fitting model to feature number 832, F863
## 2024-05-01 20:06:40.851356 INFO::Fitting model to feature number 833, F864
## 2024-05-01 20:06:40.861773 INFO::Fitting model to feature number 834, F865
## 2024-05-01 20:06:40.871373 INFO::Fitting model to feature number 835, F866
## 2024-05-01 20:06:40.882519 INFO::Fitting model to feature number 836, F867
## 2024-05-01 20:06:40.893602 INFO::Fitting model to feature number 837, F868
## 2024-05-01 20:06:40.904434 INFO::Fitting model to feature number 838, F869
## 2024-05-01 20:06:40.914222 INFO::Fitting model to feature number 839, F870
## 2024-05-01 20:06:40.924234 INFO::Fitting model to feature number 840, F871
## 2024-05-01 20:06:40.934933 INFO::Fitting model to feature number 841, F872
## 2024-05-01 20:06:40.945105 INFO::Fitting model to feature number 842, F873
## 2024-05-01 20:06:40.955298 INFO::Fitting model to feature number 843, F874
## 2024-05-01 20:06:40.966026 INFO::Fitting model to feature number 844, F875
## 2024-05-01 20:06:40.976958 INFO::Fitting model to feature number 845, F876
## 2024-05-01 20:06:40.987914 INFO::Fitting model to feature number 846, F877
## 2024-05-01 20:06:40.998321 INFO::Fitting model to feature number 847, F878
## 2024-05-01 20:06:41.008026 INFO::Fitting model to feature number 848, F879
## 2024-05-01 20:06:41.017712 INFO::Fitting model to feature number 849, F880
## 2024-05-01 20:06:41.027114 INFO::Fitting model to feature number 850, F881
## 2024-05-01 20:06:41.037374 INFO::Fitting model to feature number 851, F882
## 2024-05-01 20:06:41.087888 INFO::Fitting model to feature number 852, F883
## 2024-05-01 20:06:41.097335 INFO::Fitting model to feature number 853, F884
## 2024-05-01 20:06:41.107095 INFO::Fitting model to feature number 854, F885
## 2024-05-01 20:06:41.137789 INFO::Fitting model to feature number 855, F886
## 2024-05-01 20:06:41.147481 INFO::Fitting model to feature number 856, F887
## 2024-05-01 20:06:41.157397 INFO::Fitting model to feature number 857, F888
## 2024-05-01 20:06:41.167248 INFO::Fitting model to feature number 858, F889
## 2024-05-01 20:06:41.175689 INFO::Fitting model to feature number 859, F890
## 2024-05-01 20:06:41.18612 INFO::Fitting model to feature number 860, F891
## 2024-05-01 20:06:41.195933 INFO::Fitting model to feature number 861, F892
## 2024-05-01 20:06:41.206753 INFO::Fitting model to feature number 862, F893
## 2024-05-01 20:06:41.216768 INFO::Fitting model to feature number 863, F894
## 2024-05-01 20:06:41.225569 INFO::Fitting model to feature number 864, F895
## 2024-05-01 20:06:41.235743 INFO::Fitting model to feature number 865, F896
## 2024-05-01 20:06:41.246154 INFO::Fitting model to feature number 866, F897
## 2024-05-01 20:06:41.2557 INFO::Fitting model to feature number 867, F898
## 2024-05-01 20:06:41.265592 INFO::Fitting model to feature number 868, F899
## 2024-05-01 20:06:41.275578 INFO::Fitting model to feature number 869, F900
## 2024-05-01 20:06:41.863763 INFO::Counting total values for each feature
## 2024-05-01 20:06:42.217319 INFO::Writing filtered data to file Macarron_output/maaslin2_results/features/filtered_data.tsv
## 2024-05-01 20:06:42.582768 INFO::Writing filtered, normalized data to file Macarron_output/maaslin2_results/features/filtered_data_norm.tsv
## 2024-05-01 20:06:42.890153 INFO::Writing filtered, normalized, transformed data to file Macarron_output/maaslin2_results/features/filtered_data_norm_transformed.tsv
## 2024-05-01 20:06:43.160757 INFO::Writing residuals to file Macarron_output/maaslin2_results/fits/residuals.rds
## 2024-05-01 20:06:43.237496 INFO::Writing fitted values to file Macarron_output/maaslin2_results/fits/fitted.rds
## 2024-05-01 20:06:43.303094 INFO::Writing all results to file (ordered by increasing q-values): Macarron_output/maaslin2_results/all_results.tsv
## 2024-05-01 20:06:43.355102 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-05-01 20:06:43.378838 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-05-01 20:06:44.065375 INFO::Writing all prioritized metabolites to file: Macarron_output/prioritized_metabolites_all.csv
## 2024-05-01 20:06:44.091407 INFO::Writing characterizable prioritized metabolites to file: Macarron_output/prioritized_metabolites_characterizable.csv
## 2024-05-01 20:06:44.150291 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 Patched (2024-04-24 r86482)
## Platform: x86_64-apple-darwin20
## Running under: macOS Monterey 12.7.4
## 
## 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] C/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.9.0              SummarizedExperiment_1.35.0
##  [3] Biobase_2.65.0              GenomicRanges_1.57.0       
##  [5] GenomeInfoDb_1.41.0         IRanges_2.39.0             
##  [7] S4Vectors_0.43.0            BiocGenerics_0.51.0        
##  [9] MatrixGenerics_1.17.0       matrixStats_1.3.0          
## [11] BiocStyle_2.33.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.45.0          utf8_1.2.4              rmarkdown_2.26         
##  [19] preprocessCore_1.67.0   UCSC.utils_1.1.0        bit_4.0.5              
##  [22] xfun_0.43               zlibbioc_1.51.0         cachem_1.0.8           
##  [25] jsonlite_1.8.8          blob_1.2.4              DelayedArray_0.31.0    
##  [28] BiocParallel_1.39.0     psych_2.4.3             Maaslin2_1.19.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.45.0         evaluate_0.23          
##  [61] foreign_0.8-86          survival_3.6-4          getopt_1.20.4          
##  [64] Biostrings_2.73.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.79.0          
##  [85] AnnotationDbi_1.67.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.5.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.5.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.