1 Abstract

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

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

2 Installation

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

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

3 Running Macarron

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

3.1 Input CSV files

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

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

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

3.2 Output Files

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

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

3.3 Run a demo in R

3.3.1 Using CSV files as inputs

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

library(Macarron)
## Loading required package: SummarizedExperiment
## Loading required package: MatrixGenerics
## Loading required package: matrixStats
## 
## Attaching package: 'MatrixGenerics'
## The following objects are masked from 'package:matrixStats':
## 
##     colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,
##     colCounts, colCummaxs, colCummins, colCumprods, colCumsums,
##     colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,
##     colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,
##     colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,
##     colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,
##     colWeightedMeans, colWeightedMedians, colWeightedSds,
##     colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,
##     rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,
##     rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,
##     rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,
##     rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,
##     rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,
##     rowWeightedMads, rowWeightedMeans, rowWeightedMedians,
##     rowWeightedSds, rowWeightedVars
## Loading required package: GenomicRanges
## Loading required package: stats4
## Loading required package: BiocGenerics
## 
## Attaching package: 'BiocGenerics'
## The following objects are masked from 'package:stats':
## 
##     IQR, mad, sd, var, xtabs
## The following objects are masked from 'package:base':
## 
##     anyDuplicated, aperm, append, as.data.frame, basename, cbind,
##     colnames, dirname, do.call, duplicated, eval, evalq, Filter, Find,
##     get, grep, grepl, intersect, is.unsorted, lapply, Map, mapply,
##     match, mget, order, paste, pmax, pmax.int, pmin, pmin.int,
##     Position, rank, rbind, Reduce, rownames, sapply, setdiff, table,
##     tapply, union, unique, unsplit, which.max, which.min
## Loading required package: S4Vectors
## 
## Attaching package: 'S4Vectors'
## The following object is masked from 'package:utils':
## 
##     findMatches
## The following objects are masked from 'package:base':
## 
##     expand.grid, I, unname
## Loading required package: IRanges
## Loading required package: GenomeInfoDb
## Loading required package: Biobase
## Welcome to Bioconductor
## 
##     Vignettes contain introductory material; view with
##     'browseVignettes()'. To cite Bioconductor, see
##     'citation("Biobase")', and for packages 'citation("pkgname")'.
## 
## Attaching package: 'Biobase'
## The following object is masked from 'package:MatrixGenerics':
## 
##     rowMedians
## The following objects are masked from 'package:matrixStats':
## 
##     anyMissing, rowMedians
prism_abundances <- system.file(
    'extdata','demo_abundances.csv', package="Macarron")
prism_annotations <-system.file(
    'extdata','demo_annotations.csv', package="Macarron")
prism_metadata <-system.file(
    'extdata','demo_metadata.csv', package="Macarron")
mets_taxonomy <-system.file(
    'extdata','demo_taxonomy.csv', package="Macarron")
prism_prioritized <- Macarron::Macarron(input_abundances = prism_abundances,
                                        input_annotations = prism_annotations,
                                        input_metadata = prism_metadata,
                                        input_taxonomy = mets_taxonomy)
