1 Abstract

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

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

2 Installation

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

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

3 Running Macarron

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

3.1 Input CSV files

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

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

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

3.2 Output Files

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

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

3.3 Run a demo in R

3.3.1 Using CSV files as inputs

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

library(Macarron)
## Loading required package: SummarizedExperiment
## Loading required package: MatrixGenerics
## Loading required package: matrixStats
## 
## Attaching package: 'MatrixGenerics'
## The following objects are masked from 'package:matrixStats':
## 
##     colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,
##     colCounts, colCummaxs, colCummins, colCumprods, colCumsums,
##     colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,
##     colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,
##     colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,
##     colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,
##     colWeightedMeans, colWeightedMedians, colWeightedSds,
##     colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,
##     rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,
##     rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,
##     rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,
##     rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,
##     rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,
##     rowWeightedMads, rowWeightedMeans, rowWeightedMedians,
##     rowWeightedSds, rowWeightedVars
## Loading required package: GenomicRanges
## Loading required package: stats4
## Loading required package: BiocGenerics
## 
## Attaching package: 'BiocGenerics'
## The following objects are masked from 'package:stats':
## 
##     IQR, mad, sd, var, xtabs
## The following objects are masked from 'package:base':
## 
##     Filter, Find, Map, Position, Reduce, anyDuplicated, aperm, append,
##     as.data.frame, basename, cbind, colnames, dirname, do.call,
##     duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
##     lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
##     pmin.int, rank, rbind, rownames, sapply, setdiff, table, tapply,
##     union, unique, unsplit, which.max, which.min
## Loading required package: S4Vectors
## 
## Attaching package: 'S4Vectors'
## The following object is masked from 'package:utils':
## 
##     findMatches
## The following objects are masked from 'package:base':
## 
##     I, expand.grid, unname
## Loading required package: IRanges
## 
## Attaching package: 'IRanges'
## The following object is masked from 'package:grDevices':
## 
##     windows
## Loading required package: GenomeInfoDb
## Loading required package: Biobase
## Welcome to Bioconductor
## 
##     Vignettes contain introductory material; view with
##     'browseVignettes()'. To cite Bioconductor, see
##     'citation("Biobase")', and for packages 'citation("pkgname")'.
## 
## Attaching package: 'Biobase'
## The following object is masked from 'package:MatrixGenerics':
## 
##     rowMedians
## The following objects are masked from 'package:matrixStats':
## 
##     anyMissing, rowMedians
prism_abundances <- system.file(
    'extdata','demo_abundances.csv', package="Macarron")
prism_annotations <-system.file(
    'extdata','demo_annotations.csv', package="Macarron")
prism_metadata <-system.file(
    'extdata','demo_metadata.csv', package="Macarron")
mets_taxonomy <-system.file(
    'extdata','demo_taxonomy.csv', package="Macarron")
prism_prioritized <- Macarron::Macarron(input_abundances = prism_abundances,
                                        input_annotations = prism_annotations,
                                        input_metadata = prism_metadata,
                                        input_taxonomy = mets_taxonomy)
