1 Abstract

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

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

2 Installation

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

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

3 Running Macarron

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

3.1 Input CSV files

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

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

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

3.2 Output Files

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

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

3.3 Run a demo in R

3.3.1 Using CSV files as inputs

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

library(Macarron)
## Loading required package: SummarizedExperiment
## Loading required package: MatrixGenerics
## Loading required package: matrixStats
## 
## Attaching package: 'MatrixGenerics'
## The following objects are masked from 'package:matrixStats':
## 
##     colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,
##     colCounts, colCummaxs, colCummins, colCumprods, colCumsums,
##     colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,
##     colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,
##     colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,
##     colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,
##     colWeightedMeans, colWeightedMedians, colWeightedSds,
##     colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,
##     rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,
##     rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,
##     rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,
##     rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,
##     rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,
##     rowWeightedMads, rowWeightedMeans, rowWeightedMedians,
##     rowWeightedSds, rowWeightedVars
## Loading required package: GenomicRanges
## Loading required package: stats4
## Loading required package: BiocGenerics
## 
## Attaching package: 'BiocGenerics'
## The following objects are masked from 'package:stats':
## 
##     IQR, mad, sd, var, xtabs
## The following objects are masked from 'package:base':
## 
##     anyDuplicated, aperm, append, as.data.frame, basename, cbind,
##     colnames, dirname, do.call, duplicated, eval, evalq, Filter, Find,
##     get, grep, grepl, intersect, is.unsorted, lapply, Map, mapply,
##     match, mget, order, paste, pmax, pmax.int, pmin, pmin.int,
##     Position, rank, rbind, Reduce, rownames, sapply, setdiff, table,
##     tapply, union, unique, unsplit, which.max, which.min
## Loading required package: S4Vectors
## 
## Attaching package: 'S4Vectors'
## The following object is masked from 'package:utils':
## 
##     findMatches
## The following objects are masked from 'package:base':
## 
##     expand.grid, I, unname
## Loading required package: IRanges
## Loading required package: GenomeInfoDb
## Loading required package: Biobase
## Welcome to Bioconductor
## 
##     Vignettes contain introductory material; view with
##     'browseVignettes()'. To cite Bioconductor, see
##     'citation("Biobase")', and for packages 'citation("pkgname")'.
## 
## Attaching package: 'Biobase'
## The following object is masked from 'package:MatrixGenerics':
## 
##     rowMedians
## The following objects are masked from 'package:matrixStats':
## 
##     anyMissing, rowMedians
prism_abundances <- system.file(
    'extdata','demo_abundances.csv', package="Macarron")
prism_annotations <-system.file(
    'extdata','demo_annotations.csv', package="Macarron")
prism_metadata <-system.file(
    'extdata','demo_metadata.csv', package="Macarron")
mets_taxonomy <-system.file(
    'extdata','demo_taxonomy.csv', package="Macarron")
prism_prioritized <- Macarron::Macarron(input_abundances = prism_abundances,
                                        input_annotations = prism_annotations,
                                        input_metadata = prism_metadata,
                                        input_taxonomy = mets_taxonomy)