## 2024-05-01 01:24:35.457033 INFO::Creating output folder.
## 2024-05-01 01:24:35.462216 INFO::Writing function arguments to log file
## Samples with both abundances and metadata: 102
## 2024-05-01 01:24:35.482264 INFO::Summarized Experiment created.
## 2024-05-01 01:24:35.482915 INFO::Metadata chosen for prevalence filtering: diagnosis
## 869 features pass chosen minimum prevalence threshold of 0.7.
## Calculating pairwise correlations in phenotype: IBD
## 
## Calculating pairwise correlations in phenotype: Control
## Distance matrix with 869 features created.
## 2024-05-01 01:24:37.494332 INFO::Distance matrix with 869 metabolic features created.
## Initiating module detection
## 2024-05-01 01:24:37.49486 INFO::Minimum module size used for this dataset: 10
## Tree constructed
## Evaluating measures of success
##  ..cutHeight not given, setting it to 0.99  ===>  99% of the (truncated) height range in dendro.
##  ..done.
##  ..cutHeight not given, setting it to 0.99  ===>  99% of the (truncated) height range in dendro.
##  ..done.
##  ..cutHeight not given, setting it to 0.99  ===>  99% of the (truncated) height range in dendro.
##  ..done.
##  ..cutHeight not given, setting it to 0.99  ===>  99% of the (truncated) height range in dendro.
##  ..done.
##  ..cutHeight not given, setting it to 0.99  ===>  99% of the (truncated) height range in dendro.
##  ..done.
## 2024-05-01 01:24:38.024959 INFO::Total number of modules detected: 30
## Initiating AVA calculations
## Finding anchors
## Calculating AVA
## Initiating q-value calculations
## [1] "Creating output folder"
## [1] "Creating output feature tables folder"
## [1] "Creating output fits folder"
## [1] "Creating output figures folder"
## 2024-05-01 01:24:38.58292 INFO::Writing function arguments to log file
## 2024-05-01 01:24:38.585075 INFO::Verifying options selected are valid
## 2024-05-01 01:24:38.60303 INFO::Determining format of input files
## 2024-05-01 01:24:38.603448 INFO::Input format is data samples as columns and metadata samples as rows
## 2024-05-01 01:24:38.609524 INFO::Formula for fixed effects: expr ~  diagnosis + age + antibiotics
## 2024-05-01 01:24:38.610114 INFO::Filter data based on min abundance and min prevalence
## 2024-05-01 01:24:38.61037 INFO::Total samples in data: 102
## 2024-05-01 01:24:38.610607 INFO::Min samples required with min abundance for a feature not to be filtered: 0.000000
## 2024-05-01 01:24:38.614935 INFO::Total filtered features: 0
## 2024-05-01 01:24:38.615277 INFO::Filtered feature names from abundance and prevalence filtering:
## 2024-05-01 01:24:38.621767 INFO::Total filtered features with variance filtering: 0
## 2024-05-01 01:24:38.622125 INFO::Filtered feature names from variance filtering:
## 2024-05-01 01:24:38.622359 INFO::Running selected normalization method: NONE
## 2024-05-01 01:24:38.622613 INFO::Applying z-score to standardize continuous metadata
## 2024-05-01 01:24:38.632708 INFO::Running selected transform method: NONE
## 2024-05-01 01:24:38.633103 INFO::Running selected analysis method: LM
## 2024-05-01 01:24:38.635542 INFO::Fitting model to feature number 1, F1
## 2024-05-01 01:24:38.640002 INFO::Fitting model to feature number 2, F2
## 2024-05-01 01:24:38.641256 INFO::Fitting model to feature number 3, F3
## 2024-05-01 01:24:38.642421 INFO::Fitting model to feature number 4, F4
## 2024-05-01 01:24:38.643589 INFO::Fitting model to feature number 5, F5
## 2024-05-01 01:24:38.644776 INFO::Fitting model to feature number 6, F6
## 2024-05-01 01:24:38.653997 INFO::Fitting model to feature number 7, F7
## 2024-05-01 01:24:38.655171 INFO::Fitting model to feature number 8, F8
## 2024-05-01 01:24:38.656286 INFO::Fitting model to feature number 9, F9
## 2024-05-01 01:24:38.657391 INFO::Fitting model to feature number 10, F10
## 2024-05-01 01:24:38.658524 INFO::Fitting model to feature number 11, F11
## 2024-05-01 01:24:38.659608 INFO::Fitting model to feature number 12, F12
## 2024-05-01 01:24:38.660707 INFO::Fitting model to feature number 13, F13
## 2024-05-01 01:24:38.661811 INFO::Fitting model to feature number 14, F14
## 2024-05-01 01:24:38.6629 INFO::Fitting model to feature number 15, F15
## 2024-05-01 01:24:38.663985 INFO::Fitting model to feature number 16, F16
## 2024-05-01 01:24:38.665088 INFO::Fitting model to feature number 17, F17
## 2024-05-01 01:24:38.666181 INFO::Fitting model to feature number 18, F18
## 2024-05-01 01:24:38.667287 INFO::Fitting model to feature number 19, F19
## 2024-05-01 01:24:38.668371 INFO::Fitting model to feature number 20, F20
## 2024-05-01 01:24:38.669447 INFO::Fitting model to feature number 21, F21
## 2024-05-01 01:24:38.670505 INFO::Fitting model to feature number 22, F22
## 2024-05-01 01:24:38.67158 INFO::Fitting model to feature number 23, F23
## 2024-05-01 01:24:38.672653 INFO::Fitting model to feature number 24, F24
## 2024-05-01 01:24:38.673736 INFO::Fitting model to feature number 25, F25
## 2024-05-01 01:24:38.674835 INFO::Fitting model to feature number 26, F26
## 2024-05-01 01:24:38.675972 INFO::Fitting model to feature number 27, F27
## 2024-05-01 01:24:38.677066 INFO::Fitting model to feature number 28, F28
## 2024-05-01 01:24:38.678142 INFO::Fitting model to feature number 29, F29
## 2024-05-01 01:24:38.679221 INFO::Fitting model to feature number 30, F30
## 2024-05-01 01:24:38.6803 INFO::Fitting model to feature number 31, F31
## 2024-05-01 01:24:38.68138 INFO::Fitting model to feature number 32, F32
## 2024-05-01 01:24:38.682471 INFO::Fitting model to feature number 33, F33
## 2024-05-01 01:24:38.683553 INFO::Fitting model to feature number 34, F34
## 2024-05-01 01:24:38.684616 INFO::Fitting model to feature number 35, F35
## 2024-05-01 01:24:38.685691 INFO::Fitting model to feature number 36, F36
## 2024-05-01 01:24:38.686758 INFO::Fitting model to feature number 37, F37
## 2024-05-01 01:24:38.687825 INFO::Fitting model to feature number 38, F38
## 2024-05-01 01:24:38.688911 INFO::Fitting model to feature number 39, F39
## 2024-05-01 01:24:38.690008 INFO::Fitting model to feature number 40, F40
## 2024-05-01 01:24:38.691084 INFO::Fitting model to feature number 41, F41
## 2024-05-01 01:24:38.692169 INFO::Fitting model to feature number 42, F43
## 2024-05-01 01:24:38.69326 INFO::Fitting model to feature number 43, F44
## 2024-05-01 01:24:38.694353 INFO::Fitting model to feature number 44, F45
## 2024-05-01 01:24:38.695424 INFO::Fitting model to feature number 45, F46
## 2024-05-01 01:24:38.696512 INFO::Fitting model to feature number 46, F47
## 2024-05-01 01:24:38.697619 INFO::Fitting model to feature number 47, F48
## 2024-05-01 01:24:38.698723 INFO::Fitting model to feature number 48, F49
## 2024-05-01 01:24:38.699809 INFO::Fitting model to feature number 49, F50
## 2024-05-01 01:24:38.70093 INFO::Fitting model to feature number 50, F51
## 2024-05-01 01:24:38.702057 INFO::Fitting model to feature number 51, F52
## 2024-05-01 01:24:38.70317 INFO::Fitting model to feature number 52, F53
## 2024-05-01 01:24:38.704265 INFO::Fitting model to feature number 53, F54
## 2024-05-01 01:24:38.70539 INFO::Fitting model to feature number 54, F55
## 2024-05-01 01:24:38.706505 INFO::Fitting model to feature number 55, F56
## 2024-05-01 01:24:38.707629 INFO::Fitting model to feature number 56, F57
## 2024-05-01 01:24:38.708741 INFO::Fitting model to feature number 57, F58
## 2024-05-01 01:24:38.709829 INFO::Fitting model to feature number 58, F59
## 2024-05-01 01:24:38.710914 INFO::Fitting model to feature number 59, F60
## 2024-05-01 01:24:38.712025 INFO::Fitting model to feature number 60, F63
## 2024-05-01 01:24:38.713109 INFO::Fitting model to feature number 61, F64
## 2024-05-01 01:24:38.714212 INFO::Fitting model to feature number 62, F65
## 2024-05-01 01:24:38.715304 INFO::Fitting model to feature number 63, F66
## 2024-05-01 01:24:38.716401 INFO::Fitting model to feature number 64, F67
## 2024-05-01 01:24:38.717507 INFO::Fitting model to feature number 65, F68
## 2024-05-01 01:24:38.718654 INFO::Fitting model to feature number 66, F69
## 2024-05-01 01:24:38.719765 INFO::Fitting model to feature number 67, F70
## 2024-05-01 01:24:38.720898 INFO::Fitting model to feature number 68, F71
## 2024-05-01 01:24:38.722009 INFO::Fitting model to feature number 69, F72
## 2024-05-01 01:24:38.723092 INFO::Fitting model to feature number 70, F73
## 2024-05-01 01:24:38.724213 INFO::Fitting model to feature number 71, F74
## 2024-05-01 01:24:38.725298 INFO::Fitting model to feature number 72, F76
## 2024-05-01 01:24:38.726389 INFO::Fitting model to feature number 73, F77
## 2024-05-01 01:24:38.72748 INFO::Fitting model to feature number 74, F78
## 2024-05-01 01:24:38.728584 INFO::Fitting model to feature number 75, F79
## 2024-05-01 01:24:38.729709 INFO::Fitting model to feature number 76, F80
## 2024-05-01 01:24:38.730831 INFO::Fitting model to feature number 77, F81
## 2024-05-01 01:24:38.731964 INFO::Fitting model to feature number 78, F82
## 2024-05-01 01:24:38.733055 INFO::Fitting model to feature number 79, F83
## 2024-05-01 01:24:38.734159 INFO::Fitting model to feature number 80, F84
## 2024-05-01 01:24:38.735267 INFO::Fitting model to feature number 81, F85
## 2024-05-01 01:24:38.736364 INFO::Fitting model to feature number 82, F86
## 2024-05-01 01:24:38.737515 INFO::Fitting model to feature number 83, F87
## 2024-05-01 01:24:38.738599 INFO::Fitting model to feature number 84, F88
## 2024-05-01 01:24:38.739707 INFO::Fitting model to feature number 85, F89
## 2024-05-01 01:24:38.740807 INFO::Fitting model to feature number 86, F90
## 2024-05-01 01:24:38.741933 INFO::Fitting model to feature number 87, F91
## 2024-05-01 01:24:38.74305 INFO::Fitting model to feature number 88, F92
## 2024-05-01 01:24:38.744156 INFO::Fitting model to feature number 89, F93
## 2024-05-01 01:24:38.745275 INFO::Fitting model to feature number 90, F94
## 2024-05-01 01:24:38.746373 INFO::Fitting model to feature number 91, F95
## 2024-05-01 01:24:38.747508 INFO::Fitting model to feature number 92, F96
## 2024-05-01 01:24:38.748676 INFO::Fitting model to feature number 93, F97
## 2024-05-01 01:24:38.749818 INFO::Fitting model to feature number 94, F98
## 2024-05-01 01:24:38.750923 INFO::Fitting model to feature number 95, F99
## 2024-05-01 01:24:38.752037 INFO::Fitting model to feature number 96, F100
## 2024-05-01 01:24:38.753141 INFO::Fitting model to feature number 97, F101
## 2024-05-01 01:24:38.754265 INFO::Fitting model to feature number 98, F102
## 2024-05-01 01:24:38.755375 INFO::Fitting model to feature number 99, F103
## 2024-05-01 01:24:38.756483 INFO::Fitting model to feature number 100, F104
## 2024-05-01 01:24:38.757592 INFO::Fitting model to feature number 101, F105
## 2024-05-01 01:24:38.758693 INFO::Fitting model to feature number 102, F106
## 2024-05-01 01:24:38.759772 INFO::Fitting model to feature number 103, F107
## 2024-05-01 01:24:38.760866 INFO::Fitting model to feature number 104, F108
## 2024-05-01 01:24:38.761954 INFO::Fitting model to feature number 105, F109
## 2024-05-01 01:24:38.763051 INFO::Fitting model to feature number 106, F110
## 2024-05-01 01:24:38.764151 INFO::Fitting model to feature number 107, F111
## 2024-05-01 01:24:38.76525 INFO::Fitting model to feature number 108, F112
## 2024-05-01 01:24:38.766358 INFO::Fitting model to feature number 109, F113
## 2024-05-01 01:24:38.767462 INFO::Fitting model to feature number 110, F114
## 2024-05-01 01:24:38.768579 INFO::Fitting model to feature number 111, F115
## 2024-05-01 01:24:38.769697 INFO::Fitting model to feature number 112, F117
## 2024-05-01 01:24:38.770831 INFO::Fitting model to feature number 113, F118
## 2024-05-01 01:24:38.771965 INFO::Fitting model to feature number 114, F119
## 2024-05-01 01:24:38.773087 INFO::Fitting model to feature number 115, F120
## 2024-05-01 01:24:38.774221 INFO::Fitting model to feature number 116, F121
## 2024-05-01 01:24:38.775323 INFO::Fitting model to feature number 117, F122
## 2024-05-01 01:24:38.776417 INFO::Fitting model to feature number 118, F123
## 2024-05-01 01:24:38.777542 INFO::Fitting model to feature number 119, F124
## 2024-05-01 01:24:38.778714 INFO::Fitting model to feature number 120, F125
## 2024-05-01 01:24:38.779832 INFO::Fitting model to feature number 121, F126
## 2024-05-01 01:24:38.78095 INFO::Fitting model to feature number 122, F127
## 2024-05-01 01:24:38.782071 INFO::Fitting model to feature number 123, F128
## 2024-05-01 01:24:38.78319 INFO::Fitting model to feature number 124, F129
## 2024-05-01 01:24:38.784319 INFO::Fitting model to feature number 125, F130
## 2024-05-01 01:24:38.785442 INFO::Fitting model to feature number 126, F131
## 2024-05-01 01:24:38.786556 INFO::Fitting model to feature number 127, F132
## 2024-05-01 01:24:38.787659 INFO::Fitting model to feature number 128, F133
## 2024-05-01 01:24:38.788764 INFO::Fitting model to feature number 129, F134
## 2024-05-01 01:24:38.789868 INFO::Fitting model to feature number 130, F135
## 2024-05-01 01:24:38.790987 INFO::Fitting model to feature number 131, F136
## 2024-05-01 01:24:38.792125 INFO::Fitting model to feature number 132, F137
## 2024-05-01 01:24:38.793221 INFO::Fitting model to feature number 133, F138
## 2024-05-01 01:24:38.794319 INFO::Fitting model to feature number 134, F139
## 2024-05-01 01:24:38.795419 INFO::Fitting model to feature number 135, F140
## 2024-05-01 01:24:38.796499 INFO::Fitting model to feature number 136, F141
## 2024-05-01 01:24:38.797586 INFO::Fitting model to feature number 137, F142
## 2024-05-01 01:24:38.798733 INFO::Fitting model to feature number 138, F143
## 2024-05-01 01:24:38.799877 INFO::Fitting model to feature number 139, F144
## 2024-05-01 01:24:38.800994 INFO::Fitting model to feature number 140, F145
## 2024-05-01 01:24:38.802099 INFO::Fitting model to feature number 141, F146
## 2024-05-01 01:24:38.803212 INFO::Fitting model to feature number 142, F147
## 2024-05-01 01:24:38.804327 INFO::Fitting model to feature number 143, F148
## 2024-05-01 01:24:38.805411 INFO::Fitting model to feature number 144, F149
## 2024-05-01 01:24:38.806541 INFO::Fitting model to feature number 145, F150
## 2024-05-01 01:24:38.807672 INFO::Fitting model to feature number 146, F152
## 2024-05-01 01:24:38.808851 INFO::Fitting model to feature number 147, F153
## 2024-05-01 01:24:38.809991 INFO::Fitting model to feature number 148, F154
## 2024-05-01 01:24:38.81113 INFO::Fitting model to feature number 149, F155
## 2024-05-01 01:24:38.812265 INFO::Fitting model to feature number 150, F156
## 2024-05-01 01:24:38.813411 INFO::Fitting model to feature number 151, F157
## 2024-05-01 01:24:38.81455 INFO::Fitting model to feature number 152, F158
## 2024-05-01 01:24:38.815673 INFO::Fitting model to feature number 153, F159
## 2024-05-01 01:24:38.816782 INFO::Fitting model to feature number 154, F160
## 2024-05-01 01:24:38.817916 INFO::Fitting model to feature number 155, F161
## 2024-05-01 01:24:38.819103 INFO::Fitting model to feature number 156, F162
## 2024-05-01 01:24:38.820221 INFO::Fitting model to feature number 157, F163
## 2024-05-01 01:24:38.821344 INFO::Fitting model to feature number 158, F164
## 2024-05-01 01:24:38.822467 INFO::Fitting model to feature number 159, F165
## 2024-05-01 01:24:38.823585 INFO::Fitting model to feature number 160, F166
## 2024-05-01 01:24:38.824715 INFO::Fitting model to feature number 161, F167
## 2024-05-01 01:24:38.825868 INFO::Fitting model to feature number 162, F168
## 2024-05-01 01:24:38.826999 INFO::Fitting model to feature number 163, F169
## 2024-05-01 01:24:38.82813 INFO::Fitting model to feature number 164, F170
## 2024-05-01 01:24:38.829225 INFO::Fitting model to feature number 165, F171
## 2024-05-01 01:24:38.830325 INFO::Fitting model to feature number 166, F172
## 2024-05-01 01:24:38.847934 INFO::Fitting model to feature number 167, F173
## 2024-05-01 01:24:38.849315 INFO::Fitting model to feature number 168, F174
## 2024-05-01 01:24:38.850466 INFO::Fitting model to feature number 169, F175
## 2024-05-01 01:24:38.851575 INFO::Fitting model to feature number 170, F176
## 2024-05-01 01:24:38.852666 INFO::Fitting model to feature number 171, F177
## 2024-05-01 01:24:38.853764 INFO::Fitting model to feature number 172, F178
## 2024-05-01 01:24:38.854849 INFO::Fitting model to feature number 173, F179
## 2024-05-01 01:24:38.855943 INFO::Fitting model to feature number 174, F180
## 2024-05-01 01:24:38.857031 INFO::Fitting model to feature number 175, F181
## 2024-05-01 01:24:38.85814 INFO::Fitting model to feature number 176, F182
## 2024-05-01 01:24:38.859223 INFO::Fitting model to feature number 177, F183
## 2024-05-01 01:24:38.860317 INFO::Fitting model to feature number 178, F184
## 2024-05-01 01:24:38.86142 INFO::Fitting model to feature number 179, F185
## 2024-05-01 01:24:38.862507 INFO::Fitting model to feature number 180, F186
## 2024-05-01 01:24:38.863597 INFO::Fitting model to feature number 181, F187
## 2024-05-01 01:24:38.864683 INFO::Fitting model to feature number 182, F188
## 2024-05-01 01:24:38.86578 INFO::Fitting model to feature number 183, F189
## 2024-05-01 01:24:38.866865 INFO::Fitting model to feature number 184, F190
## 2024-05-01 01:24:38.867948 INFO::Fitting model to feature number 185, F191
## 2024-05-01 01:24:38.869026 INFO::Fitting model to feature number 186, F192
## 2024-05-01 01:24:38.870121 INFO::Fitting model to feature number 187, F193
## 2024-05-01 01:24:38.871209 INFO::Fitting model to feature number 188, F194
## 2024-05-01 01:24:38.872291 INFO::Fitting model to feature number 189, F195
## 2024-05-01 01:24:38.873394 INFO::Fitting model to feature number 190, F196
## 2024-05-01 01:24:38.874517 INFO::Fitting model to feature number 191, F197
## 2024-05-01 01:24:38.875647 INFO::Fitting model to feature number 192, F198
## 2024-05-01 01:24:38.876814 INFO::Fitting model to feature number 193, F199
## 2024-05-01 01:24:38.877922 INFO::Fitting model to feature number 194, F200
## 2024-05-01 01:24:38.878999 INFO::Fitting model to feature number 195, F201
## 2024-05-01 01:24:38.880084 INFO::Fitting model to feature number 196, F202
## 2024-05-01 01:24:38.881162 INFO::Fitting model to feature number 197, F203
## 2024-05-01 01:24:38.882257 INFO::Fitting model to feature number 198, F204
## 2024-05-01 01:24:38.88335 INFO::Fitting model to feature number 199, F206
## 2024-05-01 01:24:38.884464 INFO::Fitting model to feature number 200, F207
## 2024-05-01 01:24:38.885582 INFO::Fitting model to feature number 201, F208
## 2024-05-01 01:24:38.886728 INFO::Fitting model to feature number 202, F209
## 2024-05-01 01:24:38.887827 INFO::Fitting model to feature number 203, F210
## 2024-05-01 01:24:38.888908 INFO::Fitting model to feature number 204, F211
## 2024-05-01 01:24:38.890003 INFO::Fitting model to feature number 205, F212
## 2024-05-01 01:24:38.891084 INFO::Fitting model to feature number 206, F213
## 2024-05-01 01:24:38.892177 INFO::Fitting model to feature number 207, F214
## 2024-05-01 01:24:38.893252 INFO::Fitting model to feature number 208, F215
## 2024-05-01 01:24:38.894342 INFO::Fitting model to feature number 209, F216
## 2024-05-01 01:24:38.895441 INFO::Fitting model to feature number 210, F217
## 2024-05-01 01:24:38.896552 INFO::Fitting model to feature number 211, F218
## 2024-05-01 01:24:38.897657 INFO::Fitting model to feature number 212, F219
## 2024-05-01 01:24:38.898766 INFO::Fitting model to feature number 213, F220
## 2024-05-01 01:24:38.899863 INFO::Fitting model to feature number 214, F221
## 2024-05-01 01:24:38.900952 INFO::Fitting model to feature number 215, F222
## 2024-05-01 01:24:38.902049 INFO::Fitting model to feature number 216, F223
## 2024-05-01 01:24:38.903144 INFO::Fitting model to feature number 217, F224
## 2024-05-01 01:24:38.904221 INFO::Fitting model to feature number 218, F225
## 2024-05-01 01:24:38.905302 INFO::Fitting model to feature number 219, F226
## 2024-05-01 01:24:38.906374 INFO::Fitting model to feature number 220, F227
## 2024-05-01 01:24:38.907442 INFO::Fitting model to feature number 221, F228
## 2024-05-01 01:24:38.908514 INFO::Fitting model to feature number 222, F229
## 2024-05-01 01:24:38.909588 INFO::Fitting model to feature number 223, F230
## 2024-05-01 01:24:38.910678 INFO::Fitting model to feature number 224, F231
## 2024-05-01 01:24:38.911787 INFO::Fitting model to feature number 225, F232
## 2024-05-01 01:24:38.912881 INFO::Fitting model to feature number 226, F233
## 2024-05-01 01:24:38.913972 INFO::Fitting model to feature number 227, F234
## 2024-05-01 01:24:38.915075 INFO::Fitting model to feature number 228, F235
## 2024-05-01 01:24:38.916174 INFO::Fitting model to feature number 229, F236
## 2024-05-01 01:24:38.917287 INFO::Fitting model to feature number 230, F237
## 2024-05-01 01:24:38.918371 INFO::Fitting model to feature number 231, F238
## 2024-05-01 01:24:38.919453 INFO::Fitting model to feature number 232, F239
## 2024-05-01 01:24:38.920533 INFO::Fitting model to feature number 233, F240
## 2024-05-01 01:24:38.921603 INFO::Fitting model to feature number 234, F241
## 2024-05-01 01:24:38.922685 INFO::Fitting model to feature number 235, F242
## 2024-05-01 01:24:38.923779 INFO::Fitting model to feature number 236, F243
## 2024-05-01 01:24:38.924878 INFO::Fitting model to feature number 237, F244
## 2024-05-01 01:24:38.926004 INFO::Fitting model to feature number 238, F245
## 2024-05-01 01:24:38.927121 INFO::Fitting model to feature number 239, F246
## 2024-05-01 01:24:38.928215 INFO::Fitting model to feature number 240, F247
## 2024-05-01 01:24:38.92931 INFO::Fitting model to feature number 241, F248
## 2024-05-01 01:24:38.930412 INFO::Fitting model to feature number 242, F249
## 2024-05-01 01:24:38.931499 INFO::Fitting model to feature number 243, F250
## 2024-05-01 01:24:38.932586 INFO::Fitting model to feature number 244, F252
## 2024-05-01 01:24:38.933679 INFO::Fitting model to feature number 245, F253
## 2024-05-01 01:24:38.934775 INFO::Fitting model to feature number 246, F254
## 2024-05-01 01:24:38.935918 INFO::Fitting model to feature number 247, F255
## 2024-05-01 01:24:38.93705 INFO::Fitting model to feature number 248, F256
## 2024-05-01 01:24:38.93816 INFO::Fitting model to feature number 249, F257
## 2024-05-01 01:24:38.939256 INFO::Fitting model to feature number 250, F259
## 2024-05-01 01:24:38.940344 INFO::Fitting model to feature number 251, F260
## 2024-05-01 01:24:38.941432 INFO::Fitting model to feature number 252, F261
## 2024-05-01 01:24:38.942528 INFO::Fitting model to feature number 253, F262
## 2024-05-01 01:24:38.943642 INFO::Fitting model to feature number 254, F263
## 2024-05-01 01:24:38.944735 INFO::Fitting model to feature number 255, F264
## 2024-05-01 01:24:38.945832 INFO::Fitting model to feature number 256, F265
## 2024-05-01 01:24:38.946916 INFO::Fitting model to feature number 257, F266
## 2024-05-01 01:24:38.948005 INFO::Fitting model to feature number 258, F267
## 2024-05-01 01:24:38.949104 INFO::Fitting model to feature number 259, F269
## 2024-05-01 01:24:38.950215 INFO::Fitting model to feature number 260, F270
## 2024-05-01 01:24:38.951314 INFO::Fitting model to feature number 261, F271
## 2024-05-01 01:24:38.952406 INFO::Fitting model to feature number 262, F272
## 2024-05-01 01:24:38.953506 INFO::Fitting model to feature number 263, F273
## 2024-05-01 01:24:38.954607 INFO::Fitting model to feature number 264, F274
## 2024-05-01 01:24:38.95574 INFO::Fitting model to feature number 265, F276
## 2024-05-01 01:24:38.95684 INFO::Fitting model to feature number 266, F277
## 2024-05-01 01:24:38.957954 INFO::Fitting model to feature number 267, F278
## 2024-05-01 01:24:38.959072 INFO::Fitting model to feature number 268, F279
## 2024-05-01 01:24:38.960188 INFO::Fitting model to feature number 269, F280
## 2024-05-01 01:24:38.961297 INFO::Fitting model to feature number 270, F281
## 2024-05-01 01:24:38.96241 INFO::Fitting model to feature number 271, F282
## 2024-05-01 01:24:38.963551 INFO::Fitting model to feature number 272, F283
## 2024-05-01 01:24:38.964668 INFO::Fitting model to feature number 273, F284
## 2024-05-01 01:24:38.965804 INFO::Fitting model to feature number 274, F285
## 2024-05-01 01:24:38.966937 INFO::Fitting model to feature number 275, F286
## 2024-05-01 01:24:38.968068 INFO::Fitting model to feature number 276, F287
## 2024-05-01 01:24:38.969186 INFO::Fitting model to feature number 277, F288
## 2024-05-01 01:24:38.970289 INFO::Fitting model to feature number 278, F289
## 2024-05-01 01:24:38.971392 INFO::Fitting model to feature number 279, F290
## 2024-05-01 01:24:38.972499 INFO::Fitting model to feature number 280, F292
## 2024-05-01 01:24:38.973608 INFO::Fitting model to feature number 281, F293
## 2024-05-01 01:24:38.97472 INFO::Fitting model to feature number 282, F294
## 2024-05-01 01:24:38.975824 INFO::Fitting model to feature number 283, F295
## 2024-05-01 01:24:38.976932 INFO::Fitting model to feature number 284, F296
## 2024-05-01 01:24:38.978038 INFO::Fitting model to feature number 285, F297
## 2024-05-01 01:24:38.979143 INFO::Fitting model to feature number 286, F298
## 2024-05-01 01:24:38.980253 INFO::Fitting model to feature number 287, F299
## 2024-05-01 01:24:38.981362 INFO::Fitting model to feature number 288, F300
## 2024-05-01 01:24:38.982473 INFO::Fitting model to feature number 289, F301
## 2024-05-01 01:24:38.983591 INFO::Fitting model to feature number 290, F302
## 2024-05-01 01:24:38.984715 INFO::Fitting model to feature number 291, F303
## 2024-05-01 01:24:38.985872 INFO::Fitting model to feature number 292, F304
## 2024-05-01 01:24:38.986986 INFO::Fitting model to feature number 293, F305
## 2024-05-01 01:24:38.988067 INFO::Fitting model to feature number 294, F306
## 2024-05-01 01:24:38.989145 INFO::Fitting model to feature number 295, F307
## 2024-05-01 01:24:38.990235 INFO::Fitting model to feature number 296, F308
## 2024-05-01 01:24:38.991336 INFO::Fitting model to feature number 297, F309
## 2024-05-01 01:24:38.992439 INFO::Fitting model to feature number 298, F310
## 2024-05-01 01:24:38.993547 INFO::Fitting model to feature number 299, F311
## 2024-05-01 01:24:38.994651 INFO::Fitting model to feature number 300, F312
## 2024-05-01 01:24:38.995747 INFO::Fitting model to feature number 301, F313
## 2024-05-01 01:24:38.996908 INFO::Fitting model to feature number 302, F315
## 2024-05-01 01:24:38.998006 INFO::Fitting model to feature number 303, F316
## 2024-05-01 01:24:38.999108 INFO::Fitting model to feature number 304, F317
## 2024-05-01 01:24:39.00021 INFO::Fitting model to feature number 305, F318
## 2024-05-01 01:24:39.0013 INFO::Fitting model to feature number 306, F319
## 2024-05-01 01:24:39.0024 INFO::Fitting model to feature number 307, F320
## 2024-05-01 01:24:39.003532 INFO::Fitting model to feature number 308, F321
## 2024-05-01 01:24:39.004647 INFO::Fitting model to feature number 309, F322
## 2024-05-01 01:24:39.005803 INFO::Fitting model to feature number 310, F323
## 2024-05-01 01:24:39.006927 INFO::Fitting model to feature number 311, F324
## 2024-05-01 01:24:39.008085 INFO::Fitting model to feature number 312, F325
## 2024-05-01 01:24:39.009242 INFO::Fitting model to feature number 313, F326
## 2024-05-01 01:24:39.010409 INFO::Fitting model to feature number 314, F327
## 2024-05-01 01:24:39.011578 INFO::Fitting model to feature number 315, F328
## 2024-05-01 01:24:39.012771 INFO::Fitting model to feature number 316, F329
## 2024-05-01 01:24:39.013988 INFO::Fitting model to feature number 317, F330
## 2024-05-01 01:24:39.015158 INFO::Fitting model to feature number 318, F331
## 2024-05-01 01:24:39.01631 INFO::Fitting model to feature number 319, F332
## 2024-05-01 01:24:39.01747 INFO::Fitting model to feature number 320, F333
## 2024-05-01 01:24:39.018597 INFO::Fitting model to feature number 321, F334
## 2024-05-01 01:24:39.019747 INFO::Fitting model to feature number 322, F335
## 2024-05-01 01:24:39.020835 INFO::Fitting model to feature number 323, F336
## 2024-05-01 01:24:39.021903 INFO::Fitting model to feature number 324, F337
## 2024-05-01 01:24:39.022961 INFO::Fitting model to feature number 325, F338
## 2024-05-01 01:24:39.023997 INFO::Fitting model to feature number 326, F339
## 2024-05-01 01:24:39.025057 INFO::Fitting model to feature number 327, F340
## 2024-05-01 01:24:39.02612 INFO::Fitting model to feature number 328, F342
## 2024-05-01 01:24:39.027209 INFO::Fitting model to feature number 329, F343
## 2024-05-01 01:24:39.02825 INFO::Fitting model to feature number 330, F344
## 2024-05-01 01:24:39.029278 INFO::Fitting model to feature number 331, F345
## 2024-05-01 01:24:39.030296 INFO::Fitting model to feature number 332, F346
## 2024-05-01 01:24:39.031319 INFO::Fitting model to feature number 333, F347
## 2024-05-01 01:24:39.032357 INFO::Fitting model to feature number 334, F348
## 2024-05-01 01:24:39.033401 INFO::Fitting model to feature number 335, F350
## 2024-05-01 01:24:39.034438 INFO::Fitting model to feature number 336, F351
## 2024-05-01 01:24:39.035468 INFO::Fitting model to feature number 337, F352
## 2024-05-01 01:24:39.036501 INFO::Fitting model to feature number 338, F353
## 2024-05-01 01:24:39.037559 INFO::Fitting model to feature number 339, F355
## 2024-05-01 01:24:39.038613 INFO::Fitting model to feature number 340, F356
## 2024-05-01 01:24:39.03964 INFO::Fitting model to feature number 341, F357
## 2024-05-01 01:24:39.040653 INFO::Fitting model to feature number 342, F358
## 2024-05-01 01:24:39.041764 INFO::Fitting model to feature number 343, F359
## 2024-05-01 01:24:39.04279 INFO::Fitting model to feature number 344, F360
## 2024-05-01 01:24:39.043806 INFO::Fitting model to feature number 345, F361
## 2024-05-01 01:24:39.044821 INFO::Fitting model to feature number 346, F362
## 2024-05-01 01:24:39.045858 INFO::Fitting model to feature number 347, F363
## 2024-05-01 01:24:39.046875 INFO::Fitting model to feature number 348, F364
## 2024-05-01 01:24:39.047881 INFO::Fitting model to feature number 349, F365
## 2024-05-01 01:24:39.048932 INFO::Fitting model to feature number 350, F366
## 2024-05-01 01:24:39.049964 INFO::Fitting model to feature number 351, F367
## 2024-05-01 01:24:39.050979 INFO::Fitting model to feature number 352, F368
## 2024-05-01 01:24:39.05201 INFO::Fitting model to feature number 353, F369
## 2024-05-01 01:24:39.053015 INFO::Fitting model to feature number 354, F370
## 2024-05-01 01:24:39.054025 INFO::Fitting model to feature number 355, F371
## 2024-05-01 01:24:39.055035 INFO::Fitting model to feature number 356, F372
## 2024-05-01 01:24:39.056101 INFO::Fitting model to feature number 357, F373
## 2024-05-01 01:24:39.057112 INFO::Fitting model to feature number 358, F374
## 2024-05-01 01:24:39.058134 INFO::Fitting model to feature number 359, F375
## 2024-05-01 01:24:39.059147 INFO::Fitting model to feature number 360, F376
## 2024-05-01 01:24:39.060161 INFO::Fitting model to feature number 361, F377
## 2024-05-01 01:24:39.061169 INFO::Fitting model to feature number 362, F378
## 2024-05-01 01:24:39.062226 INFO::Fitting model to feature number 363, F379
## 2024-05-01 01:24:39.063259 INFO::Fitting model to feature number 364, F380
## 2024-05-01 01:24:39.064272 INFO::Fitting model to feature number 365, F381
## 2024-05-01 01:24:39.065285 INFO::Fitting model to feature number 366, F382
## 2024-05-01 01:24:39.066305 INFO::Fitting model to feature number 367, F383
## 2024-05-01 01:24:39.067333 INFO::Fitting model to feature number 368, F384
## 2024-05-01 01:24:39.068349 INFO::Fitting model to feature number 369, F386
## 2024-05-01 01:24:39.069368 INFO::Fitting model to feature number 370, F387
## 2024-05-01 01:24:39.070395 INFO::Fitting model to feature number 371, F388
## 2024-05-01 01:24:39.07142 INFO::Fitting model to feature number 372, F389
## 2024-05-01 01:24:39.072446 INFO::Fitting model to feature number 373, F390
## 2024-05-01 01:24:39.073454 INFO::Fitting model to feature number 374, F391
## 2024-05-01 01:24:39.074479 INFO::Fitting model to feature number 375, F392
## 2024-05-01 01:24:39.07552 INFO::Fitting model to feature number 376, F393
## 2024-05-01 01:24:39.076529 INFO::Fitting model to feature number 377, F394
## 2024-05-01 01:24:39.077546 INFO::Fitting model to feature number 378, F395
## 2024-05-01 01:24:39.078563 INFO::Fitting model to feature number 379, F396
## 2024-05-01 01:24:39.079583 INFO::Fitting model to feature number 380, F397
## 2024-05-01 01:24:39.080593 INFO::Fitting model to feature number 381, F398
## 2024-05-01 01:24:39.081638 INFO::Fitting model to feature number 382, F399
## 2024-05-01 01:24:39.082661 INFO::Fitting model to feature number 383, F400
## 2024-05-01 01:24:39.083687 INFO::Fitting model to feature number 384, F401
## 2024-05-01 01:24:39.084698 INFO::Fitting model to feature number 385, F402
## 2024-05-01 01:24:39.085715 INFO::Fitting model to feature number 386, F403
## 2024-05-01 01:24:39.086734 INFO::Fitting model to feature number 387, F404
## 2024-05-01 01:24:39.087756 INFO::Fitting model to feature number 388, F406
## 2024-05-01 01:24:39.088762 INFO::Fitting model to feature number 389, F407
## 2024-05-01 01:24:39.089765 INFO::Fitting model to feature number 390, F408
## 2024-05-01 01:24:39.090768 INFO::Fitting model to feature number 391, F409
## 2024-05-01 01:24:39.091806 INFO::Fitting model to feature number 392, F410
## 2024-05-01 01:24:39.092815 INFO::Fitting model to feature number 393, F411
## 2024-05-01 01:24:39.09382 INFO::Fitting model to feature number 394, F412
## 2024-05-01 01:24:39.094836 INFO::Fitting model to feature number 395, F413
## 2024-05-01 01:24:39.095862 INFO::Fitting model to feature number 396, F414
## 2024-05-01 01:24:39.096882 INFO::Fitting model to feature number 397, F415
## 2024-05-01 01:24:39.097925 INFO::Fitting model to feature number 398, F416
## 2024-05-01 01:24:39.098948 INFO::Fitting model to feature number 399, F417
## 2024-05-01 01:24:39.099991 INFO::Fitting model to feature number 400, F418
## 2024-05-01 01:24:39.101028 INFO::Fitting model to feature number 401, F419
## 2024-05-01 01:24:39.102076 INFO::Fitting model to feature number 402, F420
## 2024-05-01 01:24:39.10309 INFO::Fitting model to feature number 403, F421
## 2024-05-01 01:24:39.104123 INFO::Fitting model to feature number 404, F422
## 2024-05-01 01:24:39.105134 INFO::Fitting model to feature number 405, F423
## 2024-05-01 01:24:39.106146 INFO::Fitting model to feature number 406, F425
## 2024-05-01 01:24:39.107152 INFO::Fitting model to feature number 407, F426
## 2024-05-01 01:24:39.108185 INFO::Fitting model to feature number 408, F428
## 2024-05-01 01:24:39.109199 INFO::Fitting model to feature number 409, F429
## 2024-05-01 01:24:39.110219 INFO::Fitting model to feature number 410, F430
## 2024-05-01 01:24:39.111232 INFO::Fitting model to feature number 411, F431
## 2024-05-01 01:24:39.112282 INFO::Fitting model to feature number 412, F432
## 2024-05-01 01:24:39.113279 INFO::Fitting model to feature number 413, F433
## 2024-05-01 01:24:39.114298 INFO::Fitting model to feature number 414, F434
## 2024-05-01 01:24:39.115286 INFO::Fitting model to feature number 415, F435
## 2024-05-01 01:24:39.116281 INFO::Fitting model to feature number 416, F436
## 2024-05-01 01:24:39.117275 INFO::Fitting model to feature number 417, F437
## 2024-05-01 01:24:39.118269 INFO::Fitting model to feature number 418, F438
## 2024-05-01 01:24:39.11928 INFO::Fitting model to feature number 419, F439
## 2024-05-01 01:24:39.120301 INFO::Fitting model to feature number 420, F440
## 2024-05-01 01:24:39.121304 INFO::Fitting model to feature number 421, F441
## 2024-05-01 01:24:39.122343 INFO::Fitting model to feature number 422, F442
## 2024-05-01 01:24:39.123354 INFO::Fitting model to feature number 423, F443
## 2024-05-01 01:24:39.124363 INFO::Fitting model to feature number 424, F444
## 2024-05-01 01:24:39.125372 INFO::Fitting model to feature number 425, F445
## 2024-05-01 01:24:39.126376 INFO::Fitting model to feature number 426, F446
## 2024-05-01 01:24:39.127384 INFO::Fitting model to feature number 427, F447
## 2024-05-01 01:24:39.128389 INFO::Fitting model to feature number 428, F448
## 2024-05-01 01:24:39.129383 INFO::Fitting model to feature number 429, F449
## 2024-05-01 01:24:39.130389 INFO::Fitting model to feature number 430, F450
## 2024-05-01 01:24:39.131397 INFO::Fitting model to feature number 431, F451
## 2024-05-01 01:24:39.132434 INFO::Fitting model to feature number 432, F452
## 2024-05-01 01:24:39.133451 INFO::Fitting model to feature number 433, F454
## 2024-05-01 01:24:39.134467 INFO::Fitting model to feature number 434, F455
## 2024-05-01 01:24:39.135488 INFO::Fitting model to feature number 435, F456
## 2024-05-01 01:24:39.136521 INFO::Fitting model to feature number 436, F457
## 2024-05-01 01:24:39.137536 INFO::Fitting model to feature number 437, F458
## 2024-05-01 01:24:39.13855 INFO::Fitting model to feature number 438, F459
## 2024-05-01 01:24:39.139574 INFO::Fitting model to feature number 439, F461
## 2024-05-01 01:24:39.140597 INFO::Fitting model to feature number 440, F462
## 2024-05-01 01:24:39.141623 INFO::Fitting model to feature number 441, F463
## 2024-05-01 01:24:39.142667 INFO::Fitting model to feature number 442, F464
## 2024-05-01 01:24:39.143697 INFO::Fitting model to feature number 443, F465
## 2024-05-01 01:24:39.14472 INFO::Fitting model to feature number 444, F466
## 2024-05-01 01:24:39.145722 INFO::Fitting model to feature number 445, F467
## 2024-05-01 01:24:39.146731 INFO::Fitting model to feature number 446, F468
## 2024-05-01 01:24:39.147752 INFO::Fitting model to feature number 447, F469
## 2024-05-01 01:24:39.148766 INFO::Fitting model to feature number 448, F470
## 2024-05-01 01:24:39.149782 INFO::Fitting model to feature number 449, F471
## 2024-05-01 01:24:39.150788 INFO::Fitting model to feature number 450, F474
## 2024-05-01 01:24:39.151814 INFO::Fitting model to feature number 451, F475
## 2024-05-01 01:24:39.152824 INFO::Fitting model to feature number 452, F476
## 2024-05-01 01:24:39.165752 INFO::Fitting model to feature number 453, F477
## 2024-05-01 01:24:39.167369 INFO::Fitting model to feature number 454, F478
## 2024-05-01 01:24:39.168452 INFO::Fitting model to feature number 455, F479
## 2024-05-01 01:24:39.169502 INFO::Fitting model to feature number 456, F480
## 2024-05-01 01:24:39.17054 INFO::Fitting model to feature number 457, F481
## 2024-05-01 01:24:39.171591 INFO::Fitting model to feature number 458, F482
## 2024-05-01 01:24:39.172583 INFO::Fitting model to feature number 459, F483
## 2024-05-01 01:24:39.173591 INFO::Fitting model to feature number 460, F484
## 2024-05-01 01:24:39.174671 INFO::Fitting model to feature number 461, F485
## 2024-05-01 01:24:39.175767 INFO::Fitting model to feature number 462, F486
## 2024-05-01 01:24:39.176868 INFO::Fitting model to feature number 463, F487
## 2024-05-01 01:24:39.177987 INFO::Fitting model to feature number 464, F488
## 2024-05-01 01:24:39.179104 INFO::Fitting model to feature number 465, F489
## 2024-05-01 01:24:39.180292 INFO::Fitting model to feature number 466, F490
## 2024-05-01 01:24:39.181484 INFO::Fitting model to feature number 467, F491
## 2024-05-01 01:24:39.182606 INFO::Fitting model to feature number 468, F492
## 2024-05-01 01:24:39.183733 INFO::Fitting model to feature number 469, F493
## 2024-05-01 01:24:39.184975 INFO::Fitting model to feature number 470, F494
## 2024-05-01 01:24:39.186252 INFO::Fitting model to feature number 471, F495
## 2024-05-01 01:24:39.187481 INFO::Fitting model to feature number 472, F496
## 2024-05-01 01:24:39.18864 INFO::Fitting model to feature number 473, F497
## 2024-05-01 01:24:39.189789 INFO::Fitting model to feature number 474, F498
## 2024-05-01 01:24:39.190948 INFO::Fitting model to feature number 475, F499
## 2024-05-01 01:24:39.192056 INFO::Fitting model to feature number 476, F500
## 2024-05-01 01:24:39.193164 INFO::Fitting model to feature number 477, F501
## 2024-05-01 01:24:39.194267 INFO::Fitting model to feature number 478, F502
## 2024-05-01 01:24:39.195414 INFO::Fitting model to feature number 479, F503
## 2024-05-01 01:24:39.196525 INFO::Fitting model to feature number 480, F504
## 2024-05-01 01:24:39.197631 INFO::Fitting model to feature number 481, F505
## 2024-05-01 01:24:39.198717 INFO::Fitting model to feature number 482, F506
## 2024-05-01 01:24:39.199829 INFO::Fitting model to feature number 483, F507
## 2024-05-01 01:24:39.200923 INFO::Fitting model to feature number 484, F508
## 2024-05-01 01:24:39.202026 INFO::Fitting model to feature number 485, F509
## 2024-05-01 01:24:39.203119 INFO::Fitting model to feature number 486, F510
## 2024-05-01 01:24:39.204189 INFO::Fitting model to feature number 487, F511
## 2024-05-01 01:24:39.205277 INFO::Fitting model to feature number 488, F512
## 2024-05-01 01:24:39.206349 INFO::Fitting model to feature number 489, F513
## 2024-05-01 01:24:39.207415 INFO::Fitting model to feature number 490, F514
## 2024-05-01 01:24:39.2085 INFO::Fitting model to feature number 491, F515
## 2024-05-01 01:24:39.209574 INFO::Fitting model to feature number 492, F516
## 2024-05-01 01:24:39.210678 INFO::Fitting model to feature number 493, F517
## 2024-05-01 01:24:39.21177 INFO::Fitting model to feature number 494, F518
## 2024-05-01 01:24:39.212858 INFO::Fitting model to feature number 495, F519
## 2024-05-01 01:24:39.213948 INFO::Fitting model to feature number 496, F520
## 2024-05-01 01:24:39.215053 INFO::Fitting model to feature number 497, F521
## 2024-05-01 01:24:39.216142 INFO::Fitting model to feature number 498, F522
## 2024-05-01 01:24:39.217233 INFO::Fitting model to feature number 499, F523
## 2024-05-01 01:24:39.218321 INFO::Fitting model to feature number 500, F524
## 2024-05-01 01:24:39.219416 INFO::Fitting model to feature number 501, F525
## 2024-05-01 01:24:39.220496 INFO::Fitting model to feature number 502, F526
## 2024-05-01 01:24:39.221592 INFO::Fitting model to feature number 503, F527
## 2024-05-01 01:24:39.222672 INFO::Fitting model to feature number 504, F528
## 2024-05-01 01:24:39.223762 INFO::Fitting model to feature number 505, F529
## 2024-05-01 01:24:39.224836 INFO::Fitting model to feature number 506, F530
## 2024-05-01 01:24:39.225936 INFO::Fitting model to feature number 507, F531
## 2024-05-01 01:24:39.227017 INFO::Fitting model to feature number 508, F532
## 2024-05-01 01:24:39.2281 INFO::Fitting model to feature number 509, F533
## 2024-05-01 01:24:39.229191 INFO::Fitting model to feature number 510, F534
## 2024-05-01 01:24:39.230299 INFO::Fitting model to feature number 511, F535
## 2024-05-01 01:24:39.231407 INFO::Fitting model to feature number 512, F536
## 2024-05-01 01:24:39.23253 INFO::Fitting model to feature number 513, F537
## 2024-05-01 01:24:39.233639 INFO::Fitting model to feature number 514, F539
## 2024-05-01 01:24:39.234767 INFO::Fitting model to feature number 515, F540
## 2024-05-01 01:24:39.235928 INFO::Fitting model to feature number 516, F541
## 2024-05-01 01:24:39.237133 INFO::Fitting model to feature number 517, F543
## 2024-05-01 01:24:39.238303 INFO::Fitting model to feature number 518, F544
## 2024-05-01 01:24:39.239446 INFO::Fitting model to feature number 519, F545
## 2024-05-01 01:24:39.240565 INFO::Fitting model to feature number 520, F546
## 2024-05-01 01:24:39.241787 INFO::Fitting model to feature number 521, F547
## 2024-05-01 01:24:39.242921 INFO::Fitting model to feature number 522, F548
## 2024-05-01 01:24:39.244077 INFO::Fitting model to feature number 523, F549
## 2024-05-01 01:24:39.245246 INFO::Fitting model to feature number 524, F550
## 2024-05-01 01:24:39.246407 INFO::Fitting model to feature number 525, F551
## 2024-05-01 01:24:39.247526 INFO::Fitting model to feature number 526, F552
## 2024-05-01 01:24:39.248664 INFO::Fitting model to feature number 527, F553
## 2024-05-01 01:24:39.249807 INFO::Fitting model to feature number 528, F554
## 2024-05-01 01:24:39.250946 INFO::Fitting model to feature number 529, F555
## 2024-05-01 01:24:39.252085 INFO::Fitting model to feature number 530, F556
## 2024-05-01 01:24:39.253249 INFO::Fitting model to feature number 531, F557
## 2024-05-01 01:24:39.254415 INFO::Fitting model to feature number 532, F558
## 2024-05-01 01:24:39.255528 INFO::Fitting model to feature number 533, F559
## 2024-05-01 01:24:39.256656 INFO::Fitting model to feature number 534, F560
## 2024-05-01 01:24:39.257788 INFO::Fitting model to feature number 535, F561
## 2024-05-01 01:24:39.258944 INFO::Fitting model to feature number 536, F562
## 2024-05-01 01:24:39.260066 INFO::Fitting model to feature number 537, F563
## 2024-05-01 01:24:39.261191 INFO::Fitting model to feature number 538, F564
## 2024-05-01 01:24:39.262322 INFO::Fitting model to feature number 539, F566
## 2024-05-01 01:24:39.26347 INFO::Fitting model to feature number 540, F567
## 2024-05-01 01:24:39.264618 INFO::Fitting model to feature number 541, F568
## 2024-05-01 01:24:39.265743 INFO::Fitting model to feature number 542, F569
## 2024-05-01 01:24:39.266874 INFO::Fitting model to feature number 543, F570
## 2024-05-01 01:24:39.268048 INFO::Fitting model to feature number 544, F571
## 2024-05-01 01:24:39.269201 INFO::Fitting model to feature number 545, F572
## 2024-05-01 01:24:39.270313 INFO::Fitting model to feature number 546, F573
## 2024-05-01 01:24:39.271415 INFO::Fitting model to feature number 547, F574
## 2024-05-01 01:24:39.272552 INFO::Fitting model to feature number 548, F575
## 2024-05-01 01:24:39.273671 INFO::Fitting model to feature number 549, F576
## 2024-05-01 01:24:39.274732 INFO::Fitting model to feature number 550, F577
## 2024-05-01 01:24:39.275847 INFO::Fitting model to feature number 551, F578
## 2024-05-01 01:24:39.276961 INFO::Fitting model to feature number 552, F579
## 2024-05-01 01:24:39.278062 INFO::Fitting model to feature number 553, F580
## 2024-05-01 01:24:39.279138 INFO::Fitting model to feature number 554, F581
## 2024-05-01 01:24:39.280216 INFO::Fitting model to feature number 555, F582
## 2024-05-01 01:24:39.281322 INFO::Fitting model to feature number 556, F583
## 2024-05-01 01:24:39.282399 INFO::Fitting model to feature number 557, F584
## 2024-05-01 01:24:39.283483 INFO::Fitting model to feature number 558, F585
## 2024-05-01 01:24:39.284593 INFO::Fitting model to feature number 559, F586
## 2024-05-01 01:24:39.285706 INFO::Fitting model to feature number 560, F587
## 2024-05-01 01:24:39.286745 INFO::Fitting model to feature number 561, F588
## 2024-05-01 01:24:39.287777 INFO::Fitting model to feature number 562, F589
## 2024-05-01 01:24:39.288856 INFO::Fitting model to feature number 563, F590
## 2024-05-01 01:24:39.289947 INFO::Fitting model to feature number 564, F591
## 2024-05-01 01:24:39.291008 INFO::Fitting model to feature number 565, F592
## 2024-05-01 01:24:39.292083 INFO::Fitting model to feature number 566, F593
## 2024-05-01 01:24:39.293164 INFO::Fitting model to feature number 567, F594
## 2024-05-01 01:24:39.294258 INFO::Fitting model to feature number 568, F595
## 2024-05-01 01:24:39.29534 INFO::Fitting model to feature number 569, F596
## 2024-05-01 01:24:39.296483 INFO::Fitting model to feature number 570, F597
## 2024-05-01 01:24:39.297573 INFO::Fitting model to feature number 571, F598
## 2024-05-01 01:24:39.298667 INFO::Fitting model to feature number 572, F599
## 2024-05-01 01:24:39.299774 INFO::Fitting model to feature number 573, F600
## 2024-05-01 01:24:39.300837 INFO::Fitting model to feature number 574, F601
## 2024-05-01 01:24:39.301926 INFO::Fitting model to feature number 575, F602
## 2024-05-01 01:24:39.303065 INFO::Fitting model to feature number 576, F603
## 2024-05-01 01:24:39.304159 INFO::Fitting model to feature number 577, F605
## 2024-05-01 01:24:39.30527 INFO::Fitting model to feature number 578, F606
## 2024-05-01 01:24:39.306373 INFO::Fitting model to feature number 579, F607
## 2024-05-01 01:24:39.307468 INFO::Fitting model to feature number 580, F608
## 2024-05-01 01:24:39.308563 INFO::Fitting model to feature number 581, F609
## 2024-05-01 01:24:39.309649 INFO::Fitting model to feature number 582, F610
## 2024-05-01 01:24:39.310727 INFO::Fitting model to feature number 583, F611
## 2024-05-01 01:24:39.311811 INFO::Fitting model to feature number 584, F612
## 2024-05-01 01:24:39.312886 INFO::Fitting model to feature number 585, F613
## 2024-05-01 01:24:39.313982 INFO::Fitting model to feature number 586, F614
## 2024-05-01 01:24:39.315081 INFO::Fitting model to feature number 587, F615
## 2024-05-01 01:24:39.316176 INFO::Fitting model to feature number 588, F616
## 2024-05-01 01:24:39.317276 INFO::Fitting model to feature number 589, F617
## 2024-05-01 01:24:39.318368 INFO::Fitting model to feature number 590, F618
## 2024-05-01 01:24:39.319451 INFO::Fitting model to feature number 591, F619
## 2024-05-01 01:24:39.320541 INFO::Fitting model to feature number 592, F620
## 2024-05-01 01:24:39.32161 INFO::Fitting model to feature number 593, F621
## 2024-05-01 01:24:39.322726 INFO::Fitting model to feature number 594, F622
## 2024-05-01 01:24:39.323831 INFO::Fitting model to feature number 595, F623
## 2024-05-01 01:24:39.32498 INFO::Fitting model to feature number 596, F624
## 2024-05-01 01:24:39.326092 INFO::Fitting model to feature number 597, F625
## 2024-05-01 01:24:39.32723 INFO::Fitting model to feature number 598, F626
## 2024-05-01 01:24:39.328365 INFO::Fitting model to feature number 599, F627
## 2024-05-01 01:24:39.329486 INFO::Fitting model to feature number 600, F628
## 2024-05-01 01:24:39.330598 INFO::Fitting model to feature number 601, F629
## 2024-05-01 01:24:39.331726 INFO::Fitting model to feature number 602, F630
## 2024-05-01 01:24:39.332912 INFO::Fitting model to feature number 603, F631
## 2024-05-01 01:24:39.334026 INFO::Fitting model to feature number 604, F632
## 2024-05-01 01:24:39.335134 INFO::Fitting model to feature number 605, F633
## 2024-05-01 01:24:39.33627 INFO::Fitting model to feature number 606, F634
## 2024-05-01 01:24:39.337402 INFO::Fitting model to feature number 607, F635
## 2024-05-01 01:24:39.338536 INFO::Fitting model to feature number 608, F636
## 2024-05-01 01:24:39.339699 INFO::Fitting model to feature number 609, F637
## 2024-05-01 01:24:39.340896 INFO::Fitting model to feature number 610, F638
## 2024-05-01 01:24:39.34205 INFO::Fitting model to feature number 611, F639
## 2024-05-01 01:24:39.343181 INFO::Fitting model to feature number 612, F640
## 2024-05-01 01:24:39.34431 INFO::Fitting model to feature number 613, F641
## 2024-05-01 01:24:39.345423 INFO::Fitting model to feature number 614, F642
## 2024-05-01 01:24:39.346584 INFO::Fitting model to feature number 615, F643
## 2024-05-01 01:24:39.347714 INFO::Fitting model to feature number 616, F644
## 2024-05-01 01:24:39.348865 INFO::Fitting model to feature number 617, F645
## 2024-05-01 01:24:39.35 INFO::Fitting model to feature number 618, F646
## 2024-05-01 01:24:39.351121 INFO::Fitting model to feature number 619, F647
## 2024-05-01 01:24:39.35224 INFO::Fitting model to feature number 620, F648
## 2024-05-01 01:24:39.35336 INFO::Fitting model to feature number 621, F649
## 2024-05-01 01:24:39.35451 INFO::Fitting model to feature number 622, F650
## 2024-05-01 01:24:39.355671 INFO::Fitting model to feature number 623, F651
## 2024-05-01 01:24:39.356801 INFO::Fitting model to feature number 624, F652
## 2024-05-01 01:24:39.35793 INFO::Fitting model to feature number 625, F653
## 2024-05-01 01:24:39.359049 INFO::Fitting model to feature number 626, F654
## 2024-05-01 01:24:39.360166 INFO::Fitting model to feature number 627, F655
## 2024-05-01 01:24:39.361263 INFO::Fitting model to feature number 628, F656
## 2024-05-01 01:24:39.36239 INFO::Fitting model to feature number 629, F657
## 2024-05-01 01:24:39.363566 INFO::Fitting model to feature number 630, F658
## 2024-05-01 01:24:39.364657 INFO::Fitting model to feature number 631, F659
## 2024-05-01 01:24:39.365804 INFO::Fitting model to feature number 632, F660
## 2024-05-01 01:24:39.366956 INFO::Fitting model to feature number 633, F661
## 2024-05-01 01:24:39.368101 INFO::Fitting model to feature number 634, F662
## 2024-05-01 01:24:39.369234 INFO::Fitting model to feature number 635, F663
## 2024-05-01 01:24:39.370377 INFO::Fitting model to feature number 636, F664
## 2024-05-01 01:24:39.371514 INFO::Fitting model to feature number 637, F665
## 2024-05-01 01:24:39.372642 INFO::Fitting model to feature number 638, F666
## 2024-05-01 01:24:39.373751 INFO::Fitting model to feature number 639, F667
## 2024-05-01 01:24:39.374858 INFO::Fitting model to feature number 640, F668
## 2024-05-01 01:24:39.375983 INFO::Fitting model to feature number 641, F669
## 2024-05-01 01:24:39.377085 INFO::Fitting model to feature number 642, F670
## 2024-05-01 01:24:39.378222 INFO::Fitting model to feature number 643, F671
## 2024-05-01 01:24:39.379357 INFO::Fitting model to feature number 644, F672
## 2024-05-01 01:24:39.380508 INFO::Fitting model to feature number 645, F673
## 2024-05-01 01:24:39.381786 INFO::Fitting model to feature number 646, F674
## 2024-05-01 01:24:39.383163 INFO::Fitting model to feature number 647, F675
## 2024-05-01 01:24:39.384579 INFO::Fitting model to feature number 648, F676
## 2024-05-01 01:24:39.38573 INFO::Fitting model to feature number 649, F677
## 2024-05-01 01:24:39.386841 INFO::Fitting model to feature number 650, F678
## 2024-05-01 01:24:39.38794 INFO::Fitting model to feature number 651, F679
## 2024-05-01 01:24:39.389045 INFO::Fitting model to feature number 652, F680
## 2024-05-01 01:24:39.390158 INFO::Fitting model to feature number 653, F681
## 2024-05-01 01:24:39.391266 INFO::Fitting model to feature number 654, F682
## 2024-05-01 01:24:39.392365 INFO::Fitting model to feature number 655, F683
## 2024-05-01 01:24:39.393428 INFO::Fitting model to feature number 656, F684
## 2024-05-01 01:24:39.394438 INFO::Fitting model to feature number 657, F685
## 2024-05-01 01:24:39.395432 INFO::Fitting model to feature number 658, F686
## 2024-05-01 01:24:39.39645 INFO::Fitting model to feature number 659, F687
## 2024-05-01 01:24:39.397443 INFO::Fitting model to feature number 660, F688
## 2024-05-01 01:24:39.398454 INFO::Fitting model to feature number 661, F689
## 2024-05-01 01:24:39.399472 INFO::Fitting model to feature number 662, F690
## 2024-05-01 01:24:39.400492 INFO::Fitting model to feature number 663, F691
## 2024-05-01 01:24:39.401495 INFO::Fitting model to feature number 664, F692
## 2024-05-01 01:24:39.40248 INFO::Fitting model to feature number 665, F693
## 2024-05-01 01:24:39.403472 INFO::Fitting model to feature number 666, F694
## 2024-05-01 01:24:39.404469 INFO::Fitting model to feature number 667, F695
## 2024-05-01 01:24:39.405453 INFO::Fitting model to feature number 668, F696
## 2024-05-01 01:24:39.406449 INFO::Fitting model to feature number 669, F697
## 2024-05-01 01:24:39.407444 INFO::Fitting model to feature number 670, F698
## 2024-05-01 01:24:39.408447 INFO::Fitting model to feature number 671, F699
## 2024-05-01 01:24:39.409462 INFO::Fitting model to feature number 672, F700
## 2024-05-01 01:24:39.410462 INFO::Fitting model to feature number 673, F701
## 2024-05-01 01:24:39.411464 INFO::Fitting model to feature number 674, F702
## 2024-05-01 01:24:39.412469 INFO::Fitting model to feature number 675, F704
## 2024-05-01 01:24:39.413503 INFO::Fitting model to feature number 676, F705
## 2024-05-01 01:24:39.414511 INFO::Fitting model to feature number 677, F706
## 2024-05-01 01:24:39.415535 INFO::Fitting model to feature number 678, F707
## 2024-05-01 01:24:39.416545 INFO::Fitting model to feature number 679, F708
## 2024-05-01 01:24:39.41755 INFO::Fitting model to feature number 680, F709
## 2024-05-01 01:24:39.418573 INFO::Fitting model to feature number 681, F710
## 2024-05-01 01:24:39.419579 INFO::Fitting model to feature number 682, F711
## 2024-05-01 01:24:39.420579 INFO::Fitting model to feature number 683, F712
## 2024-05-01 01:24:39.421585 INFO::Fitting model to feature number 684, F713
## 2024-05-01 01:24:39.422641 INFO::Fitting model to feature number 685, F714
## 2024-05-01 01:24:39.423665 INFO::Fitting model to feature number 686, F715
## 2024-05-01 01:24:39.424676 INFO::Fitting model to feature number 687, F716
## 2024-05-01 01:24:39.4257 INFO::Fitting model to feature number 688, F717
## 2024-05-01 01:24:39.426711 INFO::Fitting model to feature number 689, F718
## 2024-05-01 01:24:39.427721 INFO::Fitting model to feature number 690, F719
## 2024-05-01 01:24:39.428728 INFO::Fitting model to feature number 691, F720
## 2024-05-01 01:24:39.429749 INFO::Fitting model to feature number 692, F721
## 2024-05-01 01:24:39.430764 INFO::Fitting model to feature number 693, F722
## 2024-05-01 01:24:39.431795 INFO::Fitting model to feature number 694, F723
## 2024-05-01 01:24:39.432795 INFO::Fitting model to feature number 695, F724
## 2024-05-01 01:24:39.433799 INFO::Fitting model to feature number 696, F725
## 2024-05-01 01:24:39.434815 INFO::Fitting model to feature number 697, F726
## 2024-05-01 01:24:39.435827 INFO::Fitting model to feature number 698, F727
## 2024-05-01 01:24:39.43683 INFO::Fitting model to feature number 699, F728
## 2024-05-01 01:24:39.437827 INFO::Fitting model to feature number 700, F729
## 2024-05-01 01:24:39.438846 INFO::Fitting model to feature number 701, F730
## 2024-05-01 01:24:39.439855 INFO::Fitting model to feature number 702, F731
## 2024-05-01 01:24:39.440858 INFO::Fitting model to feature number 703, F732
## 2024-05-01 01:24:39.441854 INFO::Fitting model to feature number 704, F733
## 2024-05-01 01:24:39.442875 INFO::Fitting model to feature number 705, F734
## 2024-05-01 01:24:39.443871 INFO::Fitting model to feature number 706, F735
## 2024-05-01 01:24:39.444872 INFO::Fitting model to feature number 707, F736
## 2024-05-01 01:24:39.445862 INFO::Fitting model to feature number 708, F737
## 2024-05-01 01:24:39.446862 INFO::Fitting model to feature number 709, F739
## 2024-05-01 01:24:39.44787 INFO::Fitting model to feature number 710, F740
## 2024-05-01 01:24:39.448873 INFO::Fitting model to feature number 711, F741
## 2024-05-01 01:24:39.44987 INFO::Fitting model to feature number 712, F742
## 2024-05-01 01:24:39.45087 INFO::Fitting model to feature number 713, F743
## 2024-05-01 01:24:39.451882 INFO::Fitting model to feature number 714, F744
## 2024-05-01 01:24:39.452907 INFO::Fitting model to feature number 715, F745
## 2024-05-01 01:24:39.453908 INFO::Fitting model to feature number 716, F746
## 2024-05-01 01:24:39.454924 INFO::Fitting model to feature number 717, F747
## 2024-05-01 01:24:39.455937 INFO::Fitting model to feature number 718, F748
## 2024-05-01 01:24:39.456942 INFO::Fitting model to feature number 719, F749
## 2024-05-01 01:24:39.45794 INFO::Fitting model to feature number 720, F750
## 2024-05-01 01:24:39.45896 INFO::Fitting model to feature number 721, F751
## 2024-05-01 01:24:39.459965 INFO::Fitting model to feature number 722, F752
## 2024-05-01 01:24:39.460972 INFO::Fitting model to feature number 723, F753
## 2024-05-01 01:24:39.461975 INFO::Fitting model to feature number 724, F754
## 2024-05-01 01:24:39.462994 INFO::Fitting model to feature number 725, F755
## 2024-05-01 01:24:39.464015 INFO::Fitting model to feature number 726, F756
## 2024-05-01 01:24:39.465048 INFO::Fitting model to feature number 727, F757
## 2024-05-01 01:24:39.466054 INFO::Fitting model to feature number 728, F758
## 2024-05-01 01:24:39.467075 INFO::Fitting model to feature number 729, F759
## 2024-05-01 01:24:39.468095 INFO::Fitting model to feature number 730, F760
## 2024-05-01 01:24:39.481834 INFO::Fitting model to feature number 731, F761
## 2024-05-01 01:24:39.483 INFO::Fitting model to feature number 732, F762
## 2024-05-01 01:24:39.484024 INFO::Fitting model to feature number 733, F763
## 2024-05-01 01:24:39.485008 INFO::Fitting model to feature number 734, F764
## 2024-05-01 01:24:39.48603 INFO::Fitting model to feature number 735, F765
## 2024-05-01 01:24:39.487026 INFO::Fitting model to feature number 736, F766
## 2024-05-01 01:24:39.488033 INFO::Fitting model to feature number 737, F767
## 2024-05-01 01:24:39.489036 INFO::Fitting model to feature number 738, F768
## 2024-05-01 01:24:39.490046 INFO::Fitting model to feature number 739, F769
## 2024-05-01 01:24:39.491108 INFO::Fitting model to feature number 740, F770
## 2024-05-01 01:24:39.49214 INFO::Fitting model to feature number 741, F771
## 2024-05-01 01:24:39.493151 INFO::Fitting model to feature number 742, F772
## 2024-05-01 01:24:39.494212 INFO::Fitting model to feature number 743, F773
## 2024-05-01 01:24:39.495265 INFO::Fitting model to feature number 744, F774
## 2024-05-01 01:24:39.496307 INFO::Fitting model to feature number 745, F775
## 2024-05-01 01:24:39.497378 INFO::Fitting model to feature number 746, F776
## 2024-05-01 01:24:39.498451 INFO::Fitting model to feature number 747, F777
## 2024-05-01 01:24:39.499491 INFO::Fitting model to feature number 748, F778
## 2024-05-01 01:24:39.500541 INFO::Fitting model to feature number 749, F779
## 2024-05-01 01:24:39.501591 INFO::Fitting model to feature number 750, F780
## 2024-05-01 01:24:39.502679 INFO::Fitting model to feature number 751, F781
## 2024-05-01 01:24:39.503754 INFO::Fitting model to feature number 752, F782
## 2024-05-01 01:24:39.504842 INFO::Fitting model to feature number 753, F783
## 2024-05-01 01:24:39.505897 INFO::Fitting model to feature number 754, F784
## 2024-05-01 01:24:39.506893 INFO::Fitting model to feature number 755, F785
## 2024-05-01 01:24:39.507892 INFO::Fitting model to feature number 756, F786
## 2024-05-01 01:24:39.508884 INFO::Fitting model to feature number 757, F787
## 2024-05-01 01:24:39.509875 INFO::Fitting model to feature number 758, F788
## 2024-05-01 01:24:39.510867 INFO::Fitting model to feature number 759, F789
## 2024-05-01 01:24:39.511941 INFO::Fitting model to feature number 760, F790
## 2024-05-01 01:24:39.513 INFO::Fitting model to feature number 761, F791
## 2024-05-01 01:24:39.514071 INFO::Fitting model to feature number 762, F792
## 2024-05-01 01:24:39.515127 INFO::Fitting model to feature number 763, F793
## 2024-05-01 01:24:39.516192 INFO::Fitting model to feature number 764, F794
## 2024-05-01 01:24:39.517258 INFO::Fitting model to feature number 765, F795
## 2024-05-01 01:24:39.518362 INFO::Fitting model to feature number 766, F796
## 2024-05-01 01:24:39.519456 INFO::Fitting model to feature number 767, F797
## 2024-05-01 01:24:39.520473 INFO::Fitting model to feature number 768, F798
## 2024-05-01 01:24:39.521529 INFO::Fitting model to feature number 769, F799
## 2024-05-01 01:24:39.522605 INFO::Fitting model to feature number 770, F800
## 2024-05-01 01:24:39.523677 INFO::Fitting model to feature number 771, F801
## 2024-05-01 01:24:39.524758 INFO::Fitting model to feature number 772, F802
## 2024-05-01 01:24:39.525841 INFO::Fitting model to feature number 773, F803
## 2024-05-01 01:24:39.526915 INFO::Fitting model to feature number 774, F804
## 2024-05-01 01:24:39.52798 INFO::Fitting model to feature number 775, F805
## 2024-05-01 01:24:39.52905 INFO::Fitting model to feature number 776, F806
## 2024-05-01 01:24:39.530128 INFO::Fitting model to feature number 777, F808
## 2024-05-01 01:24:39.531186 INFO::Fitting model to feature number 778, F809
## 2024-05-01 01:24:39.532258 INFO::Fitting model to feature number 779, F810
## 2024-05-01 01:24:39.533325 INFO::Fitting model to feature number 780, F811
## 2024-05-01 01:24:39.5344 INFO::Fitting model to feature number 781, F812
## 2024-05-01 01:24:39.535474 INFO::Fitting model to feature number 782, F813
## 2024-05-01 01:24:39.536561 INFO::Fitting model to feature number 783, F814
## 2024-05-01 01:24:39.537621 INFO::Fitting model to feature number 784, F815
## 2024-05-01 01:24:39.53869 INFO::Fitting model to feature number 785, F816
## 2024-05-01 01:24:39.539773 INFO::Fitting model to feature number 786, F817
## 2024-05-01 01:24:39.540845 INFO::Fitting model to feature number 787, F818
## 2024-05-01 01:24:39.54186 INFO::Fitting model to feature number 788, F819
## 2024-05-01 01:24:39.542926 INFO::Fitting model to feature number 789, F820
## 2024-05-01 01:24:39.54403 INFO::Fitting model to feature number 790, F821
## 2024-05-01 01:24:39.545109 INFO::Fitting model to feature number 791, F822
## 2024-05-01 01:24:39.546188 INFO::Fitting model to feature number 792, F823
## 2024-05-01 01:24:39.547258 INFO::Fitting model to feature number 793, F824
## 2024-05-01 01:24:39.548344 INFO::Fitting model to feature number 794, F825
## 2024-05-01 01:24:39.549458 INFO::Fitting model to feature number 795, F826
## 2024-05-01 01:24:39.550589 INFO::Fitting model to feature number 796, F827
## 2024-05-01 01:24:39.551661 INFO::Fitting model to feature number 797, F828
## 2024-05-01 01:24:39.552721 INFO::Fitting model to feature number 798, F829
## 2024-05-01 01:24:39.553799 INFO::Fitting model to feature number 799, F830
## 2024-05-01 01:24:39.554894 INFO::Fitting model to feature number 800, F831
## 2024-05-01 01:24:39.55597 INFO::Fitting model to feature number 801, F832
## 2024-05-01 01:24:39.557059 INFO::Fitting model to feature number 802, F833
## 2024-05-01 01:24:39.558184 INFO::Fitting model to feature number 803, F834
## 2024-05-01 01:24:39.559432 INFO::Fitting model to feature number 804, F835
## 2024-05-01 01:24:39.560631 INFO::Fitting model to feature number 805, F836
## 2024-05-01 01:24:39.561691 INFO::Fitting model to feature number 806, F837
## 2024-05-01 01:24:39.562763 INFO::Fitting model to feature number 807, F838
## 2024-05-01 01:24:39.563851 INFO::Fitting model to feature number 808, F839
## 2024-05-01 01:24:39.564914 INFO::Fitting model to feature number 809, F840
## 2024-05-01 01:24:39.565966 INFO::Fitting model to feature number 810, F841
## 2024-05-01 01:24:39.567042 INFO::Fitting model to feature number 811, F842
## 2024-05-01 01:24:39.568137 INFO::Fitting model to feature number 812, F843
## 2024-05-01 01:24:39.569204 INFO::Fitting model to feature number 813, F844
## 2024-05-01 01:24:39.570299 INFO::Fitting model to feature number 814, F845
## 2024-05-01 01:24:39.57134 INFO::Fitting model to feature number 815, F846
## 2024-05-01 01:24:39.572343 INFO::Fitting model to feature number 816, F847
## 2024-05-01 01:24:39.57342 INFO::Fitting model to feature number 817, F848
## 2024-05-01 01:24:39.574521 INFO::Fitting model to feature number 818, F849
## 2024-05-01 01:24:39.575614 INFO::Fitting model to feature number 819, F850
## 2024-05-01 01:24:39.576693 INFO::Fitting model to feature number 820, F851
## 2024-05-01 01:24:39.577773 INFO::Fitting model to feature number 821, F852
## 2024-05-01 01:24:39.578858 INFO::Fitting model to feature number 822, F853
## 2024-05-01 01:24:39.579945 INFO::Fitting model to feature number 823, F854
## 2024-05-01 01:24:39.581037 INFO::Fitting model to feature number 824, F855
## 2024-05-01 01:24:39.582046 INFO::Fitting model to feature number 825, F856
## 2024-05-01 01:24:39.58313 INFO::Fitting model to feature number 826, F857
## 2024-05-01 01:24:39.584167 INFO::Fitting model to feature number 827, F858
## 2024-05-01 01:24:39.585252 INFO::Fitting model to feature number 828, F859
## 2024-05-01 01:24:39.586357 INFO::Fitting model to feature number 829, F860
## 2024-05-01 01:24:39.58745 INFO::Fitting model to feature number 830, F861
## 2024-05-01 01:24:39.588539 INFO::Fitting model to feature number 831, F862
## 2024-05-01 01:24:39.589625 INFO::Fitting model to feature number 832, F863
## 2024-05-01 01:24:39.590714 INFO::Fitting model to feature number 833, F864
## 2024-05-01 01:24:39.591775 INFO::Fitting model to feature number 834, F865
## 2024-05-01 01:24:39.592891 INFO::Fitting model to feature number 835, F866
## 2024-05-01 01:24:39.59404 INFO::Fitting model to feature number 836, F867
## 2024-05-01 01:24:39.595117 INFO::Fitting model to feature number 837, F868
## 2024-05-01 01:24:39.596192 INFO::Fitting model to feature number 838, F869
## 2024-05-01 01:24:39.597289 INFO::Fitting model to feature number 839, F870
## 2024-05-01 01:24:39.598387 INFO::Fitting model to feature number 840, F871
## 2024-05-01 01:24:39.599472 INFO::Fitting model to feature number 841, F872
## 2024-05-01 01:24:39.600569 INFO::Fitting model to feature number 842, F873
## 2024-05-01 01:24:39.601652 INFO::Fitting model to feature number 843, F874
## 2024-05-01 01:24:39.602665 INFO::Fitting model to feature number 844, F875
## 2024-05-01 01:24:39.60375 INFO::Fitting model to feature number 845, F876
## 2024-05-01 01:24:39.604836 INFO::Fitting model to feature number 846, F877
## 2024-05-01 01:24:39.605902 INFO::Fitting model to feature number 847, F878
## 2024-05-01 01:24:39.606971 INFO::Fitting model to feature number 848, F879
## 2024-05-01 01:24:39.608132 INFO::Fitting model to feature number 849, F880
## 2024-05-01 01:24:39.609209 INFO::Fitting model to feature number 850, F881
## 2024-05-01 01:24:39.610274 INFO::Fitting model to feature number 851, F882
## 2024-05-01 01:24:39.611325 INFO::Fitting model to feature number 852, F883
## 2024-05-01 01:24:39.612336 INFO::Fitting model to feature number 853, F884
## 2024-05-01 01:24:39.613404 INFO::Fitting model to feature number 854, F885
## 2024-05-01 01:24:39.614527 INFO::Fitting model to feature number 855, F886
## 2024-05-01 01:24:39.615655 INFO::Fitting model to feature number 856, F887
## 2024-05-01 01:24:39.616742 INFO::Fitting model to feature number 857, F888
## 2024-05-01 01:24:39.617816 INFO::Fitting model to feature number 858, F889
## 2024-05-01 01:24:39.618888 INFO::Fitting model to feature number 859, F890
## 2024-05-01 01:24:39.619964 INFO::Fitting model to feature number 860, F891
## 2024-05-01 01:24:39.621038 INFO::Fitting model to feature number 861, F892
## 2024-05-01 01:24:39.622042 INFO::Fitting model to feature number 862, F893
## 2024-05-01 01:24:39.623116 INFO::Fitting model to feature number 863, F894
## 2024-05-01 01:24:39.624198 INFO::Fitting model to feature number 864, F895
## 2024-05-01 01:24:39.625261 INFO::Fitting model to feature number 865, F896
## 2024-05-01 01:24:39.626353 INFO::Fitting model to feature number 866, F897
## 2024-05-01 01:24:39.627457 INFO::Fitting model to feature number 867, F898
## 2024-05-01 01:24:39.628547 INFO::Fitting model to feature number 868, F899
## 2024-05-01 01:24:39.629656 INFO::Fitting model to feature number 869, F900
## 2024-05-01 01:24:39.688839 INFO::Counting total values for each feature
## 2024-05-01 01:24:39.733789 INFO::Writing filtered data to file Macarron_output/maaslin2_results/features/filtered_data.tsv
## 2024-05-01 01:24:39.779872 INFO::Writing filtered, normalized data to file Macarron_output/maaslin2_results/features/filtered_data_norm.tsv
## 2024-05-01 01:24:39.82578 INFO::Writing filtered, normalized, transformed data to file Macarron_output/maaslin2_results/features/filtered_data_norm_transformed.tsv
## 2024-05-01 01:24:39.872921 INFO::Writing residuals to file Macarron_output/maaslin2_results/fits/residuals.rds
## 2024-05-01 01:24:39.895681 INFO::Writing fitted values to file Macarron_output/maaslin2_results/fits/fitted.rds
## 2024-05-01 01:24:39.914425 INFO::Writing all results to file (ordered by increasing q-values): Macarron_output/maaslin2_results/all_results.tsv
## 2024-05-01 01:24:39.923787 INFO::Writing the significant results (those which are less than or equal to the threshold of 0.250000 ) to file (ordered by increasing q-values): Macarron_output/maaslin2_results/significant_results.tsv
## 2024-05-01 01:24:39.927915 INFO::Writing heatmap of significant results to file: Macarron_output/maaslin2_results/heatmap.pdf
## Initiating effect size calculations
## Calculating mean abundance in: IBD
## Calculating mean abundance in: Control
## Calculating effect size in: IBD
## Initiating prioritization
## Calculating meta-rank and prioritizing metabolic features
## 2024-05-01 01:24:40.039963 INFO::Writing all prioritized metabolites to file: Macarron_output/prioritized_metabolites_all.csv
## 2024-05-01 01:24:40.044258 INFO::Writing characterizable prioritized metabolites to file: Macarron_output/prioritized_metabolites_characterizable.csv
## 2024-05-01 01:24:40.052323 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 alpha (2024-03-27 r86216)
## Platform: aarch64-apple-darwin20
## Running under: macOS Ventura 13.6.5
## 
## Matrix products: default
## BLAS:   /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRblas.0.dylib 
## LAPACK: /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.0
## 
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
## 
## time zone: America/New_York
## tzcode source: internal
## 
## attached base packages:
## [1] stats4    stats     graphics  grDevices utils     datasets  methods  
## [8] base     
## 
## other attached packages:
##  [1] Macarron_1.8.0              SummarizedExperiment_1.34.0
##  [3] Biobase_2.64.0              GenomicRanges_1.56.0       
##  [5] GenomeInfoDb_1.40.0         IRanges_2.38.0             
##  [7] S4Vectors_0.42.0            BiocGenerics_0.50.0        
##  [9] MatrixGenerics_1.16.0       matrixStats_1.2.0          
## [11] BiocStyle_2.32.0           
## 
## loaded via a namespace (and not attached):
##   [1] mnormt_2.1.1            DBI_1.2.2               pbapply_1.7-2          
##   [4] gridExtra_2.3           rlang_1.1.3             magrittr_2.0.3         
##   [7] compiler_4.4.0          RSQLite_2.3.5           png_0.1-8              
##  [10] vctrs_0.6.5             stringr_1.5.1           pkgconfig_2.0.3        
##  [13] crayon_1.5.2            fastmap_1.1.1           backports_1.4.1        
##  [16] XVector_0.44.0          utf8_1.2.4              rmarkdown_2.26         
##  [19] preprocessCore_1.66.0   UCSC.utils_1.0.0        bit_4.0.5              
##  [22] xfun_0.43               zlibbioc_1.50.0         cachem_1.0.8           
##  [25] jsonlite_1.8.8          blob_1.2.4              DelayedArray_0.30.0    
##  [28] BiocParallel_1.38.0     psych_2.4.3             Maaslin2_1.18.0        
##  [31] parallel_4.4.0          cluster_2.1.6           biglm_0.9-2.1          
##  [34] R6_2.5.1                RColorBrewer_1.1-3      stringi_1.8.3          
##  [37] bslib_0.6.2             rpart_4.1.23            jquerylib_0.1.4        
##  [40] Rcpp_1.0.12             bookdown_0.38           iterators_1.0.14       
##  [43] knitr_1.45              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-19       
##  [55] plyr_1.8.9              lattice_0.22-6          tibble_3.2.1           
##  [58] withr_3.0.0             KEGGREST_1.44.0         evaluate_0.23          
##  [61] foreign_0.8-86          survival_3.5-8          getopt_1.20.4          
##  [64] Biostrings_2.72.0       pillar_1.9.0            BiocManager_1.30.22    
##  [67] checkmate_2.3.1         foreach_1.5.2           pcaPP_2.0-4            
##  [70] generics_0.1.3          ggplot2_3.5.0           munsell_0.5.0          
##  [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.4          impute_1.78.0          
##  [85] AnnotationDbi_1.66.0    colorspace_2.1-0        nlme_3.1-164           
##  [88] GenomeInfoDbData_1.2.12 htmlTable_2.4.2         Formula_1.2-5          
##  [91] cli_3.6.2               fansi_1.0.6             S4Arrays_1.4.0         
##  [94] dplyr_1.1.4             DEoptimR_1.1-3          gtable_0.3.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.4.0      
## [103] htmlwidgets_1.6.4       memoise_2.0.1           htmltools_0.5.8        
## [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.