## 2024-05-01 19:45:48.115046 INFO::Creating output folder.
## 2024-05-01 19:45:48.13374 INFO::Writing function arguments to log file
## Samples with both abundances and metadata: 102
## 2024-05-01 19:45:48.243215 INFO::Summarized Experiment created.
## 2024-05-01 19:45:48.24692 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 19:45:53.554822 INFO::Distance matrix with 869 metabolic features created.
## Initiating module detection
## 2024-05-01 19:45:53.556962 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 19:45:55.894387 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 19:45:58.306979 INFO::Writing function arguments to log file
## 2024-05-01 19:45:58.33035 INFO::Verifying options selected are valid
## 2024-05-01 19:45:58.386262 INFO::Determining format of input files
## 2024-05-01 19:45:58.388268 INFO::Input format is data samples as columns and metadata samples as rows
## 2024-05-01 19:45:58.411931 INFO::Formula for fixed effects: expr ~  diagnosis + age + antibiotics
## 2024-05-01 19:45:58.414909 INFO::Filter data based on min abundance and min prevalence
## 2024-05-01 19:45:58.416563 INFO::Total samples in data: 102
## 2024-05-01 19:45:58.41811 INFO::Min samples required with min abundance for a feature not to be filtered: 0.000000
## 2024-05-01 19:45:58.430852 INFO::Total filtered features: 0
## 2024-05-01 19:45:58.432788 INFO::Filtered feature names from abundance and prevalence filtering:
## 2024-05-01 19:45:58.452989 INFO::Total filtered features with variance filtering: 0
## 2024-05-01 19:45:58.455067 INFO::Filtered feature names from variance filtering:
## 2024-05-01 19:45:58.456659 INFO::Running selected normalization method: NONE
## 2024-05-01 19:45:58.458252 INFO::Applying z-score to standardize continuous metadata
## 2024-05-01 19:45:58.482568 INFO::Running selected transform method: NONE
## 2024-05-01 19:45:58.484495 INFO::Running selected analysis method: LM
## 2024-05-01 19:45:58.49571 INFO::Fitting model to feature number 1, F1
## 2024-05-01 19:45:58.507252 INFO::Fitting model to feature number 2, F2
## 2024-05-01 19:45:58.51258 INFO::Fitting model to feature number 3, F3
## 2024-05-01 19:45:58.517806 INFO::Fitting model to feature number 4, F4
## 2024-05-01 19:45:58.52275 INFO::Fitting model to feature number 5, F5
## 2024-05-01 19:45:58.528261 INFO::Fitting model to feature number 6, F6
## 2024-05-01 19:45:58.534323 INFO::Fitting model to feature number 7, F7
## 2024-05-01 19:45:58.540554 INFO::Fitting model to feature number 8, F8
## 2024-05-01 19:45:58.549989 INFO::Fitting model to feature number 9, F9
## 2024-05-01 19:45:58.556688 INFO::Fitting model to feature number 10, F10
## 2024-05-01 19:45:58.563371 INFO::Fitting model to feature number 11, F11
## 2024-05-01 19:45:58.570622 INFO::Fitting model to feature number 12, F12
## 2024-05-01 19:45:58.577488 INFO::Fitting model to feature number 13, F13
## 2024-05-01 19:45:58.584014 INFO::Fitting model to feature number 14, F14
## 2024-05-01 19:45:58.590369 INFO::Fitting model to feature number 15, F15
## 2024-05-01 19:45:58.598201 INFO::Fitting model to feature number 16, F16
## 2024-05-01 19:45:58.604689 INFO::Fitting model to feature number 17, F17
## 2024-05-01 19:45:58.610292 INFO::Fitting model to feature number 18, F18
## 2024-05-01 19:45:58.61679 INFO::Fitting model to feature number 19, F19
## 2024-05-01 19:45:58.622398 INFO::Fitting model to feature number 20, F20
## 2024-05-01 19:45:58.628081 INFO::Fitting model to feature number 21, F21
## 2024-05-01 19:45:58.63347 INFO::Fitting model to feature number 22, F22
## 2024-05-01 19:45:58.639408 INFO::Fitting model to feature number 23, F23
## 2024-05-01 19:45:58.646132 INFO::Fitting model to feature number 24, F24
## 2024-05-01 19:45:58.652495 INFO::Fitting model to feature number 25, F25
## 2024-05-01 19:45:59.126905 INFO::Fitting model to feature number 26, F26
## 2024-05-01 19:45:59.135748 INFO::Fitting model to feature number 27, F27
## 2024-05-01 19:45:59.144215 INFO::Fitting model to feature number 28, F28
## 2024-05-01 19:45:59.153724 INFO::Fitting model to feature number 29, F29
## 2024-05-01 19:45:59.160174 INFO::Fitting model to feature number 30, F30
## 2024-05-01 19:45:59.165397 INFO::Fitting model to feature number 31, F31
## 2024-05-01 19:45:59.171411 INFO::Fitting model to feature number 32, F32
## 2024-05-01 19:45:59.177437 INFO::Fitting model to feature number 33, F33
## 2024-05-01 19:45:59.182686 INFO::Fitting model to feature number 34, F34
## 2024-05-01 19:45:59.188501 INFO::Fitting model to feature number 35, F35
## 2024-05-01 19:45:59.195941 INFO::Fitting model to feature number 36, F36
## 2024-05-01 19:45:59.203298 INFO::Fitting model to feature number 37, F37
## 2024-05-01 19:45:59.210768 INFO::Fitting model to feature number 38, F38
## 2024-05-01 19:45:59.218081 INFO::Fitting model to feature number 39, F39
## 2024-05-01 19:45:59.225456 INFO::Fitting model to feature number 40, F40
## 2024-05-01 19:45:59.233144 INFO::Fitting model to feature number 41, F41
## 2024-05-01 19:45:59.242004 INFO::Fitting model to feature number 42, F43
## 2024-05-01 19:45:59.25102 INFO::Fitting model to feature number 43, F44
## 2024-05-01 19:45:59.259298 INFO::Fitting model to feature number 44, F45
## 2024-05-01 19:45:59.265655 INFO::Fitting model to feature number 45, F46
## 2024-05-01 19:45:59.272326 INFO::Fitting model to feature number 46, F47
## 2024-05-01 19:45:59.277587 INFO::Fitting model to feature number 47, F48
## 2024-05-01 19:45:59.282833 INFO::Fitting model to feature number 48, F49
## 2024-05-01 19:45:59.288408 INFO::Fitting model to feature number 49, F50
## 2024-05-01 19:45:59.2964 INFO::Fitting model to feature number 50, F51
## 2024-05-01 19:45:59.304688 INFO::Fitting model to feature number 51, F52
## 2024-05-01 19:45:59.313928 INFO::Fitting model to feature number 52, F53
## 2024-05-01 19:45:59.323096 INFO::Fitting model to feature number 53, F54
## 2024-05-01 19:45:59.332143 INFO::Fitting model to feature number 54, F55
## 2024-05-01 19:45:59.340408 INFO::Fitting model to feature number 55, F56
## 2024-05-01 19:45:59.346277 INFO::Fitting model to feature number 56, F57
## 2024-05-01 19:45:59.351592 INFO::Fitting model to feature number 57, F58
## 2024-05-01 19:45:59.356948 INFO::Fitting model to feature number 58, F59
## 2024-05-01 19:45:59.362441 INFO::Fitting model to feature number 59, F60
## 2024-05-01 19:45:59.367915 INFO::Fitting model to feature number 60, F63
## 2024-05-01 19:45:59.373181 INFO::Fitting model to feature number 61, F64
## 2024-05-01 19:45:59.378274 INFO::Fitting model to feature number 62, F65
## 2024-05-01 19:45:59.383173 INFO::Fitting model to feature number 63, F66
## 2024-05-01 19:45:59.388099 INFO::Fitting model to feature number 64, F67
## 2024-05-01 19:45:59.392933 INFO::Fitting model to feature number 65, F68
## 2024-05-01 19:45:59.398036 INFO::Fitting model to feature number 66, F69
## 2024-05-01 19:45:59.402954 INFO::Fitting model to feature number 67, F70
## 2024-05-01 19:45:59.408407 INFO::Fitting model to feature number 68, F71
## 2024-05-01 19:45:59.413762 INFO::Fitting model to feature number 69, F72
## 2024-05-01 19:45:59.419711 INFO::Fitting model to feature number 70, F73
## 2024-05-01 19:45:59.424705 INFO::Fitting model to feature number 71, F74
## 2024-05-01 19:45:59.432014 INFO::Fitting model to feature number 72, F76
## 2024-05-01 19:45:59.43886 INFO::Fitting model to feature number 73, F77
## 2024-05-01 19:45:59.444022 INFO::Fitting model to feature number 74, F78
## 2024-05-01 19:45:59.449134 INFO::Fitting model to feature number 75, F79
## 2024-05-01 19:45:59.454122 INFO::Fitting model to feature number 76, F80
## 2024-05-01 19:45:59.459578 INFO::Fitting model to feature number 77, F81
## 2024-05-01 19:45:59.464599 INFO::Fitting model to feature number 78, F82
## 2024-05-01 19:45:59.469595 INFO::Fitting model to feature number 79, F83
## 2024-05-01 19:45:59.475289 INFO::Fitting model to feature number 80, F84
## 2024-05-01 19:45:59.482617 INFO::Fitting model to feature number 81, F85
## 2024-05-01 19:45:59.488612 INFO::Fitting model to feature number 82, F86
## 2024-05-01 19:45:59.494528 INFO::Fitting model to feature number 83, F87
## 2024-05-01 19:45:59.49958 INFO::Fitting model to feature number 84, F88
## 2024-05-01 19:45:59.504871 INFO::Fitting model to feature number 85, F89
## 2024-05-01 19:45:59.509836 INFO::Fitting model to feature number 86, F90
## 2024-05-01 19:45:59.515121 INFO::Fitting model to feature number 87, F91
## 2024-05-01 19:45:59.521637 INFO::Fitting model to feature number 88, F92
## 2024-05-01 19:45:59.527129 INFO::Fitting model to feature number 89, F93
## 2024-05-01 19:45:59.532968 INFO::Fitting model to feature number 90, F94
## 2024-05-01 19:45:59.538352 INFO::Fitting model to feature number 91, F95
## 2024-05-01 19:45:59.543234 INFO::Fitting model to feature number 92, F96
## 2024-05-01 19:45:59.549356 INFO::Fitting model to feature number 93, F97
## 2024-05-01 19:45:59.555309 INFO::Fitting model to feature number 94, F98
## 2024-05-01 19:45:59.561268 INFO::Fitting model to feature number 95, F99
## 2024-05-01 19:45:59.569001 INFO::Fitting model to feature number 96, F100
## 2024-05-01 19:45:59.576646 INFO::Fitting model to feature number 97, F101
## 2024-05-01 19:45:59.582473 INFO::Fitting model to feature number 98, F102
## 2024-05-01 19:45:59.587655 INFO::Fitting model to feature number 99, F103
## 2024-05-01 19:45:59.59567 INFO::Fitting model to feature number 100, F104
## 2024-05-01 19:45:59.600874 INFO::Fitting model to feature number 101, F105
## 2024-05-01 19:45:59.606093 INFO::Fitting model to feature number 102, F106
## 2024-05-01 19:45:59.612051 INFO::Fitting model to feature number 103, F107
## 2024-05-01 19:45:59.617254 INFO::Fitting model to feature number 104, F108
## 2024-05-01 19:45:59.622382 INFO::Fitting model to feature number 105, F109
## 2024-05-01 19:45:59.627888 INFO::Fitting model to feature number 106, F110
## 2024-05-01 19:45:59.63314 INFO::Fitting model to feature number 107, F111
## 2024-05-01 19:45:59.638526 INFO::Fitting model to feature number 108, F112
## 2024-05-01 19:45:59.643905 INFO::Fitting model to feature number 109, F113
## 2024-05-01 19:45:59.649305 INFO::Fitting model to feature number 110, F114
## 2024-05-01 19:45:59.654867 INFO::Fitting model to feature number 111, F115
## 2024-05-01 19:45:59.661375 INFO::Fitting model to feature number 112, F117
## 2024-05-01 19:45:59.671082 INFO::Fitting model to feature number 113, F118
## 2024-05-01 19:45:59.679507 INFO::Fitting model to feature number 114, F119
## 2024-05-01 19:45:59.688418 INFO::Fitting model to feature number 115, F120
## 2024-05-01 19:45:59.696947 INFO::Fitting model to feature number 116, F121
## 2024-05-01 19:45:59.703086 INFO::Fitting model to feature number 117, F122
## 2024-05-01 19:45:59.708255 INFO::Fitting model to feature number 118, F123
## 2024-05-01 19:45:59.715147 INFO::Fitting model to feature number 119, F124
## 2024-05-01 19:45:59.723247 INFO::Fitting model to feature number 120, F125
## 2024-05-01 19:45:59.730834 INFO::Fitting model to feature number 121, F126
## 2024-05-01 19:45:59.736025 INFO::Fitting model to feature number 122, F127
## 2024-05-01 19:45:59.742157 INFO::Fitting model to feature number 123, F128
## 2024-05-01 19:45:59.74827 INFO::Fitting model to feature number 124, F129
## 2024-05-01 19:45:59.754437 INFO::Fitting model to feature number 125, F130
## 2024-05-01 19:45:59.760475 INFO::Fitting model to feature number 126, F131
## 2024-05-01 19:45:59.766254 INFO::Fitting model to feature number 127, F132
## 2024-05-01 19:45:59.772562 INFO::Fitting model to feature number 128, F133
## 2024-05-01 19:45:59.777863 INFO::Fitting model to feature number 129, F134
## 2024-05-01 19:45:59.783775 INFO::Fitting model to feature number 130, F135
## 2024-05-01 19:45:59.788945 INFO::Fitting model to feature number 131, F136
## 2024-05-01 19:45:59.794587 INFO::Fitting model to feature number 132, F137
## 2024-05-01 19:45:59.799741 INFO::Fitting model to feature number 133, F138
## 2024-05-01 19:45:59.807408 INFO::Fitting model to feature number 134, F139
## 2024-05-01 19:45:59.813659 INFO::Fitting model to feature number 135, F140
## 2024-05-01 19:45:59.819033 INFO::Fitting model to feature number 136, F141
## 2024-05-01 19:45:59.824751 INFO::Fitting model to feature number 137, F142
## 2024-05-01 19:45:59.829826 INFO::Fitting model to feature number 138, F143
## 2024-05-01 19:45:59.834947 INFO::Fitting model to feature number 139, F144
## 2024-05-01 19:45:59.840451 INFO::Fitting model to feature number 140, F145
## 2024-05-01 19:45:59.846584 INFO::Fitting model to feature number 141, F146
## 2024-05-01 19:45:59.85397 INFO::Fitting model to feature number 142, F147
## 2024-05-01 19:45:59.859474 INFO::Fitting model to feature number 143, F148
## 2024-05-01 19:45:59.86504 INFO::Fitting model to feature number 144, F149
## 2024-05-01 19:45:59.870841 INFO::Fitting model to feature number 145, F150
## 2024-05-01 19:45:59.876526 INFO::Fitting model to feature number 146, F152
## 2024-05-01 19:45:59.882103 INFO::Fitting model to feature number 147, F153
## 2024-05-01 19:45:59.887291 INFO::Fitting model to feature number 148, F154
## 2024-05-01 19:45:59.89428 INFO::Fitting model to feature number 149, F155
## 2024-05-01 19:45:59.902518 INFO::Fitting model to feature number 150, F156
## 2024-05-01 19:45:59.910538 INFO::Fitting model to feature number 151, F157
## 2024-05-01 19:45:59.91862 INFO::Fitting model to feature number 152, F158
## 2024-05-01 19:45:59.926674 INFO::Fitting model to feature number 153, F159
## 2024-05-01 19:45:59.932361 INFO::Fitting model to feature number 154, F160
## 2024-05-01 19:45:59.937917 INFO::Fitting model to feature number 155, F161
## 2024-05-01 19:45:59.942994 INFO::Fitting model to feature number 156, F162
## 2024-05-01 19:45:59.947979 INFO::Fitting model to feature number 157, F163
## 2024-05-01 19:45:59.953278 INFO::Fitting model to feature number 158, F164
## 2024-05-01 19:45:59.959596 INFO::Fitting model to feature number 159, F165
## 2024-05-01 19:45:59.964739 INFO::Fitting model to feature number 160, F166
## 2024-05-01 19:45:59.969684 INFO::Fitting model to feature number 161, F167
## 2024-05-01 19:45:59.97464 INFO::Fitting model to feature number 162, F168
## 2024-05-01 19:45:59.97968 INFO::Fitting model to feature number 163, F169
## 2024-05-01 19:45:59.986561 INFO::Fitting model to feature number 164, F170
## 2024-05-01 19:45:59.99475 INFO::Fitting model to feature number 165, F171
## 2024-05-01 19:46:00.002233 INFO::Fitting model to feature number 166, F172
## 2024-05-01 19:46:00.007585 INFO::Fitting model to feature number 167, F173
## 2024-05-01 19:46:00.013581 INFO::Fitting model to feature number 168, F174
## 2024-05-01 19:46:00.019952 INFO::Fitting model to feature number 169, F175
## 2024-05-01 19:46:00.025493 INFO::Fitting model to feature number 170, F176
## 2024-05-01 19:46:00.031821 INFO::Fitting model to feature number 171, F177
## 2024-05-01 19:46:00.036952 INFO::Fitting model to feature number 172, F178
## 2024-05-01 19:46:00.042035 INFO::Fitting model to feature number 173, F179
## 2024-05-01 19:46:00.047989 INFO::Fitting model to feature number 174, F180
## 2024-05-01 19:46:00.05321 INFO::Fitting model to feature number 175, F181
## 2024-05-01 19:46:00.06113 INFO::Fitting model to feature number 176, F182
## 2024-05-01 19:46:00.068474 INFO::Fitting model to feature number 177, F183
## 2024-05-01 19:46:00.073669 INFO::Fitting model to feature number 178, F184
## 2024-05-01 19:46:00.079029 INFO::Fitting model to feature number 179, F185
## 2024-05-01 19:46:00.085472 INFO::Fitting model to feature number 180, F186
## 2024-05-01 19:46:00.091467 INFO::Fitting model to feature number 181, F187
## 2024-05-01 19:46:00.096624 INFO::Fitting model to feature number 182, F188
## 2024-05-01 19:46:00.10181 INFO::Fitting model to feature number 183, F189
## 2024-05-01 19:46:00.107948 INFO::Fitting model to feature number 184, F190
## 2024-05-01 19:46:00.113965 INFO::Fitting model to feature number 185, F191
## 2024-05-01 19:46:00.119182 INFO::Fitting model to feature number 186, F192
## 2024-05-01 19:46:00.124491 INFO::Fitting model to feature number 187, F193
## 2024-05-01 19:46:00.129727 INFO::Fitting model to feature number 188, F194
## 2024-05-01 19:46:00.13468 INFO::Fitting model to feature number 189, F195
## 2024-05-01 19:46:00.142159 INFO::Fitting model to feature number 190, F196
## 2024-05-01 19:46:00.15076 INFO::Fitting model to feature number 191, F197
## 2024-05-01 19:46:00.158915 INFO::Fitting model to feature number 192, F198
## 2024-05-01 19:46:00.163936 INFO::Fitting model to feature number 193, F199
## 2024-05-01 19:46:00.169354 INFO::Fitting model to feature number 194, F200
## 2024-05-01 19:46:00.17445 INFO::Fitting model to feature number 195, F201
## 2024-05-01 19:46:00.179689 INFO::Fitting model to feature number 196, F202
## 2024-05-01 19:46:00.184713 INFO::Fitting model to feature number 197, F203
## 2024-05-01 19:46:00.191001 INFO::Fitting model to feature number 198, F204
## 2024-05-01 19:46:00.196537 INFO::Fitting model to feature number 199, F206
## 2024-05-01 19:46:00.202427 INFO::Fitting model to feature number 200, F207
## 2024-05-01 19:46:00.209588 INFO::Fitting model to feature number 201, F208
## 2024-05-01 19:46:00.214634 INFO::Fitting model to feature number 202, F209
## 2024-05-01 19:46:00.220322 INFO::Fitting model to feature number 203, F210
## 2024-05-01 19:46:00.225789 INFO::Fitting model to feature number 204, F211
## 2024-05-01 19:46:00.230931 INFO::Fitting model to feature number 205, F212
## 2024-05-01 19:46:00.23618 INFO::Fitting model to feature number 206, F213
## 2024-05-01 19:46:00.242993 INFO::Fitting model to feature number 207, F214
## 2024-05-01 19:46:00.251931 INFO::Fitting model to feature number 208, F215
## 2024-05-01 19:46:00.260557 INFO::Fitting model to feature number 209, F216
## 2024-05-01 19:46:00.269812 INFO::Fitting model to feature number 210, F217
## 2024-05-01 19:46:00.278237 INFO::Fitting model to feature number 211, F218
## 2024-05-01 19:46:00.287105 INFO::Fitting model to feature number 212, F219
## 2024-05-01 19:46:00.294658 INFO::Fitting model to feature number 213, F220
## 2024-05-01 19:46:00.304624 INFO::Fitting model to feature number 214, F221
## 2024-05-01 19:46:00.312824 INFO::Fitting model to feature number 215, F222
## 2024-05-01 19:46:00.320883 INFO::Fitting model to feature number 216, F223
## 2024-05-01 19:46:00.328993 INFO::Fitting model to feature number 217, F224
## 2024-05-01 19:46:00.337001 INFO::Fitting model to feature number 218, F225
## 2024-05-01 19:46:00.345062 INFO::Fitting model to feature number 219, F226
## 2024-05-01 19:46:00.352968 INFO::Fitting model to feature number 220, F227
## 2024-05-01 19:46:00.360836 INFO::Fitting model to feature number 221, F228
## 2024-05-01 19:46:00.368793 INFO::Fitting model to feature number 222, F229
## 2024-05-01 19:46:00.377079 INFO::Fitting model to feature number 223, F230
## 2024-05-01 19:46:00.38616 INFO::Fitting model to feature number 224, F231
## 2024-05-01 19:46:00.395006 INFO::Fitting model to feature number 225, F232
## 2024-05-01 19:46:00.402993 INFO::Fitting model to feature number 226, F233
## 2024-05-01 19:46:00.4087 INFO::Fitting model to feature number 227, F234
## 2024-05-01 19:46:00.414336 INFO::Fitting model to feature number 228, F235
## 2024-05-01 19:46:00.419846 INFO::Fitting model to feature number 229, F236
## 2024-05-01 19:46:00.425424 INFO::Fitting model to feature number 230, F237
## 2024-05-01 19:46:00.430734 INFO::Fitting model to feature number 231, F238
## 2024-05-01 19:46:00.436157 INFO::Fitting model to feature number 232, F239
## 2024-05-01 19:46:00.441622 INFO::Fitting model to feature number 233, F240
## 2024-05-01 19:46:00.447886 INFO::Fitting model to feature number 234, F241
## 2024-05-01 19:46:00.453398 INFO::Fitting model to feature number 235, F242
## 2024-05-01 19:46:00.458591 INFO::Fitting model to feature number 236, F243
## 2024-05-01 19:46:00.463784 INFO::Fitting model to feature number 237, F244
## 2024-05-01 19:46:00.469082 INFO::Fitting model to feature number 238, F245
## 2024-05-01 19:46:00.474268 INFO::Fitting model to feature number 239, F246
## 2024-05-01 19:46:00.479374 INFO::Fitting model to feature number 240, F247
## 2024-05-01 19:46:00.484632 INFO::Fitting model to feature number 241, F248
## 2024-05-01 19:46:00.489777 INFO::Fitting model to feature number 242, F249
## 2024-05-01 19:46:00.496171 INFO::Fitting model to feature number 243, F250
## 2024-05-01 19:46:00.504296 INFO::Fitting model to feature number 244, F252
## 2024-05-01 19:46:00.515255 INFO::Fitting model to feature number 245, F253
## 2024-05-01 19:46:00.52405 INFO::Fitting model to feature number 246, F254
## 2024-05-01 19:46:00.533306 INFO::Fitting model to feature number 247, F255
## 2024-05-01 19:46:00.538632 INFO::Fitting model to feature number 248, F256
## 2024-05-01 19:46:00.545996 INFO::Fitting model to feature number 249, F257
## 2024-05-01 19:46:00.552213 INFO::Fitting model to feature number 250, F259
## 2024-05-01 19:46:00.557518 INFO::Fitting model to feature number 251, F260
## 2024-05-01 19:46:00.565239 INFO::Fitting model to feature number 252, F261
## 2024-05-01 19:46:00.573792 INFO::Fitting model to feature number 253, F262
## 2024-05-01 19:46:00.581911 INFO::Fitting model to feature number 254, F263
## 2024-05-01 19:46:00.589326 INFO::Fitting model to feature number 255, F264
## 2024-05-01 19:46:00.595928 INFO::Fitting model to feature number 256, F265
## 2024-05-01 19:46:00.601056 INFO::Fitting model to feature number 257, F266
## 2024-05-01 19:46:00.606342 INFO::Fitting model to feature number 258, F267
## 2024-05-01 19:46:00.656144 INFO::Fitting model to feature number 259, F269
## 2024-05-01 19:46:00.66443 INFO::Fitting model to feature number 260, F270
## 2024-05-01 19:46:00.672129 INFO::Fitting model to feature number 261, F271
## 2024-05-01 19:46:00.680262 INFO::Fitting model to feature number 262, F272
## 2024-05-01 19:46:00.688332 INFO::Fitting model to feature number 263, F273
## 2024-05-01 19:46:00.696204 INFO::Fitting model to feature number 264, F274
## 2024-05-01 19:46:00.701945 INFO::Fitting model to feature number 265, F276
## 2024-05-01 19:46:00.707211 INFO::Fitting model to feature number 266, F277
## 2024-05-01 19:46:00.713063 INFO::Fitting model to feature number 267, F278
## 2024-05-01 19:46:00.718291 INFO::Fitting model to feature number 268, F279
## 2024-05-01 19:46:00.722951 INFO::Fitting model to feature number 269, F280
## 2024-05-01 19:46:00.727965 INFO::Fitting model to feature number 270, F281
## 2024-05-01 19:46:00.732925 INFO::Fitting model to feature number 271, F282
## 2024-05-01 19:46:00.73781 INFO::Fitting model to feature number 272, F283
## 2024-05-01 19:46:00.743579 INFO::Fitting model to feature number 273, F284
## 2024-05-01 19:46:00.748613 INFO::Fitting model to feature number 274, F285
## 2024-05-01 19:46:00.753322 INFO::Fitting model to feature number 275, F286
## 2024-05-01 19:46:00.7584 INFO::Fitting model to feature number 276, F287
## 2024-05-01 19:46:00.763576 INFO::Fitting model to feature number 277, F288
## 2024-05-01 19:46:00.768612 INFO::Fitting model to feature number 278, F289
## 2024-05-01 19:46:00.773388 INFO::Fitting model to feature number 279, F290
## 2024-05-01 19:46:00.778272 INFO::Fitting model to feature number 280, F292
## 2024-05-01 19:46:00.782993 INFO::Fitting model to feature number 281, F293
## 2024-05-01 19:46:00.787597 INFO::Fitting model to feature number 282, F294
## 2024-05-01 19:46:00.7925 INFO::Fitting model to feature number 283, F295
## 2024-05-01 19:46:00.797289 INFO::Fitting model to feature number 284, F296
## 2024-05-01 19:46:00.801851 INFO::Fitting model to feature number 285, F297
## 2024-05-01 19:46:00.80632 INFO::Fitting model to feature number 286, F298
## 2024-05-01 19:46:00.811003 INFO::Fitting model to feature number 287, F299
## 2024-05-01 19:46:00.815528 INFO::Fitting model to feature number 288, F300
## 2024-05-01 19:46:00.81996 INFO::Fitting model to feature number 289, F301
## 2024-05-01 19:46:00.824389 INFO::Fitting model to feature number 290, F302
## 2024-05-01 19:46:00.82884 INFO::Fitting model to feature number 291, F303
## 2024-05-01 19:46:00.833391 INFO::Fitting model to feature number 292, F304
## 2024-05-01 19:46:00.839621 INFO::Fitting model to feature number 293, F305
## 2024-05-01 19:46:00.846375 INFO::Fitting model to feature number 294, F306
## 2024-05-01 19:46:00.850913 INFO::Fitting model to feature number 295, F307
## 2024-05-01 19:46:00.855553 INFO::Fitting model to feature number 296, F308
## 2024-05-01 19:46:00.86057 INFO::Fitting model to feature number 297, F309
## 2024-05-01 19:46:00.86689 INFO::Fitting model to feature number 298, F310
## 2024-05-01 19:46:00.874205 INFO::Fitting model to feature number 299, F311
## 2024-05-01 19:46:00.881406 INFO::Fitting model to feature number 300, F312
## 2024-05-01 19:46:00.888903 INFO::Fitting model to feature number 301, F313
## 2024-05-01 19:46:00.896607 INFO::Fitting model to feature number 302, F315
## 2024-05-01 19:46:00.904588 INFO::Fitting model to feature number 303, F316
## 2024-05-01 19:46:00.912705 INFO::Fitting model to feature number 304, F317
## 2024-05-01 19:46:00.920331 INFO::Fitting model to feature number 305, F318
## 2024-05-01 19:46:00.925427 INFO::Fitting model to feature number 306, F319
## 2024-05-01 19:46:00.930326 INFO::Fitting model to feature number 307, F320
## 2024-05-01 19:46:00.935315 INFO::Fitting model to feature number 308, F321
## 2024-05-01 19:46:00.941114 INFO::Fitting model to feature number 309, F322
## 2024-05-01 19:46:00.945861 INFO::Fitting model to feature number 310, F323
## 2024-05-01 19:46:00.950594 INFO::Fitting model to feature number 311, F324
## 2024-05-01 19:46:00.955347 INFO::Fitting model to feature number 312, F325
## 2024-05-01 19:46:00.959945 INFO::Fitting model to feature number 313, F326
## 2024-05-01 19:46:00.964502 INFO::Fitting model to feature number 314, F327
## 2024-05-01 19:46:00.969109 INFO::Fitting model to feature number 315, F328
## 2024-05-01 19:46:00.973794 INFO::Fitting model to feature number 316, F329
## 2024-05-01 19:46:00.978439 INFO::Fitting model to feature number 317, F330
## 2024-05-01 19:46:00.983114 INFO::Fitting model to feature number 318, F331
## 2024-05-01 19:46:00.987695 INFO::Fitting model to feature number 319, F332
## 2024-05-01 19:46:00.992238 INFO::Fitting model to feature number 320, F333
## 2024-05-01 19:46:00.996949 INFO::Fitting model to feature number 321, F334
## 2024-05-01 19:46:01.001771 INFO::Fitting model to feature number 322, F335
## 2024-05-01 19:46:01.006367 INFO::Fitting model to feature number 323, F336
## 2024-05-01 19:46:01.010973 INFO::Fitting model to feature number 324, F337
## 2024-05-01 19:46:01.015677 INFO::Fitting model to feature number 325, F338
## 2024-05-01 19:46:01.020291 INFO::Fitting model to feature number 326, F339
## 2024-05-01 19:46:01.024851 INFO::Fitting model to feature number 327, F340
## 2024-05-01 19:46:01.029664 INFO::Fitting model to feature number 328, F342
## 2024-05-01 19:46:01.034685 INFO::Fitting model to feature number 329, F343
## 2024-05-01 19:46:01.04018 INFO::Fitting model to feature number 330, F344
## 2024-05-01 19:46:01.045222 INFO::Fitting model to feature number 331, F345
## 2024-05-01 19:46:01.050374 INFO::Fitting model to feature number 332, F346
## 2024-05-01 19:46:01.056165 INFO::Fitting model to feature number 333, F347
## 2024-05-01 19:46:01.060873 INFO::Fitting model to feature number 334, F348
## 2024-05-01 19:46:01.06552 INFO::Fitting model to feature number 335, F350
## 2024-05-01 19:46:01.07023 INFO::Fitting model to feature number 336, F351
## 2024-05-01 19:46:01.076047 INFO::Fitting model to feature number 337, F352
## 2024-05-01 19:46:01.081369 INFO::Fitting model to feature number 338, F353
## 2024-05-01 19:46:01.086132 INFO::Fitting model to feature number 339, F355
## 2024-05-01 19:46:01.090782 INFO::Fitting model to feature number 340, F356
## 2024-05-01 19:46:01.095428 INFO::Fitting model to feature number 341, F357
## 2024-05-01 19:46:01.100557 INFO::Fitting model to feature number 342, F358
## 2024-05-01 19:46:01.105317 INFO::Fitting model to feature number 343, F359
## 2024-05-01 19:46:01.110197 INFO::Fitting model to feature number 344, F360
## 2024-05-01 19:46:01.114932 INFO::Fitting model to feature number 345, F361
## 2024-05-01 19:46:01.119758 INFO::Fitting model to feature number 346, F362
## 2024-05-01 19:46:01.124949 INFO::Fitting model to feature number 347, F363
## 2024-05-01 19:46:01.130438 INFO::Fitting model to feature number 348, F364
## 2024-05-01 19:46:01.135573 INFO::Fitting model to feature number 349, F365
## 2024-05-01 19:46:01.140782 INFO::Fitting model to feature number 350, F366
## 2024-05-01 19:46:01.145612 INFO::Fitting model to feature number 351, F367
## 2024-05-01 19:46:01.150665 INFO::Fitting model to feature number 352, F368
## 2024-05-01 19:46:01.155646 INFO::Fitting model to feature number 353, F369
## 2024-05-01 19:46:01.160527 INFO::Fitting model to feature number 354, F370
## 2024-05-01 19:46:01.165304 INFO::Fitting model to feature number 355, F371
## 2024-05-01 19:46:01.171951 INFO::Fitting model to feature number 356, F372
## 2024-05-01 19:46:01.179366 INFO::Fitting model to feature number 357, F373
## 2024-05-01 19:46:01.18706 INFO::Fitting model to feature number 358, F374
## 2024-05-01 19:46:01.194681 INFO::Fitting model to feature number 359, F375
## 2024-05-01 19:46:01.20255 INFO::Fitting model to feature number 360, F376
## 2024-05-01 19:46:01.208842 INFO::Fitting model to feature number 361, F377
## 2024-05-01 19:46:01.213921 INFO::Fitting model to feature number 362, F378
## 2024-05-01 19:46:01.219036 INFO::Fitting model to feature number 363, F379
## 2024-05-01 19:46:01.224037 INFO::Fitting model to feature number 364, F380
## 2024-05-01 19:46:01.228886 INFO::Fitting model to feature number 365, F381
## 2024-05-01 19:46:01.233848 INFO::Fitting model to feature number 366, F382
## 2024-05-01 19:46:01.238868 INFO::Fitting model to feature number 367, F383
## 2024-05-01 19:46:01.243833 INFO::Fitting model to feature number 368, F384
## 2024-05-01 19:46:01.249736 INFO::Fitting model to feature number 369, F386
## 2024-05-01 19:46:01.254794 INFO::Fitting model to feature number 370, F387
## 2024-05-01 19:46:01.260124 INFO::Fitting model to feature number 371, F388
## 2024-05-01 19:46:01.267105 INFO::Fitting model to feature number 372, F389
## 2024-05-01 19:46:01.275228 INFO::Fitting model to feature number 373, F390
## 2024-05-01 19:46:01.282942 INFO::Fitting model to feature number 374, F391
## 2024-05-01 19:46:01.290007 INFO::Fitting model to feature number 375, F392
## 2024-05-01 19:46:01.297292 INFO::Fitting model to feature number 376, F393
## 2024-05-01 19:46:01.304267 INFO::Fitting model to feature number 377, F394
## 2024-05-01 19:46:01.311235 INFO::Fitting model to feature number 378, F395
## 2024-05-01 19:46:01.318572 INFO::Fitting model to feature number 379, F396
## 2024-05-01 19:46:01.325918 INFO::Fitting model to feature number 380, F397
## 2024-05-01 19:46:01.333466 INFO::Fitting model to feature number 381, F398
## 2024-05-01 19:46:01.340999 INFO::Fitting model to feature number 382, F399
## 2024-05-01 19:46:01.348717 INFO::Fitting model to feature number 383, F400
## 2024-05-01 19:46:01.358164 INFO::Fitting model to feature number 384, F401
## 2024-05-01 19:46:01.365987 INFO::Fitting model to feature number 385, F402
## 2024-05-01 19:46:01.37372 INFO::Fitting model to feature number 386, F403
## 2024-05-01 19:46:01.380908 INFO::Fitting model to feature number 387, F404
## 2024-05-01 19:46:01.388347 INFO::Fitting model to feature number 388, F406
## 2024-05-01 19:46:01.394975 INFO::Fitting model to feature number 389, F407
## 2024-05-01 19:46:01.399847 INFO::Fitting model to feature number 390, F408
## 2024-05-01 19:46:01.405171 INFO::Fitting model to feature number 391, F409
## 2024-05-01 19:46:01.410753 INFO::Fitting model to feature number 392, F410
## 2024-05-01 19:46:01.41617 INFO::Fitting model to feature number 393, F411
## 2024-05-01 19:46:01.421579 INFO::Fitting model to feature number 394, F412
## 2024-05-01 19:46:01.426617 INFO::Fitting model to feature number 395, F413
## 2024-05-01 19:46:01.431512 INFO::Fitting model to feature number 396, F414
## 2024-05-01 19:46:01.438746 INFO::Fitting model to feature number 397, F415
## 2024-05-01 19:46:01.44549 INFO::Fitting model to feature number 398, F416
## 2024-05-01 19:46:01.451617 INFO::Fitting model to feature number 399, F417
## 2024-05-01 19:46:01.456655 INFO::Fitting model to feature number 400, F418
## 2024-05-01 19:46:01.461524 INFO::Fitting model to feature number 401, F419
## 2024-05-01 19:46:01.466382 INFO::Fitting model to feature number 402, F420
## 2024-05-01 19:46:01.471494 INFO::Fitting model to feature number 403, F421
## 2024-05-01 19:46:01.478039 INFO::Fitting model to feature number 404, F422
## 2024-05-01 19:46:01.482914 INFO::Fitting model to feature number 405, F423
## 2024-05-01 19:46:01.487861 INFO::Fitting model to feature number 406, F425
## 2024-05-01 19:46:01.49476 INFO::Fitting model to feature number 407, F426
## 2024-05-01 19:46:01.50085 INFO::Fitting model to feature number 408, F428
## 2024-05-01 19:46:01.506126 INFO::Fitting model to feature number 409, F429
## 2024-05-01 19:46:01.511145 INFO::Fitting model to feature number 410, F430
## 2024-05-01 19:46:01.516072 INFO::Fitting model to feature number 411, F431
## 2024-05-01 19:46:01.52086 INFO::Fitting model to feature number 412, F432
## 2024-05-01 19:46:01.525617 INFO::Fitting model to feature number 413, F433
## 2024-05-01 19:46:01.530397 INFO::Fitting model to feature number 414, F434
## 2024-05-01 19:46:01.535117 INFO::Fitting model to feature number 415, F435
## 2024-05-01 19:46:01.54143 INFO::Fitting model to feature number 416, F436
## 2024-05-01 19:46:01.54882 INFO::Fitting model to feature number 417, F437
## 2024-05-01 19:46:01.556357 INFO::Fitting model to feature number 418, F438
## 2024-05-01 19:46:01.563634 INFO::Fitting model to feature number 419, F439
## 2024-05-01 19:46:01.571334 INFO::Fitting model to feature number 420, F440
## 2024-05-01 19:46:01.576685 INFO::Fitting model to feature number 421, F441
## 2024-05-01 19:46:01.581996 INFO::Fitting model to feature number 422, F442
## 2024-05-01 19:46:01.586994 INFO::Fitting model to feature number 423, F443
## 2024-05-01 19:46:01.591848 INFO::Fitting model to feature number 424, F444
## 2024-05-01 19:46:01.596718 INFO::Fitting model to feature number 425, F445
## 2024-05-01 19:46:01.601556 INFO::Fitting model to feature number 426, F446
## 2024-05-01 19:46:01.606604 INFO::Fitting model to feature number 427, F447
## 2024-05-01 19:46:01.611594 INFO::Fitting model to feature number 428, F448
## 2024-05-01 19:46:01.616689 INFO::Fitting model to feature number 429, F449
## 2024-05-01 19:46:01.621687 INFO::Fitting model to feature number 430, F450
## 2024-05-01 19:46:01.627337 INFO::Fitting model to feature number 431, F451
## 2024-05-01 19:46:01.632357 INFO::Fitting model to feature number 432, F452
## 2024-05-01 19:46:01.637502 INFO::Fitting model to feature number 433, F454
## 2024-05-01 19:46:01.642566 INFO::Fitting model to feature number 434, F455
## 2024-05-01 19:46:01.647691 INFO::Fitting model to feature number 435, F456
## 2024-05-01 19:46:01.652771 INFO::Fitting model to feature number 436, F457
## 2024-05-01 19:46:01.657825 INFO::Fitting model to feature number 437, F458
## 2024-05-01 19:46:01.663269 INFO::Fitting model to feature number 438, F459
## 2024-05-01 19:46:01.669186 INFO::Fitting model to feature number 439, F461
## 2024-05-01 19:46:01.674273 INFO::Fitting model to feature number 440, F462
## 2024-05-01 19:46:01.681787 INFO::Fitting model to feature number 441, F463
## 2024-05-01 19:46:01.687138 INFO::Fitting model to feature number 442, F464
## 2024-05-01 19:46:01.692335 INFO::Fitting model to feature number 443, F465
## 2024-05-01 19:46:01.697834 INFO::Fitting model to feature number 444, F466
## 2024-05-01 19:46:01.702825 INFO::Fitting model to feature number 445, F467
## 2024-05-01 19:46:01.708582 INFO::Fitting model to feature number 446, F468
## 2024-05-01 19:46:01.71696 INFO::Fitting model to feature number 447, F469
## 2024-05-01 19:46:01.724892 INFO::Fitting model to feature number 448, F470
## 2024-05-01 19:46:01.730092 INFO::Fitting model to feature number 449, F471
## 2024-05-01 19:46:01.735828 INFO::Fitting model to feature number 450, F474
## 2024-05-01 19:46:01.741141 INFO::Fitting model to feature number 451, F475
## 2024-05-01 19:46:01.746266 INFO::Fitting model to feature number 452, F476
## 2024-05-01 19:46:01.751317 INFO::Fitting model to feature number 453, F477
## 2024-05-01 19:46:01.756541 INFO::Fitting model to feature number 454, F478
## 2024-05-01 19:46:01.76161 INFO::Fitting model to feature number 455, F479
## 2024-05-01 19:46:01.766606 INFO::Fitting model to feature number 456, F480
## 2024-05-01 19:46:01.773588 INFO::Fitting model to feature number 457, F481
## 2024-05-01 19:46:01.779793 INFO::Fitting model to feature number 458, F482
## 2024-05-01 19:46:01.784648 INFO::Fitting model to feature number 459, F483
## 2024-05-01 19:46:01.791072 INFO::Fitting model to feature number 460, F484
## 2024-05-01 19:46:01.796197 INFO::Fitting model to feature number 461, F485
## 2024-05-01 19:46:01.801383 INFO::Fitting model to feature number 462, F486
## 2024-05-01 19:46:01.806457 INFO::Fitting model to feature number 463, F487
## 2024-05-01 19:46:01.814499 INFO::Fitting model to feature number 464, F488
## 2024-05-01 19:46:01.819955 INFO::Fitting model to feature number 465, F489
## 2024-05-01 19:46:01.826301 INFO::Fitting model to feature number 466, F490
## 2024-05-01 19:46:01.837044 INFO::Fitting model to feature number 467, F491
## 2024-05-01 19:46:01.843045 INFO::Fitting model to feature number 468, F492
## 2024-05-01 19:46:01.849098 INFO::Fitting model to feature number 469, F493
## 2024-05-01 19:46:01.854731 INFO::Fitting model to feature number 470, F494
## 2024-05-01 19:46:01.860038 INFO::Fitting model to feature number 471, F495
## 2024-05-01 19:46:01.865256 INFO::Fitting model to feature number 472, F496
## 2024-05-01 19:46:01.871481 INFO::Fitting model to feature number 473, F497
## 2024-05-01 19:46:01.877053 INFO::Fitting model to feature number 474, F498
## 2024-05-01 19:46:01.882269 INFO::Fitting model to feature number 475, F499
## 2024-05-01 19:46:01.887376 INFO::Fitting model to feature number 476, F500
## 2024-05-01 19:46:01.892896 INFO::Fitting model to feature number 477, F501
## 2024-05-01 19:46:01.898043 INFO::Fitting model to feature number 478, F502
## 2024-05-01 19:46:01.904846 INFO::Fitting model to feature number 479, F503
## 2024-05-01 19:46:01.912647 INFO::Fitting model to feature number 480, F504
## 2024-05-01 19:46:01.918113 INFO::Fitting model to feature number 481, F505
## 2024-05-01 19:46:01.925602 INFO::Fitting model to feature number 482, F506
## 2024-05-01 19:46:01.930688 INFO::Fitting model to feature number 483, F507
## 2024-05-01 19:46:01.936309 INFO::Fitting model to feature number 484, F508
## 2024-05-01 19:46:01.94352 INFO::Fitting model to feature number 485, F509
## 2024-05-01 19:46:01.951713 INFO::Fitting model to feature number 486, F510
## 2024-05-01 19:46:01.959777 INFO::Fitting model to feature number 487, F511
## 2024-05-01 19:46:01.966971 INFO::Fitting model to feature number 488, F512
## 2024-05-01 19:46:01.974999 INFO::Fitting model to feature number 489, F513
## 2024-05-01 19:46:01.982988 INFO::Fitting model to feature number 490, F514
## 2024-05-01 19:46:01.991011 INFO::Fitting model to feature number 491, F515
## 2024-05-01 19:46:01.99924 INFO::Fitting model to feature number 492, F516
## 2024-05-01 19:46:02.004698 INFO::Fitting model to feature number 493, F517
## 2024-05-01 19:46:02.009815 INFO::Fitting model to feature number 494, F518
## 2024-05-01 19:46:02.014969 INFO::Fitting model to feature number 495, F519
## 2024-05-01 19:46:02.020008 INFO::Fitting model to feature number 496, F520
## 2024-05-01 19:46:02.025037 INFO::Fitting model to feature number 497, F521
## 2024-05-01 19:46:02.030127 INFO::Fitting model to feature number 498, F522
## 2024-05-01 19:46:02.035223 INFO::Fitting model to feature number 499, F523
## 2024-05-01 19:46:02.040262 INFO::Fitting model to feature number 500, F524
## 2024-05-01 19:46:02.045395 INFO::Fitting model to feature number 501, F525
## 2024-05-01 19:46:02.050371 INFO::Fitting model to feature number 502, F526
## 2024-05-01 19:46:02.055455 INFO::Fitting model to feature number 503, F527
## 2024-05-01 19:46:02.060655 INFO::Fitting model to feature number 504, F528
## 2024-05-01 19:46:02.065887 INFO::Fitting model to feature number 505, F529
## 2024-05-01 19:46:02.070928 INFO::Fitting model to feature number 506, F530
## 2024-05-01 19:46:02.076319 INFO::Fitting model to feature number 507, F531
## 2024-05-01 19:46:02.081335 INFO::Fitting model to feature number 508, F532
## 2024-05-01 19:46:02.087205 INFO::Fitting model to feature number 509, F533
## 2024-05-01 19:46:02.092314 INFO::Fitting model to feature number 510, F534
## 2024-05-01 19:46:02.097409 INFO::Fitting model to feature number 511, F535
## 2024-05-01 19:46:02.102468 INFO::Fitting model to feature number 512, F536
## 2024-05-01 19:46:02.107598 INFO::Fitting model to feature number 513, F537
## 2024-05-01 19:46:02.112638 INFO::Fitting model to feature number 514, F539
## 2024-05-01 19:46:02.118014 INFO::Fitting model to feature number 515, F540
## 2024-05-01 19:46:02.123365 INFO::Fitting model to feature number 516, F541
## 2024-05-01 19:46:02.128399 INFO::Fitting model to feature number 517, F543
## 2024-05-01 19:46:02.133465 INFO::Fitting model to feature number 518, F544
## 2024-05-01 19:46:02.138411 INFO::Fitting model to feature number 519, F545
## 2024-05-01 19:46:02.143424 INFO::Fitting model to feature number 520, F546
## 2024-05-01 19:46:02.14842 INFO::Fitting model to feature number 521, F547
## 2024-05-01 19:46:02.153597 INFO::Fitting model to feature number 522, F548
## 2024-05-01 19:46:02.1585 INFO::Fitting model to feature number 523, F549
## 2024-05-01 19:46:02.163466 INFO::Fitting model to feature number 524, F550
## 2024-05-01 19:46:02.168527 INFO::Fitting model to feature number 525, F551
## 2024-05-01 19:46:02.173448 INFO::Fitting model to feature number 526, F552
## 2024-05-01 19:46:02.17845 INFO::Fitting model to feature number 527, F553
## 2024-05-01 19:46:02.183653 INFO::Fitting model to feature number 528, F554
## 2024-05-01 19:46:02.188834 INFO::Fitting model to feature number 529, F555
## 2024-05-01 19:46:02.193856 INFO::Fitting model to feature number 530, F556
## 2024-05-01 19:46:02.199174 INFO::Fitting model to feature number 531, F557
## 2024-05-01 19:46:02.204112 INFO::Fitting model to feature number 532, F558
## 2024-05-01 19:46:02.209153 INFO::Fitting model to feature number 533, F559
## 2024-05-01 19:46:02.214294 INFO::Fitting model to feature number 534, F560
## 2024-05-01 19:46:02.219259 INFO::Fitting model to feature number 535, F561
## 2024-05-01 19:46:02.224069 INFO::Fitting model to feature number 536, F562
## 2024-05-01 19:46:02.229042 INFO::Fitting model to feature number 537, F563
## 2024-05-01 19:46:02.233972 INFO::Fitting model to feature number 538, F564
## 2024-05-01 19:46:02.238923 INFO::Fitting model to feature number 539, F566
## 2024-05-01 19:46:02.243782 INFO::Fitting model to feature number 540, F567
## 2024-05-01 19:46:02.248776 INFO::Fitting model to feature number 541, F568
## 2024-05-01 19:46:02.253628 INFO::Fitting model to feature number 542, F569
## 2024-05-01 19:46:02.258632 INFO::Fitting model to feature number 543, F570
## 2024-05-01 19:46:02.263634 INFO::Fitting model to feature number 544, F571
## 2024-05-01 19:46:02.268553 INFO::Fitting model to feature number 545, F572
## 2024-05-01 19:46:02.273461 INFO::Fitting model to feature number 546, F573
## 2024-05-01 19:46:02.280422 INFO::Fitting model to feature number 547, F574
## 2024-05-01 19:46:02.287545 INFO::Fitting model to feature number 548, F575
## 2024-05-01 19:46:02.295106 INFO::Fitting model to feature number 549, F576
## 2024-05-01 19:46:02.303437 INFO::Fitting model to feature number 550, F577
## 2024-05-01 19:46:02.31206 INFO::Fitting model to feature number 551, F578
## 2024-05-01 19:46:02.320466 INFO::Fitting model to feature number 552, F579
## 2024-05-01 19:46:02.331045 INFO::Fitting model to feature number 553, F580
## 2024-05-01 19:46:02.336993 INFO::Fitting model to feature number 554, F581
## 2024-05-01 19:46:02.34266 INFO::Fitting model to feature number 555, F582
## 2024-05-01 19:46:02.348052 INFO::Fitting model to feature number 556, F583
## 2024-05-01 19:46:02.353304 INFO::Fitting model to feature number 557, F584
## 2024-05-01 19:46:02.358836 INFO::Fitting model to feature number 558, F585
## 2024-05-01 19:46:02.36396 INFO::Fitting model to feature number 559, F586
## 2024-05-01 19:46:02.37074 INFO::Fitting model to feature number 560, F587
## 2024-05-01 19:46:02.376243 INFO::Fitting model to feature number 561, F588
## 2024-05-01 19:46:02.381492 INFO::Fitting model to feature number 562, F589
## 2024-05-01 19:46:02.386607 INFO::Fitting model to feature number 563, F590
## 2024-05-01 19:46:02.391835 INFO::Fitting model to feature number 564, F591
## 2024-05-01 19:46:02.396802 INFO::Fitting model to feature number 565, F592
## 2024-05-01 19:46:02.401925 INFO::Fitting model to feature number 566, F593
## 2024-05-01 19:46:02.406861 INFO::Fitting model to feature number 567, F594
## 2024-05-01 19:46:02.41189 INFO::Fitting model to feature number 568, F595
## 2024-05-01 19:46:02.416788 INFO::Fitting model to feature number 569, F596
## 2024-05-01 19:46:02.421941 INFO::Fitting model to feature number 570, F597
## 2024-05-01 19:46:02.426834 INFO::Fitting model to feature number 571, F598
## 2024-05-01 19:46:02.431883 INFO::Fitting model to feature number 572, F599
## 2024-05-01 19:46:02.437265 INFO::Fitting model to feature number 573, F600
## 2024-05-01 19:46:02.444713 INFO::Fitting model to feature number 574, F601
## 2024-05-01 19:46:02.451898 INFO::Fitting model to feature number 575, F602
## 2024-05-01 19:46:02.457223 INFO::Fitting model to feature number 576, F603
## 2024-05-01 19:46:02.463718 INFO::Fitting model to feature number 577, F605
## 2024-05-01 19:46:02.469177 INFO::Fitting model to feature number 578, F606
## 2024-05-01 19:46:02.474297 INFO::Fitting model to feature number 579, F607
## 2024-05-01 19:46:02.479352 INFO::Fitting model to feature number 580, F608
## 2024-05-01 19:46:02.48478 INFO::Fitting model to feature number 581, F609
## 2024-05-01 19:46:02.489948 INFO::Fitting model to feature number 582, F610
## 2024-05-01 19:46:02.495114 INFO::Fitting model to feature number 583, F611
## 2024-05-01 19:46:02.500504 INFO::Fitting model to feature number 584, F612
## 2024-05-01 19:46:02.505525 INFO::Fitting model to feature number 585, F613
## 2024-05-01 19:46:02.513195 INFO::Fitting model to feature number 586, F614
## 2024-05-01 19:46:02.520202 INFO::Fitting model to feature number 587, F615
## 2024-05-01 19:46:02.527916 INFO::Fitting model to feature number 588, F616
## 2024-05-01 19:46:02.535875 INFO::Fitting model to feature number 589, F617
## 2024-05-01 19:46:02.544308 INFO::Fitting model to feature number 590, F618
## 2024-05-01 19:46:02.553162 INFO::Fitting model to feature number 591, F619
## 2024-05-01 19:46:02.560949 INFO::Fitting model to feature number 592, F620
## 2024-05-01 19:46:02.568602 INFO::Fitting model to feature number 593, F621
## 2024-05-01 19:46:02.576624 INFO::Fitting model to feature number 594, F622
## 2024-05-01 19:46:02.584538 INFO::Fitting model to feature number 595, F623
## 2024-05-01 19:46:02.591846 INFO::Fitting model to feature number 596, F624
## 2024-05-01 19:46:02.596908 INFO::Fitting model to feature number 597, F625
## 2024-05-01 19:46:02.601804 INFO::Fitting model to feature number 598, F626
## 2024-05-01 19:46:02.606852 INFO::Fitting model to feature number 599, F627
## 2024-05-01 19:46:02.61236 INFO::Fitting model to feature number 600, F628
## 2024-05-01 19:46:02.642584 INFO::Fitting model to feature number 601, F629
## 2024-05-01 19:46:02.647655 INFO::Fitting model to feature number 602, F630
## 2024-05-01 19:46:02.652514 INFO::Fitting model to feature number 603, F631
## 2024-05-01 19:46:02.65736 INFO::Fitting model to feature number 604, F632
## 2024-05-01 19:46:02.662047 INFO::Fitting model to feature number 605, F633
## 2024-05-01 19:46:02.66674 INFO::Fitting model to feature number 606, F634
## 2024-05-01 19:46:02.671416 INFO::Fitting model to feature number 607, F635
## 2024-05-01 19:46:02.676248 INFO::Fitting model to feature number 608, F636
## 2024-05-01 19:46:02.681034 INFO::Fitting model to feature number 609, F637
## 2024-05-01 19:46:02.685803 INFO::Fitting model to feature number 610, F638
## 2024-05-01 19:46:02.690874 INFO::Fitting model to feature number 611, F639
## 2024-05-01 19:46:02.695622 INFO::Fitting model to feature number 612, F640
## 2024-05-01 19:46:02.70027 INFO::Fitting model to feature number 613, F641
## 2024-05-01 19:46:02.704925 INFO::Fitting model to feature number 614, F642
## 2024-05-01 19:46:02.709584 INFO::Fitting model to feature number 615, F643
## 2024-05-01 19:46:02.714583 INFO::Fitting model to feature number 616, F644
## 2024-05-01 19:46:02.719125 INFO::Fitting model to feature number 617, F645
## 2024-05-01 19:46:02.723728 INFO::Fitting model to feature number 618, F646
## 2024-05-01 19:46:02.728376 INFO::Fitting model to feature number 619, F647
## 2024-05-01 19:46:02.733012 INFO::Fitting model to feature number 620, F648
## 2024-05-01 19:46:02.737663 INFO::Fitting model to feature number 621, F649
## 2024-05-01 19:46:02.7422 INFO::Fitting model to feature number 622, F650
## 2024-05-01 19:46:02.746725 INFO::Fitting model to feature number 623, F651
## 2024-05-01 19:46:02.751204 INFO::Fitting model to feature number 624, F652
## 2024-05-01 19:46:02.755692 INFO::Fitting model to feature number 625, F653
## 2024-05-01 19:46:02.761557 INFO::Fitting model to feature number 626, F654
## 2024-05-01 19:46:02.766241 INFO::Fitting model to feature number 627, F655
## 2024-05-01 19:46:02.771244 INFO::Fitting model to feature number 628, F656
## 2024-05-01 19:46:02.776558 INFO::Fitting model to feature number 629, F657
## 2024-05-01 19:46:02.781308 INFO::Fitting model to feature number 630, F658
## 2024-05-01 19:46:02.785892 INFO::Fitting model to feature number 631, F659
## 2024-05-01 19:46:02.79038 INFO::Fitting model to feature number 632, F660
## 2024-05-01 19:46:02.79506 INFO::Fitting model to feature number 633, F661
## 2024-05-01 19:46:02.799615 INFO::Fitting model to feature number 634, F662
## 2024-05-01 19:46:02.804226 INFO::Fitting model to feature number 635, F663
## 2024-05-01 19:46:02.808927 INFO::Fitting model to feature number 636, F664
## 2024-05-01 19:46:02.813602 INFO::Fitting model to feature number 637, F665
## 2024-05-01 19:46:02.818239 INFO::Fitting model to feature number 638, F666
## 2024-05-01 19:46:02.822812 INFO::Fitting model to feature number 639, F667
## 2024-05-01 19:46:02.827513 INFO::Fitting model to feature number 640, F668
## 2024-05-01 19:46:02.831982 INFO::Fitting model to feature number 641, F669
## 2024-05-01 19:46:02.836515 INFO::Fitting model to feature number 642, F670
## 2024-05-01 19:46:02.84118 INFO::Fitting model to feature number 643, F671
## 2024-05-01 19:46:02.845768 INFO::Fitting model to feature number 644, F672
## 2024-05-01 19:46:02.850197 INFO::Fitting model to feature number 645, F673
## 2024-05-01 19:46:02.854967 INFO::Fitting model to feature number 646, F674
## 2024-05-01 19:46:02.859453 INFO::Fitting model to feature number 647, F675
## 2024-05-01 19:46:02.863941 INFO::Fitting model to feature number 648, F676
## 2024-05-01 19:46:02.868373 INFO::Fitting model to feature number 649, F677
## 2024-05-01 19:46:02.872757 INFO::Fitting model to feature number 650, F678
## 2024-05-01 19:46:02.877128 INFO::Fitting model to feature number 651, F679
## 2024-05-01 19:46:02.881526 INFO::Fitting model to feature number 652, F680
## 2024-05-01 19:46:02.88587 INFO::Fitting model to feature number 653, F681
## 2024-05-01 19:46:02.890301 INFO::Fitting model to feature number 654, F682
## 2024-05-01 19:46:02.894675 INFO::Fitting model to feature number 655, F683
## 2024-05-01 19:46:02.898984 INFO::Fitting model to feature number 656, F684
## 2024-05-01 19:46:02.903326 INFO::Fitting model to feature number 657, F685
## 2024-05-01 19:46:02.90821 INFO::Fitting model to feature number 658, F686
## 2024-05-01 19:46:02.912684 INFO::Fitting model to feature number 659, F687
## 2024-05-01 19:46:02.917166 INFO::Fitting model to feature number 660, F688
## 2024-05-01 19:46:02.921657 INFO::Fitting model to feature number 661, F689
## 2024-05-01 19:46:02.926119 INFO::Fitting model to feature number 662, F690
## 2024-05-01 19:46:02.930544 INFO::Fitting model to feature number 663, F691
## 2024-05-01 19:46:02.935037 INFO::Fitting model to feature number 664, F692
## 2024-05-01 19:46:02.939432 INFO::Fitting model to feature number 665, F693
## 2024-05-01 19:46:02.94381 INFO::Fitting model to feature number 666, F694
## 2024-05-01 19:46:02.948274 INFO::Fitting model to feature number 667, F695
## 2024-05-01 19:46:02.95278 INFO::Fitting model to feature number 668, F696
## 2024-05-01 19:46:02.957257 INFO::Fitting model to feature number 669, F697
## 2024-05-01 19:46:02.961723 INFO::Fitting model to feature number 670, F698
## 2024-05-01 19:46:02.966221 INFO::Fitting model to feature number 671, F699
## 2024-05-01 19:46:02.970615 INFO::Fitting model to feature number 672, F700
## 2024-05-01 19:46:02.975058 INFO::Fitting model to feature number 673, F701
## 2024-05-01 19:46:02.981064 INFO::Fitting model to feature number 674, F702
## 2024-05-01 19:46:02.987784 INFO::Fitting model to feature number 675, F704
## 2024-05-01 19:46:02.992605 INFO::Fitting model to feature number 676, F705
## 2024-05-01 19:46:02.997379 INFO::Fitting model to feature number 677, F706
## 2024-05-01 19:46:03.002123 INFO::Fitting model to feature number 678, F707
## 2024-05-01 19:46:03.006923 INFO::Fitting model to feature number 679, F708
## 2024-05-01 19:46:03.0116 INFO::Fitting model to feature number 680, F709
## 2024-05-01 19:46:03.016296 INFO::Fitting model to feature number 681, F710
## 2024-05-01 19:46:03.023204 INFO::Fitting model to feature number 682, F711
## 2024-05-01 19:46:03.031314 INFO::Fitting model to feature number 683, F712
## 2024-05-01 19:46:03.039498 INFO::Fitting model to feature number 684, F713
## 2024-05-01 19:46:03.047814 INFO::Fitting model to feature number 685, F714
## 2024-05-01 19:46:03.055163 INFO::Fitting model to feature number 686, F715
## 2024-05-01 19:46:03.060256 INFO::Fitting model to feature number 687, F716
## 2024-05-01 19:46:03.06518 INFO::Fitting model to feature number 688, F717
## 2024-05-01 19:46:03.070105 INFO::Fitting model to feature number 689, F718
## 2024-05-01 19:46:03.075035 INFO::Fitting model to feature number 690, F719
## 2024-05-01 19:46:03.079909 INFO::Fitting model to feature number 691, F720
## 2024-05-01 19:46:03.084807 INFO::Fitting model to feature number 692, F721
## 2024-05-01 19:46:03.0896 INFO::Fitting model to feature number 693, F722
## 2024-05-01 19:46:03.094346 INFO::Fitting model to feature number 694, F723
## 2024-05-01 19:46:03.099516 INFO::Fitting model to feature number 695, F724
## 2024-05-01 19:46:03.104302 INFO::Fitting model to feature number 696, F725
## 2024-05-01 19:46:03.109173 INFO::Fitting model to feature number 697, F726
## 2024-05-01 19:46:03.114281 INFO::Fitting model to feature number 698, F727
## 2024-05-01 19:46:03.119165 INFO::Fitting model to feature number 699, F728
## 2024-05-01 19:46:03.124519 INFO::Fitting model to feature number 700, F729
## 2024-05-01 19:46:03.130611 INFO::Fitting model to feature number 701, F730
## 2024-05-01 19:46:03.136775 INFO::Fitting model to feature number 702, F731
## 2024-05-01 19:46:03.144072 INFO::Fitting model to feature number 703, F732
## 2024-05-01 19:46:03.149122 INFO::Fitting model to feature number 704, F733
## 2024-05-01 19:46:03.155621 INFO::Fitting model to feature number 705, F734
## 2024-05-01 19:46:03.161653 INFO::Fitting model to feature number 706, F735
## 2024-05-01 19:46:03.166931 INFO::Fitting model to feature number 707, F736
## 2024-05-01 19:46:03.172439 INFO::Fitting model to feature number 708, F737
## 2024-05-01 19:46:03.177371 INFO::Fitting model to feature number 709, F739
## 2024-05-01 19:46:03.18214 INFO::Fitting model to feature number 710, F740
## 2024-05-01 19:46:03.186909 INFO::Fitting model to feature number 711, F741
## 2024-05-01 19:46:03.191618 INFO::Fitting model to feature number 712, F742
## 2024-05-01 19:46:03.196395 INFO::Fitting model to feature number 713, F743
## 2024-05-01 19:46:03.201407 INFO::Fitting model to feature number 714, F744
## 2024-05-01 19:46:03.206244 INFO::Fitting model to feature number 715, F745
## 2024-05-01 19:46:03.211037 INFO::Fitting model to feature number 716, F746
## 2024-05-01 19:46:03.215828 INFO::Fitting model to feature number 717, F747
## 2024-05-01 19:46:03.220586 INFO::Fitting model to feature number 718, F748
## 2024-05-01 19:46:03.225519 INFO::Fitting model to feature number 719, F749
## 2024-05-01 19:46:03.230215 INFO::Fitting model to feature number 720, F750
## 2024-05-01 19:46:03.234983 INFO::Fitting model to feature number 721, F751
## 2024-05-01 19:46:03.239681 INFO::Fitting model to feature number 722, F752
## 2024-05-01 19:46:03.244613 INFO::Fitting model to feature number 723, F753
## 2024-05-01 19:46:03.249361 INFO::Fitting model to feature number 724, F754
## 2024-05-01 19:46:03.254004 INFO::Fitting model to feature number 725, F755
## 2024-05-01 19:46:03.258596 INFO::Fitting model to feature number 726, F756
## 2024-05-01 19:46:03.263138 INFO::Fitting model to feature number 727, F757
## 2024-05-01 19:46:03.267678 INFO::Fitting model to feature number 728, F758
## 2024-05-01 19:46:03.272222 INFO::Fitting model to feature number 729, F759
## 2024-05-01 19:46:03.276835 INFO::Fitting model to feature number 730, F760
## 2024-05-01 19:46:03.281434 INFO::Fitting model to feature number 731, F761
## 2024-05-01 19:46:03.285902 INFO::Fitting model to feature number 732, F762
## 2024-05-01 19:46:03.290353 INFO::Fitting model to feature number 733, F763
## 2024-05-01 19:46:03.295008 INFO::Fitting model to feature number 734, F764
## 2024-05-01 19:46:03.299535 INFO::Fitting model to feature number 735, F765
## 2024-05-01 19:46:03.304021 INFO::Fitting model to feature number 736, F766
## 2024-05-01 19:46:03.308519 INFO::Fitting model to feature number 737, F767
## 2024-05-01 19:46:03.313019 INFO::Fitting model to feature number 738, F768
## 2024-05-01 19:46:03.317468 INFO::Fitting model to feature number 739, F769
## 2024-05-01 19:46:03.32202 INFO::Fitting model to feature number 740, F770
## 2024-05-01 19:46:03.326667 INFO::Fitting model to feature number 741, F771
## 2024-05-01 19:46:03.33118 INFO::Fitting model to feature number 742, F772
## 2024-05-01 19:46:03.336671 INFO::Fitting model to feature number 743, F773
## 2024-05-01 19:46:03.344651 INFO::Fitting model to feature number 744, F774
## 2024-05-01 19:46:03.35073 INFO::Fitting model to feature number 745, F775
## 2024-05-01 19:46:03.357528 INFO::Fitting model to feature number 746, F776
## 2024-05-01 19:46:03.362465 INFO::Fitting model to feature number 747, F777
## 2024-05-01 19:46:03.367371 INFO::Fitting model to feature number 748, F778
## 2024-05-01 19:46:03.373719 INFO::Fitting model to feature number 749, F779
## 2024-05-01 19:46:03.379653 INFO::Fitting model to feature number 750, F780
## 2024-05-01 19:46:03.38445 INFO::Fitting model to feature number 751, F781
## 2024-05-01 19:46:03.389285 INFO::Fitting model to feature number 752, F782
## 2024-05-01 19:46:03.394006 INFO::Fitting model to feature number 753, F783
## 2024-05-01 19:46:03.398686 INFO::Fitting model to feature number 754, F784
## 2024-05-01 19:46:03.403654 INFO::Fitting model to feature number 755, F785
## 2024-05-01 19:46:03.409312 INFO::Fitting model to feature number 756, F786
## 2024-05-01 19:46:03.413965 INFO::Fitting model to feature number 757, F787
## 2024-05-01 19:46:03.419731 INFO::Fitting model to feature number 758, F788
## 2024-05-01 19:46:03.424685 INFO::Fitting model to feature number 759, F789
## 2024-05-01 19:46:03.431542 INFO::Fitting model to feature number 760, F790
## 2024-05-01 19:46:03.439504 INFO::Fitting model to feature number 761, F791
## 2024-05-01 19:46:03.447495 INFO::Fitting model to feature number 762, F792
## 2024-05-01 19:46:03.454718 INFO::Fitting model to feature number 763, F793
## 2024-05-01 19:46:03.462489 INFO::Fitting model to feature number 764, F794
## 2024-05-01 19:46:03.470176 INFO::Fitting model to feature number 765, F795
## 2024-05-01 19:46:03.475072 INFO::Fitting model to feature number 766, F796
## 2024-05-01 19:46:03.47996 INFO::Fitting model to feature number 767, F797
## 2024-05-01 19:46:03.4848 INFO::Fitting model to feature number 768, F798
## 2024-05-01 19:46:03.489549 INFO::Fitting model to feature number 769, F799
## 2024-05-01 19:46:03.494255 INFO::Fitting model to feature number 770, F800
## 2024-05-01 19:46:03.498979 INFO::Fitting model to feature number 771, F801
## 2024-05-01 19:46:03.505756 INFO::Fitting model to feature number 772, F802
## 2024-05-01 19:46:03.513355 INFO::Fitting model to feature number 773, F803
## 2024-05-01 19:46:03.520929 INFO::Fitting model to feature number 774, F804
## 2024-05-01 19:46:03.529892 INFO::Fitting model to feature number 775, F805
## 2024-05-01 19:46:03.537733 INFO::Fitting model to feature number 776, F806
## 2024-05-01 19:46:03.545541 INFO::Fitting model to feature number 777, F808
## 2024-05-01 19:46:03.553068 INFO::Fitting model to feature number 778, F809
## 2024-05-01 19:46:03.560739 INFO::Fitting model to feature number 779, F810
## 2024-05-01 19:46:03.56864 INFO::Fitting model to feature number 780, F811
## 2024-05-01 19:46:03.576449 INFO::Fitting model to feature number 781, F812
## 2024-05-01 19:46:03.584318 INFO::Fitting model to feature number 782, F813
## 2024-05-01 19:46:03.592122 INFO::Fitting model to feature number 783, F814
## 2024-05-01 19:46:03.59995 INFO::Fitting model to feature number 784, F815
## 2024-05-01 19:46:03.607657 INFO::Fitting model to feature number 785, F816
## 2024-05-01 19:46:03.61508 INFO::Fitting model to feature number 786, F817
## 2024-05-01 19:46:03.622558 INFO::Fitting model to feature number 787, F818
## 2024-05-01 19:46:03.631433 INFO::Fitting model to feature number 788, F819
## 2024-05-01 19:46:03.639211 INFO::Fitting model to feature number 789, F820
## 2024-05-01 19:46:03.646992 INFO::Fitting model to feature number 790, F821
## 2024-05-01 19:46:03.654826 INFO::Fitting model to feature number 791, F822
## 2024-05-01 19:46:03.662684 INFO::Fitting model to feature number 792, F823
## 2024-05-01 19:46:03.670694 INFO::Fitting model to feature number 793, F824
## 2024-05-01 19:46:03.678506 INFO::Fitting model to feature number 794, F825
## 2024-05-01 19:46:03.686468 INFO::Fitting model to feature number 795, F826
## 2024-05-01 19:46:03.693997 INFO::Fitting model to feature number 796, F827
## 2024-05-01 19:46:03.701932 INFO::Fitting model to feature number 797, F828
## 2024-05-01 19:46:03.709591 INFO::Fitting model to feature number 798, F829
## 2024-05-01 19:46:03.717463 INFO::Fitting model to feature number 799, F830
## 2024-05-01 19:46:03.725149 INFO::Fitting model to feature number 800, F831
## 2024-05-01 19:46:03.733284 INFO::Fitting model to feature number 801, F832
## 2024-05-01 19:46:03.74117 INFO::Fitting model to feature number 802, F833
## 2024-05-01 19:46:03.749285 INFO::Fitting model to feature number 803, F834
## 2024-05-01 19:46:03.756978 INFO::Fitting model to feature number 804, F835
## 2024-05-01 19:46:03.765151 INFO::Fitting model to feature number 805, F836
## 2024-05-01 19:46:03.773074 INFO::Fitting model to feature number 806, F837
## 2024-05-01 19:46:03.780287 INFO::Fitting model to feature number 807, F838
## 2024-05-01 19:46:03.793774 INFO::Fitting model to feature number 808, F839
## 2024-05-01 19:46:03.800554 INFO::Fitting model to feature number 809, F840
## 2024-05-01 19:46:03.806217 INFO::Fitting model to feature number 810, F841
## 2024-05-01 19:46:03.8129 INFO::Fitting model to feature number 811, F842
## 2024-05-01 19:46:03.820287 INFO::Fitting model to feature number 812, F843
## 2024-05-01 19:46:03.827703 INFO::Fitting model to feature number 813, F844
## 2024-05-01 19:46:03.835539 INFO::Fitting model to feature number 814, F845
## 2024-05-01 19:46:03.843661 INFO::Fitting model to feature number 815, F846
## 2024-05-01 19:46:03.851685 INFO::Fitting model to feature number 816, F847
## 2024-05-01 19:46:03.857894 INFO::Fitting model to feature number 817, F848
## 2024-05-01 19:46:03.863037 INFO::Fitting model to feature number 818, F849
## 2024-05-01 19:46:03.868816 INFO::Fitting model to feature number 819, F850
## 2024-05-01 19:46:03.873997 INFO::Fitting model to feature number 820, F851
## 2024-05-01 19:46:03.879044 INFO::Fitting model to feature number 821, F852
## 2024-05-01 19:46:03.884184 INFO::Fitting model to feature number 822, F853
## 2024-05-01 19:46:03.889265 INFO::Fitting model to feature number 823, F854
## 2024-05-01 19:46:03.89423 INFO::Fitting model to feature number 824, F855
## 2024-05-01 19:46:03.899214 INFO::Fitting model to feature number 825, F856
## 2024-05-01 19:46:03.904366 INFO::Fitting model to feature number 826, F857
## 2024-05-01 19:46:03.909243 INFO::Fitting model to feature number 827, F858
## 2024-05-01 19:46:03.914202 INFO::Fitting model to feature number 828, F859
## 2024-05-01 19:46:03.918983 INFO::Fitting model to feature number 829, F860
## 2024-05-01 19:46:03.92387 INFO::Fitting model to feature number 830, F861
## 2024-05-01 19:46:03.928701 INFO::Fitting model to feature number 831, F862
## 2024-05-01 19:46:03.933609 INFO::Fitting model to feature number 832, F863
## 2024-05-01 19:46:03.938585 INFO::Fitting model to feature number 833, F864
## 2024-05-01 19:46:03.943585 INFO::Fitting model to feature number 834, F865
## 2024-05-01 19:46:03.948554 INFO::Fitting model to feature number 835, F866
## 2024-05-01 19:46:03.953608 INFO::Fitting model to feature number 836, F867
## 2024-05-01 19:46:03.958631 INFO::Fitting model to feature number 837, F868
## 2024-05-01 19:46:03.963607 INFO::Fitting model to feature number 838, F869
## 2024-05-01 19:46:03.968562 INFO::Fitting model to feature number 839, F870
## 2024-05-01 19:46:03.973385 INFO::Fitting model to feature number 840, F871
## 2024-05-01 19:46:03.978256 INFO::Fitting model to feature number 841, F872
## 2024-05-01 19:46:03.983145 INFO::Fitting model to feature number 842, F873
## 2024-05-01 19:46:03.988053 INFO::Fitting model to feature number 843, F874
## 2024-05-01 19:46:03.992907 INFO::Fitting model to feature number 844, F875
## 2024-05-01 19:46:03.997744 INFO::Fitting model to feature number 845, F876
## 2024-05-01 19:46:04.002637 INFO::Fitting model to feature number 846, F877
## 2024-05-01 19:46:04.007548 INFO::Fitting model to feature number 847, F878
## 2024-05-01 19:46:04.012391 INFO::Fitting model to feature number 848, F879
## 2024-05-01 19:46:04.018707 INFO::Fitting model to feature number 849, F880
## 2024-05-01 19:46:04.023665 INFO::Fitting model to feature number 850, F881
## 2024-05-01 19:46:04.028618 INFO::Fitting model to feature number 851, F882
## 2024-05-01 19:46:04.033607 INFO::Fitting model to feature number 852, F883
## 2024-05-01 19:46:04.038516 INFO::Fitting model to feature number 853, F884
## 2024-05-01 19:46:04.043426 INFO::Fitting model to feature number 854, F885
## 2024-05-01 19:46:04.048441 INFO::Fitting model to feature number 855, F886
## 2024-05-01 19:46:04.05339 INFO::Fitting model to feature number 856, F887
## 2024-05-01 19:46:04.058337 INFO::Fitting model to feature number 857, F888
## 2024-05-01 19:46:04.063519 INFO::Fitting model to feature number 858, F889
## 2024-05-01 19:46:04.068792 INFO::Fitting model to feature number 859, F890
## 2024-05-01 19:46:04.073814 INFO::Fitting model to feature number 860, F891
## 2024-05-01 19:46:04.078897 INFO::Fitting model to feature number 861, F892
## 2024-05-01 19:46:04.085713 INFO::Fitting model to feature number 862, F893
## 2024-05-01 19:46:04.09151 INFO::Fitting model to feature number 863, F894
## 2024-05-01 19:46:04.096656 INFO::Fitting model to feature number 864, F895
## 2024-05-01 19:46:04.101618 INFO::Fitting model to feature number 865, F896
## 2024-05-01 19:46:04.106765 INFO::Fitting model to feature number 866, F897
## 2024-05-01 19:46:04.111667 INFO::Fitting model to feature number 867, F898
## 2024-05-01 19:46:04.116854 INFO::Fitting model to feature number 868, F899
## 2024-05-01 19:46:04.121995 INFO::Fitting model to feature number 869, F900
## 2024-05-01 19:46:04.313121 INFO::Counting total values for each feature
## 2024-05-01 19:46:04.501531 INFO::Writing filtered data to file Macarron_output/maaslin2_results/features/filtered_data.tsv
## 2024-05-01 19:46:04.866046 INFO::Writing filtered, normalized data to file Macarron_output/maaslin2_results/features/filtered_data_norm.tsv
## 2024-05-01 19:46:05.127344 INFO::Writing filtered, normalized, transformed data to file Macarron_output/maaslin2_results/features/filtered_data_norm_transformed.tsv
## 2024-05-01 19:46:05.475488 INFO::Writing residuals to file Macarron_output/maaslin2_results/fits/residuals.rds
## 2024-05-01 19:46:05.52802 INFO::Writing fitted values to file Macarron_output/maaslin2_results/fits/fitted.rds
## 2024-05-01 19:46:05.575368 INFO::Writing all results to file (ordered by increasing q-values): Macarron_output/maaslin2_results/all_results.tsv
## 2024-05-01 19:46:05.669459 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 19:46:05.702095 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 19:46:06.042493 INFO::Writing all prioritized metabolites to file: Macarron_output/prioritized_metabolites_all.csv
## 2024-05-01 19:46:06.074209 INFO::Writing characterizable prioritized metabolites to file: Macarron_output/prioritized_metabolites_characterizable.csv
## 2024-05-01 19:46:06.111002 INFO::Writing highly prioritized metabolites in IBD to file: Macarron_output/highly_prioritized_per_module_in_IBD.csv

3.3.2 Using dataframes as inputs

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

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

3.3.3 Running Macarron as individual functions

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

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

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

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

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

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

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

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

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

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

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

3.4 Advanced Topics

3.4.1 Generating the input chemical taxonomy file

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

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

3.4.2 Accessory output files

3.4.2.1 Macarron.log

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

3.4.2.2 modules_measures_of_success.csv

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

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

3.4.2.3 Maaslin2 results

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

3.4.3 Changing defaults

3.4.3.1 Filtering metabolic features based on prevalence

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

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

3.4.4 Minimum module size

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

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

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

3.4.5 Specifying fixed effects, random effects and reference

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

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

4 Command line invocation

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