1 Abstract

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

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

2 Installation

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

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

3 Running Macarron

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

3.1 Input CSV files

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

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

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

3.2 Output Files

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

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

3.3 Run a demo in R

3.3.1 Using CSV files as inputs

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

library(Macarron)
## Loading required package: SummarizedExperiment
## Loading required package: MatrixGenerics
## Loading required package: matrixStats
## 
## Attaching package: 'MatrixGenerics'
## The following objects are masked from 'package:matrixStats':
## 
##     colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,
##     colCounts, colCummaxs, colCummins, colCumprods, colCumsums,
##     colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,
##     colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,
##     colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,
##     colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,
##     colWeightedMeans, colWeightedMedians, colWeightedSds,
##     colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,
##     rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,
##     rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,
##     rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,
##     rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,
##     rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,
##     rowWeightedMads, rowWeightedMeans, rowWeightedMedians,
##     rowWeightedSds, rowWeightedVars
## Loading required package: GenomicRanges
## Loading required package: stats4
## Loading required package: BiocGenerics
## 
## Attaching package: 'BiocGenerics'
## The following objects are masked from 'package:stats':
## 
##     IQR, mad, sd, var, xtabs
## The following objects are masked from 'package:base':
## 
##     Filter, Find, Map, Position, Reduce, anyDuplicated, aperm, append,
##     as.data.frame, basename, cbind, colnames, dirname, do.call,
##     duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
##     lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
##     pmin.int, rank, rbind, rownames, sapply, setdiff, table, tapply,
##     union, unique, unsplit, which.max, which.min
## Loading required package: S4Vectors
## 
## Attaching package: 'S4Vectors'
## The following object is masked from 'package:utils':
## 
##     findMatches
## The following objects are masked from 'package:base':
## 
##     I, expand.grid, unname
## Loading required package: IRanges
## 
## Attaching package: 'IRanges'
## The following object is masked from 'package:grDevices':
## 
##     windows
## Loading required package: GenomeInfoDb
## Loading required package: Biobase
## Welcome to Bioconductor
## 
##     Vignettes contain introductory material; view with
##     'browseVignettes()'. To cite Bioconductor, see
##     'citation("Biobase")', and for packages 'citation("pkgname")'.
## 
## Attaching package: 'Biobase'
## The following object is masked from 'package:MatrixGenerics':
## 
##     rowMedians
## The following objects are masked from 'package:matrixStats':
## 
##     anyMissing, rowMedians
prism_abundances <- system.file(
    'extdata','demo_abundances.csv', package="Macarron")
prism_annotations <-system.file(
    'extdata','demo_annotations.csv', package="Macarron")
prism_metadata <-system.file(
    'extdata','demo_metadata.csv', package="Macarron")
mets_taxonomy <-system.file(
    'extdata','demo_taxonomy.csv', package="Macarron")
prism_prioritized <- Macarron::Macarron(input_abundances = prism_abundances,
                                        input_annotations = prism_annotations,
                                        input_metadata = prism_metadata,
                                        input_taxonomy = mets_taxonomy)