## 2024-05-01 00:25:26.875193 INFO::Creating output folder.
## 2024-05-01 00:25:26.886551 INFO::Writing function arguments to log file
## Samples with both abundances and metadata: 102
## 2024-05-01 00:25:26.939548 INFO::Summarized Experiment created.
## 2024-05-01 00:25:26.94088 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 00:25:31.378165 INFO::Distance matrix with 869 metabolic features created.
## Initiating module detection
## 2024-05-01 00:25:31.379278 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 00:25:32.701298 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 00:25:34.760317 INFO::Writing function arguments to log file
## 2024-05-01 00:25:34.765574 INFO::Verifying options selected are valid
## 2024-05-01 00:25:34.811799 INFO::Determining format of input files
## 2024-05-01 00:25:34.812789 INFO::Input format is data samples as columns and metadata samples as rows
## 2024-05-01 00:25:34.8278 INFO::Formula for fixed effects: expr ~  diagnosis + age + antibiotics
## 2024-05-01 00:25:34.829435 INFO::Filter data based on min abundance and min prevalence
## 2024-05-01 00:25:34.830087 INFO::Total samples in data: 102
## 2024-05-01 00:25:34.830684 INFO::Min samples required with min abundance for a feature not to be filtered: 0.000000
## 2024-05-01 00:25:34.84238 INFO::Total filtered features: 0
## 2024-05-01 00:25:34.843267 INFO::Filtered feature names from abundance and prevalence filtering:
## 2024-05-01 00:25:34.86089 INFO::Total filtered features with variance filtering: 0
## 2024-05-01 00:25:34.861819 INFO::Filtered feature names from variance filtering:
## 2024-05-01 00:25:34.862447 INFO::Running selected normalization method: NONE
## 2024-05-01 00:25:34.863114 INFO::Applying z-score to standardize continuous metadata
## 2024-05-01 00:25:34.888617 INFO::Running selected transform method: NONE
## 2024-05-01 00:25:34.889549 INFO::Running selected analysis method: LM
## 2024-05-01 00:25:34.894978 INFO::Fitting model to feature number 1, F1
## 2024-05-01 00:25:34.905688 INFO::Fitting model to feature number 2, F2
## 2024-05-01 00:25:34.909403 INFO::Fitting model to feature number 3, F3
## 2024-05-01 00:25:34.912935 INFO::Fitting model to feature number 4, F4
## 2024-05-01 00:25:34.916385 INFO::Fitting model to feature number 5, F5
## 2024-05-01 00:25:34.919828 INFO::Fitting model to feature number 6, F6
## 2024-05-01 00:25:34.943789 INFO::Fitting model to feature number 7, F7
## 2024-05-01 00:25:34.947221 INFO::Fitting model to feature number 8, F8
## 2024-05-01 00:25:34.950481 INFO::Fitting model to feature number 9, F9
## 2024-05-01 00:25:34.953741 INFO::Fitting model to feature number 10, F10
## 2024-05-01 00:25:34.95696 INFO::Fitting model to feature number 11, F11
## 2024-05-01 00:25:34.960156 INFO::Fitting model to feature number 12, F12
## 2024-05-01 00:25:34.963364 INFO::Fitting model to feature number 13, F13
## 2024-05-01 00:25:34.966558 INFO::Fitting model to feature number 14, F14
## 2024-05-01 00:25:34.969739 INFO::Fitting model to feature number 15, F15
## 2024-05-01 00:25:34.9729 INFO::Fitting model to feature number 16, F16
## 2024-05-01 00:25:34.975996 INFO::Fitting model to feature number 17, F17
## 2024-05-01 00:25:34.979194 INFO::Fitting model to feature number 18, F18
## 2024-05-01 00:25:34.982342 INFO::Fitting model to feature number 19, F19
## 2024-05-01 00:25:34.985494 INFO::Fitting model to feature number 20, F20
## 2024-05-01 00:25:34.988641 INFO::Fitting model to feature number 21, F21
## 2024-05-01 00:25:34.991808 INFO::Fitting model to feature number 22, F22
## 2024-05-01 00:25:34.99506 INFO::Fitting model to feature number 23, F23
## 2024-05-01 00:25:34.998261 INFO::Fitting model to feature number 24, F24
## 2024-05-01 00:25:35.001417 INFO::Fitting model to feature number 25, F25
## 2024-05-01 00:25:35.004558 INFO::Fitting model to feature number 26, F26
## 2024-05-01 00:25:35.007704 INFO::Fitting model to feature number 27, F27
## 2024-05-01 00:25:35.01084 INFO::Fitting model to feature number 28, F28
## 2024-05-01 00:25:35.013953 INFO::Fitting model to feature number 29, F29
## 2024-05-01 00:25:35.017014 INFO::Fitting model to feature number 30, F30
## 2024-05-01 00:25:35.020134 INFO::Fitting model to feature number 31, F31
## 2024-05-01 00:25:35.023282 INFO::Fitting model to feature number 32, F32
## 2024-05-01 00:25:35.026415 INFO::Fitting model to feature number 33, F33
## 2024-05-01 00:25:35.029483 INFO::Fitting model to feature number 34, F34
## 2024-05-01 00:25:35.032617 INFO::Fitting model to feature number 35, F35
## 2024-05-01 00:25:35.035753 INFO::Fitting model to feature number 36, F36
## 2024-05-01 00:25:35.038871 INFO::Fitting model to feature number 37, F37
## 2024-05-01 00:25:35.041984 INFO::Fitting model to feature number 38, F38
## 2024-05-01 00:25:35.045107 INFO::Fitting model to feature number 39, F39
## 2024-05-01 00:25:35.048231 INFO::Fitting model to feature number 40, F40
## 2024-05-01 00:25:35.051374 INFO::Fitting model to feature number 41, F41
## 2024-05-01 00:25:35.05446 INFO::Fitting model to feature number 42, F43
## 2024-05-01 00:25:35.057605 INFO::Fitting model to feature number 43, F44
## 2024-05-01 00:25:35.060712 INFO::Fitting model to feature number 44, F45
## 2024-05-01 00:25:35.063836 INFO::Fitting model to feature number 45, F46
## 2024-05-01 00:25:35.066956 INFO::Fitting model to feature number 46, F47
## 2024-05-01 00:25:35.070093 INFO::Fitting model to feature number 47, F48
## 2024-05-01 00:25:35.07322 INFO::Fitting model to feature number 48, F49
## 2024-05-01 00:25:35.076328 INFO::Fitting model to feature number 49, F50
## 2024-05-01 00:25:35.079463 INFO::Fitting model to feature number 50, F51
## 2024-05-01 00:25:35.082538 INFO::Fitting model to feature number 51, F52
## 2024-05-01 00:25:35.085658 INFO::Fitting model to feature number 52, F53
## 2024-05-01 00:25:35.088716 INFO::Fitting model to feature number 53, F54
## 2024-05-01 00:25:35.091851 INFO::Fitting model to feature number 54, F55
## 2024-05-01 00:25:35.094998 INFO::Fitting model to feature number 55, F56
## 2024-05-01 00:25:35.09814 INFO::Fitting model to feature number 56, F57
## 2024-05-01 00:25:35.101232 INFO::Fitting model to feature number 57, F58
## 2024-05-01 00:25:35.104363 INFO::Fitting model to feature number 58, F59
## 2024-05-01 00:25:35.107498 INFO::Fitting model to feature number 59, F60
## 2024-05-01 00:25:35.110623 INFO::Fitting model to feature number 60, F63
## 2024-05-01 00:25:35.113758 INFO::Fitting model to feature number 61, F64
## 2024-05-01 00:25:35.116869 INFO::Fitting model to feature number 62, F65
## 2024-05-01 00:25:35.119998 INFO::Fitting model to feature number 63, F66
## 2024-05-01 00:25:35.123106 INFO::Fitting model to feature number 64, F67
## 2024-05-01 00:25:35.126258 INFO::Fitting model to feature number 65, F68
## 2024-05-01 00:25:35.129426 INFO::Fitting model to feature number 66, F69
## 2024-05-01 00:25:35.132555 INFO::Fitting model to feature number 67, F70
## 2024-05-01 00:25:35.135709 INFO::Fitting model to feature number 68, F71
## 2024-05-01 00:25:35.138872 INFO::Fitting model to feature number 69, F72
## 2024-05-01 00:25:35.141956 INFO::Fitting model to feature number 70, F73
## 2024-05-01 00:25:35.145098 INFO::Fitting model to feature number 71, F74
## 2024-05-01 00:25:35.148244 INFO::Fitting model to feature number 72, F76
## 2024-05-01 00:25:35.151432 INFO::Fitting model to feature number 73, F77
## 2024-05-01 00:25:35.154602 INFO::Fitting model to feature number 74, F78
## 2024-05-01 00:25:35.157757 INFO::Fitting model to feature number 75, F79
## 2024-05-01 00:25:35.160932 INFO::Fitting model to feature number 76, F80
## 2024-05-01 00:25:35.1641 INFO::Fitting model to feature number 77, F81
## 2024-05-01 00:25:35.16727 INFO::Fitting model to feature number 78, F82
## 2024-05-01 00:25:35.170416 INFO::Fitting model to feature number 79, F83
## 2024-05-01 00:25:35.17356 INFO::Fitting model to feature number 80, F84
## 2024-05-01 00:25:35.176672 INFO::Fitting model to feature number 81, F85
## 2024-05-01 00:25:35.179833 INFO::Fitting model to feature number 82, F86
## 2024-05-01 00:25:35.182975 INFO::Fitting model to feature number 83, F87
## 2024-05-01 00:25:35.186097 INFO::Fitting model to feature number 84, F88
## 2024-05-01 00:25:35.189181 INFO::Fitting model to feature number 85, F89
## 2024-05-01 00:25:35.192279 INFO::Fitting model to feature number 86, F90
## 2024-05-01 00:25:35.19543 INFO::Fitting model to feature number 87, F91
## 2024-05-01 00:25:35.198594 INFO::Fitting model to feature number 88, F92
## 2024-05-01 00:25:35.201703 INFO::Fitting model to feature number 89, F93
## 2024-05-01 00:25:35.20487 INFO::Fitting model to feature number 90, F94
## 2024-05-01 00:25:35.208038 INFO::Fitting model to feature number 91, F95
## 2024-05-01 00:25:35.211216 INFO::Fitting model to feature number 92, F96
## 2024-05-01 00:25:35.214436 INFO::Fitting model to feature number 93, F97
## 2024-05-01 00:25:35.217634 INFO::Fitting model to feature number 94, F98
## 2024-05-01 00:25:35.22076 INFO::Fitting model to feature number 95, F99
## 2024-05-01 00:25:35.223829 INFO::Fitting model to feature number 96, F100
## 2024-05-01 00:25:35.226976 INFO::Fitting model to feature number 97, F101
## 2024-05-01 00:25:35.230107 INFO::Fitting model to feature number 98, F102
## 2024-05-01 00:25:35.233232 INFO::Fitting model to feature number 99, F103
## 2024-05-01 00:25:35.23636 INFO::Fitting model to feature number 100, F104
## 2024-05-01 00:25:35.239484 INFO::Fitting model to feature number 101, F105
## 2024-05-01 00:25:35.242606 INFO::Fitting model to feature number 102, F106
## 2024-05-01 00:25:35.245732 INFO::Fitting model to feature number 103, F107
## 2024-05-01 00:25:35.248803 INFO::Fitting model to feature number 104, F108
## 2024-05-01 00:25:35.251924 INFO::Fitting model to feature number 105, F109
## 2024-05-01 00:25:35.255046 INFO::Fitting model to feature number 106, F110
## 2024-05-01 00:25:35.258204 INFO::Fitting model to feature number 107, F111
## 2024-05-01 00:25:35.261376 INFO::Fitting model to feature number 108, F112
## 2024-05-01 00:25:35.264497 INFO::Fitting model to feature number 109, F113
## 2024-05-01 00:25:35.267666 INFO::Fitting model to feature number 110, F114
## 2024-05-01 00:25:35.270821 INFO::Fitting model to feature number 111, F115
## 2024-05-01 00:25:35.274014 INFO::Fitting model to feature number 112, F117
## 2024-05-01 00:25:35.277189 INFO::Fitting model to feature number 113, F118
## 2024-05-01 00:25:35.280367 INFO::Fitting model to feature number 114, F119
## 2024-05-01 00:25:35.283543 INFO::Fitting model to feature number 115, F120
## 2024-05-01 00:25:35.286712 INFO::Fitting model to feature number 116, F121
## 2024-05-01 00:25:35.289848 INFO::Fitting model to feature number 117, F122
## 2024-05-01 00:25:35.293009 INFO::Fitting model to feature number 118, F123
## 2024-05-01 00:25:35.296147 INFO::Fitting model to feature number 119, F124
## 2024-05-01 00:25:35.299304 INFO::Fitting model to feature number 120, F125
## 2024-05-01 00:25:35.302462 INFO::Fitting model to feature number 121, F126
## 2024-05-01 00:25:35.30554 INFO::Fitting model to feature number 122, F127
## 2024-05-01 00:25:35.308663 INFO::Fitting model to feature number 123, F128
## 2024-05-01 00:25:35.311819 INFO::Fitting model to feature number 124, F129
## 2024-05-01 00:25:35.314961 INFO::Fitting model to feature number 125, F130
## 2024-05-01 00:25:35.318094 INFO::Fitting model to feature number 126, F131
## 2024-05-01 00:25:35.32124 INFO::Fitting model to feature number 127, F132
## 2024-05-01 00:25:35.324378 INFO::Fitting model to feature number 128, F133
## 2024-05-01 00:25:35.327555 INFO::Fitting model to feature number 129, F134
## 2024-05-01 00:25:35.330766 INFO::Fitting model to feature number 130, F135
## 2024-05-01 00:25:35.334025 INFO::Fitting model to feature number 131, F136
## 2024-05-01 00:25:35.337225 INFO::Fitting model to feature number 132, F137
## 2024-05-01 00:25:35.34037 INFO::Fitting model to feature number 133, F138
## 2024-05-01 00:25:35.343518 INFO::Fitting model to feature number 134, F139
## 2024-05-01 00:25:35.346674 INFO::Fitting model to feature number 135, F140
## 2024-05-01 00:25:35.349854 INFO::Fitting model to feature number 136, F141
## 2024-05-01 00:25:35.353055 INFO::Fitting model to feature number 137, F142
## 2024-05-01 00:25:35.356291 INFO::Fitting model to feature number 138, F143
## 2024-05-01 00:25:35.359544 INFO::Fitting model to feature number 139, F144
## 2024-05-01 00:25:35.362785 INFO::Fitting model to feature number 140, F145
## 2024-05-01 00:25:35.366027 INFO::Fitting model to feature number 141, F146
## 2024-05-01 00:25:35.369232 INFO::Fitting model to feature number 142, F147
## 2024-05-01 00:25:35.372372 INFO::Fitting model to feature number 143, F148
## 2024-05-01 00:25:35.375513 INFO::Fitting model to feature number 144, F149
## 2024-05-01 00:25:35.37871 INFO::Fitting model to feature number 145, F150
## 2024-05-01 00:25:35.38192 INFO::Fitting model to feature number 146, F152
## 2024-05-01 00:25:35.385084 INFO::Fitting model to feature number 147, F153
## 2024-05-01 00:25:35.388248 INFO::Fitting model to feature number 148, F154
## 2024-05-01 00:25:35.39141 INFO::Fitting model to feature number 149, F155
## 2024-05-01 00:25:35.394605 INFO::Fitting model to feature number 150, F156
## 2024-05-01 00:25:35.397811 INFO::Fitting model to feature number 151, F157
## 2024-05-01 00:25:35.401005 INFO::Fitting model to feature number 152, F158
## 2024-05-01 00:25:35.404195 INFO::Fitting model to feature number 153, F159
## 2024-05-01 00:25:35.40773 INFO::Fitting model to feature number 154, F160
## 2024-05-01 00:25:35.411372 INFO::Fitting model to feature number 155, F161
## 2024-05-01 00:25:35.415164 INFO::Fitting model to feature number 156, F162
## 2024-05-01 00:25:35.418339 INFO::Fitting model to feature number 157, F163
## 2024-05-01 00:25:35.421561 INFO::Fitting model to feature number 158, F164
## 2024-05-01 00:25:35.424778 INFO::Fitting model to feature number 159, F165
## 2024-05-01 00:25:35.428018 INFO::Fitting model to feature number 160, F166
## 2024-05-01 00:25:35.431255 INFO::Fitting model to feature number 161, F167
## 2024-05-01 00:25:35.434516 INFO::Fitting model to feature number 162, F168
## 2024-05-01 00:25:35.437756 INFO::Fitting model to feature number 163, F169
## 2024-05-01 00:25:35.441079 INFO::Fitting model to feature number 164, F170
## 2024-05-01 00:25:35.444426 INFO::Fitting model to feature number 165, F171
## 2024-05-01 00:25:35.447815 INFO::Fitting model to feature number 166, F172
## 2024-05-01 00:25:35.479881 INFO::Fitting model to feature number 167, F173
## 2024-05-01 00:25:35.483721 INFO::Fitting model to feature number 168, F174
## 2024-05-01 00:25:35.487206 INFO::Fitting model to feature number 169, F175
## 2024-05-01 00:25:35.490509 INFO::Fitting model to feature number 170, F176
## 2024-05-01 00:25:35.493732 INFO::Fitting model to feature number 171, F177
## 2024-05-01 00:25:35.496964 INFO::Fitting model to feature number 172, F178
## 2024-05-01 00:25:35.500195 INFO::Fitting model to feature number 173, F179
## 2024-05-01 00:25:35.50344 INFO::Fitting model to feature number 174, F180
## 2024-05-01 00:25:35.506689 INFO::Fitting model to feature number 175, F181
## 2024-05-01 00:25:35.509928 INFO::Fitting model to feature number 176, F182
## 2024-05-01 00:25:35.5131 INFO::Fitting model to feature number 177, F183
## 2024-05-01 00:25:35.516277 INFO::Fitting model to feature number 178, F184
## 2024-05-01 00:25:35.519468 INFO::Fitting model to feature number 179, F185
## 2024-05-01 00:25:35.522667 INFO::Fitting model to feature number 180, F186
## 2024-05-01 00:25:35.525838 INFO::Fitting model to feature number 181, F187
## 2024-05-01 00:25:35.529002 INFO::Fitting model to feature number 182, F188
## 2024-05-01 00:25:35.532153 INFO::Fitting model to feature number 183, F189
## 2024-05-01 00:25:35.535318 INFO::Fitting model to feature number 184, F190
## 2024-05-01 00:25:35.538439 INFO::Fitting model to feature number 185, F191
## 2024-05-01 00:25:35.541618 INFO::Fitting model to feature number 186, F192
## 2024-05-01 00:25:35.544801 INFO::Fitting model to feature number 187, F193
## 2024-05-01 00:25:35.547945 INFO::Fitting model to feature number 188, F194
## 2024-05-01 00:25:35.551137 INFO::Fitting model to feature number 189, F195
## 2024-05-01 00:25:35.55432 INFO::Fitting model to feature number 190, F196
## 2024-05-01 00:25:35.557499 INFO::Fitting model to feature number 191, F197
## 2024-05-01 00:25:35.560661 INFO::Fitting model to feature number 192, F198
## 2024-05-01 00:25:35.563778 INFO::Fitting model to feature number 193, F199
## 2024-05-01 00:25:35.566932 INFO::Fitting model to feature number 194, F200
## 2024-05-01 00:25:35.570101 INFO::Fitting model to feature number 195, F201
## 2024-05-01 00:25:35.57328 INFO::Fitting model to feature number 196, F202
## 2024-05-01 00:25:35.576434 INFO::Fitting model to feature number 197, F203
## 2024-05-01 00:25:35.579609 INFO::Fitting model to feature number 198, F204
## 2024-05-01 00:25:35.582772 INFO::Fitting model to feature number 199, F206
## 2024-05-01 00:25:35.58594 INFO::Fitting model to feature number 200, F207
## 2024-05-01 00:25:35.589082 INFO::Fitting model to feature number 201, F208
## 2024-05-01 00:25:35.592223 INFO::Fitting model to feature number 202, F209
## 2024-05-01 00:25:35.595384 INFO::Fitting model to feature number 203, F210
## 2024-05-01 00:25:35.598555 INFO::Fitting model to feature number 204, F211
## 2024-05-01 00:25:35.601715 INFO::Fitting model to feature number 205, F212
## 2024-05-01 00:25:35.604846 INFO::Fitting model to feature number 206, F213
## 2024-05-01 00:25:35.608016 INFO::Fitting model to feature number 207, F214
## 2024-05-01 00:25:35.611157 INFO::Fitting model to feature number 208, F215
## 2024-05-01 00:25:35.61434 INFO::Fitting model to feature number 209, F216
## 2024-05-01 00:25:35.617507 INFO::Fitting model to feature number 210, F217
## 2024-05-01 00:25:35.620656 INFO::Fitting model to feature number 211, F218
## 2024-05-01 00:25:35.623804 INFO::Fitting model to feature number 212, F219
## 2024-05-01 00:25:35.626962 INFO::Fitting model to feature number 213, F220
## 2024-05-01 00:25:35.63014 INFO::Fitting model to feature number 214, F221
## 2024-05-01 00:25:35.633317 INFO::Fitting model to feature number 215, F222
## 2024-05-01 00:25:35.636434 INFO::Fitting model to feature number 216, F223
## 2024-05-01 00:25:35.639603 INFO::Fitting model to feature number 217, F224
## 2024-05-01 00:25:35.642766 INFO::Fitting model to feature number 218, F225
## 2024-05-01 00:25:35.64593 INFO::Fitting model to feature number 219, F226
## 2024-05-01 00:25:35.64911 INFO::Fitting model to feature number 220, F227
## 2024-05-01 00:25:35.652273 INFO::Fitting model to feature number 221, F228
## 2024-05-01 00:25:35.655463 INFO::Fitting model to feature number 222, F229
## 2024-05-01 00:25:35.658664 INFO::Fitting model to feature number 223, F230
## 2024-05-01 00:25:35.661882 INFO::Fitting model to feature number 224, F231
## 2024-05-01 00:25:35.665136 INFO::Fitting model to feature number 225, F232
## 2024-05-01 00:25:35.668413 INFO::Fitting model to feature number 226, F233
## 2024-05-01 00:25:35.671611 INFO::Fitting model to feature number 227, F234
## 2024-05-01 00:25:35.674896 INFO::Fitting model to feature number 228, F235
## 2024-05-01 00:25:35.678081 INFO::Fitting model to feature number 229, F236
## 2024-05-01 00:25:35.68134 INFO::Fitting model to feature number 230, F237
## 2024-05-01 00:25:35.684536 INFO::Fitting model to feature number 231, F238
## 2024-05-01 00:25:35.687722 INFO::Fitting model to feature number 232, F239
## 2024-05-01 00:25:35.690919 INFO::Fitting model to feature number 233, F240
## 2024-05-01 00:25:35.694142 INFO::Fitting model to feature number 234, F241
## 2024-05-01 00:25:35.697341 INFO::Fitting model to feature number 235, F242
## 2024-05-01 00:25:35.700539 INFO::Fitting model to feature number 236, F243
## 2024-05-01 00:25:35.703678 INFO::Fitting model to feature number 237, F244
## 2024-05-01 00:25:35.706933 INFO::Fitting model to feature number 238, F245
## 2024-05-01 00:25:35.710178 INFO::Fitting model to feature number 239, F246
## 2024-05-01 00:25:35.713384 INFO::Fitting model to feature number 240, F247
## 2024-05-01 00:25:35.716569 INFO::Fitting model to feature number 241, F248
## 2024-05-01 00:25:35.719739 INFO::Fitting model to feature number 242, F249
## 2024-05-01 00:25:35.722903 INFO::Fitting model to feature number 243, F250
## 2024-05-01 00:25:35.726088 INFO::Fitting model to feature number 244, F252
## 2024-05-01 00:25:35.729272 INFO::Fitting model to feature number 245, F253
## 2024-05-01 00:25:35.732477 INFO::Fitting model to feature number 246, F254
## 2024-05-01 00:25:35.735688 INFO::Fitting model to feature number 247, F255
## 2024-05-01 00:25:35.738921 INFO::Fitting model to feature number 248, F256
## 2024-05-01 00:25:35.742146 INFO::Fitting model to feature number 249, F257
## 2024-05-01 00:25:35.745351 INFO::Fitting model to feature number 250, F259
## 2024-05-01 00:25:35.748528 INFO::Fitting model to feature number 251, F260
## 2024-05-01 00:25:35.75174 INFO::Fitting model to feature number 252, F261
## 2024-05-01 00:25:35.754981 INFO::Fitting model to feature number 253, F262
## 2024-05-01 00:25:35.758274 INFO::Fitting model to feature number 254, F263
## 2024-05-01 00:25:35.761501 INFO::Fitting model to feature number 255, F264
## 2024-05-01 00:25:35.764717 INFO::Fitting model to feature number 256, F265
## 2024-05-01 00:25:35.767954 INFO::Fitting model to feature number 257, F266
## 2024-05-01 00:25:35.771165 INFO::Fitting model to feature number 258, F267
## 2024-05-01 00:25:35.774385 INFO::Fitting model to feature number 259, F269
## 2024-05-01 00:25:35.777616 INFO::Fitting model to feature number 260, F270
## 2024-05-01 00:25:35.780859 INFO::Fitting model to feature number 261, F271
## 2024-05-01 00:25:35.784096 INFO::Fitting model to feature number 262, F272
## 2024-05-01 00:25:35.787353 INFO::Fitting model to feature number 263, F273
## 2024-05-01 00:25:35.79052 INFO::Fitting model to feature number 264, F274
## 2024-05-01 00:25:35.793678 INFO::Fitting model to feature number 265, F276
## 2024-05-01 00:25:35.79686 INFO::Fitting model to feature number 266, F277
## 2024-05-01 00:25:35.80006 INFO::Fitting model to feature number 267, F278
## 2024-05-01 00:25:35.803363 INFO::Fitting model to feature number 268, F279
## 2024-05-01 00:25:35.806723 INFO::Fitting model to feature number 269, F280
## 2024-05-01 00:25:35.810011 INFO::Fitting model to feature number 270, F281
## 2024-05-01 00:25:35.813333 INFO::Fitting model to feature number 271, F282
## 2024-05-01 00:25:35.816614 INFO::Fitting model to feature number 272, F283
## 2024-05-01 00:25:35.819935 INFO::Fitting model to feature number 273, F284
## 2024-05-01 00:25:35.823189 INFO::Fitting model to feature number 274, F285
## 2024-05-01 00:25:35.826422 INFO::Fitting model to feature number 275, F286
## 2024-05-01 00:25:35.829629 INFO::Fitting model to feature number 276, F287
## 2024-05-01 00:25:35.832836 INFO::Fitting model to feature number 277, F288
## 2024-05-01 00:25:35.836006 INFO::Fitting model to feature number 278, F289
## 2024-05-01 00:25:35.839185 INFO::Fitting model to feature number 279, F290
## 2024-05-01 00:25:35.842387 INFO::Fitting model to feature number 280, F292
## 2024-05-01 00:25:35.845565 INFO::Fitting model to feature number 281, F293
## 2024-05-01 00:25:35.848726 INFO::Fitting model to feature number 282, F294
## 2024-05-01 00:25:35.85183 INFO::Fitting model to feature number 283, F295
## 2024-05-01 00:25:35.854995 INFO::Fitting model to feature number 284, F296
## 2024-05-01 00:25:35.858232 INFO::Fitting model to feature number 285, F297
## 2024-05-01 00:25:35.861447 INFO::Fitting model to feature number 286, F298
## 2024-05-01 00:25:35.864659 INFO::Fitting model to feature number 287, F299
## 2024-05-01 00:25:35.867888 INFO::Fitting model to feature number 288, F300
## 2024-05-01 00:25:35.871111 INFO::Fitting model to feature number 289, F301
## 2024-05-01 00:25:35.87438 INFO::Fitting model to feature number 290, F302
## 2024-05-01 00:25:35.877675 INFO::Fitting model to feature number 291, F303
## 2024-05-01 00:25:35.880852 INFO::Fitting model to feature number 292, F304
## 2024-05-01 00:25:35.883978 INFO::Fitting model to feature number 293, F305
## 2024-05-01 00:25:35.887163 INFO::Fitting model to feature number 294, F306
## 2024-05-01 00:25:35.890358 INFO::Fitting model to feature number 295, F307
## 2024-05-01 00:25:35.893533 INFO::Fitting model to feature number 296, F308
## 2024-05-01 00:25:35.896757 INFO::Fitting model to feature number 297, F309
## 2024-05-01 00:25:35.899991 INFO::Fitting model to feature number 298, F310
## 2024-05-01 00:25:35.90325 INFO::Fitting model to feature number 299, F311
## 2024-05-01 00:25:35.906508 INFO::Fitting model to feature number 300, F312
## 2024-05-01 00:25:35.909761 INFO::Fitting model to feature number 301, F313
## 2024-05-01 00:25:35.913029 INFO::Fitting model to feature number 302, F315
## 2024-05-01 00:25:35.91626 INFO::Fitting model to feature number 303, F316
## 2024-05-01 00:25:35.919496 INFO::Fitting model to feature number 304, F317
## 2024-05-01 00:25:35.922725 INFO::Fitting model to feature number 305, F318
## 2024-05-01 00:25:35.925936 INFO::Fitting model to feature number 306, F319
## 2024-05-01 00:25:35.929174 INFO::Fitting model to feature number 307, F320
## 2024-05-01 00:25:35.932428 INFO::Fitting model to feature number 308, F321
## 2024-05-01 00:25:35.935718 INFO::Fitting model to feature number 309, F322
## 2024-05-01 00:25:35.938995 INFO::Fitting model to feature number 310, F323
## 2024-05-01 00:25:35.94228 INFO::Fitting model to feature number 311, F324
## 2024-05-01 00:25:35.945519 INFO::Fitting model to feature number 312, F325
## 2024-05-01 00:25:35.948778 INFO::Fitting model to feature number 313, F326
## 2024-05-01 00:25:35.952074 INFO::Fitting model to feature number 314, F327
## 2024-05-01 00:25:35.955373 INFO::Fitting model to feature number 315, F328
## 2024-05-01 00:25:35.958703 INFO::Fitting model to feature number 316, F329
## 2024-05-01 00:25:35.962077 INFO::Fitting model to feature number 317, F330
## 2024-05-01 00:25:35.965348 INFO::Fitting model to feature number 318, F331
## 2024-05-01 00:25:35.968617 INFO::Fitting model to feature number 319, F332
## 2024-05-01 00:25:35.971909 INFO::Fitting model to feature number 320, F333
## 2024-05-01 00:25:35.975207 INFO::Fitting model to feature number 321, F334
## 2024-05-01 00:25:35.97849 INFO::Fitting model to feature number 322, F335
## 2024-05-01 00:25:35.981782 INFO::Fitting model to feature number 323, F336
## 2024-05-01 00:25:35.985031 INFO::Fitting model to feature number 324, F337
## 2024-05-01 00:25:35.988296 INFO::Fitting model to feature number 325, F338
## 2024-05-01 00:25:35.991591 INFO::Fitting model to feature number 326, F339
## 2024-05-01 00:25:35.994887 INFO::Fitting model to feature number 327, F340
## 2024-05-01 00:25:35.998144 INFO::Fitting model to feature number 328, F342
## 2024-05-01 00:25:36.001431 INFO::Fitting model to feature number 329, F343
## 2024-05-01 00:25:36.004647 INFO::Fitting model to feature number 330, F344
## 2024-05-01 00:25:36.007842 INFO::Fitting model to feature number 331, F345
## 2024-05-01 00:25:36.011046 INFO::Fitting model to feature number 332, F346
## 2024-05-01 00:25:36.01424 INFO::Fitting model to feature number 333, F347
## 2024-05-01 00:25:36.017424 INFO::Fitting model to feature number 334, F348
## 2024-05-01 00:25:36.020611 INFO::Fitting model to feature number 335, F350
## 2024-05-01 00:25:36.023824 INFO::Fitting model to feature number 336, F351
## 2024-05-01 00:25:36.027036 INFO::Fitting model to feature number 337, F352
## 2024-05-01 00:25:36.030274 INFO::Fitting model to feature number 338, F353
## 2024-05-01 00:25:36.033447 INFO::Fitting model to feature number 339, F355
## 2024-05-01 00:25:36.036649 INFO::Fitting model to feature number 340, F356
## 2024-05-01 00:25:36.039876 INFO::Fitting model to feature number 341, F357
## 2024-05-01 00:25:36.043103 INFO::Fitting model to feature number 342, F358
## 2024-05-01 00:25:36.046402 INFO::Fitting model to feature number 343, F359
## 2024-05-01 00:25:36.049686 INFO::Fitting model to feature number 344, F360
## 2024-05-01 00:25:36.052951 INFO::Fitting model to feature number 345, F361
## 2024-05-01 00:25:36.056159 INFO::Fitting model to feature number 346, F362
## 2024-05-01 00:25:36.059394 INFO::Fitting model to feature number 347, F363
## 2024-05-01 00:25:36.062572 INFO::Fitting model to feature number 348, F364
## 2024-05-01 00:25:36.065788 INFO::Fitting model to feature number 349, F365
## 2024-05-01 00:25:36.068994 INFO::Fitting model to feature number 350, F366
## 2024-05-01 00:25:36.072191 INFO::Fitting model to feature number 351, F367
## 2024-05-01 00:25:36.075416 INFO::Fitting model to feature number 352, F368
## 2024-05-01 00:25:36.078619 INFO::Fitting model to feature number 353, F369
## 2024-05-01 00:25:36.081839 INFO::Fitting model to feature number 354, F370
## 2024-05-01 00:25:36.085049 INFO::Fitting model to feature number 355, F371
## 2024-05-01 00:25:36.088247 INFO::Fitting model to feature number 356, F372
## 2024-05-01 00:25:36.091477 INFO::Fitting model to feature number 357, F373
## 2024-05-01 00:25:36.094691 INFO::Fitting model to feature number 358, F374
## 2024-05-01 00:25:36.097903 INFO::Fitting model to feature number 359, F375
## 2024-05-01 00:25:36.101114 INFO::Fitting model to feature number 360, F376
## 2024-05-01 00:25:36.104271 INFO::Fitting model to feature number 361, F377
## 2024-05-01 00:25:36.107482 INFO::Fitting model to feature number 362, F378
## 2024-05-01 00:25:36.110696 INFO::Fitting model to feature number 363, F379
## 2024-05-01 00:25:36.113971 INFO::Fitting model to feature number 364, F380
## 2024-05-01 00:25:36.117181 INFO::Fitting model to feature number 365, F381
## 2024-05-01 00:25:36.120386 INFO::Fitting model to feature number 366, F382
## 2024-05-01 00:25:36.123598 INFO::Fitting model to feature number 367, F383
## 2024-05-01 00:25:36.126814 INFO::Fitting model to feature number 368, F384
## 2024-05-01 00:25:36.130026 INFO::Fitting model to feature number 369, F386
## 2024-05-01 00:25:36.133256 INFO::Fitting model to feature number 370, F387
## 2024-05-01 00:25:36.136452 INFO::Fitting model to feature number 371, F388
## 2024-05-01 00:25:36.139677 INFO::Fitting model to feature number 372, F389
## 2024-05-01 00:25:36.142841 INFO::Fitting model to feature number 373, F390
## 2024-05-01 00:25:36.146043 INFO::Fitting model to feature number 374, F391
## 2024-05-01 00:25:36.149275 INFO::Fitting model to feature number 375, F392
## 2024-05-01 00:25:36.1525 INFO::Fitting model to feature number 376, F393
## 2024-05-01 00:25:36.155732 INFO::Fitting model to feature number 377, F394
## 2024-05-01 00:25:36.158962 INFO::Fitting model to feature number 378, F395
## 2024-05-01 00:25:36.162185 INFO::Fitting model to feature number 379, F396
## 2024-05-01 00:25:36.165422 INFO::Fitting model to feature number 380, F397
## 2024-05-01 00:25:36.168655 INFO::Fitting model to feature number 381, F398
## 2024-05-01 00:25:36.171817 INFO::Fitting model to feature number 382, F399
## 2024-05-01 00:25:36.175105 INFO::Fitting model to feature number 383, F400
## 2024-05-01 00:25:36.178353 INFO::Fitting model to feature number 384, F401
## 2024-05-01 00:25:36.18158 INFO::Fitting model to feature number 385, F402
## 2024-05-01 00:25:36.184803 INFO::Fitting model to feature number 386, F403
## 2024-05-01 00:25:36.188031 INFO::Fitting model to feature number 387, F404
## 2024-05-01 00:25:36.191257 INFO::Fitting model to feature number 388, F406
## 2024-05-01 00:25:36.194445 INFO::Fitting model to feature number 389, F407
## 2024-05-01 00:25:36.197686 INFO::Fitting model to feature number 390, F408
## 2024-05-01 00:25:36.200915 INFO::Fitting model to feature number 391, F409
## 2024-05-01 00:25:36.204124 INFO::Fitting model to feature number 392, F410
## 2024-05-01 00:25:36.207278 INFO::Fitting model to feature number 393, F411
## 2024-05-01 00:25:36.210505 INFO::Fitting model to feature number 394, F412
## 2024-05-01 00:25:36.213723 INFO::Fitting model to feature number 395, F413
## 2024-05-01 00:25:36.216944 INFO::Fitting model to feature number 396, F414
## 2024-05-01 00:25:36.220141 INFO::Fitting model to feature number 397, F415
## 2024-05-01 00:25:36.223388 INFO::Fitting model to feature number 398, F416
## 2024-05-01 00:25:36.226643 INFO::Fitting model to feature number 399, F417
## 2024-05-01 00:25:36.229902 INFO::Fitting model to feature number 400, F418
## 2024-05-01 00:25:36.233142 INFO::Fitting model to feature number 401, F419
## 2024-05-01 00:25:36.23637 INFO::Fitting model to feature number 402, F420
## 2024-05-01 00:25:36.239633 INFO::Fitting model to feature number 403, F421
## 2024-05-01 00:25:36.242889 INFO::Fitting model to feature number 404, F422
## 2024-05-01 00:25:36.246149 INFO::Fitting model to feature number 405, F423
## 2024-05-01 00:25:36.249438 INFO::Fitting model to feature number 406, F425
## 2024-05-01 00:25:36.252724 INFO::Fitting model to feature number 407, F426
## 2024-05-01 00:25:36.255989 INFO::Fitting model to feature number 408, F428
## 2024-05-01 00:25:36.259255 INFO::Fitting model to feature number 409, F429
## 2024-05-01 00:25:36.262486 INFO::Fitting model to feature number 410, F430
## 2024-05-01 00:25:36.265713 INFO::Fitting model to feature number 411, F431
## 2024-05-01 00:25:36.268967 INFO::Fitting model to feature number 412, F432
## 2024-05-01 00:25:36.272214 INFO::Fitting model to feature number 413, F433
## 2024-05-01 00:25:36.275464 INFO::Fitting model to feature number 414, F434
## 2024-05-01 00:25:36.278737 INFO::Fitting model to feature number 415, F435
## 2024-05-01 00:25:36.282027 INFO::Fitting model to feature number 416, F436
## 2024-05-01 00:25:36.285317 INFO::Fitting model to feature number 417, F437
## 2024-05-01 00:25:36.288659 INFO::Fitting model to feature number 418, F438
## 2024-05-01 00:25:36.291937 INFO::Fitting model to feature number 419, F439
## 2024-05-01 00:25:36.295161 INFO::Fitting model to feature number 420, F440
## 2024-05-01 00:25:36.298398 INFO::Fitting model to feature number 421, F441
## 2024-05-01 00:25:36.301656 INFO::Fitting model to feature number 422, F442
## 2024-05-01 00:25:36.304886 INFO::Fitting model to feature number 423, F443
## 2024-05-01 00:25:36.308129 INFO::Fitting model to feature number 424, F444
## 2024-05-01 00:25:36.311404 INFO::Fitting model to feature number 425, F445
## 2024-05-01 00:25:36.314685 INFO::Fitting model to feature number 426, F446
## 2024-05-01 00:25:36.318002 INFO::Fitting model to feature number 427, F447
## 2024-05-01 00:25:36.321272 INFO::Fitting model to feature number 428, F448
## 2024-05-01 00:25:36.324522 INFO::Fitting model to feature number 429, F449
## 2024-05-01 00:25:36.327782 INFO::Fitting model to feature number 430, F450
## 2024-05-01 00:25:36.331049 INFO::Fitting model to feature number 431, F451
## 2024-05-01 00:25:36.334329 INFO::Fitting model to feature number 432, F452
## 2024-05-01 00:25:36.337588 INFO::Fitting model to feature number 433, F454
## 2024-05-01 00:25:36.340784 INFO::Fitting model to feature number 434, F455
## 2024-05-01 00:25:36.344021 INFO::Fitting model to feature number 435, F456
## 2024-05-01 00:25:36.347238 INFO::Fitting model to feature number 436, F457
## 2024-05-01 00:25:36.350474 INFO::Fitting model to feature number 437, F458
## 2024-05-01 00:25:36.353659 INFO::Fitting model to feature number 438, F459
## 2024-05-01 00:25:36.356908 INFO::Fitting model to feature number 439, F461
## 2024-05-01 00:25:36.360129 INFO::Fitting model to feature number 440, F462
## 2024-05-01 00:25:36.363389 INFO::Fitting model to feature number 441, F463
## 2024-05-01 00:25:36.36664 INFO::Fitting model to feature number 442, F464
## 2024-05-01 00:25:36.369892 INFO::Fitting model to feature number 443, F465
## 2024-05-01 00:25:36.373143 INFO::Fitting model to feature number 444, F466
## 2024-05-01 00:25:36.376395 INFO::Fitting model to feature number 445, F467
## 2024-05-01 00:25:36.379656 INFO::Fitting model to feature number 446, F468
## 2024-05-01 00:25:36.382853 INFO::Fitting model to feature number 447, F469
## 2024-05-01 00:25:36.386126 INFO::Fitting model to feature number 448, F470
## 2024-05-01 00:25:36.389378 INFO::Fitting model to feature number 449, F471
## 2024-05-01 00:25:36.392579 INFO::Fitting model to feature number 450, F474
## 2024-05-01 00:25:36.395878 INFO::Fitting model to feature number 451, F475
## 2024-05-01 00:25:36.399173 INFO::Fitting model to feature number 452, F476
## 2024-05-01 00:25:36.419499 INFO::Fitting model to feature number 453, F477
## 2024-05-01 00:25:36.424743 INFO::Fitting model to feature number 454, F478
## 2024-05-01 00:25:36.428362 INFO::Fitting model to feature number 455, F479
## 2024-05-01 00:25:36.431837 INFO::Fitting model to feature number 456, F480
## 2024-05-01 00:25:36.435221 INFO::Fitting model to feature number 457, F481
## 2024-05-01 00:25:36.438584 INFO::Fitting model to feature number 458, F482
## 2024-05-01 00:25:36.441941 INFO::Fitting model to feature number 459, F483
## 2024-05-01 00:25:36.445325 INFO::Fitting model to feature number 460, F484
## 2024-05-01 00:25:36.448672 INFO::Fitting model to feature number 461, F485
## 2024-05-01 00:25:36.451916 INFO::Fitting model to feature number 462, F486
## 2024-05-01 00:25:36.455164 INFO::Fitting model to feature number 463, F487
## 2024-05-01 00:25:36.458425 INFO::Fitting model to feature number 464, F488
## 2024-05-01 00:25:36.461664 INFO::Fitting model to feature number 465, F489
## 2024-05-01 00:25:36.464905 INFO::Fitting model to feature number 466, F490
## 2024-05-01 00:25:36.468098 INFO::Fitting model to feature number 467, F491
## 2024-05-01 00:25:36.471279 INFO::Fitting model to feature number 468, F492
## 2024-05-01 00:25:36.474452 INFO::Fitting model to feature number 469, F493
## 2024-05-01 00:25:36.477631 INFO::Fitting model to feature number 470, F494
## 2024-05-01 00:25:36.480794 INFO::Fitting model to feature number 471, F495
## 2024-05-01 00:25:36.483894 INFO::Fitting model to feature number 472, F496
## 2024-05-01 00:25:36.486991 INFO::Fitting model to feature number 473, F497
## 2024-05-01 00:25:36.490151 INFO::Fitting model to feature number 474, F498
## 2024-05-01 00:25:36.493314 INFO::Fitting model to feature number 475, F499
## 2024-05-01 00:25:36.496461 INFO::Fitting model to feature number 476, F500
## 2024-05-01 00:25:36.499623 INFO::Fitting model to feature number 477, F501
## 2024-05-01 00:25:36.502789 INFO::Fitting model to feature number 478, F502
## 2024-05-01 00:25:36.505962 INFO::Fitting model to feature number 479, F503
## 2024-05-01 00:25:36.50912 INFO::Fitting model to feature number 480, F504
## 2024-05-01 00:25:36.512275 INFO::Fitting model to feature number 481, F505
## 2024-05-01 00:25:36.515433 INFO::Fitting model to feature number 482, F506
## 2024-05-01 00:25:36.518619 INFO::Fitting model to feature number 483, F507
## 2024-05-01 00:25:36.521822 INFO::Fitting model to feature number 484, F508
## 2024-05-01 00:25:36.525002 INFO::Fitting model to feature number 485, F509
## 2024-05-01 00:25:36.528179 INFO::Fitting model to feature number 486, F510
## 2024-05-01 00:25:36.531383 INFO::Fitting model to feature number 487, F511
## 2024-05-01 00:25:36.534603 INFO::Fitting model to feature number 488, F512
## 2024-05-01 00:25:36.5378 INFO::Fitting model to feature number 489, F513
## 2024-05-01 00:25:36.540961 INFO::Fitting model to feature number 490, F514
## 2024-05-01 00:25:36.544106 INFO::Fitting model to feature number 491, F515
## 2024-05-01 00:25:36.54725 INFO::Fitting model to feature number 492, F516
## 2024-05-01 00:25:36.550408 INFO::Fitting model to feature number 493, F517
## 2024-05-01 00:25:36.553574 INFO::Fitting model to feature number 494, F518
## 2024-05-01 00:25:36.556658 INFO::Fitting model to feature number 495, F519
## 2024-05-01 00:25:36.559809 INFO::Fitting model to feature number 496, F520
## 2024-05-01 00:25:36.562962 INFO::Fitting model to feature number 497, F521
## 2024-05-01 00:25:36.566106 INFO::Fitting model to feature number 498, F522
## 2024-05-01 00:25:36.569238 INFO::Fitting model to feature number 499, F523
## 2024-05-01 00:25:36.572364 INFO::Fitting model to feature number 500, F524
## 2024-05-01 00:25:36.575522 INFO::Fitting model to feature number 501, F525
## 2024-05-01 00:25:36.578678 INFO::Fitting model to feature number 502, F526
## 2024-05-01 00:25:36.581845 INFO::Fitting model to feature number 503, F527
## 2024-05-01 00:25:36.584942 INFO::Fitting model to feature number 504, F528
## 2024-05-01 00:25:36.588058 INFO::Fitting model to feature number 505, F529
## 2024-05-01 00:25:36.59124 INFO::Fitting model to feature number 506, F530
## 2024-05-01 00:25:36.594405 INFO::Fitting model to feature number 507, F531
## 2024-05-01 00:25:36.597601 INFO::Fitting model to feature number 508, F532
## 2024-05-01 00:25:36.600772 INFO::Fitting model to feature number 509, F533
## 2024-05-01 00:25:36.603959 INFO::Fitting model to feature number 510, F534
## 2024-05-01 00:25:36.607122 INFO::Fitting model to feature number 511, F535
## 2024-05-01 00:25:36.610311 INFO::Fitting model to feature number 512, F536
## 2024-05-01 00:25:36.61351 INFO::Fitting model to feature number 513, F537
## 2024-05-01 00:25:36.616713 INFO::Fitting model to feature number 514, F539
## 2024-05-01 00:25:36.619895 INFO::Fitting model to feature number 515, F540
## 2024-05-01 00:25:36.623088 INFO::Fitting model to feature number 516, F541
## 2024-05-01 00:25:36.62627 INFO::Fitting model to feature number 517, F543
## 2024-05-01 00:25:36.629481 INFO::Fitting model to feature number 518, F544
## 2024-05-01 00:25:36.632667 INFO::Fitting model to feature number 519, F545
## 2024-05-01 00:25:36.635865 INFO::Fitting model to feature number 520, F546
## 2024-05-01 00:25:36.63906 INFO::Fitting model to feature number 521, F547
## 2024-05-01 00:25:36.642273 INFO::Fitting model to feature number 522, F548
## 2024-05-01 00:25:36.64549 INFO::Fitting model to feature number 523, F549
## 2024-05-01 00:25:36.648727 INFO::Fitting model to feature number 524, F550
## 2024-05-01 00:25:36.65191 INFO::Fitting model to feature number 525, F551
## 2024-05-01 00:25:36.655102 INFO::Fitting model to feature number 526, F552
## 2024-05-01 00:25:36.658281 INFO::Fitting model to feature number 527, F553
## 2024-05-01 00:25:36.661482 INFO::Fitting model to feature number 528, F554
## 2024-05-01 00:25:36.664673 INFO::Fitting model to feature number 529, F555
## 2024-05-01 00:25:36.667861 INFO::Fitting model to feature number 530, F556
## 2024-05-01 00:25:36.67104 INFO::Fitting model to feature number 531, F557
## 2024-05-01 00:25:36.674226 INFO::Fitting model to feature number 532, F558
## 2024-05-01 00:25:36.677419 INFO::Fitting model to feature number 533, F559
## 2024-05-01 00:25:36.68064 INFO::Fitting model to feature number 534, F560
## 2024-05-01 00:25:36.683889 INFO::Fitting model to feature number 535, F561
## 2024-05-01 00:25:36.687108 INFO::Fitting model to feature number 536, F562
## 2024-05-01 00:25:36.690306 INFO::Fitting model to feature number 537, F563
## 2024-05-01 00:25:36.693494 INFO::Fitting model to feature number 538, F564
## 2024-05-01 00:25:36.696686 INFO::Fitting model to feature number 539, F566
## 2024-05-01 00:25:36.699918 INFO::Fitting model to feature number 540, F567
## 2024-05-01 00:25:36.703129 INFO::Fitting model to feature number 541, F568
## 2024-05-01 00:25:36.706315 INFO::Fitting model to feature number 542, F569
## 2024-05-01 00:25:36.709491 INFO::Fitting model to feature number 543, F570
## 2024-05-01 00:25:36.712664 INFO::Fitting model to feature number 544, F571
## 2024-05-01 00:25:36.715784 INFO::Fitting model to feature number 545, F572
## 2024-05-01 00:25:36.718954 INFO::Fitting model to feature number 546, F573
## 2024-05-01 00:25:36.722134 INFO::Fitting model to feature number 547, F574
## 2024-05-01 00:25:36.725327 INFO::Fitting model to feature number 548, F575
## 2024-05-01 00:25:36.728477 INFO::Fitting model to feature number 549, F576
## 2024-05-01 00:25:36.731653 INFO::Fitting model to feature number 550, F577
## 2024-05-01 00:25:36.734837 INFO::Fitting model to feature number 551, F578
## 2024-05-01 00:25:36.738016 INFO::Fitting model to feature number 552, F579
## 2024-05-01 00:25:36.741195 INFO::Fitting model to feature number 553, F580
## 2024-05-01 00:25:36.744373 INFO::Fitting model to feature number 554, F581
## 2024-05-01 00:25:36.747582 INFO::Fitting model to feature number 555, F582
## 2024-05-01 00:25:36.75074 INFO::Fitting model to feature number 556, F583
## 2024-05-01 00:25:36.753983 INFO::Fitting model to feature number 557, F584
## 2024-05-01 00:25:36.757172 INFO::Fitting model to feature number 558, F585
## 2024-05-01 00:25:36.760405 INFO::Fitting model to feature number 559, F586
## 2024-05-01 00:25:36.763628 INFO::Fitting model to feature number 560, F587
## 2024-05-01 00:25:36.766873 INFO::Fitting model to feature number 561, F588
## 2024-05-01 00:25:36.770112 INFO::Fitting model to feature number 562, F589
## 2024-05-01 00:25:36.77332 INFO::Fitting model to feature number 563, F590
## 2024-05-01 00:25:36.776483 INFO::Fitting model to feature number 564, F591
## 2024-05-01 00:25:36.779684 INFO::Fitting model to feature number 565, F592
## 2024-05-01 00:25:36.782886 INFO::Fitting model to feature number 566, F593
## 2024-05-01 00:25:36.786059 INFO::Fitting model to feature number 567, F594
## 2024-05-01 00:25:36.78924 INFO::Fitting model to feature number 568, F595
## 2024-05-01 00:25:36.792404 INFO::Fitting model to feature number 569, F596
## 2024-05-01 00:25:36.795596 INFO::Fitting model to feature number 570, F597
## 2024-05-01 00:25:36.798779 INFO::Fitting model to feature number 571, F598
## 2024-05-01 00:25:36.801946 INFO::Fitting model to feature number 572, F599
## 2024-05-01 00:25:36.805047 INFO::Fitting model to feature number 573, F600
## 2024-05-01 00:25:36.808226 INFO::Fitting model to feature number 574, F601
## 2024-05-01 00:25:36.811399 INFO::Fitting model to feature number 575, F602
## 2024-05-01 00:25:36.814617 INFO::Fitting model to feature number 576, F603
## 2024-05-01 00:25:36.817861 INFO::Fitting model to feature number 577, F605
## 2024-05-01 00:25:36.82109 INFO::Fitting model to feature number 578, F606
## 2024-05-01 00:25:36.824249 INFO::Fitting model to feature number 579, F607
## 2024-05-01 00:25:36.827401 INFO::Fitting model to feature number 580, F608
## 2024-05-01 00:25:36.83057 INFO::Fitting model to feature number 581, F609
## 2024-05-01 00:25:36.833738 INFO::Fitting model to feature number 582, F610
## 2024-05-01 00:25:36.836907 INFO::Fitting model to feature number 583, F611
## 2024-05-01 00:25:36.840047 INFO::Fitting model to feature number 584, F612
## 2024-05-01 00:25:36.843206 INFO::Fitting model to feature number 585, F613
## 2024-05-01 00:25:36.846418 INFO::Fitting model to feature number 586, F614
## 2024-05-01 00:25:36.849633 INFO::Fitting model to feature number 587, F615
## 2024-05-01 00:25:36.852827 INFO::Fitting model to feature number 588, F616
## 2024-05-01 00:25:36.856021 INFO::Fitting model to feature number 589, F617
## 2024-05-01 00:25:36.859216 INFO::Fitting model to feature number 590, F618
## 2024-05-01 00:25:36.862431 INFO::Fitting model to feature number 591, F619
## 2024-05-01 00:25:36.865619 INFO::Fitting model to feature number 592, F620
## 2024-05-01 00:25:36.868809 INFO::Fitting model to feature number 593, F621
## 2024-05-01 00:25:36.872001 INFO::Fitting model to feature number 594, F622
## 2024-05-01 00:25:36.875216 INFO::Fitting model to feature number 595, F623
## 2024-05-01 00:25:36.878416 INFO::Fitting model to feature number 596, F624
## 2024-05-01 00:25:36.881605 INFO::Fitting model to feature number 597, F625
## 2024-05-01 00:25:36.884788 INFO::Fitting model to feature number 598, F626
## 2024-05-01 00:25:36.887986 INFO::Fitting model to feature number 599, F627
## 2024-05-01 00:25:36.891204 INFO::Fitting model to feature number 600, F628
## 2024-05-01 00:25:36.894415 INFO::Fitting model to feature number 601, F629
## 2024-05-01 00:25:36.89765 INFO::Fitting model to feature number 602, F630
## 2024-05-01 00:25:36.900971 INFO::Fitting model to feature number 603, F631
## 2024-05-01 00:25:36.904222 INFO::Fitting model to feature number 604, F632
## 2024-05-01 00:25:36.907482 INFO::Fitting model to feature number 605, F633
## 2024-05-01 00:25:36.91077 INFO::Fitting model to feature number 606, F634
## 2024-05-01 00:25:36.914179 INFO::Fitting model to feature number 607, F635
## 2024-05-01 00:25:36.917555 INFO::Fitting model to feature number 608, F636
## 2024-05-01 00:25:36.92087 INFO::Fitting model to feature number 609, F637
## 2024-05-01 00:25:36.924223 INFO::Fitting model to feature number 610, F638
## 2024-05-01 00:25:36.927584 INFO::Fitting model to feature number 611, F639
## 2024-05-01 00:25:36.93094 INFO::Fitting model to feature number 612, F640
## 2024-05-01 00:25:36.934259 INFO::Fitting model to feature number 613, F641
## 2024-05-01 00:25:36.937582 INFO::Fitting model to feature number 614, F642
## 2024-05-01 00:25:36.940918 INFO::Fitting model to feature number 615, F643
## 2024-05-01 00:25:36.944187 INFO::Fitting model to feature number 616, F644
## 2024-05-01 00:25:36.947453 INFO::Fitting model to feature number 617, F645
## 2024-05-01 00:25:36.950698 INFO::Fitting model to feature number 618, F646
## 2024-05-01 00:25:36.953969 INFO::Fitting model to feature number 619, F647
## 2024-05-01 00:25:36.957249 INFO::Fitting model to feature number 620, F648
## 2024-05-01 00:25:36.960492 INFO::Fitting model to feature number 621, F649
## 2024-05-01 00:25:36.963783 INFO::Fitting model to feature number 622, F650
## 2024-05-01 00:25:36.967089 INFO::Fitting model to feature number 623, F651
## 2024-05-01 00:25:36.970368 INFO::Fitting model to feature number 624, F652
## 2024-05-01 00:25:36.97372 INFO::Fitting model to feature number 625, F653
## 2024-05-01 00:25:36.977079 INFO::Fitting model to feature number 626, F654
## 2024-05-01 00:25:36.980386 INFO::Fitting model to feature number 627, F655
## 2024-05-01 00:25:36.983677 INFO::Fitting model to feature number 628, F656
## 2024-05-01 00:25:36.986983 INFO::Fitting model to feature number 629, F657
## 2024-05-01 00:25:36.99032 INFO::Fitting model to feature number 630, F658
## 2024-05-01 00:25:36.993676 INFO::Fitting model to feature number 631, F659
## 2024-05-01 00:25:36.996997 INFO::Fitting model to feature number 632, F660
## 2024-05-01 00:25:37.000332 INFO::Fitting model to feature number 633, F661
## 2024-05-01 00:25:37.00363 INFO::Fitting model to feature number 634, F662
## 2024-05-01 00:25:37.006917 INFO::Fitting model to feature number 635, F663
## 2024-05-01 00:25:37.010242 INFO::Fitting model to feature number 636, F664
## 2024-05-01 00:25:37.01357 INFO::Fitting model to feature number 637, F665
## 2024-05-01 00:25:37.016891 INFO::Fitting model to feature number 638, F666
## 2024-05-01 00:25:37.020227 INFO::Fitting model to feature number 639, F667
## 2024-05-01 00:25:37.023482 INFO::Fitting model to feature number 640, F668
## 2024-05-01 00:25:37.026719 INFO::Fitting model to feature number 641, F669
## 2024-05-01 00:25:37.029953 INFO::Fitting model to feature number 642, F670
## 2024-05-01 00:25:37.033208 INFO::Fitting model to feature number 643, F671
## 2024-05-01 00:25:37.036441 INFO::Fitting model to feature number 644, F672
## 2024-05-01 00:25:37.039666 INFO::Fitting model to feature number 645, F673
## 2024-05-01 00:25:37.042905 INFO::Fitting model to feature number 646, F674
## 2024-05-01 00:25:37.046149 INFO::Fitting model to feature number 647, F675
## 2024-05-01 00:25:37.049375 INFO::Fitting model to feature number 648, F676
## 2024-05-01 00:25:37.052622 INFO::Fitting model to feature number 649, F677
## 2024-05-01 00:25:37.055879 INFO::Fitting model to feature number 650, F678
## 2024-05-01 00:25:37.059142 INFO::Fitting model to feature number 651, F679
## 2024-05-01 00:25:37.062411 INFO::Fitting model to feature number 652, F680
## 2024-05-01 00:25:37.065649 INFO::Fitting model to feature number 653, F681
## 2024-05-01 00:25:37.068865 INFO::Fitting model to feature number 654, F682
## 2024-05-01 00:25:37.072103 INFO::Fitting model to feature number 655, F683
## 2024-05-01 00:25:37.075325 INFO::Fitting model to feature number 656, F684
## 2024-05-01 00:25:37.078544 INFO::Fitting model to feature number 657, F685
## 2024-05-01 00:25:37.08176 INFO::Fitting model to feature number 658, F686
## 2024-05-01 00:25:37.084984 INFO::Fitting model to feature number 659, F687
## 2024-05-01 00:25:37.088177 INFO::Fitting model to feature number 660, F688
## 2024-05-01 00:25:37.091385 INFO::Fitting model to feature number 661, F689
## 2024-05-01 00:25:37.094674 INFO::Fitting model to feature number 662, F690
## 2024-05-01 00:25:37.097914 INFO::Fitting model to feature number 663, F691
## 2024-05-01 00:25:37.101149 INFO::Fitting model to feature number 664, F692
## 2024-05-01 00:25:37.104363 INFO::Fitting model to feature number 665, F693
## 2024-05-01 00:25:37.107585 INFO::Fitting model to feature number 666, F694
## 2024-05-01 00:25:37.11082 INFO::Fitting model to feature number 667, F695
## 2024-05-01 00:25:37.114045 INFO::Fitting model to feature number 668, F696
## 2024-05-01 00:25:37.117277 INFO::Fitting model to feature number 669, F697
## 2024-05-01 00:25:37.120513 INFO::Fitting model to feature number 670, F698
## 2024-05-01 00:25:37.123766 INFO::Fitting model to feature number 671, F699
## 2024-05-01 00:25:37.127028 INFO::Fitting model to feature number 672, F700
## 2024-05-01 00:25:37.130261 INFO::Fitting model to feature number 673, F701
## 2024-05-01 00:25:37.133474 INFO::Fitting model to feature number 674, F702
## 2024-05-01 00:25:37.136681 INFO::Fitting model to feature number 675, F704
## 2024-05-01 00:25:37.13991 INFO::Fitting model to feature number 676, F705
## 2024-05-01 00:25:37.143068 INFO::Fitting model to feature number 677, F706
## 2024-05-01 00:25:37.146289 INFO::Fitting model to feature number 678, F707
## 2024-05-01 00:25:37.149432 INFO::Fitting model to feature number 679, F708
## 2024-05-01 00:25:37.152639 INFO::Fitting model to feature number 680, F709
## 2024-05-01 00:25:37.155866 INFO::Fitting model to feature number 681, F710
## 2024-05-01 00:25:37.15909 INFO::Fitting model to feature number 682, F711
## 2024-05-01 00:25:37.162305 INFO::Fitting model to feature number 683, F712
## 2024-05-01 00:25:37.165524 INFO::Fitting model to feature number 684, F713
## 2024-05-01 00:25:37.168771 INFO::Fitting model to feature number 685, F714
## 2024-05-01 00:25:37.171999 INFO::Fitting model to feature number 686, F715
## 2024-05-01 00:25:37.175246 INFO::Fitting model to feature number 687, F716
## 2024-05-01 00:25:37.178511 INFO::Fitting model to feature number 688, F717
## 2024-05-01 00:25:37.181767 INFO::Fitting model to feature number 689, F718
## 2024-05-01 00:25:37.185023 INFO::Fitting model to feature number 690, F719
## 2024-05-01 00:25:37.188265 INFO::Fitting model to feature number 691, F720
## 2024-05-01 00:25:37.191526 INFO::Fitting model to feature number 692, F721
## 2024-05-01 00:25:37.194767 INFO::Fitting model to feature number 693, F722
## 2024-05-01 00:25:37.198014 INFO::Fitting model to feature number 694, F723
## 2024-05-01 00:25:37.201259 INFO::Fitting model to feature number 695, F724
## 2024-05-01 00:25:37.204527 INFO::Fitting model to feature number 696, F725
## 2024-05-01 00:25:37.20777 INFO::Fitting model to feature number 697, F726
## 2024-05-01 00:25:37.211021 INFO::Fitting model to feature number 698, F727
## 2024-05-01 00:25:37.214267 INFO::Fitting model to feature number 699, F728
## 2024-05-01 00:25:37.217527 INFO::Fitting model to feature number 700, F729
## 2024-05-01 00:25:37.220789 INFO::Fitting model to feature number 701, F730
## 2024-05-01 00:25:37.22407 INFO::Fitting model to feature number 702, F731
## 2024-05-01 00:25:37.227329 INFO::Fitting model to feature number 703, F732
## 2024-05-01 00:25:37.230577 INFO::Fitting model to feature number 704, F733
## 2024-05-01 00:25:37.233823 INFO::Fitting model to feature number 705, F734
## 2024-05-01 00:25:37.237076 INFO::Fitting model to feature number 706, F735
## 2024-05-01 00:25:37.240326 INFO::Fitting model to feature number 707, F736
## 2024-05-01 00:25:37.24356 INFO::Fitting model to feature number 708, F737
## 2024-05-01 00:25:37.246839 INFO::Fitting model to feature number 709, F739
## 2024-05-01 00:25:37.250165 INFO::Fitting model to feature number 710, F740
## 2024-05-01 00:25:37.253478 INFO::Fitting model to feature number 711, F741
## 2024-05-01 00:25:37.256709 INFO::Fitting model to feature number 712, F742
## 2024-05-01 00:25:37.259963 INFO::Fitting model to feature number 713, F743
## 2024-05-01 00:25:37.263192 INFO::Fitting model to feature number 714, F744
## 2024-05-01 00:25:37.266422 INFO::Fitting model to feature number 715, F745
## 2024-05-01 00:25:37.269641 INFO::Fitting model to feature number 716, F746
## 2024-05-01 00:25:37.272858 INFO::Fitting model to feature number 717, F747
## 2024-05-01 00:25:37.276075 INFO::Fitting model to feature number 718, F748
## 2024-05-01 00:25:37.279302 INFO::Fitting model to feature number 719, F749
## 2024-05-01 00:25:37.282532 INFO::Fitting model to feature number 720, F750
## 2024-05-01 00:25:37.285764 INFO::Fitting model to feature number 721, F751
## 2024-05-01 00:25:37.288987 INFO::Fitting model to feature number 722, F752
## 2024-05-01 00:25:37.292188 INFO::Fitting model to feature number 723, F753
## 2024-05-01 00:25:37.29541 INFO::Fitting model to feature number 724, F754
## 2024-05-01 00:25:37.298635 INFO::Fitting model to feature number 725, F755
## 2024-05-01 00:25:37.301857 INFO::Fitting model to feature number 726, F756
## 2024-05-01 00:25:37.305096 INFO::Fitting model to feature number 727, F757
## 2024-05-01 00:25:37.308315 INFO::Fitting model to feature number 728, F758
## 2024-05-01 00:25:37.311583 INFO::Fitting model to feature number 729, F759
## 2024-05-01 00:25:37.336427 INFO::Fitting model to feature number 730, F760
## 2024-05-01 00:25:37.343048 INFO::Fitting model to feature number 731, F761
## 2024-05-01 00:25:37.346497 INFO::Fitting model to feature number 732, F762
## 2024-05-01 00:25:37.349821 INFO::Fitting model to feature number 733, F763
## 2024-05-01 00:25:37.353092 INFO::Fitting model to feature number 734, F764
## 2024-05-01 00:25:37.356323 INFO::Fitting model to feature number 735, F765
## 2024-05-01 00:25:37.359559 INFO::Fitting model to feature number 736, F766
## 2024-05-01 00:25:37.362733 INFO::Fitting model to feature number 737, F767
## 2024-05-01 00:25:37.365953 INFO::Fitting model to feature number 738, F768
## 2024-05-01 00:25:37.369162 INFO::Fitting model to feature number 739, F769
## 2024-05-01 00:25:37.372333 INFO::Fitting model to feature number 740, F770
## 2024-05-01 00:25:37.37554 INFO::Fitting model to feature number 741, F771
## 2024-05-01 00:25:37.378726 INFO::Fitting model to feature number 742, F772
## 2024-05-01 00:25:37.381929 INFO::Fitting model to feature number 743, F773
## 2024-05-01 00:25:37.385123 INFO::Fitting model to feature number 744, F774
## 2024-05-01 00:25:37.388316 INFO::Fitting model to feature number 745, F775
## 2024-05-01 00:25:37.391515 INFO::Fitting model to feature number 746, F776
## 2024-05-01 00:25:37.394722 INFO::Fitting model to feature number 747, F777
## 2024-05-01 00:25:37.397922 INFO::Fitting model to feature number 748, F778
## 2024-05-01 00:25:37.401123 INFO::Fitting model to feature number 749, F779
## 2024-05-01 00:25:37.404338 INFO::Fitting model to feature number 750, F780
## 2024-05-01 00:25:37.407562 INFO::Fitting model to feature number 751, F781
## 2024-05-01 00:25:37.410764 INFO::Fitting model to feature number 752, F782
## 2024-05-01 00:25:37.413956 INFO::Fitting model to feature number 753, F783
## 2024-05-01 00:25:37.417154 INFO::Fitting model to feature number 754, F784
## 2024-05-01 00:25:37.420357 INFO::Fitting model to feature number 755, F785
## 2024-05-01 00:25:37.423553 INFO::Fitting model to feature number 756, F786
## 2024-05-01 00:25:37.426772 INFO::Fitting model to feature number 757, F787
## 2024-05-01 00:25:37.42993 INFO::Fitting model to feature number 758, F788
## 2024-05-01 00:25:37.433086 INFO::Fitting model to feature number 759, F789
## 2024-05-01 00:25:37.43623 INFO::Fitting model to feature number 760, F790
## 2024-05-01 00:25:37.439405 INFO::Fitting model to feature number 761, F791
## 2024-05-01 00:25:37.442553 INFO::Fitting model to feature number 762, F792
## 2024-05-01 00:25:37.445729 INFO::Fitting model to feature number 763, F793
## 2024-05-01 00:25:37.448904 INFO::Fitting model to feature number 764, F794
## 2024-05-01 00:25:37.452054 INFO::Fitting model to feature number 765, F795
## 2024-05-01 00:25:37.455216 INFO::Fitting model to feature number 766, F796
## 2024-05-01 00:25:37.458397 INFO::Fitting model to feature number 767, F797
## 2024-05-01 00:25:37.46162 INFO::Fitting model to feature number 768, F798
## 2024-05-01 00:25:37.464788 INFO::Fitting model to feature number 769, F799
## 2024-05-01 00:25:37.46795 INFO::Fitting model to feature number 770, F800
## 2024-05-01 00:25:37.471125 INFO::Fitting model to feature number 771, F801
## 2024-05-01 00:25:37.474306 INFO::Fitting model to feature number 772, F802
## 2024-05-01 00:25:37.477503 INFO::Fitting model to feature number 773, F803
## 2024-05-01 00:25:37.480682 INFO::Fitting model to feature number 774, F804
## 2024-05-01 00:25:37.483873 INFO::Fitting model to feature number 775, F805
## 2024-05-01 00:25:37.487073 INFO::Fitting model to feature number 776, F806
## 2024-05-01 00:25:37.490256 INFO::Fitting model to feature number 777, F808
## 2024-05-01 00:25:37.493438 INFO::Fitting model to feature number 778, F809
## 2024-05-01 00:25:37.49663 INFO::Fitting model to feature number 779, F810
## 2024-05-01 00:25:37.499826 INFO::Fitting model to feature number 780, F811
## 2024-05-01 00:25:37.503028 INFO::Fitting model to feature number 781, F812
## 2024-05-01 00:25:37.506215 INFO::Fitting model to feature number 782, F813
## 2024-05-01 00:25:37.509415 INFO::Fitting model to feature number 783, F814
## 2024-05-01 00:25:37.512604 INFO::Fitting model to feature number 784, F815
## 2024-05-01 00:25:37.515845 INFO::Fitting model to feature number 785, F816
## 2024-05-01 00:25:37.519053 INFO::Fitting model to feature number 786, F817
## 2024-05-01 00:25:37.522246 INFO::Fitting model to feature number 787, F818
## 2024-05-01 00:25:37.525465 INFO::Fitting model to feature number 788, F819
## 2024-05-01 00:25:37.528683 INFO::Fitting model to feature number 789, F820
## 2024-05-01 00:25:37.531942 INFO::Fitting model to feature number 790, F821
## 2024-05-01 00:25:37.53518 INFO::Fitting model to feature number 791, F822
## 2024-05-01 00:25:37.538406 INFO::Fitting model to feature number 792, F823
## 2024-05-01 00:25:37.541717 INFO::Fitting model to feature number 793, F824
## 2024-05-01 00:25:37.544998 INFO::Fitting model to feature number 794, F825
## 2024-05-01 00:25:37.548258 INFO::Fitting model to feature number 795, F826
## 2024-05-01 00:25:37.55152 INFO::Fitting model to feature number 796, F827
## 2024-05-01 00:25:37.554703 INFO::Fitting model to feature number 797, F828
## 2024-05-01 00:25:37.558034 INFO::Fitting model to feature number 798, F829
## 2024-05-01 00:25:37.561379 INFO::Fitting model to feature number 799, F830
## 2024-05-01 00:25:37.564819 INFO::Fitting model to feature number 800, F831
## 2024-05-01 00:25:37.568237 INFO::Fitting model to feature number 801, F832
## 2024-05-01 00:25:37.571453 INFO::Fitting model to feature number 802, F833
## 2024-05-01 00:25:37.574689 INFO::Fitting model to feature number 803, F834
## 2024-05-01 00:25:37.577952 INFO::Fitting model to feature number 804, F835
## 2024-05-01 00:25:37.581101 INFO::Fitting model to feature number 805, F836
## 2024-05-01 00:25:37.584333 INFO::Fitting model to feature number 806, F837
## 2024-05-01 00:25:37.587532 INFO::Fitting model to feature number 807, F838
## 2024-05-01 00:25:37.590683 INFO::Fitting model to feature number 808, F839
## 2024-05-01 00:25:37.593853 INFO::Fitting model to feature number 809, F840
## 2024-05-01 00:25:37.596959 INFO::Fitting model to feature number 810, F841
## 2024-05-01 00:25:37.600123 INFO::Fitting model to feature number 811, F842
## 2024-05-01 00:25:37.603324 INFO::Fitting model to feature number 812, F843
## 2024-05-01 00:25:37.606515 INFO::Fitting model to feature number 813, F844
## 2024-05-01 00:25:37.609654 INFO::Fitting model to feature number 814, F845
## 2024-05-01 00:25:37.612838 INFO::Fitting model to feature number 815, F846
## 2024-05-01 00:25:37.616069 INFO::Fitting model to feature number 816, F847
## 2024-05-01 00:25:37.619251 INFO::Fitting model to feature number 817, F848
## 2024-05-01 00:25:37.622463 INFO::Fitting model to feature number 818, F849
## 2024-05-01 00:25:37.625662 INFO::Fitting model to feature number 819, F850
## 2024-05-01 00:25:37.62885 INFO::Fitting model to feature number 820, F851
## 2024-05-01 00:25:37.632056 INFO::Fitting model to feature number 821, F852
## 2024-05-01 00:25:37.635242 INFO::Fitting model to feature number 822, F853
## 2024-05-01 00:25:37.638463 INFO::Fitting model to feature number 823, F854
## 2024-05-01 00:25:37.641659 INFO::Fitting model to feature number 824, F855
## 2024-05-01 00:25:37.644829 INFO::Fitting model to feature number 825, F856
## 2024-05-01 00:25:37.648076 INFO::Fitting model to feature number 826, F857
## 2024-05-01 00:25:37.65131 INFO::Fitting model to feature number 827, F858
## 2024-05-01 00:25:37.654567 INFO::Fitting model to feature number 828, F859
## 2024-05-01 00:25:37.657853 INFO::Fitting model to feature number 829, F860
## 2024-05-01 00:25:37.6613 INFO::Fitting model to feature number 830, F861
## 2024-05-01 00:25:37.664928 INFO::Fitting model to feature number 831, F862
## 2024-05-01 00:25:37.668494 INFO::Fitting model to feature number 832, F863
## 2024-05-01 00:25:37.671948 INFO::Fitting model to feature number 833, F864
## 2024-05-01 00:25:37.675536 INFO::Fitting model to feature number 834, F865
## 2024-05-01 00:25:37.679063 INFO::Fitting model to feature number 835, F866
## 2024-05-01 00:25:37.682713 INFO::Fitting model to feature number 836, F867
## 2024-05-01 00:25:37.686267 INFO::Fitting model to feature number 837, F868
## 2024-05-01 00:25:37.689919 INFO::Fitting model to feature number 838, F869
## 2024-05-01 00:25:37.693542 INFO::Fitting model to feature number 839, F870
## 2024-05-01 00:25:37.697098 INFO::Fitting model to feature number 840, F871
## 2024-05-01 00:25:37.700548 INFO::Fitting model to feature number 841, F872
## 2024-05-01 00:25:37.7041 INFO::Fitting model to feature number 842, F873
## 2024-05-01 00:25:37.707606 INFO::Fitting model to feature number 843, F874
## 2024-05-01 00:25:37.711064 INFO::Fitting model to feature number 844, F875
## 2024-05-01 00:25:37.714532 INFO::Fitting model to feature number 845, F876
## 2024-05-01 00:25:37.717998 INFO::Fitting model to feature number 846, F877
## 2024-05-01 00:25:37.721525 INFO::Fitting model to feature number 847, F878
## 2024-05-01 00:25:37.725031 INFO::Fitting model to feature number 848, F879
## 2024-05-01 00:25:37.728493 INFO::Fitting model to feature number 849, F880
## 2024-05-01 00:25:37.731996 INFO::Fitting model to feature number 850, F881
## 2024-05-01 00:25:37.73556 INFO::Fitting model to feature number 851, F882
## 2024-05-01 00:25:37.739101 INFO::Fitting model to feature number 852, F883
## 2024-05-01 00:25:37.742784 INFO::Fitting model to feature number 853, F884
## 2024-05-01 00:25:37.746575 INFO::Fitting model to feature number 854, F885
## 2024-05-01 00:25:37.750387 INFO::Fitting model to feature number 855, F886
## 2024-05-01 00:25:37.753914 INFO::Fitting model to feature number 856, F887
## 2024-05-01 00:25:37.757411 INFO::Fitting model to feature number 857, F888
## 2024-05-01 00:25:37.760898 INFO::Fitting model to feature number 858, F889
## 2024-05-01 00:25:37.764367 INFO::Fitting model to feature number 859, F890
## 2024-05-01 00:25:37.767894 INFO::Fitting model to feature number 860, F891
## 2024-05-01 00:25:37.771388 INFO::Fitting model to feature number 861, F892
## 2024-05-01 00:25:37.774853 INFO::Fitting model to feature number 862, F893
## 2024-05-01 00:25:37.778497 INFO::Fitting model to feature number 863, F894
## 2024-05-01 00:25:37.782021 INFO::Fitting model to feature number 864, F895
## 2024-05-01 00:25:37.785583 INFO::Fitting model to feature number 865, F896
## 2024-05-01 00:25:37.789203 INFO::Fitting model to feature number 866, F897
## 2024-05-01 00:25:37.792794 INFO::Fitting model to feature number 867, F898
## 2024-05-01 00:25:37.796407 INFO::Fitting model to feature number 868, F899
## 2024-05-01 00:25:37.799942 INFO::Fitting model to feature number 869, F900
## 2024-05-01 00:25:37.964069 INFO::Counting total values for each feature
## 2024-05-01 00:25:38.082589 INFO::Writing filtered data to file Macarron_output/maaslin2_results/features/filtered_data.tsv
## 2024-05-01 00:25:38.226664 INFO::Writing filtered, normalized data to file Macarron_output/maaslin2_results/features/filtered_data_norm.tsv
## 2024-05-01 00:25:38.370061 INFO::Writing filtered, normalized, transformed data to file Macarron_output/maaslin2_results/features/filtered_data_norm_transformed.tsv
## 2024-05-01 00:25:38.513496 INFO::Writing residuals to file Macarron_output/maaslin2_results/fits/residuals.rds
## 2024-05-01 00:25:38.562005 INFO::Writing fitted values to file Macarron_output/maaslin2_results/fits/fitted.rds
## 2024-05-01 00:25:38.60289 INFO::Writing all results to file (ordered by increasing q-values): Macarron_output/maaslin2_results/all_results.tsv
## 2024-05-01 00:25:38.623618 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 00:25:38.633079 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 00:25:38.976785 INFO::Writing all prioritized metabolites to file: Macarron_output/prioritized_metabolites_all.csv
## 2024-05-01 00:25:38.987969 INFO::Writing characterizable prioritized metabolites to file: Macarron_output/prioritized_metabolites_characterizable.csv
## 2024-05-01 00:25:39.011507 INFO::Writing highly prioritized metabolites in IBD to file: Macarron_output/highly_prioritized_per_module_in_IBD.csv

3.3.2 Using dataframes as inputs

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

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

3.3.3 Running Macarron as individual functions

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

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

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

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

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

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

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

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

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

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

sessionInfo()
## R version 4.4.0 beta (2024-04-15 r86425)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 22.04.4 LTS
## 
## Matrix products: default
## BLAS:   /home/biocbuild/bbs-3.19-bioc/R/lib/libRblas.so 
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
##  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
##  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
## 
## time zone: America/New_York
## tzcode source: system (glibc)
## 
## attached base packages:
## [1] stats4    stats     graphics  grDevices utils     datasets  methods  
## [8] base     
## 
## other attached packages:
##  [1] Macarron_1.8.0              SummarizedExperiment_1.34.0
##  [3] Biobase_2.64.0              GenomicRanges_1.56.0       
##  [5] GenomeInfoDb_1.40.0         IRanges_2.38.0             
##  [7] S4Vectors_0.42.0            BiocGenerics_0.50.0        
##  [9] MatrixGenerics_1.16.0       matrixStats_1.3.0          
## [11] BiocStyle_2.32.0           
## 
## loaded via a namespace (and not attached):
##   [1] mnormt_2.1.1            DBI_1.2.2               pbapply_1.7-2          
##   [4] gridExtra_2.3           rlang_1.1.3             magrittr_2.0.3         
##   [7] compiler_4.4.0          RSQLite_2.3.6           png_0.1-8              
##  [10] vctrs_0.6.5             stringr_1.5.1           pkgconfig_2.0.3        
##  [13] crayon_1.5.2            fastmap_1.1.1           backports_1.4.1        
##  [16] XVector_0.44.0          utf8_1.2.4              rmarkdown_2.26         
##  [19] preprocessCore_1.66.0   UCSC.utils_1.0.0        bit_4.0.5              
##  [22] xfun_0.43               zlibbioc_1.50.0         cachem_1.0.8           
##  [25] jsonlite_1.8.8          blob_1.2.4              DelayedArray_0.30.0    
##  [28] BiocParallel_1.38.0     psych_2.4.3             Maaslin2_1.18.0        
##  [31] parallel_4.4.0          cluster_2.1.6           biglm_0.9-2.1          
##  [34] R6_2.5.1                RColorBrewer_1.1-3      stringi_1.8.3          
##  [37] bslib_0.7.0             rpart_4.1.23            jquerylib_0.1.4        
##  [40] Rcpp_1.0.12             bookdown_0.39           iterators_1.0.14       
##  [43] knitr_1.46              WGCNA_1.72-5            base64enc_0.1-3        
##  [46] Matrix_1.7-0            splines_4.4.0           nnet_7.3-19            
##  [49] tidyselect_1.2.1        rstudioapi_0.16.0       abind_1.4-5            
##  [52] yaml_2.3.8              doParallel_1.0.17       codetools_0.2-20       
##  [55] plyr_1.8.9              lattice_0.22-6          tibble_3.2.1           
##  [58] withr_3.0.0             KEGGREST_1.44.0         evaluate_0.23          
##  [61] foreign_0.8-86          survival_3.6-4          getopt_1.20.4          
##  [64] Biostrings_2.72.0       pillar_1.9.0            BiocManager_1.30.22    
##  [67] checkmate_2.3.1         foreach_1.5.2           pcaPP_2.0-4            
##  [70] generics_0.1.3          ggplot2_3.5.1           munsell_0.5.1          
##  [73] scales_1.3.0            glue_1.7.0              pheatmap_1.0.12        
##  [76] Hmisc_5.1-2             tools_4.4.0             robustbase_0.99-2      
##  [79] data.table_1.15.4       mvtnorm_1.2-4           fastcluster_1.2.6      
##  [82] grid_4.4.0              optparse_1.7.5          impute_1.78.0          
##  [85] AnnotationDbi_1.66.0    colorspace_2.1-0        nlme_3.1-164           
##  [88] GenomeInfoDbData_1.2.12 htmlTable_2.4.2         Formula_1.2-5          
##  [91] cli_3.6.2               fansi_1.0.6             S4Arrays_1.4.0         
##  [94] dplyr_1.1.4             DEoptimR_1.1-3          gtable_0.3.5           
##  [97] hash_2.2.6.3            logging_0.10-108        dynamicTreeCut_1.63-1  
## [100] sass_0.4.9              digest_0.6.35           SparseArray_1.4.0      
## [103] htmlwidgets_1.6.4       memoise_2.0.1           htmltools_0.5.8.1      
## [106] lifecycle_1.0.4         httr_1.4.7              GO.db_3.19.1           
## [109] bit64_4.0.5

3.4 Advanced Topics

3.4.1 Generating the input chemical taxonomy file

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

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

3.4.2 Accessory output files

3.4.2.1 Macarron.log

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

3.4.2.2 modules_measures_of_success.csv

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

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

3.4.2.3 Maaslin2 results

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

3.4.3 Changing defaults

3.4.3.1 Filtering metabolic features based on prevalence

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

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

3.4.4 Minimum module size

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

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

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

3.4.5 Specifying fixed effects, random effects and reference

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

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

4 Command line invocation

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