## 2024-04-21 19:54:12.270647 INFO::Creating output folder.
## 2024-04-21 19:54:12.282439 INFO::Writing function arguments to log file
## Samples with both abundances and metadata: 102
## 2024-04-21 19:54:12.35255 INFO::Summarized Experiment created.
## 2024-04-21 19:54:12.355014 INFO::Metadata chosen for prevalence filtering: diagnosis
## 869 features pass chosen minimum prevalence threshold of 0.7.
## Calculating pairwise correlations in phenotype: IBD
## 
## Calculating pairwise correlations in phenotype: Control
## Distance matrix with 869 features created.
## 2024-04-21 19:54:18.28331 INFO::Distance matrix with 869 metabolic features created.
## Initiating module detection
## 2024-04-21 19:54:18.285588 INFO::Minimum module size used for this dataset: 10
## Tree constructed
## Evaluating measures of success
##  ..cutHeight not given, setting it to 0.99  ===>  99% of the (truncated) height range in dendro.
##  ..done.
##  ..cutHeight not given, setting it to 0.99  ===>  99% of the (truncated) height range in dendro.
##  ..done.
##  ..cutHeight not given, setting it to 0.99  ===>  99% of the (truncated) height range in dendro.
##  ..done.
##  ..cutHeight not given, setting it to 0.99  ===>  99% of the (truncated) height range in dendro.
##  ..done.
##  ..cutHeight not given, setting it to 0.99  ===>  99% of the (truncated) height range in dendro.
##  ..done.
## 2024-04-21 19:54:20.519107 INFO::Total number of modules detected: 30
## Initiating AVA calculations
## Finding anchors
## Calculating AVA
## Initiating q-value calculations
## [1] "Creating output folder"
## [1] "Creating output feature tables folder"
## [1] "Creating output fits folder"
## [1] "Creating output figures folder"
## 2024-04-21 19:54:23.29734 INFO::Writing function arguments to log file
## 2024-04-21 19:54:23.316547 INFO::Verifying options selected are valid
## 2024-04-21 19:54:23.366595 INFO::Determining format of input files
## 2024-04-21 19:54:23.368663 INFO::Input format is data samples as columns and metadata samples as rows
## 2024-04-21 19:54:23.393232 INFO::Formula for fixed effects: expr ~  diagnosis + age + antibiotics
## 2024-04-21 19:54:23.395903 INFO::Filter data based on min abundance and min prevalence
## 2024-04-21 19:54:23.3976 INFO::Total samples in data: 102
## 2024-04-21 19:54:23.399407 INFO::Min samples required with min abundance for a feature not to be filtered: 0.000000
## 2024-04-21 19:54:23.418541 INFO::Total filtered features: 0
## 2024-04-21 19:54:23.421686 INFO::Filtered feature names from abundance and prevalence filtering:
## 2024-04-21 19:54:23.454367 INFO::Total filtered features with variance filtering: 0
## 2024-04-21 19:54:23.457356 INFO::Filtered feature names from variance filtering:
## 2024-04-21 19:54:23.459954 INFO::Running selected normalization method: NONE
## 2024-04-21 19:54:23.4626 INFO::Applying z-score to standardize continuous metadata
## 2024-04-21 19:54:23.494318 INFO::Running selected transform method: NONE
## 2024-04-21 19:54:23.496414 INFO::Running selected analysis method: LM
## 2024-04-21 19:54:23.505762 INFO::Fitting model to feature number 1, F1
## 2024-04-21 19:54:23.521293 INFO::Fitting model to feature number 2, F2
## 2024-04-21 19:54:23.530156 INFO::Fitting model to feature number 3, F3
## 2024-04-21 19:54:23.538661 INFO::Fitting model to feature number 4, F4
## 2024-04-21 19:54:23.547217 INFO::Fitting model to feature number 5, F5
## 2024-04-21 19:54:23.555232 INFO::Fitting model to feature number 6, F6
## 2024-04-21 19:54:23.563657 INFO::Fitting model to feature number 7, F7
## 2024-04-21 19:54:23.571873 INFO::Fitting model to feature number 8, F8
## 2024-04-21 19:54:23.579849 INFO::Fitting model to feature number 9, F9
## 2024-04-21 19:54:23.589829 INFO::Fitting model to feature number 10, F10
## 2024-04-21 19:54:23.597964 INFO::Fitting model to feature number 11, F11
## 2024-04-21 19:54:23.60606 INFO::Fitting model to feature number 12, F12
## 2024-04-21 19:54:23.61417 INFO::Fitting model to feature number 13, F13
## 2024-04-21 19:54:23.623443 INFO::Fitting model to feature number 14, F14
## 2024-04-21 19:54:23.631751 INFO::Fitting model to feature number 15, F15
## 2024-04-21 19:54:23.639959 INFO::Fitting model to feature number 16, F16
## 2024-04-21 19:54:23.648004 INFO::Fitting model to feature number 17, F17
## 2024-04-21 19:54:23.656107 INFO::Fitting model to feature number 18, F18
## 2024-04-21 19:54:23.686691 INFO::Fitting model to feature number 19, F19
## 2024-04-21 19:54:23.694674 INFO::Fitting model to feature number 20, F20
## 2024-04-21 19:54:23.699978 INFO::Fitting model to feature number 21, F21
## 2024-04-21 19:54:23.705017 INFO::Fitting model to feature number 22, F22
## 2024-04-21 19:54:23.710224 INFO::Fitting model to feature number 23, F23
## 2024-04-21 19:54:23.716849 INFO::Fitting model to feature number 24, F24
## 2024-04-21 19:54:23.724236 INFO::Fitting model to feature number 25, F25
## 2024-04-21 19:54:23.733067 INFO::Fitting model to feature number 26, F26
## 2024-04-21 19:54:23.74059 INFO::Fitting model to feature number 27, F27
## 2024-04-21 19:54:23.748198 INFO::Fitting model to feature number 28, F28
## 2024-04-21 19:54:23.755763 INFO::Fitting model to feature number 29, F29
## 2024-04-21 19:54:23.763429 INFO::Fitting model to feature number 30, F30
## 2024-04-21 19:54:23.770925 INFO::Fitting model to feature number 31, F31
## 2024-04-21 19:54:23.778495 INFO::Fitting model to feature number 32, F32
## 2024-04-21 19:54:23.786032 INFO::Fitting model to feature number 33, F33
## 2024-04-21 19:54:23.793514 INFO::Fitting model to feature number 34, F34
## 2024-04-21 19:54:23.801078 INFO::Fitting model to feature number 35, F35
## 2024-04-21 19:54:23.808593 INFO::Fitting model to feature number 36, F36
## 2024-04-21 19:54:23.816149 INFO::Fitting model to feature number 37, F37
## 2024-04-21 19:54:23.823734 INFO::Fitting model to feature number 38, F38
## 2024-04-21 19:54:23.831989 INFO::Fitting model to feature number 39, F39
## 2024-04-21 19:54:23.839766 INFO::Fitting model to feature number 40, F40
## 2024-04-21 19:54:23.847343 INFO::Fitting model to feature number 41, F41
## 2024-04-21 19:54:23.854793 INFO::Fitting model to feature number 42, F43
## 2024-04-21 19:54:23.862441 INFO::Fitting model to feature number 43, F44
## 2024-04-21 19:54:23.870093 INFO::Fitting model to feature number 44, F45
## 2024-04-21 19:54:23.877657 INFO::Fitting model to feature number 45, F46
## 2024-04-21 19:54:23.884645 INFO::Fitting model to feature number 46, F47
## 2024-04-21 19:54:23.892034 INFO::Fitting model to feature number 47, F48
## 2024-04-21 19:54:23.899189 INFO::Fitting model to feature number 48, F49
## 2024-04-21 19:54:23.906779 INFO::Fitting model to feature number 49, F50
## 2024-04-21 19:54:23.914133 INFO::Fitting model to feature number 50, F51
## 2024-04-21 19:54:23.921487 INFO::Fitting model to feature number 51, F52
## 2024-04-21 19:54:23.92887 INFO::Fitting model to feature number 52, F53
## 2024-04-21 19:54:23.936725 INFO::Fitting model to feature number 53, F54
## 2024-04-21 19:54:23.944425 INFO::Fitting model to feature number 54, F55
## 2024-04-21 19:54:23.95207 INFO::Fitting model to feature number 55, F56
## 2024-04-21 19:54:23.959753 INFO::Fitting model to feature number 56, F57
## 2024-04-21 19:54:23.967715 INFO::Fitting model to feature number 57, F58
## 2024-04-21 19:54:23.975299 INFO::Fitting model to feature number 58, F59
## 2024-04-21 19:54:23.98297 INFO::Fitting model to feature number 59, F60
## 2024-04-21 19:54:23.990469 INFO::Fitting model to feature number 60, F63
## 2024-04-21 19:54:23.998034 INFO::Fitting model to feature number 61, F64
## 2024-04-21 19:54:24.005695 INFO::Fitting model to feature number 62, F65
## 2024-04-21 19:54:24.011814 INFO::Fitting model to feature number 63, F66
## 2024-04-21 19:54:24.016937 INFO::Fitting model to feature number 64, F67
## 2024-04-21 19:54:24.022244 INFO::Fitting model to feature number 65, F68
## 2024-04-21 19:54:24.027945 INFO::Fitting model to feature number 66, F69
## 2024-04-21 19:54:24.033444 INFO::Fitting model to feature number 67, F70
## 2024-04-21 19:54:24.038968 INFO::Fitting model to feature number 68, F71
## 2024-04-21 19:54:24.04376 INFO::Fitting model to feature number 69, F72
## 2024-04-21 19:54:24.048776 INFO::Fitting model to feature number 70, F73
## 2024-04-21 19:54:24.053481 INFO::Fitting model to feature number 71, F74
## 2024-04-21 19:54:24.058351 INFO::Fitting model to feature number 72, F76
## 2024-04-21 19:54:24.064569 INFO::Fitting model to feature number 73, F77
## 2024-04-21 19:54:24.069448 INFO::Fitting model to feature number 74, F78
## 2024-04-21 19:54:24.07469 INFO::Fitting model to feature number 75, F79
## 2024-04-21 19:54:24.081115 INFO::Fitting model to feature number 76, F80
## 2024-04-21 19:54:24.093046 INFO::Fitting model to feature number 77, F81
## 2024-04-21 19:54:24.100262 INFO::Fitting model to feature number 78, F82
## 2024-04-21 19:54:24.108037 INFO::Fitting model to feature number 79, F83
## 2024-04-21 19:54:24.114703 INFO::Fitting model to feature number 80, F84
## 2024-04-21 19:54:24.119726 INFO::Fitting model to feature number 81, F85
## 2024-04-21 19:54:24.124711 INFO::Fitting model to feature number 82, F86
## 2024-04-21 19:54:24.131133 INFO::Fitting model to feature number 83, F87
## 2024-04-21 19:54:24.136972 INFO::Fitting model to feature number 84, F88
## 2024-04-21 19:54:24.142476 INFO::Fitting model to feature number 85, F89
## 2024-04-21 19:54:24.147416 INFO::Fitting model to feature number 86, F90
## 2024-04-21 19:54:24.152162 INFO::Fitting model to feature number 87, F91
## 2024-04-21 19:54:24.157125 INFO::Fitting model to feature number 88, F92
## 2024-04-21 19:54:24.161867 INFO::Fitting model to feature number 89, F93
## 2024-04-21 19:54:24.168239 INFO::Fitting model to feature number 90, F94
## 2024-04-21 19:54:24.175675 INFO::Fitting model to feature number 91, F95
## 2024-04-21 19:54:24.183581 INFO::Fitting model to feature number 92, F96
## 2024-04-21 19:54:24.191593 INFO::Fitting model to feature number 93, F97
## 2024-04-21 19:54:24.199207 INFO::Fitting model to feature number 94, F98
## 2024-04-21 19:54:24.207237 INFO::Fitting model to feature number 95, F99
## 2024-04-21 19:54:24.214786 INFO::Fitting model to feature number 96, F100
## 2024-04-21 19:54:24.223071 INFO::Fitting model to feature number 97, F101
## 2024-04-21 19:54:24.230705 INFO::Fitting model to feature number 98, F102
## 2024-04-21 19:54:24.23952 INFO::Fitting model to feature number 99, F103
## 2024-04-21 19:54:24.247033 INFO::Fitting model to feature number 100, F104
## 2024-04-21 19:54:24.254913 INFO::Fitting model to feature number 101, F105
## 2024-04-21 19:54:24.262529 INFO::Fitting model to feature number 102, F106
## 2024-04-21 19:54:24.270647 INFO::Fitting model to feature number 103, F107
## 2024-04-21 19:54:24.278236 INFO::Fitting model to feature number 104, F108
## 2024-04-21 19:54:24.286153 INFO::Fitting model to feature number 105, F109
## 2024-04-21 19:54:24.294024 INFO::Fitting model to feature number 106, F110
## 2024-04-21 19:54:24.302215 INFO::Fitting model to feature number 107, F111
## 2024-04-21 19:54:24.310031 INFO::Fitting model to feature number 108, F112
## 2024-04-21 19:54:24.31809 INFO::Fitting model to feature number 109, F113
## 2024-04-21 19:54:24.326024 INFO::Fitting model to feature number 110, F114
## 2024-04-21 19:54:24.334003 INFO::Fitting model to feature number 111, F115
## 2024-04-21 19:54:24.341843 INFO::Fitting model to feature number 112, F117
## 2024-04-21 19:54:24.34974 INFO::Fitting model to feature number 113, F118
## 2024-04-21 19:54:24.357547 INFO::Fitting model to feature number 114, F119
## 2024-04-21 19:54:24.365668 INFO::Fitting model to feature number 115, F120
## 2024-04-21 19:54:24.373398 INFO::Fitting model to feature number 116, F121
## 2024-04-21 19:54:24.381621 INFO::Fitting model to feature number 117, F122
## 2024-04-21 19:54:24.389486 INFO::Fitting model to feature number 118, F123
## 2024-04-21 19:54:24.397529 INFO::Fitting model to feature number 119, F124
## 2024-04-21 19:54:24.405413 INFO::Fitting model to feature number 120, F125
## 2024-04-21 19:54:24.41422 INFO::Fitting model to feature number 121, F126
## 2024-04-21 19:54:24.422381 INFO::Fitting model to feature number 122, F127
## 2024-04-21 19:54:24.430389 INFO::Fitting model to feature number 123, F128
## 2024-04-21 19:54:24.438514 INFO::Fitting model to feature number 124, F129
## 2024-04-21 19:54:24.44638 INFO::Fitting model to feature number 125, F130
## 2024-04-21 19:54:24.45467 INFO::Fitting model to feature number 126, F131
## 2024-04-21 19:54:24.463191 INFO::Fitting model to feature number 127, F132
## 2024-04-21 19:54:24.471376 INFO::Fitting model to feature number 128, F133
## 2024-04-21 19:54:24.479337 INFO::Fitting model to feature number 129, F134
## 2024-04-21 19:54:24.489962 INFO::Fitting model to feature number 130, F135
## 2024-04-21 19:54:24.498014 INFO::Fitting model to feature number 131, F136
## 2024-04-21 19:54:24.506122 INFO::Fitting model to feature number 132, F137
## 2024-04-21 19:54:24.514151 INFO::Fitting model to feature number 133, F138
## 2024-04-21 19:54:24.522305 INFO::Fitting model to feature number 134, F139
## 2024-04-21 19:54:24.530422 INFO::Fitting model to feature number 135, F140
## 2024-04-21 19:54:24.538695 INFO::Fitting model to feature number 136, F141
## 2024-04-21 19:54:24.546815 INFO::Fitting model to feature number 137, F142
## 2024-04-21 19:54:24.554838 INFO::Fitting model to feature number 138, F143
## 2024-04-21 19:54:24.562756 INFO::Fitting model to feature number 139, F144
## 2024-04-21 19:54:24.571342 INFO::Fitting model to feature number 140, F145
## 2024-04-21 19:54:24.579432 INFO::Fitting model to feature number 141, F146
## 2024-04-21 19:54:24.587726 INFO::Fitting model to feature number 142, F147
## 2024-04-21 19:54:24.596246 INFO::Fitting model to feature number 143, F148
## 2024-04-21 19:54:24.605006 INFO::Fitting model to feature number 144, F149
## 2024-04-21 19:54:24.61324 INFO::Fitting model to feature number 145, F150
## 2024-04-21 19:54:24.621298 INFO::Fitting model to feature number 146, F152
## 2024-04-21 19:54:24.629449 INFO::Fitting model to feature number 147, F153
## 2024-04-21 19:54:24.637477 INFO::Fitting model to feature number 148, F154
## 2024-04-21 19:54:24.645696 INFO::Fitting model to feature number 149, F155
## 2024-04-21 19:54:24.653663 INFO::Fitting model to feature number 150, F156
## 2024-04-21 19:54:24.661844 INFO::Fitting model to feature number 151, F157
## 2024-04-21 19:54:24.669762 INFO::Fitting model to feature number 152, F158
## 2024-04-21 19:54:24.677762 INFO::Fitting model to feature number 153, F159
## 2024-04-21 19:54:24.685534 INFO::Fitting model to feature number 154, F160
## 2024-04-21 19:54:24.694013 INFO::Fitting model to feature number 155, F161
## 2024-04-21 19:54:24.701862 INFO::Fitting model to feature number 156, F162
## 2024-04-21 19:54:24.711851 INFO::Fitting model to feature number 157, F163
## 2024-04-21 19:54:24.719881 INFO::Fitting model to feature number 158, F164
## 2024-04-21 19:54:24.72824 INFO::Fitting model to feature number 159, F165
## 2024-04-21 19:54:24.741152 INFO::Fitting model to feature number 160, F166
## 2024-04-21 19:54:24.750111 INFO::Fitting model to feature number 161, F167
## 2024-04-21 19:54:24.758592 INFO::Fitting model to feature number 162, F168
## 2024-04-21 19:54:24.766734 INFO::Fitting model to feature number 163, F169
## 2024-04-21 19:54:24.784848 INFO::Fitting model to feature number 164, F170
## 2024-04-21 19:54:24.793003 INFO::Fitting model to feature number 165, F171
## 2024-04-21 19:54:24.800929 INFO::Fitting model to feature number 166, F172
## 2024-04-21 19:54:24.808917 INFO::Fitting model to feature number 167, F173
## 2024-04-21 19:54:24.816933 INFO::Fitting model to feature number 168, F174
## 2024-04-21 19:54:24.824918 INFO::Fitting model to feature number 169, F175
## 2024-04-21 19:54:24.830946 INFO::Fitting model to feature number 170, F176
## 2024-04-21 19:54:24.836346 INFO::Fitting model to feature number 171, F177
## 2024-04-21 19:54:24.843366 INFO::Fitting model to feature number 172, F178
## 2024-04-21 19:54:24.851757 INFO::Fitting model to feature number 173, F179
## 2024-04-21 19:54:24.858341 INFO::Fitting model to feature number 174, F180
## 2024-04-21 19:54:24.863963 INFO::Fitting model to feature number 175, F181
## 2024-04-21 19:54:24.869319 INFO::Fitting model to feature number 176, F182
## 2024-04-21 19:54:24.874859 INFO::Fitting model to feature number 177, F183
## 2024-04-21 19:54:24.880098 INFO::Fitting model to feature number 178, F184
## 2024-04-21 19:54:24.887341 INFO::Fitting model to feature number 179, F185
## 2024-04-21 19:54:24.895745 INFO::Fitting model to feature number 180, F186
## 2024-04-21 19:54:24.947777 INFO::Fitting model to feature number 181, F187
## 2024-04-21 19:54:24.955811 INFO::Fitting model to feature number 182, F188
## 2024-04-21 19:54:24.963239 INFO::Fitting model to feature number 183, F189
## 2024-04-21 19:54:24.970736 INFO::Fitting model to feature number 184, F190
## 2024-04-21 19:54:24.978053 INFO::Fitting model to feature number 185, F191
## 2024-04-21 19:54:24.985364 INFO::Fitting model to feature number 186, F192
## 2024-04-21 19:54:24.992675 INFO::Fitting model to feature number 187, F193
## 2024-04-21 19:54:24.999888 INFO::Fitting model to feature number 188, F194
## 2024-04-21 19:54:25.007202 INFO::Fitting model to feature number 189, F195
## 2024-04-21 19:54:25.014676 INFO::Fitting model to feature number 190, F196
## 2024-04-21 19:54:25.022064 INFO::Fitting model to feature number 191, F197
## 2024-04-21 19:54:25.029459 INFO::Fitting model to feature number 192, F198
## 2024-04-21 19:54:25.036637 INFO::Fitting model to feature number 193, F199
## 2024-04-21 19:54:25.043943 INFO::Fitting model to feature number 194, F200
## 2024-04-21 19:54:25.051367 INFO::Fitting model to feature number 195, F201
## 2024-04-21 19:54:25.058812 INFO::Fitting model to feature number 196, F202
## 2024-04-21 19:54:25.066435 INFO::Fitting model to feature number 197, F203
## 2024-04-21 19:54:25.07336 INFO::Fitting model to feature number 198, F204
## 2024-04-21 19:54:25.080913 INFO::Fitting model to feature number 199, F206
## 2024-04-21 19:54:25.089136 INFO::Fitting model to feature number 200, F207
## 2024-04-21 19:54:25.098147 INFO::Fitting model to feature number 201, F208
## 2024-04-21 19:54:25.107797 INFO::Fitting model to feature number 202, F209
## 2024-04-21 19:54:25.117199 INFO::Fitting model to feature number 203, F210
## 2024-04-21 19:54:25.126476 INFO::Fitting model to feature number 204, F211
## 2024-04-21 19:54:25.135418 INFO::Fitting model to feature number 205, F212
## 2024-04-21 19:54:25.143107 INFO::Fitting model to feature number 206, F213
## 2024-04-21 19:54:25.150597 INFO::Fitting model to feature number 207, F214
## 2024-04-21 19:54:25.158133 INFO::Fitting model to feature number 208, F215
## 2024-04-21 19:54:25.166167 INFO::Fitting model to feature number 209, F216
## 2024-04-21 19:54:25.173348 INFO::Fitting model to feature number 210, F217
## 2024-04-21 19:54:25.180605 INFO::Fitting model to feature number 211, F218
## 2024-04-21 19:54:25.188129 INFO::Fitting model to feature number 212, F219
## 2024-04-21 19:54:25.195661 INFO::Fitting model to feature number 213, F220
## 2024-04-21 19:54:25.203084 INFO::Fitting model to feature number 214, F221
## 2024-04-21 19:54:25.21081 INFO::Fitting model to feature number 215, F222
## 2024-04-21 19:54:25.218308 INFO::Fitting model to feature number 216, F223
## 2024-04-21 19:54:25.225768 INFO::Fitting model to feature number 217, F224
## 2024-04-21 19:54:25.233407 INFO::Fitting model to feature number 218, F225
## 2024-04-21 19:54:25.241179 INFO::Fitting model to feature number 219, F226
## 2024-04-21 19:54:25.249273 INFO::Fitting model to feature number 220, F227
## 2024-04-21 19:54:25.256632 INFO::Fitting model to feature number 221, F228
## 2024-04-21 19:54:25.263824 INFO::Fitting model to feature number 222, F229
## 2024-04-21 19:54:25.271062 INFO::Fitting model to feature number 223, F230
## 2024-04-21 19:54:25.278609 INFO::Fitting model to feature number 224, F231
## 2024-04-21 19:54:25.286871 INFO::Fitting model to feature number 225, F232
## 2024-04-21 19:54:25.29479 INFO::Fitting model to feature number 226, F233
## 2024-04-21 19:54:25.302338 INFO::Fitting model to feature number 227, F234
## 2024-04-21 19:54:25.309586 INFO::Fitting model to feature number 228, F235
## 2024-04-21 19:54:25.317434 INFO::Fitting model to feature number 229, F236
## 2024-04-21 19:54:25.326147 INFO::Fitting model to feature number 230, F237
## 2024-04-21 19:54:25.335322 INFO::Fitting model to feature number 231, F238
## 2024-04-21 19:54:25.344962 INFO::Fitting model to feature number 232, F239
## 2024-04-21 19:54:25.35048 INFO::Fitting model to feature number 233, F240
## 2024-04-21 19:54:25.35674 INFO::Fitting model to feature number 234, F241
## 2024-04-21 19:54:25.361772 INFO::Fitting model to feature number 235, F242
## 2024-04-21 19:54:25.367924 INFO::Fitting model to feature number 236, F243
## 2024-04-21 19:54:25.373236 INFO::Fitting model to feature number 237, F244
## 2024-04-21 19:54:25.378291 INFO::Fitting model to feature number 238, F245
## 2024-04-21 19:54:25.38311 INFO::Fitting model to feature number 239, F246
## 2024-04-21 19:54:25.388353 INFO::Fitting model to feature number 240, F247
## 2024-04-21 19:54:25.395605 INFO::Fitting model to feature number 241, F248
## 2024-04-21 19:54:25.403422 INFO::Fitting model to feature number 242, F249
## 2024-04-21 19:54:25.409813 INFO::Fitting model to feature number 243, F250
## 2024-04-21 19:54:25.414624 INFO::Fitting model to feature number 244, F252
## 2024-04-21 19:54:25.419512 INFO::Fitting model to feature number 245, F253
## 2024-04-21 19:54:25.424303 INFO::Fitting model to feature number 246, F254
## 2024-04-21 19:54:25.429598 INFO::Fitting model to feature number 247, F255
## 2024-04-21 19:54:25.434673 INFO::Fitting model to feature number 248, F256
## 2024-04-21 19:54:25.439563 INFO::Fitting model to feature number 249, F257
## 2024-04-21 19:54:25.444277 INFO::Fitting model to feature number 250, F259
## 2024-04-21 19:54:25.449037 INFO::Fitting model to feature number 251, F260
## 2024-04-21 19:54:25.453736 INFO::Fitting model to feature number 252, F261
## 2024-04-21 19:54:25.458482 INFO::Fitting model to feature number 253, F262
## 2024-04-21 19:54:25.463217 INFO::Fitting model to feature number 254, F263
## 2024-04-21 19:54:25.467915 INFO::Fitting model to feature number 255, F264
## 2024-04-21 19:54:25.472497 INFO::Fitting model to feature number 256, F265
## 2024-04-21 19:54:25.477046 INFO::Fitting model to feature number 257, F266
## 2024-04-21 19:54:25.482002 INFO::Fitting model to feature number 258, F267
## 2024-04-21 19:54:25.488457 INFO::Fitting model to feature number 259, F269
## 2024-04-21 19:54:25.494375 INFO::Fitting model to feature number 260, F270
## 2024-04-21 19:54:25.499283 INFO::Fitting model to feature number 261, F271
## 2024-04-21 19:54:25.504281 INFO::Fitting model to feature number 262, F272
## 2024-04-21 19:54:25.509273 INFO::Fitting model to feature number 263, F273
## 2024-04-21 19:54:25.514498 INFO::Fitting model to feature number 264, F274
## 2024-04-21 19:54:25.519249 INFO::Fitting model to feature number 265, F276
## 2024-04-21 19:54:25.523951 INFO::Fitting model to feature number 266, F277
## 2024-04-21 19:54:25.528742 INFO::Fitting model to feature number 267, F278
## 2024-04-21 19:54:25.533494 INFO::Fitting model to feature number 268, F279
## 2024-04-21 19:54:25.538195 INFO::Fitting model to feature number 269, F280
## 2024-04-21 19:54:25.543169 INFO::Fitting model to feature number 270, F281
## 2024-04-21 19:54:25.548024 INFO::Fitting model to feature number 271, F282
## 2024-04-21 19:54:25.552927 INFO::Fitting model to feature number 272, F283
## 2024-04-21 19:54:25.559365 INFO::Fitting model to feature number 273, F284
## 2024-04-21 19:54:25.564128 INFO::Fitting model to feature number 274, F285
## 2024-04-21 19:54:25.568867 INFO::Fitting model to feature number 275, F286
## 2024-04-21 19:54:25.5736 INFO::Fitting model to feature number 276, F287
## 2024-04-21 19:54:25.578337 INFO::Fitting model to feature number 277, F288
## 2024-04-21 19:54:25.583089 INFO::Fitting model to feature number 278, F289
## 2024-04-21 19:54:25.587939 INFO::Fitting model to feature number 279, F290
## 2024-04-21 19:54:25.592747 INFO::Fitting model to feature number 280, F292
## 2024-04-21 19:54:25.597632 INFO::Fitting model to feature number 281, F293
## 2024-04-21 19:54:25.602436 INFO::Fitting model to feature number 282, F294
## 2024-04-21 19:54:25.607138 INFO::Fitting model to feature number 283, F295
## 2024-04-21 19:54:25.611814 INFO::Fitting model to feature number 284, F296
## 2024-04-21 19:54:25.61649 INFO::Fitting model to feature number 285, F297
## 2024-04-21 19:54:25.621049 INFO::Fitting model to feature number 286, F298
## 2024-04-21 19:54:25.625672 INFO::Fitting model to feature number 287, F299
## 2024-04-21 19:54:25.630282 INFO::Fitting model to feature number 288, F300
## 2024-04-21 19:54:25.634832 INFO::Fitting model to feature number 289, F301
## 2024-04-21 19:54:25.639397 INFO::Fitting model to feature number 290, F302
## 2024-04-21 19:54:25.644162 INFO::Fitting model to feature number 291, F303
## 2024-04-21 19:54:25.648846 INFO::Fitting model to feature number 292, F304
## 2024-04-21 19:54:25.65354 INFO::Fitting model to feature number 293, F305
## 2024-04-21 19:54:25.658307 INFO::Fitting model to feature number 294, F306
## 2024-04-21 19:54:25.662937 INFO::Fitting model to feature number 295, F307
## 2024-04-21 19:54:25.66766 INFO::Fitting model to feature number 296, F308
## 2024-04-21 19:54:25.672436 INFO::Fitting model to feature number 297, F309
## 2024-04-21 19:54:25.677311 INFO::Fitting model to feature number 298, F310
## 2024-04-21 19:54:25.682165 INFO::Fitting model to feature number 299, F311
## 2024-04-21 19:54:25.687312 INFO::Fitting model to feature number 300, F312
## 2024-04-21 19:54:25.692246 INFO::Fitting model to feature number 301, F313
## 2024-04-21 19:54:25.697173 INFO::Fitting model to feature number 302, F315
## 2024-04-21 19:54:25.702035 INFO::Fitting model to feature number 303, F316
## 2024-04-21 19:54:25.709428 INFO::Fitting model to feature number 304, F317
## 2024-04-21 19:54:25.717662 INFO::Fitting model to feature number 305, F318
## 2024-04-21 19:54:25.72527 INFO::Fitting model to feature number 306, F319
## 2024-04-21 19:54:25.733281 INFO::Fitting model to feature number 307, F320
## 2024-04-21 19:54:25.741107 INFO::Fitting model to feature number 308, F321
## 2024-04-21 19:54:25.748907 INFO::Fitting model to feature number 309, F322
## 2024-04-21 19:54:25.756632 INFO::Fitting model to feature number 310, F323
## 2024-04-21 19:54:25.766618 INFO::Fitting model to feature number 311, F324
## 2024-04-21 19:54:25.775202 INFO::Fitting model to feature number 312, F325
## 2024-04-21 19:54:25.78356 INFO::Fitting model to feature number 313, F326
## 2024-04-21 19:54:25.79125 INFO::Fitting model to feature number 314, F327
## 2024-04-21 19:54:25.799076 INFO::Fitting model to feature number 315, F328
## 2024-04-21 19:54:25.806824 INFO::Fitting model to feature number 316, F329
## 2024-04-21 19:54:25.814873 INFO::Fitting model to feature number 317, F330
## 2024-04-21 19:54:25.822933 INFO::Fitting model to feature number 318, F331
## 2024-04-21 19:54:25.831229 INFO::Fitting model to feature number 319, F332
## 2024-04-21 19:54:25.839214 INFO::Fitting model to feature number 320, F333
## 2024-04-21 19:54:25.847524 INFO::Fitting model to feature number 321, F334
## 2024-04-21 19:54:25.855438 INFO::Fitting model to feature number 322, F335
## 2024-04-21 19:54:25.863262 INFO::Fitting model to feature number 323, F336
## 2024-04-21 19:54:25.871159 INFO::Fitting model to feature number 324, F337
## 2024-04-21 19:54:25.880484 INFO::Fitting model to feature number 325, F338
## 2024-04-21 19:54:25.888013 INFO::Fitting model to feature number 326, F339
## 2024-04-21 19:54:25.896209 INFO::Fitting model to feature number 327, F340
## 2024-04-21 19:54:25.903918 INFO::Fitting model to feature number 328, F342
## 2024-04-21 19:54:25.911856 INFO::Fitting model to feature number 329, F343
## 2024-04-21 19:54:25.919858 INFO::Fitting model to feature number 330, F344
## 2024-04-21 19:54:25.928519 INFO::Fitting model to feature number 331, F345
## 2024-04-21 19:54:25.936749 INFO::Fitting model to feature number 332, F346
## 2024-04-21 19:54:25.944716 INFO::Fitting model to feature number 333, F347
## 2024-04-21 19:54:25.953375 INFO::Fitting model to feature number 334, F348
## 2024-04-21 19:54:25.961539 INFO::Fitting model to feature number 335, F350
## 2024-04-21 19:54:25.969865 INFO::Fitting model to feature number 336, F351
## 2024-04-21 19:54:25.978252 INFO::Fitting model to feature number 337, F352
## 2024-04-21 19:54:25.987831 INFO::Fitting model to feature number 338, F353
## 2024-04-21 19:54:25.99596 INFO::Fitting model to feature number 339, F355
## 2024-04-21 19:54:26.00417 INFO::Fitting model to feature number 340, F356
## 2024-04-21 19:54:26.012438 INFO::Fitting model to feature number 341, F357
## 2024-04-21 19:54:26.021519 INFO::Fitting model to feature number 342, F358
## 2024-04-21 19:54:26.030781 INFO::Fitting model to feature number 343, F359
## 2024-04-21 19:54:26.039314 INFO::Fitting model to feature number 344, F360
## 2024-04-21 19:54:26.048289 INFO::Fitting model to feature number 345, F361
## 2024-04-21 19:54:26.056853 INFO::Fitting model to feature number 346, F362
## 2024-04-21 19:54:26.06524 INFO::Fitting model to feature number 347, F363
## 2024-04-21 19:54:26.073467 INFO::Fitting model to feature number 348, F364
## 2024-04-21 19:54:26.081846 INFO::Fitting model to feature number 349, F365
## 2024-04-21 19:54:26.091231 INFO::Fitting model to feature number 350, F366
## 2024-04-21 19:54:26.099685 INFO::Fitting model to feature number 351, F367
## 2024-04-21 19:54:26.105895 INFO::Fitting model to feature number 352, F368
## 2024-04-21 19:54:26.112012 INFO::Fitting model to feature number 353, F369
## 2024-04-21 19:54:26.117443 INFO::Fitting model to feature number 354, F370
## 2024-04-21 19:54:26.122478 INFO::Fitting model to feature number 355, F371
## 2024-04-21 19:54:26.127711 INFO::Fitting model to feature number 356, F372
## 2024-04-21 19:54:26.132777 INFO::Fitting model to feature number 357, F373
## 2024-04-21 19:54:26.138581 INFO::Fitting model to feature number 358, F374
## 2024-04-21 19:54:26.146448 INFO::Fitting model to feature number 359, F375
## 2024-04-21 19:54:26.154528 INFO::Fitting model to feature number 360, F376
## 2024-04-21 19:54:26.160673 INFO::Fitting model to feature number 361, F377
## 2024-04-21 19:54:26.16571 INFO::Fitting model to feature number 362, F378
## 2024-04-21 19:54:26.170682 INFO::Fitting model to feature number 363, F379
## 2024-04-21 19:54:26.175781 INFO::Fitting model to feature number 364, F380
## 2024-04-21 19:54:26.180845 INFO::Fitting model to feature number 365, F381
## 2024-04-21 19:54:26.185906 INFO::Fitting model to feature number 366, F382
## 2024-04-21 19:54:26.192296 INFO::Fitting model to feature number 367, F383
## 2024-04-21 19:54:26.198413 INFO::Fitting model to feature number 368, F384
## 2024-04-21 19:54:26.203587 INFO::Fitting model to feature number 369, F386
## 2024-04-21 19:54:26.211682 INFO::Fitting model to feature number 370, F387
## 2024-04-21 19:54:26.221205 INFO::Fitting model to feature number 371, F388
## 2024-04-21 19:54:26.231442 INFO::Fitting model to feature number 372, F389
## 2024-04-21 19:54:26.240839 INFO::Fitting model to feature number 373, F390
## 2024-04-21 19:54:26.250804 INFO::Fitting model to feature number 374, F391
## 2024-04-21 19:54:26.260115 INFO::Fitting model to feature number 375, F392
## 2024-04-21 19:54:26.26837 INFO::Fitting model to feature number 376, F393
## 2024-04-21 19:54:26.276287 INFO::Fitting model to feature number 377, F394
## 2024-04-21 19:54:26.284666 INFO::Fitting model to feature number 378, F395
## 2024-04-21 19:54:26.292502 INFO::Fitting model to feature number 379, F396
## 2024-04-21 19:54:26.300438 INFO::Fitting model to feature number 380, F397
## 2024-04-21 19:54:26.308353 INFO::Fitting model to feature number 381, F398
## 2024-04-21 19:54:26.316685 INFO::Fitting model to feature number 382, F399
## 2024-04-21 19:54:26.325079 INFO::Fitting model to feature number 383, F400
## 2024-04-21 19:54:26.333492 INFO::Fitting model to feature number 384, F401
## 2024-04-21 19:54:26.341665 INFO::Fitting model to feature number 385, F402
## 2024-04-21 19:54:26.349699 INFO::Fitting model to feature number 386, F403
## 2024-04-21 19:54:26.35769 INFO::Fitting model to feature number 387, F404
## 2024-04-21 19:54:26.366058 INFO::Fitting model to feature number 388, F406
## 2024-04-21 19:54:26.374202 INFO::Fitting model to feature number 389, F407
## 2024-04-21 19:54:26.382889 INFO::Fitting model to feature number 390, F408
## 2024-04-21 19:54:26.391826 INFO::Fitting model to feature number 391, F409
## 2024-04-21 19:54:26.402572 INFO::Fitting model to feature number 392, F410
## 2024-04-21 19:54:26.411091 INFO::Fitting model to feature number 393, F411
## 2024-04-21 19:54:26.418983 INFO::Fitting model to feature number 394, F412
## 2024-04-21 19:54:26.427358 INFO::Fitting model to feature number 395, F413
## 2024-04-21 19:54:26.435897 INFO::Fitting model to feature number 396, F414
## 2024-04-21 19:54:26.442491 INFO::Fitting model to feature number 397, F415
## 2024-04-21 19:54:26.447807 INFO::Fitting model to feature number 398, F416
## 2024-04-21 19:54:26.453102 INFO::Fitting model to feature number 399, F417
## 2024-04-21 19:54:26.458381 INFO::Fitting model to feature number 400, F418
## 2024-04-21 19:54:26.463654 INFO::Fitting model to feature number 401, F419
## 2024-04-21 19:54:26.469037 INFO::Fitting model to feature number 402, F420
## 2024-04-21 19:54:26.47428 INFO::Fitting model to feature number 403, F421
## 2024-04-21 19:54:26.479471 INFO::Fitting model to feature number 404, F422
## 2024-04-21 19:54:26.4846 INFO::Fitting model to feature number 405, F423
## 2024-04-21 19:54:26.489836 INFO::Fitting model to feature number 406, F425
## 2024-04-21 19:54:26.495017 INFO::Fitting model to feature number 407, F426
## 2024-04-21 19:54:26.500276 INFO::Fitting model to feature number 408, F428
## 2024-04-21 19:54:26.505575 INFO::Fitting model to feature number 409, F429
## 2024-04-21 19:54:26.510757 INFO::Fitting model to feature number 410, F430
## 2024-04-21 19:54:26.516065 INFO::Fitting model to feature number 411, F431
## 2024-04-21 19:54:26.521307 INFO::Fitting model to feature number 412, F432
## 2024-04-21 19:54:26.526532 INFO::Fitting model to feature number 413, F433
## 2024-04-21 19:54:26.531719 INFO::Fitting model to feature number 414, F434
## 2024-04-21 19:54:26.537027 INFO::Fitting model to feature number 415, F435
## 2024-04-21 19:54:26.542106 INFO::Fitting model to feature number 416, F436
## 2024-04-21 19:54:26.5473 INFO::Fitting model to feature number 417, F437
## 2024-04-21 19:54:26.552484 INFO::Fitting model to feature number 418, F438
## 2024-04-21 19:54:26.557586 INFO::Fitting model to feature number 419, F439
## 2024-04-21 19:54:26.562776 INFO::Fitting model to feature number 420, F440
## 2024-04-21 19:54:26.567906 INFO::Fitting model to feature number 421, F441
## 2024-04-21 19:54:26.572999 INFO::Fitting model to feature number 422, F442
## 2024-04-21 19:54:26.578205 INFO::Fitting model to feature number 423, F443
## 2024-04-21 19:54:26.583442 INFO::Fitting model to feature number 424, F444
## 2024-04-21 19:54:26.588774 INFO::Fitting model to feature number 425, F445
## 2024-04-21 19:54:26.593945 INFO::Fitting model to feature number 426, F446
## 2024-04-21 19:54:26.599464 INFO::Fitting model to feature number 427, F447
## 2024-04-21 19:54:26.604735 INFO::Fitting model to feature number 428, F448
## 2024-04-21 19:54:26.609962 INFO::Fitting model to feature number 429, F449
## 2024-04-21 19:54:26.615312 INFO::Fitting model to feature number 430, F450
## 2024-04-21 19:54:26.62056 INFO::Fitting model to feature number 431, F451
## 2024-04-21 19:54:26.625984 INFO::Fitting model to feature number 432, F452
## 2024-04-21 19:54:26.631386 INFO::Fitting model to feature number 433, F454
## 2024-04-21 19:54:26.636538 INFO::Fitting model to feature number 434, F455
## 2024-04-21 19:54:26.644752 INFO::Fitting model to feature number 435, F456
## 2024-04-21 19:54:26.652903 INFO::Fitting model to feature number 436, F457
## 2024-04-21 19:54:26.661095 INFO::Fitting model to feature number 437, F458
## 2024-04-21 19:54:26.667913 INFO::Fitting model to feature number 438, F459
## 2024-04-21 19:54:26.673277 INFO::Fitting model to feature number 439, F461
## 2024-04-21 19:54:26.678563 INFO::Fitting model to feature number 440, F462
## 2024-04-21 19:54:26.683712 INFO::Fitting model to feature number 441, F463
## 2024-04-21 19:54:26.688908 INFO::Fitting model to feature number 442, F464
## 2024-04-21 19:54:26.694104 INFO::Fitting model to feature number 443, F465
## 2024-04-21 19:54:26.699379 INFO::Fitting model to feature number 444, F466
## 2024-04-21 19:54:26.704577 INFO::Fitting model to feature number 445, F467
## 2024-04-21 19:54:26.709809 INFO::Fitting model to feature number 446, F468
## 2024-04-21 19:54:26.714983 INFO::Fitting model to feature number 447, F469
## 2024-04-21 19:54:26.720249 INFO::Fitting model to feature number 448, F470
## 2024-04-21 19:54:26.725435 INFO::Fitting model to feature number 449, F471
## 2024-04-21 19:54:26.730556 INFO::Fitting model to feature number 450, F474
## 2024-04-21 19:54:26.735889 INFO::Fitting model to feature number 451, F475
## 2024-04-21 19:54:26.741139 INFO::Fitting model to feature number 452, F476
## 2024-04-21 19:54:26.746352 INFO::Fitting model to feature number 453, F477
## 2024-04-21 19:54:26.751583 INFO::Fitting model to feature number 454, F478
## 2024-04-21 19:54:26.756883 INFO::Fitting model to feature number 455, F479
## 2024-04-21 19:54:26.762155 INFO::Fitting model to feature number 456, F480
## 2024-04-21 19:54:26.767411 INFO::Fitting model to feature number 457, F481
## 2024-04-21 19:54:26.772593 INFO::Fitting model to feature number 458, F482
## 2024-04-21 19:54:26.77779 INFO::Fitting model to feature number 459, F483
## 2024-04-21 19:54:26.78311 INFO::Fitting model to feature number 460, F484
## 2024-04-21 19:54:26.788329 INFO::Fitting model to feature number 461, F485
## 2024-04-21 19:54:26.793623 INFO::Fitting model to feature number 462, F486
## 2024-04-21 19:54:26.799156 INFO::Fitting model to feature number 463, F487
## 2024-04-21 19:54:26.804488 INFO::Fitting model to feature number 464, F488
## 2024-04-21 19:54:26.809908 INFO::Fitting model to feature number 465, F489
## 2024-04-21 19:54:26.8151 INFO::Fitting model to feature number 466, F490
## 2024-04-21 19:54:26.820311 INFO::Fitting model to feature number 467, F491
## 2024-04-21 19:54:26.85023 INFO::Fitting model to feature number 468, F492
## 2024-04-21 19:54:26.856902 INFO::Fitting model to feature number 469, F493
## 2024-04-21 19:54:26.862963 INFO::Fitting model to feature number 470, F494
## 2024-04-21 19:54:26.870321 INFO::Fitting model to feature number 471, F495
## 2024-04-21 19:54:26.875525 INFO::Fitting model to feature number 472, F496
## 2024-04-21 19:54:26.880603 INFO::Fitting model to feature number 473, F497
## 2024-04-21 19:54:26.885563 INFO::Fitting model to feature number 474, F498
## 2024-04-21 19:54:26.892939 INFO::Fitting model to feature number 475, F499
## 2024-04-21 19:54:26.900922 INFO::Fitting model to feature number 476, F500
## 2024-04-21 19:54:26.908581 INFO::Fitting model to feature number 477, F501
## 2024-04-21 19:54:26.915871 INFO::Fitting model to feature number 478, F502
## 2024-04-21 19:54:26.923602 INFO::Fitting model to feature number 479, F503
## 2024-04-21 19:54:26.931357 INFO::Fitting model to feature number 480, F504
## 2024-04-21 19:54:26.939112 INFO::Fitting model to feature number 481, F505
## 2024-04-21 19:54:26.946817 INFO::Fitting model to feature number 482, F506
## 2024-04-21 19:54:26.954451 INFO::Fitting model to feature number 483, F507
## 2024-04-21 19:54:26.962037 INFO::Fitting model to feature number 484, F508
## 2024-04-21 19:54:26.969668 INFO::Fitting model to feature number 485, F509
## 2024-04-21 19:54:26.977461 INFO::Fitting model to feature number 486, F510
## 2024-04-21 19:54:26.985194 INFO::Fitting model to feature number 487, F511
## 2024-04-21 19:54:26.992396 INFO::Fitting model to feature number 488, F512
## 2024-04-21 19:54:26.999632 INFO::Fitting model to feature number 489, F513
## 2024-04-21 19:54:27.006936 INFO::Fitting model to feature number 490, F514
## 2024-04-21 19:54:27.014209 INFO::Fitting model to feature number 491, F515
## 2024-04-21 19:54:27.021447 INFO::Fitting model to feature number 492, F516
## 2024-04-21 19:54:27.028653 INFO::Fitting model to feature number 493, F517
## 2024-04-21 19:54:27.03598 INFO::Fitting model to feature number 494, F518
## 2024-04-21 19:54:27.043275 INFO::Fitting model to feature number 495, F519
## 2024-04-21 19:54:27.050634 INFO::Fitting model to feature number 496, F520
## 2024-04-21 19:54:27.058027 INFO::Fitting model to feature number 497, F521
## 2024-04-21 19:54:27.065654 INFO::Fitting model to feature number 498, F522
## 2024-04-21 19:54:27.073202 INFO::Fitting model to feature number 499, F523
## 2024-04-21 19:54:27.080582 INFO::Fitting model to feature number 500, F524
## 2024-04-21 19:54:27.088027 INFO::Fitting model to feature number 501, F525
## 2024-04-21 19:54:27.095474 INFO::Fitting model to feature number 502, F526
## 2024-04-21 19:54:27.102709 INFO::Fitting model to feature number 503, F527
## 2024-04-21 19:54:27.109965 INFO::Fitting model to feature number 504, F528
## 2024-04-21 19:54:27.117222 INFO::Fitting model to feature number 505, F529
## 2024-04-21 19:54:27.124688 INFO::Fitting model to feature number 506, F530
## 2024-04-21 19:54:27.132025 INFO::Fitting model to feature number 507, F531
## 2024-04-21 19:54:27.139244 INFO::Fitting model to feature number 508, F532
## 2024-04-21 19:54:27.146557 INFO::Fitting model to feature number 509, F533
## 2024-04-21 19:54:27.153777 INFO::Fitting model to feature number 510, F534
## 2024-04-21 19:54:27.161032 INFO::Fitting model to feature number 511, F535
## 2024-04-21 19:54:27.168175 INFO::Fitting model to feature number 512, F536
## 2024-04-21 19:54:27.175403 INFO::Fitting model to feature number 513, F537
## 2024-04-21 19:54:27.182713 INFO::Fitting model to feature number 514, F539
## 2024-04-21 19:54:27.190132 INFO::Fitting model to feature number 515, F540
## 2024-04-21 19:54:27.197806 INFO::Fitting model to feature number 516, F541
## 2024-04-21 19:54:27.205387 INFO::Fitting model to feature number 517, F543
## 2024-04-21 19:54:27.21267 INFO::Fitting model to feature number 518, F544
## 2024-04-21 19:54:27.220041 INFO::Fitting model to feature number 519, F545
## 2024-04-21 19:54:27.227241 INFO::Fitting model to feature number 520, F546
## 2024-04-21 19:54:27.234411 INFO::Fitting model to feature number 521, F547
## 2024-04-21 19:54:27.241821 INFO::Fitting model to feature number 522, F548
## 2024-04-21 19:54:27.24904 INFO::Fitting model to feature number 523, F549
## 2024-04-21 19:54:27.256368 INFO::Fitting model to feature number 524, F550
## 2024-04-21 19:54:27.2635 INFO::Fitting model to feature number 525, F551
## 2024-04-21 19:54:27.270726 INFO::Fitting model to feature number 526, F552
## 2024-04-21 19:54:27.278711 INFO::Fitting model to feature number 527, F553
## 2024-04-21 19:54:27.286484 INFO::Fitting model to feature number 528, F554
## 2024-04-21 19:54:27.294538 INFO::Fitting model to feature number 529, F555
## 2024-04-21 19:54:27.302973 INFO::Fitting model to feature number 530, F556
## 2024-04-21 19:54:27.312101 INFO::Fitting model to feature number 531, F557
## 2024-04-21 19:54:27.321288 INFO::Fitting model to feature number 532, F558
## 2024-04-21 19:54:27.330903 INFO::Fitting model to feature number 533, F559
## 2024-04-21 19:54:27.340003 INFO::Fitting model to feature number 534, F560
## 2024-04-21 19:54:27.349913 INFO::Fitting model to feature number 535, F561
## 2024-04-21 19:54:27.35815 INFO::Fitting model to feature number 536, F562
## 2024-04-21 19:54:27.365811 INFO::Fitting model to feature number 537, F563
## 2024-04-21 19:54:27.373128 INFO::Fitting model to feature number 538, F564
## 2024-04-21 19:54:27.38055 INFO::Fitting model to feature number 539, F566
## 2024-04-21 19:54:27.387977 INFO::Fitting model to feature number 540, F567
## 2024-04-21 19:54:27.395522 INFO::Fitting model to feature number 541, F568
## 2024-04-21 19:54:27.402817 INFO::Fitting model to feature number 542, F569
## 2024-04-21 19:54:27.410272 INFO::Fitting model to feature number 543, F570
## 2024-04-21 19:54:27.417699 INFO::Fitting model to feature number 544, F571
## 2024-04-21 19:54:27.424605 INFO::Fitting model to feature number 545, F572
## 2024-04-21 19:54:27.429516 INFO::Fitting model to feature number 546, F573
## 2024-04-21 19:54:27.434323 INFO::Fitting model to feature number 547, F574
## 2024-04-21 19:54:27.439402 INFO::Fitting model to feature number 548, F575
## 2024-04-21 19:54:27.444078 INFO::Fitting model to feature number 549, F576
## 2024-04-21 19:54:27.448857 INFO::Fitting model to feature number 550, F577
## 2024-04-21 19:54:27.454853 INFO::Fitting model to feature number 551, F578
## 2024-04-21 19:54:27.461779 INFO::Fitting model to feature number 552, F579
## 2024-04-21 19:54:27.468605 INFO::Fitting model to feature number 553, F580
## 2024-04-21 19:54:27.475443 INFO::Fitting model to feature number 554, F581
## 2024-04-21 19:54:27.482456 INFO::Fitting model to feature number 555, F582
## 2024-04-21 19:54:27.489599 INFO::Fitting model to feature number 556, F583
## 2024-04-21 19:54:27.496638 INFO::Fitting model to feature number 557, F584
## 2024-04-21 19:54:27.503694 INFO::Fitting model to feature number 558, F585
## 2024-04-21 19:54:27.510982 INFO::Fitting model to feature number 559, F586
## 2024-04-21 19:54:27.518205 INFO::Fitting model to feature number 560, F587
## 2024-04-21 19:54:27.525481 INFO::Fitting model to feature number 561, F588
## 2024-04-21 19:54:27.53277 INFO::Fitting model to feature number 562, F589
## 2024-04-21 19:54:27.539897 INFO::Fitting model to feature number 563, F590
## 2024-04-21 19:54:27.54709 INFO::Fitting model to feature number 564, F591
## 2024-04-21 19:54:27.554299 INFO::Fitting model to feature number 565, F592
## 2024-04-21 19:54:27.561566 INFO::Fitting model to feature number 566, F593
## 2024-04-21 19:54:27.569333 INFO::Fitting model to feature number 567, F594
## 2024-04-21 19:54:27.576949 INFO::Fitting model to feature number 568, F595
## 2024-04-21 19:54:27.584182 INFO::Fitting model to feature number 569, F596
## 2024-04-21 19:54:27.591323 INFO::Fitting model to feature number 570, F597
## 2024-04-21 19:54:27.598514 INFO::Fitting model to feature number 571, F598
## 2024-04-21 19:54:27.60582 INFO::Fitting model to feature number 572, F599
## 2024-04-21 19:54:27.613274 INFO::Fitting model to feature number 573, F600
## 2024-04-21 19:54:27.620744 INFO::Fitting model to feature number 574, F601
## 2024-04-21 19:54:27.628135 INFO::Fitting model to feature number 575, F602
## 2024-04-21 19:54:27.634271 INFO::Fitting model to feature number 576, F603
## 2024-04-21 19:54:27.639253 INFO::Fitting model to feature number 577, F605
## 2024-04-21 19:54:27.644277 INFO::Fitting model to feature number 578, F606
## 2024-04-21 19:54:27.649126 INFO::Fitting model to feature number 579, F607
## 2024-04-21 19:54:27.654065 INFO::Fitting model to feature number 580, F608
## 2024-04-21 19:54:27.658958 INFO::Fitting model to feature number 581, F609
## 2024-04-21 19:54:27.663831 INFO::Fitting model to feature number 582, F610
## 2024-04-21 19:54:27.668637 INFO::Fitting model to feature number 583, F611
## 2024-04-21 19:54:27.673495 INFO::Fitting model to feature number 584, F612
## 2024-04-21 19:54:27.678308 INFO::Fitting model to feature number 585, F613
## 2024-04-21 19:54:27.683052 INFO::Fitting model to feature number 586, F614
## 2024-04-21 19:54:27.687798 INFO::Fitting model to feature number 587, F615
## 2024-04-21 19:54:27.692566 INFO::Fitting model to feature number 588, F616
## 2024-04-21 19:54:27.697247 INFO::Fitting model to feature number 589, F617
## 2024-04-21 19:54:27.701968 INFO::Fitting model to feature number 590, F618
## 2024-04-21 19:54:27.706592 INFO::Fitting model to feature number 591, F619
## 2024-04-21 19:54:27.711174 INFO::Fitting model to feature number 592, F620
## 2024-04-21 19:54:27.715845 INFO::Fitting model to feature number 593, F621
## 2024-04-21 19:54:27.72065 INFO::Fitting model to feature number 594, F622
## 2024-04-21 19:54:27.725443 INFO::Fitting model to feature number 595, F623
## 2024-04-21 19:54:27.730268 INFO::Fitting model to feature number 596, F624
## 2024-04-21 19:54:27.735018 INFO::Fitting model to feature number 597, F625
## 2024-04-21 19:54:27.739828 INFO::Fitting model to feature number 598, F626
## 2024-04-21 19:54:27.744708 INFO::Fitting model to feature number 599, F627
## 2024-04-21 19:54:27.749464 INFO::Fitting model to feature number 600, F628
## 2024-04-21 19:54:27.754228 INFO::Fitting model to feature number 601, F629
## 2024-04-21 19:54:27.759061 INFO::Fitting model to feature number 602, F630
## 2024-04-21 19:54:27.763895 INFO::Fitting model to feature number 603, F631
## 2024-04-21 19:54:27.768838 INFO::Fitting model to feature number 604, F632
## 2024-04-21 19:54:27.77384 INFO::Fitting model to feature number 605, F633
## 2024-04-21 19:54:27.778642 INFO::Fitting model to feature number 606, F634
## 2024-04-21 19:54:27.783457 INFO::Fitting model to feature number 607, F635
## 2024-04-21 19:54:27.788254 INFO::Fitting model to feature number 608, F636
## 2024-04-21 19:54:27.793063 INFO::Fitting model to feature number 609, F637
## 2024-04-21 19:54:27.797951 INFO::Fitting model to feature number 610, F638
## 2024-04-21 19:54:27.802982 INFO::Fitting model to feature number 611, F639
## 2024-04-21 19:54:27.807835 INFO::Fitting model to feature number 612, F640
## 2024-04-21 19:54:27.812671 INFO::Fitting model to feature number 613, F641
## 2024-04-21 19:54:27.817505 INFO::Fitting model to feature number 614, F642
## 2024-04-21 19:54:27.822331 INFO::Fitting model to feature number 615, F643
## 2024-04-21 19:54:27.827145 INFO::Fitting model to feature number 616, F644
## 2024-04-21 19:54:27.832199 INFO::Fitting model to feature number 617, F645
## 2024-04-21 19:54:27.837207 INFO::Fitting model to feature number 618, F646
## 2024-04-21 19:54:27.842098 INFO::Fitting model to feature number 619, F647
## 2024-04-21 19:54:27.847053 INFO::Fitting model to feature number 620, F648
## 2024-04-21 19:54:27.853181 INFO::Fitting model to feature number 621, F649
## 2024-04-21 19:54:27.859249 INFO::Fitting model to feature number 622, F650
## 2024-04-21 19:54:27.865973 INFO::Fitting model to feature number 623, F651
## 2024-04-21 19:54:27.873415 INFO::Fitting model to feature number 624, F652
## 2024-04-21 19:54:27.880848 INFO::Fitting model to feature number 625, F653
## 2024-04-21 19:54:27.888134 INFO::Fitting model to feature number 626, F654
## 2024-04-21 19:54:27.895385 INFO::Fitting model to feature number 627, F655
## 2024-04-21 19:54:27.901101 INFO::Fitting model to feature number 628, F656
## 2024-04-21 19:54:27.906063 INFO::Fitting model to feature number 629, F657
## 2024-04-21 19:54:27.911088 INFO::Fitting model to feature number 630, F658
## 2024-04-21 19:54:27.915971 INFO::Fitting model to feature number 631, F659
## 2024-04-21 19:54:27.920832 INFO::Fitting model to feature number 632, F660
## 2024-04-21 19:54:27.925883 INFO::Fitting model to feature number 633, F661
## 2024-04-21 19:54:27.930894 INFO::Fitting model to feature number 634, F662
## 2024-04-21 19:54:27.935976 INFO::Fitting model to feature number 635, F663
## 2024-04-21 19:54:27.941115 INFO::Fitting model to feature number 636, F664
## 2024-04-21 19:54:27.946146 INFO::Fitting model to feature number 637, F665
## 2024-04-21 19:54:27.951219 INFO::Fitting model to feature number 638, F666
## 2024-04-21 19:54:27.956325 INFO::Fitting model to feature number 639, F667
## 2024-04-21 19:54:27.961446 INFO::Fitting model to feature number 640, F668
## 2024-04-21 19:54:27.966672 INFO::Fitting model to feature number 641, F669
## 2024-04-21 19:54:27.971881 INFO::Fitting model to feature number 642, F670
## 2024-04-21 19:54:27.977017 INFO::Fitting model to feature number 643, F671
## 2024-04-21 19:54:27.982005 INFO::Fitting model to feature number 644, F672
## 2024-04-21 19:54:27.987025 INFO::Fitting model to feature number 645, F673
## 2024-04-21 19:54:27.991996 INFO::Fitting model to feature number 646, F674
## 2024-04-21 19:54:27.997007 INFO::Fitting model to feature number 647, F675
## 2024-04-21 19:54:28.001937 INFO::Fitting model to feature number 648, F676
## 2024-04-21 19:54:28.006798 INFO::Fitting model to feature number 649, F677
## 2024-04-21 19:54:28.011702 INFO::Fitting model to feature number 650, F678
## 2024-04-21 19:54:28.016564 INFO::Fitting model to feature number 651, F679
## 2024-04-21 19:54:28.021394 INFO::Fitting model to feature number 652, F680
## 2024-04-21 19:54:28.026217 INFO::Fitting model to feature number 653, F681
## 2024-04-21 19:54:28.030998 INFO::Fitting model to feature number 654, F682
## 2024-04-21 19:54:28.035748 INFO::Fitting model to feature number 655, F683
## 2024-04-21 19:54:28.042627 INFO::Fitting model to feature number 656, F684
## 2024-04-21 19:54:28.050697 INFO::Fitting model to feature number 657, F685
## 2024-04-21 19:54:28.057399 INFO::Fitting model to feature number 658, F686
## 2024-04-21 19:54:28.062479 INFO::Fitting model to feature number 659, F687
## 2024-04-21 19:54:28.067506 INFO::Fitting model to feature number 660, F688
## 2024-04-21 19:54:28.072562 INFO::Fitting model to feature number 661, F689
## 2024-04-21 19:54:28.077591 INFO::Fitting model to feature number 662, F690
## 2024-04-21 19:54:28.082589 INFO::Fitting model to feature number 663, F691
## 2024-04-21 19:54:28.087473 INFO::Fitting model to feature number 664, F692
## 2024-04-21 19:54:28.092379 INFO::Fitting model to feature number 665, F693
## 2024-04-21 19:54:28.097262 INFO::Fitting model to feature number 666, F694
## 2024-04-21 19:54:28.102121 INFO::Fitting model to feature number 667, F695
## 2024-04-21 19:54:28.107137 INFO::Fitting model to feature number 668, F696
## 2024-04-21 19:54:28.11238 INFO::Fitting model to feature number 669, F697
## 2024-04-21 19:54:28.117431 INFO::Fitting model to feature number 670, F698
## 2024-04-21 19:54:28.122397 INFO::Fitting model to feature number 671, F699
## 2024-04-21 19:54:28.127353 INFO::Fitting model to feature number 672, F700
## 2024-04-21 19:54:28.132255 INFO::Fitting model to feature number 673, F701
## 2024-04-21 19:54:28.137246 INFO::Fitting model to feature number 674, F702
## 2024-04-21 19:54:28.142373 INFO::Fitting model to feature number 675, F704
## 2024-04-21 19:54:28.149469 INFO::Fitting model to feature number 676, F705
## 2024-04-21 19:54:28.158092 INFO::Fitting model to feature number 677, F706
## 2024-04-21 19:54:28.166438 INFO::Fitting model to feature number 678, F707
## 2024-04-21 19:54:28.174602 INFO::Fitting model to feature number 679, F708
## 2024-04-21 19:54:28.182903 INFO::Fitting model to feature number 680, F709
## 2024-04-21 19:54:28.191374 INFO::Fitting model to feature number 681, F710
## 2024-04-21 19:54:28.199691 INFO::Fitting model to feature number 682, F711
## 2024-04-21 19:54:28.207877 INFO::Fitting model to feature number 683, F712
## 2024-04-21 19:54:28.21601 INFO::Fitting model to feature number 684, F713
## 2024-04-21 19:54:28.224468 INFO::Fitting model to feature number 685, F714
## 2024-04-21 19:54:28.232889 INFO::Fitting model to feature number 686, F715
## 2024-04-21 19:54:28.241164 INFO::Fitting model to feature number 687, F716
## 2024-04-21 19:54:28.249555 INFO::Fitting model to feature number 688, F717
## 2024-04-21 19:54:28.257879 INFO::Fitting model to feature number 689, F718
## 2024-04-21 19:54:28.266298 INFO::Fitting model to feature number 690, F719
## 2024-04-21 19:54:28.274886 INFO::Fitting model to feature number 691, F720
## 2024-04-21 19:54:28.283543 INFO::Fitting model to feature number 692, F721
## 2024-04-21 19:54:28.291884 INFO::Fitting model to feature number 693, F722
## 2024-04-21 19:54:28.300127 INFO::Fitting model to feature number 694, F723
## 2024-04-21 19:54:28.307966 INFO::Fitting model to feature number 695, F724
## 2024-04-21 19:54:28.315826 INFO::Fitting model to feature number 696, F725
## 2024-04-21 19:54:28.323779 INFO::Fitting model to feature number 697, F726
## 2024-04-21 19:54:28.332043 INFO::Fitting model to feature number 698, F727
## 2024-04-21 19:54:28.340254 INFO::Fitting model to feature number 699, F728
## 2024-04-21 19:54:28.348381 INFO::Fitting model to feature number 700, F729
## 2024-04-21 19:54:28.356559 INFO::Fitting model to feature number 701, F730
## 2024-04-21 19:54:28.365009 INFO::Fitting model to feature number 702, F731
## 2024-04-21 19:54:28.373074 INFO::Fitting model to feature number 703, F732
## 2024-04-21 19:54:28.381476 INFO::Fitting model to feature number 704, F733
## 2024-04-21 19:54:28.389978 INFO::Fitting model to feature number 705, F734
## 2024-04-21 19:54:28.398431 INFO::Fitting model to feature number 706, F735
## 2024-04-21 19:54:28.406658 INFO::Fitting model to feature number 707, F736
## 2024-04-21 19:54:28.415033 INFO::Fitting model to feature number 708, F737
## 2024-04-21 19:54:28.423499 INFO::Fitting model to feature number 709, F739
## 2024-04-21 19:54:28.431773 INFO::Fitting model to feature number 710, F740
## 2024-04-21 19:54:28.439967 INFO::Fitting model to feature number 711, F741
## 2024-04-21 19:54:28.44636 INFO::Fitting model to feature number 712, F742
## 2024-04-21 19:54:28.451679 INFO::Fitting model to feature number 713, F743
## 2024-04-21 19:54:28.457113 INFO::Fitting model to feature number 714, F744
## 2024-04-21 19:54:28.462596 INFO::Fitting model to feature number 715, F745
## 2024-04-21 19:54:28.468559 INFO::Fitting model to feature number 716, F746
## 2024-04-21 19:54:28.4741 INFO::Fitting model to feature number 717, F747
## 2024-04-21 19:54:28.479633 INFO::Fitting model to feature number 718, F748
## 2024-04-21 19:54:28.487649 INFO::Fitting model to feature number 719, F749
## 2024-04-21 19:54:28.494063 INFO::Fitting model to feature number 720, F750
## 2024-04-21 19:54:28.499532 INFO::Fitting model to feature number 721, F751
## 2024-04-21 19:54:28.504641 INFO::Fitting model to feature number 722, F752
## 2024-04-21 19:54:28.509713 INFO::Fitting model to feature number 723, F753
## 2024-04-21 19:54:28.514861 INFO::Fitting model to feature number 724, F754
## 2024-04-21 19:54:28.520195 INFO::Fitting model to feature number 725, F755
## 2024-04-21 19:54:28.52546 INFO::Fitting model to feature number 726, F756
## 2024-04-21 19:54:28.530761 INFO::Fitting model to feature number 727, F757
## 2024-04-21 19:54:28.535967 INFO::Fitting model to feature number 728, F758
## 2024-04-21 19:54:28.541307 INFO::Fitting model to feature number 729, F759
## 2024-04-21 19:54:28.546592 INFO::Fitting model to feature number 730, F760
## 2024-04-21 19:54:28.551846 INFO::Fitting model to feature number 731, F761
## 2024-04-21 19:54:28.55697 INFO::Fitting model to feature number 732, F762
## 2024-04-21 19:54:28.562103 INFO::Fitting model to feature number 733, F763
## 2024-04-21 19:54:28.567182 INFO::Fitting model to feature number 734, F764
## 2024-04-21 19:54:28.57226 INFO::Fitting model to feature number 735, F765
## 2024-04-21 19:54:28.577365 INFO::Fitting model to feature number 736, F766
## 2024-04-21 19:54:28.582491 INFO::Fitting model to feature number 737, F767
## 2024-04-21 19:54:28.587572 INFO::Fitting model to feature number 738, F768
## 2024-04-21 19:54:28.592729 INFO::Fitting model to feature number 739, F769
## 2024-04-21 19:54:28.597808 INFO::Fitting model to feature number 740, F770
## 2024-04-21 19:54:28.602789 INFO::Fitting model to feature number 741, F771
## 2024-04-21 19:54:28.607807 INFO::Fitting model to feature number 742, F772
## 2024-04-21 19:54:28.612865 INFO::Fitting model to feature number 743, F773
## 2024-04-21 19:54:28.617882 INFO::Fitting model to feature number 744, F774
## 2024-04-21 19:54:28.622817 INFO::Fitting model to feature number 745, F775
## 2024-04-21 19:54:28.627773 INFO::Fitting model to feature number 746, F776
## 2024-04-21 19:54:28.655157 INFO::Fitting model to feature number 747, F777
## 2024-04-21 19:54:28.660623 INFO::Fitting model to feature number 748, F778
## 2024-04-21 19:54:28.665655 INFO::Fitting model to feature number 749, F779
## 2024-04-21 19:54:28.670527 INFO::Fitting model to feature number 750, F780
## 2024-04-21 19:54:28.675482 INFO::Fitting model to feature number 751, F781
## 2024-04-21 19:54:28.68036 INFO::Fitting model to feature number 752, F782
## 2024-04-21 19:54:28.685155 INFO::Fitting model to feature number 753, F783
## 2024-04-21 19:54:28.689891 INFO::Fitting model to feature number 754, F784
## 2024-04-21 19:54:28.694515 INFO::Fitting model to feature number 755, F785
## 2024-04-21 19:54:28.699087 INFO::Fitting model to feature number 756, F786
## 2024-04-21 19:54:28.703755 INFO::Fitting model to feature number 757, F787
## 2024-04-21 19:54:28.70848 INFO::Fitting model to feature number 758, F788
## 2024-04-21 19:54:28.714721 INFO::Fitting model to feature number 759, F789
## 2024-04-21 19:54:28.722824 INFO::Fitting model to feature number 760, F790
## 2024-04-21 19:54:28.730534 INFO::Fitting model to feature number 761, F791
## 2024-04-21 19:54:28.737614 INFO::Fitting model to feature number 762, F792
## 2024-04-21 19:54:28.742624 INFO::Fitting model to feature number 763, F793
## 2024-04-21 19:54:28.747926 INFO::Fitting model to feature number 764, F794
## 2024-04-21 19:54:28.752994 INFO::Fitting model to feature number 765, F795
## 2024-04-21 19:54:28.758098 INFO::Fitting model to feature number 766, F796
## 2024-04-21 19:54:28.763473 INFO::Fitting model to feature number 767, F797
## 2024-04-21 19:54:28.768225 INFO::Fitting model to feature number 768, F798
## 2024-04-21 19:54:28.773567 INFO::Fitting model to feature number 769, F799
## 2024-04-21 19:54:28.780448 INFO::Fitting model to feature number 770, F800
## 2024-04-21 19:54:28.788476 INFO::Fitting model to feature number 771, F801
## 2024-04-21 19:54:28.795956 INFO::Fitting model to feature number 772, F802
## 2024-04-21 19:54:28.800881 INFO::Fitting model to feature number 773, F803
## 2024-04-21 19:54:28.805758 INFO::Fitting model to feature number 774, F804
## 2024-04-21 19:54:28.810566 INFO::Fitting model to feature number 775, F805
## 2024-04-21 19:54:28.815468 INFO::Fitting model to feature number 776, F806
## 2024-04-21 19:54:28.820276 INFO::Fitting model to feature number 777, F808
## 2024-04-21 19:54:28.825034 INFO::Fitting model to feature number 778, F809
## 2024-04-21 19:54:28.829899 INFO::Fitting model to feature number 779, F810
## 2024-04-21 19:54:28.834776 INFO::Fitting model to feature number 780, F811
## 2024-04-21 19:54:28.839615 INFO::Fitting model to feature number 781, F812
## 2024-04-21 19:54:28.844461 INFO::Fitting model to feature number 782, F813
## 2024-04-21 19:54:28.849423 INFO::Fitting model to feature number 783, F814
## 2024-04-21 19:54:28.854285 INFO::Fitting model to feature number 784, F815
## 2024-04-21 19:54:28.85904 INFO::Fitting model to feature number 785, F816
## 2024-04-21 19:54:28.865171 INFO::Fitting model to feature number 786, F817
## 2024-04-21 19:54:28.872474 INFO::Fitting model to feature number 787, F818
## 2024-04-21 19:54:28.879483 INFO::Fitting model to feature number 788, F819
## 2024-04-21 19:54:28.885 INFO::Fitting model to feature number 789, F820
## 2024-04-21 19:54:28.889885 INFO::Fitting model to feature number 790, F821
## 2024-04-21 19:54:28.894865 INFO::Fitting model to feature number 791, F822
## 2024-04-21 19:54:28.899779 INFO::Fitting model to feature number 792, F823
## 2024-04-21 19:54:28.904743 INFO::Fitting model to feature number 793, F824
## 2024-04-21 19:54:28.909749 INFO::Fitting model to feature number 794, F825
## 2024-04-21 19:54:28.914657 INFO::Fitting model to feature number 795, F826
## 2024-04-21 19:54:28.919519 INFO::Fitting model to feature number 796, F827
## 2024-04-21 19:54:28.924392 INFO::Fitting model to feature number 797, F828
## 2024-04-21 19:54:28.929277 INFO::Fitting model to feature number 798, F829
## 2024-04-21 19:54:28.934172 INFO::Fitting model to feature number 799, F830
## 2024-04-21 19:54:28.939099 INFO::Fitting model to feature number 800, F831
## 2024-04-21 19:54:28.944122 INFO::Fitting model to feature number 801, F832
## 2024-04-21 19:54:28.949005 INFO::Fitting model to feature number 802, F833
## 2024-04-21 19:54:28.953881 INFO::Fitting model to feature number 803, F834
## 2024-04-21 19:54:28.958837 INFO::Fitting model to feature number 804, F835
## 2024-04-21 19:54:28.963716 INFO::Fitting model to feature number 805, F836
## 2024-04-21 19:54:28.968564 INFO::Fitting model to feature number 806, F837
## 2024-04-21 19:54:28.973417 INFO::Fitting model to feature number 807, F838
## 2024-04-21 19:54:28.978159 INFO::Fitting model to feature number 808, F839
## 2024-04-21 19:54:28.982885 INFO::Fitting model to feature number 809, F840
## 2024-04-21 19:54:28.987577 INFO::Fitting model to feature number 810, F841
## 2024-04-21 19:54:28.992188 INFO::Fitting model to feature number 811, F842
## 2024-04-21 19:54:28.996752 INFO::Fitting model to feature number 812, F843
## 2024-04-21 19:54:29.001305 INFO::Fitting model to feature number 813, F844
## 2024-04-21 19:54:29.005923 INFO::Fitting model to feature number 814, F845
## 2024-04-21 19:54:29.010439 INFO::Fitting model to feature number 815, F846
## 2024-04-21 19:54:29.014927 INFO::Fitting model to feature number 816, F847
## 2024-04-21 19:54:29.020367 INFO::Fitting model to feature number 817, F848
## 2024-04-21 19:54:29.02774 INFO::Fitting model to feature number 818, F849
## 2024-04-21 19:54:29.035972 INFO::Fitting model to feature number 819, F850
## 2024-04-21 19:54:29.044219 INFO::Fitting model to feature number 820, F851
## 2024-04-21 19:54:29.052779 INFO::Fitting model to feature number 821, F852
## 2024-04-21 19:54:29.061266 INFO::Fitting model to feature number 822, F853
## 2024-04-21 19:54:29.066403 INFO::Fitting model to feature number 823, F854
## 2024-04-21 19:54:29.073601 INFO::Fitting model to feature number 824, F855
## 2024-04-21 19:54:29.078569 INFO::Fitting model to feature number 825, F856
## 2024-04-21 19:54:29.0835 INFO::Fitting model to feature number 826, F857
## 2024-04-21 19:54:29.088324 INFO::Fitting model to feature number 827, F858
## 2024-04-21 19:54:29.093124 INFO::Fitting model to feature number 828, F859
## 2024-04-21 19:54:29.097877 INFO::Fitting model to feature number 829, F860
## 2024-04-21 19:54:29.102566 INFO::Fitting model to feature number 830, F861
## 2024-04-21 19:54:29.10717 INFO::Fitting model to feature number 831, F862
## 2024-04-21 19:54:29.11184 INFO::Fitting model to feature number 832, F863
## 2024-04-21 19:54:29.116488 INFO::Fitting model to feature number 833, F864
## 2024-04-21 19:54:29.121043 INFO::Fitting model to feature number 834, F865
## 2024-04-21 19:54:29.125645 INFO::Fitting model to feature number 835, F866
## 2024-04-21 19:54:29.130298 INFO::Fitting model to feature number 836, F867
## 2024-04-21 19:54:29.13494 INFO::Fitting model to feature number 837, F868
## 2024-04-21 19:54:29.139593 INFO::Fitting model to feature number 838, F869
## 2024-04-21 19:54:29.1444 INFO::Fitting model to feature number 839, F870
## 2024-04-21 19:54:29.148965 INFO::Fitting model to feature number 840, F871
## 2024-04-21 19:54:29.154324 INFO::Fitting model to feature number 841, F872
## 2024-04-21 19:54:29.159617 INFO::Fitting model to feature number 842, F873
## 2024-04-21 19:54:29.164284 INFO::Fitting model to feature number 843, F874
## 2024-04-21 19:54:29.168839 INFO::Fitting model to feature number 844, F875
## 2024-04-21 19:54:29.173612 INFO::Fitting model to feature number 845, F876
## 2024-04-21 19:54:29.17854 INFO::Fitting model to feature number 846, F877
## 2024-04-21 19:54:29.183406 INFO::Fitting model to feature number 847, F878
## 2024-04-21 19:54:29.188153 INFO::Fitting model to feature number 848, F879
## 2024-04-21 19:54:29.19503 INFO::Fitting model to feature number 849, F880
## 2024-04-21 19:54:29.199939 INFO::Fitting model to feature number 850, F881
## 2024-04-21 19:54:29.206232 INFO::Fitting model to feature number 851, F882
## 2024-04-21 19:54:29.212872 INFO::Fitting model to feature number 852, F883
## 2024-04-21 19:54:29.220251 INFO::Fitting model to feature number 853, F884
## 2024-04-21 19:54:29.22766 INFO::Fitting model to feature number 854, F885
## 2024-04-21 19:54:29.235017 INFO::Fitting model to feature number 855, F886
## 2024-04-21 19:54:29.242934 INFO::Fitting model to feature number 856, F887
## 2024-04-21 19:54:29.25064 INFO::Fitting model to feature number 857, F888
## 2024-04-21 19:54:29.258488 INFO::Fitting model to feature number 858, F889
## 2024-04-21 19:54:29.266217 INFO::Fitting model to feature number 859, F890
## 2024-04-21 19:54:29.273984 INFO::Fitting model to feature number 860, F891
## 2024-04-21 19:54:29.281832 INFO::Fitting model to feature number 861, F892
## 2024-04-21 19:54:29.289818 INFO::Fitting model to feature number 862, F893
## 2024-04-21 19:54:29.298108 INFO::Fitting model to feature number 863, F894
## 2024-04-21 19:54:29.30606 INFO::Fitting model to feature number 864, F895
## 2024-04-21 19:54:29.313967 INFO::Fitting model to feature number 865, F896
## 2024-04-21 19:54:29.321915 INFO::Fitting model to feature number 866, F897
## 2024-04-21 19:54:29.329692 INFO::Fitting model to feature number 867, F898
## 2024-04-21 19:54:29.335429 INFO::Fitting model to feature number 868, F899
## 2024-04-21 19:54:29.340344 INFO::Fitting model to feature number 869, F900
## 2024-04-21 19:54:29.489549 INFO::Counting total values for each feature
## 2024-04-21 19:54:29.613187 INFO::Writing filtered data to file Macarron_output/maaslin2_results/features/filtered_data.tsv
## 2024-04-21 19:54:29.889264 INFO::Writing filtered, normalized data to file Macarron_output/maaslin2_results/features/filtered_data_norm.tsv
## 2024-04-21 19:54:30.156251 INFO::Writing filtered, normalized, transformed data to file Macarron_output/maaslin2_results/features/filtered_data_norm_transformed.tsv
## 2024-04-21 19:54:30.454109 INFO::Writing residuals to file Macarron_output/maaslin2_results/fits/residuals.rds
## 2024-04-21 19:54:30.497822 INFO::Writing fitted values to file Macarron_output/maaslin2_results/fits/fitted.rds
## 2024-04-21 19:54:30.534369 INFO::Writing all results to file (ordered by increasing q-values): Macarron_output/maaslin2_results/all_results.tsv
## 2024-04-21 19:54:30.596069 INFO::Writing the significant results (those which are less than or equal to the threshold of 0.250000 ) to file (ordered by increasing q-values): Macarron_output/maaslin2_results/significant_results.tsv
## 2024-04-21 19:54:30.623228 INFO::Writing heatmap of significant results to file: Macarron_output/maaslin2_results/heatmap.pdf
## Initiating effect size calculations
## Calculating mean abundance in: IBD
## Calculating mean abundance in: Control
## Calculating effect size in: IBD
## Initiating prioritization
## Calculating meta-rank and prioritizing metabolic features
## 2024-04-21 19:54:31.219482 INFO::Writing all prioritized metabolites to file: Macarron_output/prioritized_metabolites_all.csv
## 2024-04-21 19:54:31.265014 INFO::Writing characterizable prioritized metabolites to file: Macarron_output/prioritized_metabolites_characterizable.csv
## 2024-04-21 19:54:31.309696 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 ucrt)
## Platform: x86_64-w64-mingw32/x64
## Running under: Windows Server 2022 x64 (build 20348)
## 
## Matrix products: default
## 
## 
## locale:
## [1] LC_COLLATE=C                          
## [2] LC_CTYPE=English_United States.utf8   
## [3] LC_MONETARY=English_United States.utf8
## [4] LC_NUMERIC=C                          
## [5] LC_TIME=English_United States.utf8    
## 
## time zone: America/New_York
## tzcode source: internal
## 
## attached base packages:
## [1] stats4    stats     graphics  grDevices utils     datasets  methods  
## [8] base     
## 
## other attached packages:
##  [1] Macarron_1.7.0              SummarizedExperiment_1.33.3
##  [3] Biobase_2.63.1              GenomicRanges_1.55.4       
##  [5] GenomeInfoDb_1.39.14        IRanges_2.37.1             
##  [7] S4Vectors_0.41.6            BiocGenerics_0.49.1        
##  [9] MatrixGenerics_1.15.1       matrixStats_1.3.0          
## [11] BiocStyle_2.31.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.43.1          utf8_1.2.4              rmarkdown_2.26         
##  [19] preprocessCore_1.65.0   UCSC.utils_0.99.7       bit_4.0.5              
##  [22] xfun_0.43               zlibbioc_1.49.3         cachem_1.0.8           
##  [25] jsonlite_1.8.8          blob_1.2.4              DelayedArray_0.29.9    
##  [28] BiocParallel_1.37.1     psych_2.4.3             Maaslin2_1.17.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.43.0         evaluate_0.23          
##  [61] foreign_0.8-86          survival_3.5-8          getopt_1.20.4          
##  [64] Biostrings_2.71.5       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.0           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.77.0          
##  [85] AnnotationDbi_1.65.2    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.3.7         
##  [94] dplyr_1.1.4             DEoptimR_1.1-3          gtable_0.3.4           
##  [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.3.5      
## [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.0           
## [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.