1 Abstract

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

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

2 Installation

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

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

3 Running Macarron

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

3.1 Input CSV files

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

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

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

3.2 Output Files

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

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

3.3 Run a demo in R

3.3.1 Using CSV files as inputs

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

library(Macarron)
## Loading required package: SummarizedExperiment
## Loading required package: MatrixGenerics
## Loading required package: matrixStats
## 
## Attaching package: 'MatrixGenerics'
## The following objects are masked from 'package:matrixStats':
## 
##     colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,
##     colCounts, colCummaxs, colCummins, colCumprods, colCumsums,
##     colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,
##     colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,
##     colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,
##     colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,
##     colWeightedMeans, colWeightedMedians, colWeightedSds,
##     colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,
##     rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,
##     rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,
##     rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,
##     rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,
##     rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,
##     rowWeightedMads, rowWeightedMeans, rowWeightedMedians,
##     rowWeightedSds, rowWeightedVars
## Loading required package: GenomicRanges
## Loading required package: stats4
## Loading required package: BiocGenerics
## 
## Attaching package: 'BiocGenerics'
## The following objects are masked from 'package:stats':
## 
##     IQR, mad, sd, var, xtabs
## The following objects are masked from 'package:base':
## 
##     Filter, Find, Map, Position, Reduce, anyDuplicated, aperm, append,
##     as.data.frame, basename, cbind, colnames, dirname, do.call,
##     duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
##     lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
##     pmin.int, rank, rbind, rownames, sapply, setdiff, table, tapply,
##     union, unique, unsplit, which.max, which.min
## Loading required package: S4Vectors
## 
## Attaching package: 'S4Vectors'
## The following object is masked from 'package:utils':
## 
##     findMatches
## The following objects are masked from 'package:base':
## 
##     I, expand.grid, unname
## Loading required package: IRanges
## Loading required package: GenomeInfoDb
## Loading required package: Biobase
## Welcome to Bioconductor
## 
##     Vignettes contain introductory material; view with
##     'browseVignettes()'. To cite Bioconductor, see
##     'citation("Biobase")', and for packages 'citation("pkgname")'.
## 
## Attaching package: 'Biobase'
## The following object is masked from 'package:MatrixGenerics':
## 
##     rowMedians
## The following objects are masked from 'package:matrixStats':
## 
##     anyMissing, rowMedians
prism_abundances <- system.file(
    'extdata','demo_abundances.csv', package="Macarron")
prism_annotations <-system.file(
    'extdata','demo_annotations.csv', package="Macarron")
prism_metadata <-system.file(
    'extdata','demo_metadata.csv', package="Macarron")
mets_taxonomy <-system.file(
    'extdata','demo_taxonomy.csv', package="Macarron")
prism_prioritized <- Macarron::Macarron(input_abundances = prism_abundances,
                                        input_annotations = prism_annotations,
                                        input_metadata = prism_metadata,
                                        input_taxonomy = mets_taxonomy)
## 2024-05-01 17:56:28.620691 INFO::Creating output folder.
## 2024-05-01 17:56:28.633876 INFO::Writing function arguments to log file
## Samples with both abundances and metadata: 102
## 2024-05-01 17:56:28.694617 INFO::Summarized Experiment created.
## 2024-05-01 17:56:28.696118 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 17:56:33.012913 INFO::Distance matrix with 869 metabolic features created.
## Initiating module detection
## 2024-05-01 17:56:33.014013 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 17:56:34.947476 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 17:56:37.032748 INFO::Writing function arguments to log file
## 2024-05-01 17:56:37.037855 INFO::Verifying options selected are valid
## 2024-05-01 17:56:37.079897 INFO::Determining format of input files
## 2024-05-01 17:56:37.080885 INFO::Input format is data samples as columns and metadata samples as rows
## 2024-05-01 17:56:37.095074 INFO::Formula for fixed effects: expr ~  diagnosis + age + antibiotics
## 2024-05-01 17:56:37.09663 INFO::Filter data based on min abundance and min prevalence
## 2024-05-01 17:56:37.097282 INFO::Total samples in data: 102
## 2024-05-01 17:56:37.097876 INFO::Min samples required with min abundance for a feature not to be filtered: 0.000000
## 2024-05-01 17:56:37.108363 INFO::Total filtered features: 0
## 2024-05-01 17:56:37.109236 INFO::Filtered feature names from abundance and prevalence filtering:
## 2024-05-01 17:56:37.125133 INFO::Total filtered features with variance filtering: 0
## 2024-05-01 17:56:37.126055 INFO::Filtered feature names from variance filtering:
## 2024-05-01 17:56:37.126709 INFO::Running selected normalization method: NONE
## 2024-05-01 17:56:37.127403 INFO::Applying z-score to standardize continuous metadata
## 2024-05-01 17:56:37.15103 INFO::Running selected transform method: NONE
## 2024-05-01 17:56:37.151979 INFO::Running selected analysis method: LM
## 2024-05-01 17:56:37.15698 INFO::Fitting model to feature number 1, F1
## 2024-05-01 17:56:37.167136 INFO::Fitting model to feature number 2, F2
## 2024-05-01 17:56:37.170651 INFO::Fitting model to feature number 3, F3
## 2024-05-01 17:56:37.173944 INFO::Fitting model to feature number 4, F4
## 2024-05-01 17:56:37.17721 INFO::Fitting model to feature number 5, F5
## 2024-05-01 17:56:37.180385 INFO::Fitting model to feature number 6, F6
## 2024-05-01 17:56:37.183596 INFO::Fitting model to feature number 7, F7
## 2024-05-01 17:56:37.186738 INFO::Fitting model to feature number 8, F8
## 2024-05-01 17:56:37.189872 INFO::Fitting model to feature number 9, F9
## 2024-05-01 17:56:37.193021 INFO::Fitting model to feature number 10, F10
## 2024-05-01 17:56:37.196104 INFO::Fitting model to feature number 11, F11
## 2024-05-01 17:56:37.199242 INFO::Fitting model to feature number 12, F12
## 2024-05-01 17:56:37.202381 INFO::Fitting model to feature number 13, F13
## 2024-05-01 17:56:37.205556 INFO::Fitting model to feature number 14, F14
## 2024-05-01 17:56:37.208708 INFO::Fitting model to feature number 15, F15
## 2024-05-01 17:56:37.211844 INFO::Fitting model to feature number 16, F16
## 2024-05-01 17:56:37.214974 INFO::Fitting model to feature number 17, F17
## 2024-05-01 17:56:37.218177 INFO::Fitting model to feature number 18, F18
## 2024-05-01 17:56:37.221352 INFO::Fitting model to feature number 19, F19
## 2024-05-01 17:56:37.229092 INFO::Fitting model to feature number 20, F20
## 2024-05-01 17:56:37.233251 INFO::Fitting model to feature number 21, F21
## 2024-05-01 17:56:37.236848 INFO::Fitting model to feature number 22, F22
## 2024-05-01 17:56:37.240537 INFO::Fitting model to feature number 23, F23
## 2024-05-01 17:56:37.244165 INFO::Fitting model to feature number 24, F24
## 2024-05-01 17:56:37.247735 INFO::Fitting model to feature number 25, F25
## 2024-05-01 17:56:37.251382 INFO::Fitting model to feature number 26, F26
## 2024-05-01 17:56:37.254946 INFO::Fitting model to feature number 27, F27
## 2024-05-01 17:56:37.258724 INFO::Fitting model to feature number 28, F28
## 2024-05-01 17:56:37.261954 INFO::Fitting model to feature number 29, F29
## 2024-05-01 17:56:37.265202 INFO::Fitting model to feature number 30, F30
## 2024-05-01 17:56:37.268441 INFO::Fitting model to feature number 31, F31
## 2024-05-01 17:56:37.271676 INFO::Fitting model to feature number 32, F32
## 2024-05-01 17:56:37.274889 INFO::Fitting model to feature number 33, F33
## 2024-05-01 17:56:37.278117 INFO::Fitting model to feature number 34, F34
## 2024-05-01 17:56:37.281348 INFO::Fitting model to feature number 35, F35
## 2024-05-01 17:56:37.284588 INFO::Fitting model to feature number 36, F36
## 2024-05-01 17:56:37.287834 INFO::Fitting model to feature number 37, F37
## 2024-05-01 17:56:37.291058 INFO::Fitting model to feature number 38, F38
## 2024-05-01 17:56:37.294272 INFO::Fitting model to feature number 39, F39
## 2024-05-01 17:56:37.297511 INFO::Fitting model to feature number 40, F40
## 2024-05-01 17:56:37.300744 INFO::Fitting model to feature number 41, F41
## 2024-05-01 17:56:37.303966 INFO::Fitting model to feature number 42, F43
## 2024-05-01 17:56:37.30716 INFO::Fitting model to feature number 43, F44
## 2024-05-01 17:56:37.310373 INFO::Fitting model to feature number 44, F45
## 2024-05-01 17:56:37.313597 INFO::Fitting model to feature number 45, F46
## 2024-05-01 17:56:37.316806 INFO::Fitting model to feature number 46, F47
## 2024-05-01 17:56:37.320024 INFO::Fitting model to feature number 47, F48
## 2024-05-01 17:56:37.323237 INFO::Fitting model to feature number 48, F49
## 2024-05-01 17:56:37.326448 INFO::Fitting model to feature number 49, F50
## 2024-05-01 17:56:37.329682 INFO::Fitting model to feature number 50, F51
## 2024-05-01 17:56:37.332925 INFO::Fitting model to feature number 51, F52
## 2024-05-01 17:56:37.336149 INFO::Fitting model to feature number 52, F53
## 2024-05-01 17:56:37.339292 INFO::Fitting model to feature number 53, F54
## 2024-05-01 17:56:37.342511 INFO::Fitting model to feature number 54, F55
## 2024-05-01 17:56:37.345721 INFO::Fitting model to feature number 55, F56
## 2024-05-01 17:56:37.348948 INFO::Fitting model to feature number 56, F57
## 2024-05-01 17:56:37.352183 INFO::Fitting model to feature number 57, F58
## 2024-05-01 17:56:37.355419 INFO::Fitting model to feature number 58, F59
## 2024-05-01 17:56:37.358651 INFO::Fitting model to feature number 59, F60
## 2024-05-01 17:56:37.361878 INFO::Fitting model to feature number 60, F63
## 2024-05-01 17:56:37.365106 INFO::Fitting model to feature number 61, F64
## 2024-05-01 17:56:37.368325 INFO::Fitting model to feature number 62, F65
## 2024-05-01 17:56:37.371631 INFO::Fitting model to feature number 63, F66
## 2024-05-01 17:56:37.374879 INFO::Fitting model to feature number 64, F67
## 2024-05-01 17:56:37.37819 INFO::Fitting model to feature number 65, F68
## 2024-05-01 17:56:37.381462 INFO::Fitting model to feature number 66, F69
## 2024-05-01 17:56:37.384715 INFO::Fitting model to feature number 67, F70
## 2024-05-01 17:56:37.387992 INFO::Fitting model to feature number 68, F71
## 2024-05-01 17:56:37.391302 INFO::Fitting model to feature number 69, F72
## 2024-05-01 17:56:37.394658 INFO::Fitting model to feature number 70, F73
## 2024-05-01 17:56:37.397974 INFO::Fitting model to feature number 71, F74
## 2024-05-01 17:56:37.40122 INFO::Fitting model to feature number 72, F76
## 2024-05-01 17:56:37.404417 INFO::Fitting model to feature number 73, F77
## 2024-05-01 17:56:37.407585 INFO::Fitting model to feature number 74, F78
## 2024-05-01 17:56:37.410785 INFO::Fitting model to feature number 75, F79
## 2024-05-01 17:56:37.41393 INFO::Fitting model to feature number 76, F80
## 2024-05-01 17:56:37.417083 INFO::Fitting model to feature number 77, F81
## 2024-05-01 17:56:37.420261 INFO::Fitting model to feature number 78, F82
## 2024-05-01 17:56:37.423363 INFO::Fitting model to feature number 79, F83
## 2024-05-01 17:56:37.426567 INFO::Fitting model to feature number 80, F84
## 2024-05-01 17:56:37.429743 INFO::Fitting model to feature number 81, F85
## 2024-05-01 17:56:37.432919 INFO::Fitting model to feature number 82, F86
## 2024-05-01 17:56:37.43615 INFO::Fitting model to feature number 83, F87
## 2024-05-01 17:56:37.439335 INFO::Fitting model to feature number 84, F88
## 2024-05-01 17:56:37.442526 INFO::Fitting model to feature number 85, F89
## 2024-05-01 17:56:37.445725 INFO::Fitting model to feature number 86, F90
## 2024-05-01 17:56:37.448924 INFO::Fitting model to feature number 87, F91
## 2024-05-01 17:56:37.452138 INFO::Fitting model to feature number 88, F92
## 2024-05-01 17:56:37.455313 INFO::Fitting model to feature number 89, F93
## 2024-05-01 17:56:37.458497 INFO::Fitting model to feature number 90, F94
## 2024-05-01 17:56:37.461688 INFO::Fitting model to feature number 91, F95
## 2024-05-01 17:56:37.464884 INFO::Fitting model to feature number 92, F96
## 2024-05-01 17:56:37.468074 INFO::Fitting model to feature number 93, F97
## 2024-05-01 17:56:37.471194 INFO::Fitting model to feature number 94, F98
## 2024-05-01 17:56:37.474387 INFO::Fitting model to feature number 95, F99
## 2024-05-01 17:56:37.477582 INFO::Fitting model to feature number 96, F100
## 2024-05-01 17:56:37.480781 INFO::Fitting model to feature number 97, F101
## 2024-05-01 17:56:37.48398 INFO::Fitting model to feature number 98, F102
## 2024-05-01 17:56:37.487141 INFO::Fitting model to feature number 99, F103
## 2024-05-01 17:56:37.490303 INFO::Fitting model to feature number 100, F104
## 2024-05-01 17:56:37.493495 INFO::Fitting model to feature number 101, F105
## 2024-05-01 17:56:37.496702 INFO::Fitting model to feature number 102, F106
## 2024-05-01 17:56:37.499894 INFO::Fitting model to feature number 103, F107
## 2024-05-01 17:56:37.503105 INFO::Fitting model to feature number 104, F108
## 2024-05-01 17:56:37.506345 INFO::Fitting model to feature number 105, F109
## 2024-05-01 17:56:37.509582 INFO::Fitting model to feature number 106, F110
## 2024-05-01 17:56:37.512803 INFO::Fitting model to feature number 107, F111
## 2024-05-01 17:56:37.516026 INFO::Fitting model to feature number 108, F112
## 2024-05-01 17:56:37.519229 INFO::Fitting model to feature number 109, F113
## 2024-05-01 17:56:37.522472 INFO::Fitting model to feature number 110, F114
## 2024-05-01 17:56:37.525696 INFO::Fitting model to feature number 111, F115
## 2024-05-01 17:56:37.528929 INFO::Fitting model to feature number 112, F117
## 2024-05-01 17:56:37.532148 INFO::Fitting model to feature number 113, F118
## 2024-05-01 17:56:37.535264 INFO::Fitting model to feature number 114, F119
## 2024-05-01 17:56:37.538466 INFO::Fitting model to feature number 115, F120
## 2024-05-01 17:56:37.541651 INFO::Fitting model to feature number 116, F121
## 2024-05-01 17:56:37.544841 INFO::Fitting model to feature number 117, F122
## 2024-05-01 17:56:37.548029 INFO::Fitting model to feature number 118, F123
## 2024-05-01 17:56:37.551199 INFO::Fitting model to feature number 119, F124
## 2024-05-01 17:56:37.554377 INFO::Fitting model to feature number 120, F125
## 2024-05-01 17:56:37.55757 INFO::Fitting model to feature number 121, F126
## 2024-05-01 17:56:37.560745 INFO::Fitting model to feature number 122, F127
## 2024-05-01 17:56:37.563937 INFO::Fitting model to feature number 123, F128
## 2024-05-01 17:56:37.567126 INFO::Fitting model to feature number 124, F129
## 2024-05-01 17:56:37.570315 INFO::Fitting model to feature number 125, F130
## 2024-05-01 17:56:37.573508 INFO::Fitting model to feature number 126, F131
## 2024-05-01 17:56:37.576704 INFO::Fitting model to feature number 127, F132
## 2024-05-01 17:56:37.579897 INFO::Fitting model to feature number 128, F133
## 2024-05-01 17:56:37.583087 INFO::Fitting model to feature number 129, F134
## 2024-05-01 17:56:37.586296 INFO::Fitting model to feature number 130, F135
## 2024-05-01 17:56:37.589508 INFO::Fitting model to feature number 131, F136
## 2024-05-01 17:56:37.592709 INFO::Fitting model to feature number 132, F137
## 2024-05-01 17:56:37.5959 INFO::Fitting model to feature number 133, F138
## 2024-05-01 17:56:37.599202 INFO::Fitting model to feature number 134, F139
## 2024-05-01 17:56:37.602535 INFO::Fitting model to feature number 135, F140
## 2024-05-01 17:56:37.605875 INFO::Fitting model to feature number 136, F141
## 2024-05-01 17:56:37.609229 INFO::Fitting model to feature number 137, F142
## 2024-05-01 17:56:37.612581 INFO::Fitting model to feature number 138, F143
## 2024-05-01 17:56:37.61592 INFO::Fitting model to feature number 139, F144
## 2024-05-01 17:56:37.619246 INFO::Fitting model to feature number 140, F145
## 2024-05-01 17:56:37.622581 INFO::Fitting model to feature number 141, F146
## 2024-05-01 17:56:37.625926 INFO::Fitting model to feature number 142, F147
## 2024-05-01 17:56:37.629266 INFO::Fitting model to feature number 143, F148
## 2024-05-01 17:56:37.632616 INFO::Fitting model to feature number 144, F149
## 2024-05-01 17:56:37.63596 INFO::Fitting model to feature number 145, F150
## 2024-05-01 17:56:37.639301 INFO::Fitting model to feature number 146, F152
## 2024-05-01 17:56:37.642629 INFO::Fitting model to feature number 147, F153
## 2024-05-01 17:56:37.645941 INFO::Fitting model to feature number 148, F154
## 2024-05-01 17:56:37.649251 INFO::Fitting model to feature number 149, F155
## 2024-05-01 17:56:37.652547 INFO::Fitting model to feature number 150, F156
## 2024-05-01 17:56:37.655849 INFO::Fitting model to feature number 151, F157
## 2024-05-01 17:56:37.65915 INFO::Fitting model to feature number 152, F158
## 2024-05-01 17:56:37.662449 INFO::Fitting model to feature number 153, F159
## 2024-05-01 17:56:37.665753 INFO::Fitting model to feature number 154, F160
## 2024-05-01 17:56:37.669047 INFO::Fitting model to feature number 155, F161
## 2024-05-01 17:56:37.672356 INFO::Fitting model to feature number 156, F162
## 2024-05-01 17:56:37.675679 INFO::Fitting model to feature number 157, F163
## 2024-05-01 17:56:37.67898 INFO::Fitting model to feature number 158, F164
## 2024-05-01 17:56:37.682297 INFO::Fitting model to feature number 159, F165
## 2024-05-01 17:56:37.685635 INFO::Fitting model to feature number 160, F166
## 2024-05-01 17:56:37.688961 INFO::Fitting model to feature number 161, F167
## 2024-05-01 17:56:37.692285 INFO::Fitting model to feature number 162, F168
## 2024-05-01 17:56:37.695602 INFO::Fitting model to feature number 163, F169
## 2024-05-01 17:56:37.69895 INFO::Fitting model to feature number 164, F170
## 2024-05-01 17:56:37.702281 INFO::Fitting model to feature number 165, F171
## 2024-05-01 17:56:37.70563 INFO::Fitting model to feature number 166, F172
## 2024-05-01 17:56:37.70895 INFO::Fitting model to feature number 167, F173
## 2024-05-01 17:56:37.71229 INFO::Fitting model to feature number 168, F174
## 2024-05-01 17:56:37.715632 INFO::Fitting model to feature number 169, F175
## 2024-05-01 17:56:37.719001 INFO::Fitting model to feature number 170, F176
## 2024-05-01 17:56:37.72232 INFO::Fitting model to feature number 171, F177
## 2024-05-01 17:56:37.725649 INFO::Fitting model to feature number 172, F178
## 2024-05-01 17:56:37.728969 INFO::Fitting model to feature number 173, F179
## 2024-05-01 17:56:37.732284 INFO::Fitting model to feature number 174, F180
## 2024-05-01 17:56:37.735571 INFO::Fitting model to feature number 175, F181
## 2024-05-01 17:56:37.738876 INFO::Fitting model to feature number 176, F182
## 2024-05-01 17:56:37.742198 INFO::Fitting model to feature number 177, F183
## 2024-05-01 17:56:37.745511 INFO::Fitting model to feature number 178, F184
## 2024-05-01 17:56:37.748812 INFO::Fitting model to feature number 179, F185
## 2024-05-01 17:56:37.752144 INFO::Fitting model to feature number 180, F186
## 2024-05-01 17:56:37.755456 INFO::Fitting model to feature number 181, F187
## 2024-05-01 17:56:37.758768 INFO::Fitting model to feature number 182, F188
## 2024-05-01 17:56:37.762107 INFO::Fitting model to feature number 183, F189
## 2024-05-01 17:56:37.765425 INFO::Fitting model to feature number 184, F190
## 2024-05-01 17:56:37.768719 INFO::Fitting model to feature number 185, F191
## 2024-05-01 17:56:37.772019 INFO::Fitting model to feature number 186, F192
## 2024-05-01 17:56:37.775308 INFO::Fitting model to feature number 187, F193
## 2024-05-01 17:56:37.778621 INFO::Fitting model to feature number 188, F194
## 2024-05-01 17:56:37.781936 INFO::Fitting model to feature number 189, F195
## 2024-05-01 17:56:37.785264 INFO::Fitting model to feature number 190, F196
## 2024-05-01 17:56:37.788573 INFO::Fitting model to feature number 191, F197
## 2024-05-01 17:56:37.791885 INFO::Fitting model to feature number 192, F198
## 2024-05-01 17:56:37.795189 INFO::Fitting model to feature number 193, F199
## 2024-05-01 17:56:37.798498 INFO::Fitting model to feature number 194, F200
## 2024-05-01 17:56:37.801806 INFO::Fitting model to feature number 195, F201
## 2024-05-01 17:56:37.805146 INFO::Fitting model to feature number 196, F202
## 2024-05-01 17:56:37.808474 INFO::Fitting model to feature number 197, F203
## 2024-05-01 17:56:37.811801 INFO::Fitting model to feature number 198, F204
## 2024-05-01 17:56:37.815116 INFO::Fitting model to feature number 199, F206
## 2024-05-01 17:56:37.818427 INFO::Fitting model to feature number 200, F207
## 2024-05-01 17:56:37.821723 INFO::Fitting model to feature number 201, F208
## 2024-05-01 17:56:37.825015 INFO::Fitting model to feature number 202, F209
## 2024-05-01 17:56:37.828334 INFO::Fitting model to feature number 203, F210
## 2024-05-01 17:56:37.831632 INFO::Fitting model to feature number 204, F211
## 2024-05-01 17:56:37.834934 INFO::Fitting model to feature number 205, F212
## 2024-05-01 17:56:37.83824 INFO::Fitting model to feature number 206, F213
## 2024-05-01 17:56:37.841554 INFO::Fitting model to feature number 207, F214
## 2024-05-01 17:56:37.844869 INFO::Fitting model to feature number 208, F215
## 2024-05-01 17:56:37.848175 INFO::Fitting model to feature number 209, F216
## 2024-05-01 17:56:37.851469 INFO::Fitting model to feature number 210, F217
## 2024-05-01 17:56:37.854795 INFO::Fitting model to feature number 211, F218
## 2024-05-01 17:56:37.858095 INFO::Fitting model to feature number 212, F219
## 2024-05-01 17:56:37.861384 INFO::Fitting model to feature number 213, F220
## 2024-05-01 17:56:37.864701 INFO::Fitting model to feature number 214, F221
## 2024-05-01 17:56:37.868039 INFO::Fitting model to feature number 215, F222
## 2024-05-01 17:56:37.871344 INFO::Fitting model to feature number 216, F223
## 2024-05-01 17:56:37.874589 INFO::Fitting model to feature number 217, F224
## 2024-05-01 17:56:37.877905 INFO::Fitting model to feature number 218, F225
## 2024-05-01 17:56:37.881257 INFO::Fitting model to feature number 219, F226
## 2024-05-01 17:56:37.884508 INFO::Fitting model to feature number 220, F227
## 2024-05-01 17:56:37.887822 INFO::Fitting model to feature number 221, F228
## 2024-05-01 17:56:37.921301 INFO::Fitting model to feature number 222, F229
## 2024-05-01 17:56:37.924727 INFO::Fitting model to feature number 223, F230
## 2024-05-01 17:56:37.927994 INFO::Fitting model to feature number 224, F231
## 2024-05-01 17:56:37.931166 INFO::Fitting model to feature number 225, F232
## 2024-05-01 17:56:37.934349 INFO::Fitting model to feature number 226, F233
## 2024-05-01 17:56:37.937459 INFO::Fitting model to feature number 227, F234
## 2024-05-01 17:56:37.940644 INFO::Fitting model to feature number 228, F235
## 2024-05-01 17:56:37.943784 INFO::Fitting model to feature number 229, F236
## 2024-05-01 17:56:37.946919 INFO::Fitting model to feature number 230, F237
## 2024-05-01 17:56:37.949991 INFO::Fitting model to feature number 231, F238
## 2024-05-01 17:56:37.953129 INFO::Fitting model to feature number 232, F239
## 2024-05-01 17:56:37.956254 INFO::Fitting model to feature number 233, F240
## 2024-05-01 17:56:37.959377 INFO::Fitting model to feature number 234, F241
## 2024-05-01 17:56:37.962513 INFO::Fitting model to feature number 235, F242
## 2024-05-01 17:56:37.965631 INFO::Fitting model to feature number 236, F243
## 2024-05-01 17:56:37.968765 INFO::Fitting model to feature number 237, F244
## 2024-05-01 17:56:37.971889 INFO::Fitting model to feature number 238, F245
## 2024-05-01 17:56:37.975013 INFO::Fitting model to feature number 239, F246
## 2024-05-01 17:56:37.978153 INFO::Fitting model to feature number 240, F247
## 2024-05-01 17:56:37.981296 INFO::Fitting model to feature number 241, F248
## 2024-05-01 17:56:37.984423 INFO::Fitting model to feature number 242, F249
## 2024-05-01 17:56:37.987556 INFO::Fitting model to feature number 243, F250
## 2024-05-01 17:56:37.99069 INFO::Fitting model to feature number 244, F252
## 2024-05-01 17:56:37.993824 INFO::Fitting model to feature number 245, F253
## 2024-05-01 17:56:37.99697 INFO::Fitting model to feature number 246, F254
## 2024-05-01 17:56:38.000123 INFO::Fitting model to feature number 247, F255
## 2024-05-01 17:56:38.00326 INFO::Fitting model to feature number 248, F256
## 2024-05-01 17:56:38.006409 INFO::Fitting model to feature number 249, F257
## 2024-05-01 17:56:38.00954 INFO::Fitting model to feature number 250, F259
## 2024-05-01 17:56:38.01265 INFO::Fitting model to feature number 251, F260
## 2024-05-01 17:56:38.015778 INFO::Fitting model to feature number 252, F261
## 2024-05-01 17:56:38.018894 INFO::Fitting model to feature number 253, F262
## 2024-05-01 17:56:38.022016 INFO::Fitting model to feature number 254, F263
## 2024-05-01 17:56:38.025148 INFO::Fitting model to feature number 255, F264
## 2024-05-01 17:56:38.028296 INFO::Fitting model to feature number 256, F265
## 2024-05-01 17:56:38.031416 INFO::Fitting model to feature number 257, F266
## 2024-05-01 17:56:38.034576 INFO::Fitting model to feature number 258, F267
## 2024-05-01 17:56:38.037737 INFO::Fitting model to feature number 259, F269
## 2024-05-01 17:56:38.04092 INFO::Fitting model to feature number 260, F270
## 2024-05-01 17:56:38.044091 INFO::Fitting model to feature number 261, F271
## 2024-05-01 17:56:38.047251 INFO::Fitting model to feature number 262, F272
## 2024-05-01 17:56:38.050358 INFO::Fitting model to feature number 263, F273
## 2024-05-01 17:56:38.053543 INFO::Fitting model to feature number 264, F274
## 2024-05-01 17:56:38.056707 INFO::Fitting model to feature number 265, F276
## 2024-05-01 17:56:38.059873 INFO::Fitting model to feature number 266, F277
## 2024-05-01 17:56:38.063051 INFO::Fitting model to feature number 267, F278
## 2024-05-01 17:56:38.066315 INFO::Fitting model to feature number 268, F279
## 2024-05-01 17:56:38.069471 INFO::Fitting model to feature number 269, F280
## 2024-05-01 17:56:38.072655 INFO::Fitting model to feature number 270, F281
## 2024-05-01 17:56:38.075801 INFO::Fitting model to feature number 271, F282
## 2024-05-01 17:56:38.078926 INFO::Fitting model to feature number 272, F283
## 2024-05-01 17:56:38.082029 INFO::Fitting model to feature number 273, F284
## 2024-05-01 17:56:38.085164 INFO::Fitting model to feature number 274, F285
## 2024-05-01 17:56:38.088282 INFO::Fitting model to feature number 275, F286
## 2024-05-01 17:56:38.09142 INFO::Fitting model to feature number 276, F287
## 2024-05-01 17:56:38.094584 INFO::Fitting model to feature number 277, F288
## 2024-05-01 17:56:38.097806 INFO::Fitting model to feature number 278, F289
## 2024-05-01 17:56:38.100999 INFO::Fitting model to feature number 279, F290
## 2024-05-01 17:56:38.104163 INFO::Fitting model to feature number 280, F292
## 2024-05-01 17:56:38.107308 INFO::Fitting model to feature number 281, F293
## 2024-05-01 17:56:38.11059 INFO::Fitting model to feature number 282, F294
## 2024-05-01 17:56:38.113941 INFO::Fitting model to feature number 283, F295
## 2024-05-01 17:56:38.117255 INFO::Fitting model to feature number 284, F296
## 2024-05-01 17:56:38.120434 INFO::Fitting model to feature number 285, F297
## 2024-05-01 17:56:38.123507 INFO::Fitting model to feature number 286, F298
## 2024-05-01 17:56:38.12668 INFO::Fitting model to feature number 287, F299
## 2024-05-01 17:56:38.129896 INFO::Fitting model to feature number 288, F300
## 2024-05-01 17:56:38.133092 INFO::Fitting model to feature number 289, F301
## 2024-05-01 17:56:38.136288 INFO::Fitting model to feature number 290, F302
## 2024-05-01 17:56:38.13944 INFO::Fitting model to feature number 291, F303
## 2024-05-01 17:56:38.142582 INFO::Fitting model to feature number 292, F304
## 2024-05-01 17:56:38.145705 INFO::Fitting model to feature number 293, F305
## 2024-05-01 17:56:38.148827 INFO::Fitting model to feature number 294, F306
## 2024-05-01 17:56:38.15195 INFO::Fitting model to feature number 295, F307
## 2024-05-01 17:56:38.155063 INFO::Fitting model to feature number 296, F308
## 2024-05-01 17:56:38.15819 INFO::Fitting model to feature number 297, F309
## 2024-05-01 17:56:38.161302 INFO::Fitting model to feature number 298, F310
## 2024-05-01 17:56:38.164432 INFO::Fitting model to feature number 299, F311
## 2024-05-01 17:56:38.167575 INFO::Fitting model to feature number 300, F312
## 2024-05-01 17:56:38.170742 INFO::Fitting model to feature number 301, F313
## 2024-05-01 17:56:38.173878 INFO::Fitting model to feature number 302, F315
## 2024-05-01 17:56:38.177011 INFO::Fitting model to feature number 303, F316
## 2024-05-01 17:56:38.180166 INFO::Fitting model to feature number 304, F317
## 2024-05-01 17:56:38.183286 INFO::Fitting model to feature number 305, F318
## 2024-05-01 17:56:38.186425 INFO::Fitting model to feature number 306, F319
## 2024-05-01 17:56:38.189561 INFO::Fitting model to feature number 307, F320
## 2024-05-01 17:56:38.192726 INFO::Fitting model to feature number 308, F321
## 2024-05-01 17:56:38.19587 INFO::Fitting model to feature number 309, F322
## 2024-05-01 17:56:38.199018 INFO::Fitting model to feature number 310, F323
## 2024-05-01 17:56:38.202185 INFO::Fitting model to feature number 311, F324
## 2024-05-01 17:56:38.205336 INFO::Fitting model to feature number 312, F325
## 2024-05-01 17:56:38.208477 INFO::Fitting model to feature number 313, F326
## 2024-05-01 17:56:38.211667 INFO::Fitting model to feature number 314, F327
## 2024-05-01 17:56:38.21481 INFO::Fitting model to feature number 315, F328
## 2024-05-01 17:56:38.217958 INFO::Fitting model to feature number 316, F329
## 2024-05-01 17:56:38.22129 INFO::Fitting model to feature number 317, F330
## 2024-05-01 17:56:38.224683 INFO::Fitting model to feature number 318, F331
## 2024-05-01 17:56:38.228117 INFO::Fitting model to feature number 319, F332
## 2024-05-01 17:56:38.231456 INFO::Fitting model to feature number 320, F333
## 2024-05-01 17:56:38.234848 INFO::Fitting model to feature number 321, F334
## 2024-05-01 17:56:38.23824 INFO::Fitting model to feature number 322, F335
## 2024-05-01 17:56:38.241615 INFO::Fitting model to feature number 323, F336
## 2024-05-01 17:56:38.245041 INFO::Fitting model to feature number 324, F337
## 2024-05-01 17:56:38.248622 INFO::Fitting model to feature number 325, F338
## 2024-05-01 17:56:38.252062 INFO::Fitting model to feature number 326, F339
## 2024-05-01 17:56:38.255445 INFO::Fitting model to feature number 327, F340
## 2024-05-01 17:56:38.258812 INFO::Fitting model to feature number 328, F342
## 2024-05-01 17:56:38.262218 INFO::Fitting model to feature number 329, F343
## 2024-05-01 17:56:38.26553 INFO::Fitting model to feature number 330, F344
## 2024-05-01 17:56:38.268947 INFO::Fitting model to feature number 331, F345
## 2024-05-01 17:56:38.272299 INFO::Fitting model to feature number 332, F346
## 2024-05-01 17:56:38.275737 INFO::Fitting model to feature number 333, F347
## 2024-05-01 17:56:38.279085 INFO::Fitting model to feature number 334, F348
## 2024-05-01 17:56:38.282459 INFO::Fitting model to feature number 335, F350
## 2024-05-01 17:56:38.285871 INFO::Fitting model to feature number 336, F351
## 2024-05-01 17:56:38.289562 INFO::Fitting model to feature number 337, F352
## 2024-05-01 17:56:38.293216 INFO::Fitting model to feature number 338, F353
## 2024-05-01 17:56:38.296582 INFO::Fitting model to feature number 339, F355
## 2024-05-01 17:56:38.299991 INFO::Fitting model to feature number 340, F356
## 2024-05-01 17:56:38.303451 INFO::Fitting model to feature number 341, F357
## 2024-05-01 17:56:38.306948 INFO::Fitting model to feature number 342, F358
## 2024-05-01 17:56:38.310347 INFO::Fitting model to feature number 343, F359
## 2024-05-01 17:56:38.313779 INFO::Fitting model to feature number 344, F360
## 2024-05-01 17:56:38.317216 INFO::Fitting model to feature number 345, F361
## 2024-05-01 17:56:38.320624 INFO::Fitting model to feature number 346, F362
## 2024-05-01 17:56:38.324 INFO::Fitting model to feature number 347, F363
## 2024-05-01 17:56:38.327401 INFO::Fitting model to feature number 348, F364
## 2024-05-01 17:56:38.331005 INFO::Fitting model to feature number 349, F365
## 2024-05-01 17:56:38.334613 INFO::Fitting model to feature number 350, F366
## 2024-05-01 17:56:38.338155 INFO::Fitting model to feature number 351, F367
## 2024-05-01 17:56:38.341455 INFO::Fitting model to feature number 352, F368
## 2024-05-01 17:56:38.344676 INFO::Fitting model to feature number 353, F369
## 2024-05-01 17:56:38.34788 INFO::Fitting model to feature number 354, F370
## 2024-05-01 17:56:38.351067 INFO::Fitting model to feature number 355, F371
## 2024-05-01 17:56:38.354238 INFO::Fitting model to feature number 356, F372
## 2024-05-01 17:56:38.357445 INFO::Fitting model to feature number 357, F373
## 2024-05-01 17:56:38.360621 INFO::Fitting model to feature number 358, F374
## 2024-05-01 17:56:38.363831 INFO::Fitting model to feature number 359, F375
## 2024-05-01 17:56:38.367118 INFO::Fitting model to feature number 360, F376
## 2024-05-01 17:56:38.370342 INFO::Fitting model to feature number 361, F377
## 2024-05-01 17:56:38.37355 INFO::Fitting model to feature number 362, F378
## 2024-05-01 17:56:38.376792 INFO::Fitting model to feature number 363, F379
## 2024-05-01 17:56:38.380012 INFO::Fitting model to feature number 364, F380
## 2024-05-01 17:56:38.3832 INFO::Fitting model to feature number 365, F381
## 2024-05-01 17:56:38.3864 INFO::Fitting model to feature number 366, F382
## 2024-05-01 17:56:38.389629 INFO::Fitting model to feature number 367, F383
## 2024-05-01 17:56:38.392846 INFO::Fitting model to feature number 368, F384
## 2024-05-01 17:56:38.39607 INFO::Fitting model to feature number 369, F386
## 2024-05-01 17:56:38.399274 INFO::Fitting model to feature number 370, F387
## 2024-05-01 17:56:38.402477 INFO::Fitting model to feature number 371, F388
## 2024-05-01 17:56:38.4057 INFO::Fitting model to feature number 372, F389
## 2024-05-01 17:56:38.408907 INFO::Fitting model to feature number 373, F390
## 2024-05-01 17:56:38.412104 INFO::Fitting model to feature number 374, F391
## 2024-05-01 17:56:38.415345 INFO::Fitting model to feature number 375, F392
## 2024-05-01 17:56:38.418571 INFO::Fitting model to feature number 376, F393
## 2024-05-01 17:56:38.421778 INFO::Fitting model to feature number 377, F394
## 2024-05-01 17:56:38.425014 INFO::Fitting model to feature number 378, F395
## 2024-05-01 17:56:38.428238 INFO::Fitting model to feature number 379, F396
## 2024-05-01 17:56:38.43144 INFO::Fitting model to feature number 380, F397
## 2024-05-01 17:56:38.434666 INFO::Fitting model to feature number 381, F398
## 2024-05-01 17:56:38.437913 INFO::Fitting model to feature number 382, F399
## 2024-05-01 17:56:38.441164 INFO::Fitting model to feature number 383, F400
## 2024-05-01 17:56:38.44442 INFO::Fitting model to feature number 384, F401
## 2024-05-01 17:56:38.447649 INFO::Fitting model to feature number 385, F402
## 2024-05-01 17:56:38.450861 INFO::Fitting model to feature number 386, F403
## 2024-05-01 17:56:38.454118 INFO::Fitting model to feature number 387, F404
## 2024-05-01 17:56:38.457357 INFO::Fitting model to feature number 388, F406
## 2024-05-01 17:56:38.460588 INFO::Fitting model to feature number 389, F407
## 2024-05-01 17:56:38.463771 INFO::Fitting model to feature number 390, F408
## 2024-05-01 17:56:38.467032 INFO::Fitting model to feature number 391, F409
## 2024-05-01 17:56:38.470279 INFO::Fitting model to feature number 392, F410
## 2024-05-01 17:56:38.473479 INFO::Fitting model to feature number 393, F411
## 2024-05-01 17:56:38.476684 INFO::Fitting model to feature number 394, F412
## 2024-05-01 17:56:38.479901 INFO::Fitting model to feature number 395, F413
## 2024-05-01 17:56:38.483114 INFO::Fitting model to feature number 396, F414
## 2024-05-01 17:56:38.48634 INFO::Fitting model to feature number 397, F415
## 2024-05-01 17:56:38.489558 INFO::Fitting model to feature number 398, F416
## 2024-05-01 17:56:38.492789 INFO::Fitting model to feature number 399, F417
## 2024-05-01 17:56:38.495998 INFO::Fitting model to feature number 400, F418
## 2024-05-01 17:56:38.499223 INFO::Fitting model to feature number 401, F419
## 2024-05-01 17:56:38.502439 INFO::Fitting model to feature number 402, F420
## 2024-05-01 17:56:38.505699 INFO::Fitting model to feature number 403, F421
## 2024-05-01 17:56:38.508963 INFO::Fitting model to feature number 404, F422
## 2024-05-01 17:56:38.512222 INFO::Fitting model to feature number 405, F423
## 2024-05-01 17:56:38.515481 INFO::Fitting model to feature number 406, F425
## 2024-05-01 17:56:38.518768 INFO::Fitting model to feature number 407, F426
## 2024-05-01 17:56:38.521997 INFO::Fitting model to feature number 408, F428
## 2024-05-01 17:56:38.525281 INFO::Fitting model to feature number 409, F429
## 2024-05-01 17:56:38.528502 INFO::Fitting model to feature number 410, F430
## 2024-05-01 17:56:38.531714 INFO::Fitting model to feature number 411, F431
## 2024-05-01 17:56:38.534969 INFO::Fitting model to feature number 412, F432
## 2024-05-01 17:56:38.538214 INFO::Fitting model to feature number 413, F433
## 2024-05-01 17:56:38.541445 INFO::Fitting model to feature number 414, F434
## 2024-05-01 17:56:38.544631 INFO::Fitting model to feature number 415, F435
## 2024-05-01 17:56:38.547832 INFO::Fitting model to feature number 416, F436
## 2024-05-01 17:56:38.551026 INFO::Fitting model to feature number 417, F437
## 2024-05-01 17:56:38.554219 INFO::Fitting model to feature number 418, F438
## 2024-05-01 17:56:38.557416 INFO::Fitting model to feature number 419, F439
## 2024-05-01 17:56:38.56062 INFO::Fitting model to feature number 420, F440
## 2024-05-01 17:56:38.563834 INFO::Fitting model to feature number 421, F441
## 2024-05-01 17:56:38.567034 INFO::Fitting model to feature number 422, F442
## 2024-05-01 17:56:38.570181 INFO::Fitting model to feature number 423, F443
## 2024-05-01 17:56:38.573403 INFO::Fitting model to feature number 424, F444
## 2024-05-01 17:56:38.576604 INFO::Fitting model to feature number 425, F445
## 2024-05-01 17:56:38.579807 INFO::Fitting model to feature number 426, F446
## 2024-05-01 17:56:38.583023 INFO::Fitting model to feature number 427, F447
## 2024-05-01 17:56:38.58625 INFO::Fitting model to feature number 428, F448
## 2024-05-01 17:56:38.589465 INFO::Fitting model to feature number 429, F449
## 2024-05-01 17:56:38.592682 INFO::Fitting model to feature number 430, F450
## 2024-05-01 17:56:38.595922 INFO::Fitting model to feature number 431, F451
## 2024-05-01 17:56:38.599139 INFO::Fitting model to feature number 432, F452
## 2024-05-01 17:56:38.602297 INFO::Fitting model to feature number 433, F454
## 2024-05-01 17:56:38.605509 INFO::Fitting model to feature number 434, F455
## 2024-05-01 17:56:38.608713 INFO::Fitting model to feature number 435, F456
## 2024-05-01 17:56:38.611935 INFO::Fitting model to feature number 436, F457
## 2024-05-01 17:56:38.615121 INFO::Fitting model to feature number 437, F458
## 2024-05-01 17:56:38.618325 INFO::Fitting model to feature number 438, F459
## 2024-05-01 17:56:38.621553 INFO::Fitting model to feature number 439, F461
## 2024-05-01 17:56:38.624781 INFO::Fitting model to feature number 440, F462
## 2024-05-01 17:56:38.62801 INFO::Fitting model to feature number 441, F463
## 2024-05-01 17:56:38.631174 INFO::Fitting model to feature number 442, F464
## 2024-05-01 17:56:38.634411 INFO::Fitting model to feature number 443, F465
## 2024-05-01 17:56:38.637652 INFO::Fitting model to feature number 444, F466
## 2024-05-01 17:56:38.6409 INFO::Fitting model to feature number 445, F467
## 2024-05-01 17:56:38.644151 INFO::Fitting model to feature number 446, F468
## 2024-05-01 17:56:38.647363 INFO::Fitting model to feature number 447, F469
## 2024-05-01 17:56:38.650628 INFO::Fitting model to feature number 448, F470
## 2024-05-01 17:56:38.653904 INFO::Fitting model to feature number 449, F471
## 2024-05-01 17:56:38.657188 INFO::Fitting model to feature number 450, F474
## 2024-05-01 17:56:38.660428 INFO::Fitting model to feature number 451, F475
## 2024-05-01 17:56:38.663624 INFO::Fitting model to feature number 452, F476
## 2024-05-01 17:56:38.666812 INFO::Fitting model to feature number 453, F477
## 2024-05-01 17:56:38.669997 INFO::Fitting model to feature number 454, F478
## 2024-05-01 17:56:38.673207 INFO::Fitting model to feature number 455, F479
## 2024-05-01 17:56:38.676419 INFO::Fitting model to feature number 456, F480
## 2024-05-01 17:56:38.679609 INFO::Fitting model to feature number 457, F481
## 2024-05-01 17:56:38.682789 INFO::Fitting model to feature number 458, F482
## 2024-05-01 17:56:38.685987 INFO::Fitting model to feature number 459, F483
## 2024-05-01 17:56:38.689175 INFO::Fitting model to feature number 460, F484
## 2024-05-01 17:56:38.69237 INFO::Fitting model to feature number 461, F485
## 2024-05-01 17:56:38.695566 INFO::Fitting model to feature number 462, F486
## 2024-05-01 17:56:38.69878 INFO::Fitting model to feature number 463, F487
## 2024-05-01 17:56:38.702013 INFO::Fitting model to feature number 464, F488
## 2024-05-01 17:56:38.70526 INFO::Fitting model to feature number 465, F489
## 2024-05-01 17:56:38.708478 INFO::Fitting model to feature number 466, F490
## 2024-05-01 17:56:38.711688 INFO::Fitting model to feature number 467, F491
## 2024-05-01 17:56:38.714904 INFO::Fitting model to feature number 468, F492
## 2024-05-01 17:56:38.718136 INFO::Fitting model to feature number 469, F493
## 2024-05-01 17:56:38.721362 INFO::Fitting model to feature number 470, F494
## 2024-05-01 17:56:38.724585 INFO::Fitting model to feature number 471, F495
## 2024-05-01 17:56:38.727784 INFO::Fitting model to feature number 472, F496
## 2024-05-01 17:56:38.730983 INFO::Fitting model to feature number 473, F497
## 2024-05-01 17:56:38.734211 INFO::Fitting model to feature number 474, F498
## 2024-05-01 17:56:38.737429 INFO::Fitting model to feature number 475, F499
## 2024-05-01 17:56:38.740677 INFO::Fitting model to feature number 476, F500
## 2024-05-01 17:56:38.743926 INFO::Fitting model to feature number 477, F501
## 2024-05-01 17:56:38.747171 INFO::Fitting model to feature number 478, F502
## 2024-05-01 17:56:38.750412 INFO::Fitting model to feature number 479, F503
## 2024-05-01 17:56:38.75369 INFO::Fitting model to feature number 480, F504
## 2024-05-01 17:56:38.75695 INFO::Fitting model to feature number 481, F505
## 2024-05-01 17:56:38.760195 INFO::Fitting model to feature number 482, F506
## 2024-05-01 17:56:38.763416 INFO::Fitting model to feature number 483, F507
## 2024-05-01 17:56:38.766665 INFO::Fitting model to feature number 484, F508
## 2024-05-01 17:56:38.769888 INFO::Fitting model to feature number 485, F509
## 2024-05-01 17:56:38.773121 INFO::Fitting model to feature number 486, F510
## 2024-05-01 17:56:38.776351 INFO::Fitting model to feature number 487, F511
## 2024-05-01 17:56:38.779553 INFO::Fitting model to feature number 488, F512
## 2024-05-01 17:56:38.782775 INFO::Fitting model to feature number 489, F513
## 2024-05-01 17:56:38.786003 INFO::Fitting model to feature number 490, F514
## 2024-05-01 17:56:38.789228 INFO::Fitting model to feature number 491, F515
## 2024-05-01 17:56:38.792448 INFO::Fitting model to feature number 492, F516
## 2024-05-01 17:56:38.795653 INFO::Fitting model to feature number 493, F517
## 2024-05-01 17:56:38.798843 INFO::Fitting model to feature number 494, F518
## 2024-05-01 17:56:38.80205 INFO::Fitting model to feature number 495, F519
## 2024-05-01 17:56:38.805254 INFO::Fitting model to feature number 496, F520
## 2024-05-01 17:56:38.808465 INFO::Fitting model to feature number 497, F521
## 2024-05-01 17:56:38.811677 INFO::Fitting model to feature number 498, F522
## 2024-05-01 17:56:38.814888 INFO::Fitting model to feature number 499, F523
## 2024-05-01 17:56:38.818049 INFO::Fitting model to feature number 500, F524
## 2024-05-01 17:56:38.821259 INFO::Fitting model to feature number 501, F525
## 2024-05-01 17:56:38.824465 INFO::Fitting model to feature number 502, F526
## 2024-05-01 17:56:38.827677 INFO::Fitting model to feature number 503, F527
## 2024-05-01 17:56:38.830882 INFO::Fitting model to feature number 504, F528
## 2024-05-01 17:56:38.834085 INFO::Fitting model to feature number 505, F529
## 2024-05-01 17:56:38.837304 INFO::Fitting model to feature number 506, F530
## 2024-05-01 17:56:38.840511 INFO::Fitting model to feature number 507, F531
## 2024-05-01 17:56:38.843743 INFO::Fitting model to feature number 508, F532
## 2024-05-01 17:56:38.846946 INFO::Fitting model to feature number 509, F533
## 2024-05-01 17:56:38.850148 INFO::Fitting model to feature number 510, F534
## 2024-05-01 17:56:38.853348 INFO::Fitting model to feature number 511, F535
## 2024-05-01 17:56:38.856554 INFO::Fitting model to feature number 512, F536
## 2024-05-01 17:56:38.859761 INFO::Fitting model to feature number 513, F537
## 2024-05-01 17:56:38.862952 INFO::Fitting model to feature number 514, F539
## 2024-05-01 17:56:38.866158 INFO::Fitting model to feature number 515, F540
## 2024-05-01 17:56:38.869367 INFO::Fitting model to feature number 516, F541
## 2024-05-01 17:56:38.872591 INFO::Fitting model to feature number 517, F543
## 2024-05-01 17:56:38.875789 INFO::Fitting model to feature number 518, F544
## 2024-05-01 17:56:38.878994 INFO::Fitting model to feature number 519, F545
## 2024-05-01 17:56:38.882217 INFO::Fitting model to feature number 520, F546
## 2024-05-01 17:56:38.885499 INFO::Fitting model to feature number 521, F547
## 2024-05-01 17:56:38.888743 INFO::Fitting model to feature number 522, F548
## 2024-05-01 17:56:38.891969 INFO::Fitting model to feature number 523, F549
## 2024-05-01 17:56:38.895112 INFO::Fitting model to feature number 524, F550
## 2024-05-01 17:56:38.898348 INFO::Fitting model to feature number 525, F551
## 2024-05-01 17:56:38.90158 INFO::Fitting model to feature number 526, F552
## 2024-05-01 17:56:38.904804 INFO::Fitting model to feature number 527, F553
## 2024-05-01 17:56:38.908057 INFO::Fitting model to feature number 528, F554
## 2024-05-01 17:56:38.91126 INFO::Fitting model to feature number 529, F555
## 2024-05-01 17:56:38.914495 INFO::Fitting model to feature number 530, F556
## 2024-05-01 17:56:38.91771 INFO::Fitting model to feature number 531, F557
## 2024-05-01 17:56:38.92095 INFO::Fitting model to feature number 532, F558
## 2024-05-01 17:56:38.924165 INFO::Fitting model to feature number 533, F559
## 2024-05-01 17:56:38.927367 INFO::Fitting model to feature number 534, F560
## 2024-05-01 17:56:38.930593 INFO::Fitting model to feature number 535, F561
## 2024-05-01 17:56:38.93374 INFO::Fitting model to feature number 536, F562
## 2024-05-01 17:56:38.936945 INFO::Fitting model to feature number 537, F563
## 2024-05-01 17:56:38.940152 INFO::Fitting model to feature number 538, F564
## 2024-05-01 17:56:38.943349 INFO::Fitting model to feature number 539, F566
## 2024-05-01 17:56:38.946578 INFO::Fitting model to feature number 540, F567
## 2024-05-01 17:56:38.9498 INFO::Fitting model to feature number 541, F568
## 2024-05-01 17:56:38.95303 INFO::Fitting model to feature number 542, F569
## 2024-05-01 17:56:38.956242 INFO::Fitting model to feature number 543, F570
## 2024-05-01 17:56:38.959444 INFO::Fitting model to feature number 544, F571
## 2024-05-01 17:56:38.962675 INFO::Fitting model to feature number 545, F572
## 2024-05-01 17:56:38.9659 INFO::Fitting model to feature number 546, F573
## 2024-05-01 17:56:38.969111 INFO::Fitting model to feature number 547, F574
## 2024-05-01 17:56:38.972337 INFO::Fitting model to feature number 548, F575
## 2024-05-01 17:56:38.975525 INFO::Fitting model to feature number 549, F576
## 2024-05-01 17:56:38.978734 INFO::Fitting model to feature number 550, F577
## 2024-05-01 17:56:39.0019 INFO::Fitting model to feature number 551, F578
## 2024-05-01 17:56:39.005664 INFO::Fitting model to feature number 552, F579
## 2024-05-01 17:56:39.009206 INFO::Fitting model to feature number 553, F580
## 2024-05-01 17:56:39.012653 INFO::Fitting model to feature number 554, F581
## 2024-05-01 17:56:39.015969 INFO::Fitting model to feature number 555, F582
## 2024-05-01 17:56:39.019313 INFO::Fitting model to feature number 556, F583
## 2024-05-01 17:56:39.022645 INFO::Fitting model to feature number 557, F584
## 2024-05-01 17:56:39.025957 INFO::Fitting model to feature number 558, F585
## 2024-05-01 17:56:39.029238 INFO::Fitting model to feature number 559, F586
## 2024-05-01 17:56:39.032506 INFO::Fitting model to feature number 560, F587
## 2024-05-01 17:56:39.035756 INFO::Fitting model to feature number 561, F588
## 2024-05-01 17:56:39.038973 INFO::Fitting model to feature number 562, F589
## 2024-05-01 17:56:39.042205 INFO::Fitting model to feature number 563, F590
## 2024-05-01 17:56:39.04543 INFO::Fitting model to feature number 564, F591
## 2024-05-01 17:56:39.048627 INFO::Fitting model to feature number 565, F592
## 2024-05-01 17:56:39.051772 INFO::Fitting model to feature number 566, F593
## 2024-05-01 17:56:39.05488 INFO::Fitting model to feature number 567, F594
## 2024-05-01 17:56:39.057997 INFO::Fitting model to feature number 568, F595
## 2024-05-01 17:56:39.061118 INFO::Fitting model to feature number 569, F596
## 2024-05-01 17:56:39.064252 INFO::Fitting model to feature number 570, F597
## 2024-05-01 17:56:39.067361 INFO::Fitting model to feature number 571, F598
## 2024-05-01 17:56:39.070481 INFO::Fitting model to feature number 572, F599
## 2024-05-01 17:56:39.073538 INFO::Fitting model to feature number 573, F600
## 2024-05-01 17:56:39.076652 INFO::Fitting model to feature number 574, F601
## 2024-05-01 17:56:39.079772 INFO::Fitting model to feature number 575, F602
## 2024-05-01 17:56:39.082909 INFO::Fitting model to feature number 576, F603
## 2024-05-01 17:56:39.086026 INFO::Fitting model to feature number 577, F605
## 2024-05-01 17:56:39.089163 INFO::Fitting model to feature number 578, F606
## 2024-05-01 17:56:39.092276 INFO::Fitting model to feature number 579, F607
## 2024-05-01 17:56:39.095392 INFO::Fitting model to feature number 580, F608
## 2024-05-01 17:56:39.098519 INFO::Fitting model to feature number 581, F609
## 2024-05-01 17:56:39.101639 INFO::Fitting model to feature number 582, F610
## 2024-05-01 17:56:39.104764 INFO::Fitting model to feature number 583, F611
## 2024-05-01 17:56:39.107883 INFO::Fitting model to feature number 584, F612
## 2024-05-01 17:56:39.111006 INFO::Fitting model to feature number 585, F613
## 2024-05-01 17:56:39.114144 INFO::Fitting model to feature number 586, F614
## 2024-05-01 17:56:39.117277 INFO::Fitting model to feature number 587, F615
## 2024-05-01 17:56:39.120425 INFO::Fitting model to feature number 588, F616
## 2024-05-01 17:56:39.123566 INFO::Fitting model to feature number 589, F617
## 2024-05-01 17:56:39.126736 INFO::Fitting model to feature number 590, F618
## 2024-05-01 17:56:39.129867 INFO::Fitting model to feature number 591, F619
## 2024-05-01 17:56:39.133 INFO::Fitting model to feature number 592, F620
## 2024-05-01 17:56:39.136137 INFO::Fitting model to feature number 593, F621
## 2024-05-01 17:56:39.139244 INFO::Fitting model to feature number 594, F622
## 2024-05-01 17:56:39.142364 INFO::Fitting model to feature number 595, F623
## 2024-05-01 17:56:39.1455 INFO::Fitting model to feature number 596, F624
## 2024-05-01 17:56:39.148697 INFO::Fitting model to feature number 597, F625
## 2024-05-01 17:56:39.151851 INFO::Fitting model to feature number 598, F626
## 2024-05-01 17:56:39.154991 INFO::Fitting model to feature number 599, F627
## 2024-05-01 17:56:39.158118 INFO::Fitting model to feature number 600, F628
## 2024-05-01 17:56:39.161242 INFO::Fitting model to feature number 601, F629
## 2024-05-01 17:56:39.164372 INFO::Fitting model to feature number 602, F630
## 2024-05-01 17:56:39.167499 INFO::Fitting model to feature number 603, F631
## 2024-05-01 17:56:39.170635 INFO::Fitting model to feature number 604, F632
## 2024-05-01 17:56:39.173783 INFO::Fitting model to feature number 605, F633
## 2024-05-01 17:56:39.176928 INFO::Fitting model to feature number 606, F634
## 2024-05-01 17:56:39.180103 INFO::Fitting model to feature number 607, F635
## 2024-05-01 17:56:39.183252 INFO::Fitting model to feature number 608, F636
## 2024-05-01 17:56:39.18639 INFO::Fitting model to feature number 609, F637
## 2024-05-01 17:56:39.189532 INFO::Fitting model to feature number 610, F638
## 2024-05-01 17:56:39.192697 INFO::Fitting model to feature number 611, F639
## 2024-05-01 17:56:39.195853 INFO::Fitting model to feature number 612, F640
## 2024-05-01 17:56:39.199011 INFO::Fitting model to feature number 613, F641
## 2024-05-01 17:56:39.20217 INFO::Fitting model to feature number 614, F642
## 2024-05-01 17:56:39.205342 INFO::Fitting model to feature number 615, F643
## 2024-05-01 17:56:39.208521 INFO::Fitting model to feature number 616, F644
## 2024-05-01 17:56:39.211684 INFO::Fitting model to feature number 617, F645
## 2024-05-01 17:56:39.214836 INFO::Fitting model to feature number 618, F646
## 2024-05-01 17:56:39.218046 INFO::Fitting model to feature number 619, F647
## 2024-05-01 17:56:39.221218 INFO::Fitting model to feature number 620, F648
## 2024-05-01 17:56:39.224315 INFO::Fitting model to feature number 621, F649
## 2024-05-01 17:56:39.227443 INFO::Fitting model to feature number 622, F650
## 2024-05-01 17:56:39.230574 INFO::Fitting model to feature number 623, F651
## 2024-05-01 17:56:39.233701 INFO::Fitting model to feature number 624, F652
## 2024-05-01 17:56:39.236834 INFO::Fitting model to feature number 625, F653
## 2024-05-01 17:56:39.239976 INFO::Fitting model to feature number 626, F654
## 2024-05-01 17:56:39.243101 INFO::Fitting model to feature number 627, F655
## 2024-05-01 17:56:39.246232 INFO::Fitting model to feature number 628, F656
## 2024-05-01 17:56:39.249414 INFO::Fitting model to feature number 629, F657
## 2024-05-01 17:56:39.252587 INFO::Fitting model to feature number 630, F658
## 2024-05-01 17:56:39.255733 INFO::Fitting model to feature number 631, F659
## 2024-05-01 17:56:39.258869 INFO::Fitting model to feature number 632, F660
## 2024-05-01 17:56:39.262007 INFO::Fitting model to feature number 633, F661
## 2024-05-01 17:56:39.265161 INFO::Fitting model to feature number 634, F662
## 2024-05-01 17:56:39.268319 INFO::Fitting model to feature number 635, F663
## 2024-05-01 17:56:39.271469 INFO::Fitting model to feature number 636, F664
## 2024-05-01 17:56:39.274652 INFO::Fitting model to feature number 637, F665
## 2024-05-01 17:56:39.277827 INFO::Fitting model to feature number 638, F666
## 2024-05-01 17:56:39.281001 INFO::Fitting model to feature number 639, F667
## 2024-05-01 17:56:39.284638 INFO::Fitting model to feature number 640, F668
## 2024-05-01 17:56:39.28778 INFO::Fitting model to feature number 641, F669
## 2024-05-01 17:56:39.290922 INFO::Fitting model to feature number 642, F670
## 2024-05-01 17:56:39.294069 INFO::Fitting model to feature number 643, F671
## 2024-05-01 17:56:39.297219 INFO::Fitting model to feature number 644, F672
## 2024-05-01 17:56:39.300305 INFO::Fitting model to feature number 645, F673
## 2024-05-01 17:56:39.303436 INFO::Fitting model to feature number 646, F674
## 2024-05-01 17:56:39.306589 INFO::Fitting model to feature number 647, F675
## 2024-05-01 17:56:39.309736 INFO::Fitting model to feature number 648, F676
## 2024-05-01 17:56:39.312903 INFO::Fitting model to feature number 649, F677
## 2024-05-01 17:56:39.316073 INFO::Fitting model to feature number 650, F678
## 2024-05-01 17:56:39.319196 INFO::Fitting model to feature number 651, F679
## 2024-05-01 17:56:39.322338 INFO::Fitting model to feature number 652, F680
## 2024-05-01 17:56:39.32548 INFO::Fitting model to feature number 653, F681
## 2024-05-01 17:56:39.328665 INFO::Fitting model to feature number 654, F682
## 2024-05-01 17:56:39.331848 INFO::Fitting model to feature number 655, F683
## 2024-05-01 17:56:39.335 INFO::Fitting model to feature number 656, F684
## 2024-05-01 17:56:39.338148 INFO::Fitting model to feature number 657, F685
## 2024-05-01 17:56:39.341306 INFO::Fitting model to feature number 658, F686
## 2024-05-01 17:56:39.344448 INFO::Fitting model to feature number 659, F687
## 2024-05-01 17:56:39.347611 INFO::Fitting model to feature number 660, F688
## 2024-05-01 17:56:39.350804 INFO::Fitting model to feature number 661, F689
## 2024-05-01 17:56:39.353993 INFO::Fitting model to feature number 662, F690
## 2024-05-01 17:56:39.357172 INFO::Fitting model to feature number 663, F691
## 2024-05-01 17:56:39.360336 INFO::Fitting model to feature number 664, F692
## 2024-05-01 17:56:39.363476 INFO::Fitting model to feature number 665, F693
## 2024-05-01 17:56:39.366681 INFO::Fitting model to feature number 666, F694
## 2024-05-01 17:56:39.369829 INFO::Fitting model to feature number 667, F695
## 2024-05-01 17:56:39.373006 INFO::Fitting model to feature number 668, F696
## 2024-05-01 17:56:39.376141 INFO::Fitting model to feature number 669, F697
## 2024-05-01 17:56:39.379276 INFO::Fitting model to feature number 670, F698
## 2024-05-01 17:56:39.382465 INFO::Fitting model to feature number 671, F699
## 2024-05-01 17:56:39.385626 INFO::Fitting model to feature number 672, F700
## 2024-05-01 17:56:39.388784 INFO::Fitting model to feature number 673, F701
## 2024-05-01 17:56:39.391955 INFO::Fitting model to feature number 674, F702
## 2024-05-01 17:56:39.395136 INFO::Fitting model to feature number 675, F704
## 2024-05-01 17:56:39.398331 INFO::Fitting model to feature number 676, F705
## 2024-05-01 17:56:39.40152 INFO::Fitting model to feature number 677, F706
## 2024-05-01 17:56:39.404701 INFO::Fitting model to feature number 678, F707
## 2024-05-01 17:56:39.407937 INFO::Fitting model to feature number 679, F708
## 2024-05-01 17:56:39.411148 INFO::Fitting model to feature number 680, F709
## 2024-05-01 17:56:39.414368 INFO::Fitting model to feature number 681, F710
## 2024-05-01 17:56:39.417622 INFO::Fitting model to feature number 682, F711
## 2024-05-01 17:56:39.420833 INFO::Fitting model to feature number 683, F712
## 2024-05-01 17:56:39.424063 INFO::Fitting model to feature number 684, F713
## 2024-05-01 17:56:39.427284 INFO::Fitting model to feature number 685, F714
## 2024-05-01 17:56:39.430462 INFO::Fitting model to feature number 686, F715
## 2024-05-01 17:56:39.433642 INFO::Fitting model to feature number 687, F716
## 2024-05-01 17:56:39.436871 INFO::Fitting model to feature number 688, F717
## 2024-05-01 17:56:39.44016 INFO::Fitting model to feature number 689, F718
## 2024-05-01 17:56:39.443404 INFO::Fitting model to feature number 690, F719
## 2024-05-01 17:56:39.446618 INFO::Fitting model to feature number 691, F720
## 2024-05-01 17:56:39.449852 INFO::Fitting model to feature number 692, F721
## 2024-05-01 17:56:39.453098 INFO::Fitting model to feature number 693, F722
## 2024-05-01 17:56:39.456343 INFO::Fitting model to feature number 694, F723
## 2024-05-01 17:56:39.459567 INFO::Fitting model to feature number 695, F724
## 2024-05-01 17:56:39.462804 INFO::Fitting model to feature number 696, F725
## 2024-05-01 17:56:39.466043 INFO::Fitting model to feature number 697, F726
## 2024-05-01 17:56:39.469309 INFO::Fitting model to feature number 698, F727
## 2024-05-01 17:56:39.472562 INFO::Fitting model to feature number 699, F728
## 2024-05-01 17:56:39.475807 INFO::Fitting model to feature number 700, F729
## 2024-05-01 17:56:39.479056 INFO::Fitting model to feature number 701, F730
## 2024-05-01 17:56:39.482293 INFO::Fitting model to feature number 702, F731
## 2024-05-01 17:56:39.485531 INFO::Fitting model to feature number 703, F732
## 2024-05-01 17:56:39.488755 INFO::Fitting model to feature number 704, F733
## 2024-05-01 17:56:39.492005 INFO::Fitting model to feature number 705, F734
## 2024-05-01 17:56:39.495245 INFO::Fitting model to feature number 706, F735
## 2024-05-01 17:56:39.498492 INFO::Fitting model to feature number 707, F736
## 2024-05-01 17:56:39.501716 INFO::Fitting model to feature number 708, F737
## 2024-05-01 17:56:39.504941 INFO::Fitting model to feature number 709, F739
## 2024-05-01 17:56:39.508164 INFO::Fitting model to feature number 710, F740
## 2024-05-01 17:56:39.511369 INFO::Fitting model to feature number 711, F741
## 2024-05-01 17:56:39.514588 INFO::Fitting model to feature number 712, F742
## 2024-05-01 17:56:39.517827 INFO::Fitting model to feature number 713, F743
## 2024-05-01 17:56:39.521063 INFO::Fitting model to feature number 714, F744
## 2024-05-01 17:56:39.524295 INFO::Fitting model to feature number 715, F745
## 2024-05-01 17:56:39.527521 INFO::Fitting model to feature number 716, F746
## 2024-05-01 17:56:39.530771 INFO::Fitting model to feature number 717, F747
## 2024-05-01 17:56:39.534046 INFO::Fitting model to feature number 718, F748
## 2024-05-01 17:56:39.537309 INFO::Fitting model to feature number 719, F749
## 2024-05-01 17:56:39.540531 INFO::Fitting model to feature number 720, F750
## 2024-05-01 17:56:39.543739 INFO::Fitting model to feature number 721, F751
## 2024-05-01 17:56:39.546932 INFO::Fitting model to feature number 722, F752
## 2024-05-01 17:56:39.550155 INFO::Fitting model to feature number 723, F753
## 2024-05-01 17:56:39.553352 INFO::Fitting model to feature number 724, F754
## 2024-05-01 17:56:39.55657 INFO::Fitting model to feature number 725, F755
## 2024-05-01 17:56:39.559778 INFO::Fitting model to feature number 726, F756
## 2024-05-01 17:56:39.562969 INFO::Fitting model to feature number 727, F757
## 2024-05-01 17:56:39.56617 INFO::Fitting model to feature number 728, F758
## 2024-05-01 17:56:39.56938 INFO::Fitting model to feature number 729, F759
## 2024-05-01 17:56:39.572579 INFO::Fitting model to feature number 730, F760
## 2024-05-01 17:56:39.575809 INFO::Fitting model to feature number 731, F761
## 2024-05-01 17:56:39.579034 INFO::Fitting model to feature number 732, F762
## 2024-05-01 17:56:39.582276 INFO::Fitting model to feature number 733, F763
## 2024-05-01 17:56:39.585524 INFO::Fitting model to feature number 734, F764
## 2024-05-01 17:56:39.588758 INFO::Fitting model to feature number 735, F765
## 2024-05-01 17:56:39.59199 INFO::Fitting model to feature number 736, F766
## 2024-05-01 17:56:39.595217 INFO::Fitting model to feature number 737, F767
## 2024-05-01 17:56:39.598479 INFO::Fitting model to feature number 738, F768
## 2024-05-01 17:56:39.601669 INFO::Fitting model to feature number 739, F769
## 2024-05-01 17:56:39.604928 INFO::Fitting model to feature number 740, F770
## 2024-05-01 17:56:39.608168 INFO::Fitting model to feature number 741, F771
## 2024-05-01 17:56:39.611379 INFO::Fitting model to feature number 742, F772
## 2024-05-01 17:56:39.614615 INFO::Fitting model to feature number 743, F773
## 2024-05-01 17:56:39.617858 INFO::Fitting model to feature number 744, F774
## 2024-05-01 17:56:39.62113 INFO::Fitting model to feature number 745, F775
## 2024-05-01 17:56:39.624393 INFO::Fitting model to feature number 746, F776
## 2024-05-01 17:56:39.62766 INFO::Fitting model to feature number 747, F777
## 2024-05-01 17:56:39.630939 INFO::Fitting model to feature number 748, F778
## 2024-05-01 17:56:39.634213 INFO::Fitting model to feature number 749, F779
## 2024-05-01 17:56:39.637484 INFO::Fitting model to feature number 750, F780
## 2024-05-01 17:56:39.640721 INFO::Fitting model to feature number 751, F781
## 2024-05-01 17:56:39.643973 INFO::Fitting model to feature number 752, F782
## 2024-05-01 17:56:39.647207 INFO::Fitting model to feature number 753, F783
## 2024-05-01 17:56:39.650444 INFO::Fitting model to feature number 754, F784
## 2024-05-01 17:56:39.653653 INFO::Fitting model to feature number 755, F785
## 2024-05-01 17:56:39.656866 INFO::Fitting model to feature number 756, F786
## 2024-05-01 17:56:39.660083 INFO::Fitting model to feature number 757, F787
## 2024-05-01 17:56:39.663243 INFO::Fitting model to feature number 758, F788
## 2024-05-01 17:56:39.666483 INFO::Fitting model to feature number 759, F789
## 2024-05-01 17:56:39.669698 INFO::Fitting model to feature number 760, F790
## 2024-05-01 17:56:39.67293 INFO::Fitting model to feature number 761, F791
## 2024-05-01 17:56:39.676142 INFO::Fitting model to feature number 762, F792
## 2024-05-01 17:56:39.67934 INFO::Fitting model to feature number 763, F793
## 2024-05-01 17:56:39.682555 INFO::Fitting model to feature number 764, F794
## 2024-05-01 17:56:39.685779 INFO::Fitting model to feature number 765, F795
## 2024-05-01 17:56:39.68901 INFO::Fitting model to feature number 766, F796
## 2024-05-01 17:56:39.692249 INFO::Fitting model to feature number 767, F797
## 2024-05-01 17:56:39.695484 INFO::Fitting model to feature number 768, F798
## 2024-05-01 17:56:39.698708 INFO::Fitting model to feature number 769, F799
## 2024-05-01 17:56:39.701941 INFO::Fitting model to feature number 770, F800
## 2024-05-01 17:56:39.705174 INFO::Fitting model to feature number 771, F801
## 2024-05-01 17:56:39.708419 INFO::Fitting model to feature number 772, F802
## 2024-05-01 17:56:39.711641 INFO::Fitting model to feature number 773, F803
## 2024-05-01 17:56:39.71486 INFO::Fitting model to feature number 774, F804
## 2024-05-01 17:56:39.718115 INFO::Fitting model to feature number 775, F805
## 2024-05-01 17:56:39.721353 INFO::Fitting model to feature number 776, F806
## 2024-05-01 17:56:39.724578 INFO::Fitting model to feature number 777, F808
## 2024-05-01 17:56:39.72783 INFO::Fitting model to feature number 778, F809
## 2024-05-01 17:56:39.731063 INFO::Fitting model to feature number 779, F810
## 2024-05-01 17:56:39.734286 INFO::Fitting model to feature number 780, F811
## 2024-05-01 17:56:39.737533 INFO::Fitting model to feature number 781, F812
## 2024-05-01 17:56:39.740826 INFO::Fitting model to feature number 782, F813
## 2024-05-01 17:56:39.744093 INFO::Fitting model to feature number 783, F814
## 2024-05-01 17:56:39.747338 INFO::Fitting model to feature number 784, F815
## 2024-05-01 17:56:39.750607 INFO::Fitting model to feature number 785, F816
## 2024-05-01 17:56:39.753866 INFO::Fitting model to feature number 786, F817
## 2024-05-01 17:56:39.75715 INFO::Fitting model to feature number 787, F818
## 2024-05-01 17:56:39.7604 INFO::Fitting model to feature number 788, F819
## 2024-05-01 17:56:39.763652 INFO::Fitting model to feature number 789, F820
## 2024-05-01 17:56:39.766898 INFO::Fitting model to feature number 790, F821
## 2024-05-01 17:56:39.770165 INFO::Fitting model to feature number 791, F822
## 2024-05-01 17:56:39.773445 INFO::Fitting model to feature number 792, F823
## 2024-05-01 17:56:39.77675 INFO::Fitting model to feature number 793, F824
## 2024-05-01 17:56:39.780111 INFO::Fitting model to feature number 794, F825
## 2024-05-01 17:56:39.78348 INFO::Fitting model to feature number 795, F826
## 2024-05-01 17:56:39.786909 INFO::Fitting model to feature number 796, F827
## 2024-05-01 17:56:39.790329 INFO::Fitting model to feature number 797, F828
## 2024-05-01 17:56:39.793707 INFO::Fitting model to feature number 798, F829
## 2024-05-01 17:56:39.797072 INFO::Fitting model to feature number 799, F830
## 2024-05-01 17:56:39.800375 INFO::Fitting model to feature number 800, F831
## 2024-05-01 17:56:39.803662 INFO::Fitting model to feature number 801, F832
## 2024-05-01 17:56:39.806963 INFO::Fitting model to feature number 802, F833
## 2024-05-01 17:56:39.810251 INFO::Fitting model to feature number 803, F834
## 2024-05-01 17:56:39.81354 INFO::Fitting model to feature number 804, F835
## 2024-05-01 17:56:39.816797 INFO::Fitting model to feature number 805, F836
## 2024-05-01 17:56:39.820105 INFO::Fitting model to feature number 806, F837
## 2024-05-01 17:56:39.823389 INFO::Fitting model to feature number 807, F838
## 2024-05-01 17:56:39.826663 INFO::Fitting model to feature number 808, F839
## 2024-05-01 17:56:39.829922 INFO::Fitting model to feature number 809, F840
## 2024-05-01 17:56:39.833182 INFO::Fitting model to feature number 810, F841
## 2024-05-01 17:56:39.836403 INFO::Fitting model to feature number 811, F842
## 2024-05-01 17:56:39.839612 INFO::Fitting model to feature number 812, F843
## 2024-05-01 17:56:39.84283 INFO::Fitting model to feature number 813, F844
## 2024-05-01 17:56:39.846059 INFO::Fitting model to feature number 814, F845
## 2024-05-01 17:56:39.849284 INFO::Fitting model to feature number 815, F846
## 2024-05-01 17:56:39.852517 INFO::Fitting model to feature number 816, F847
## 2024-05-01 17:56:39.855736 INFO::Fitting model to feature number 817, F848
## 2024-05-01 17:56:39.858954 INFO::Fitting model to feature number 818, F849
## 2024-05-01 17:56:39.862171 INFO::Fitting model to feature number 819, F850
## 2024-05-01 17:56:39.865401 INFO::Fitting model to feature number 820, F851
## 2024-05-01 17:56:39.868634 INFO::Fitting model to feature number 821, F852
## 2024-05-01 17:56:39.871866 INFO::Fitting model to feature number 822, F853
## 2024-05-01 17:56:39.875085 INFO::Fitting model to feature number 823, F854
## 2024-05-01 17:56:39.878296 INFO::Fitting model to feature number 824, F855
## 2024-05-01 17:56:39.881518 INFO::Fitting model to feature number 825, F856
## 2024-05-01 17:56:39.884751 INFO::Fitting model to feature number 826, F857
## 2024-05-01 17:56:39.887964 INFO::Fitting model to feature number 827, F858
## 2024-05-01 17:56:39.891173 INFO::Fitting model to feature number 828, F859
## 2024-05-01 17:56:39.89441 INFO::Fitting model to feature number 829, F860
## 2024-05-01 17:56:39.897643 INFO::Fitting model to feature number 830, F861
## 2024-05-01 17:56:39.900872 INFO::Fitting model to feature number 831, F862
## 2024-05-01 17:56:39.904107 INFO::Fitting model to feature number 832, F863
## 2024-05-01 17:56:39.907323 INFO::Fitting model to feature number 833, F864
## 2024-05-01 17:56:39.910562 INFO::Fitting model to feature number 834, F865
## 2024-05-01 17:56:39.913778 INFO::Fitting model to feature number 835, F866
## 2024-05-01 17:56:39.917063 INFO::Fitting model to feature number 836, F867
## 2024-05-01 17:56:39.920322 INFO::Fitting model to feature number 837, F868
## 2024-05-01 17:56:39.923597 INFO::Fitting model to feature number 838, F869
## 2024-05-01 17:56:39.926912 INFO::Fitting model to feature number 839, F870
## 2024-05-01 17:56:39.930152 INFO::Fitting model to feature number 840, F871
## 2024-05-01 17:56:39.933413 INFO::Fitting model to feature number 841, F872
## 2024-05-01 17:56:39.936637 INFO::Fitting model to feature number 842, F873
## 2024-05-01 17:56:39.939853 INFO::Fitting model to feature number 843, F874
## 2024-05-01 17:56:39.94301 INFO::Fitting model to feature number 844, F875
## 2024-05-01 17:56:39.946254 INFO::Fitting model to feature number 845, F876
## 2024-05-01 17:56:39.949489 INFO::Fitting model to feature number 846, F877
## 2024-05-01 17:56:39.952711 INFO::Fitting model to feature number 847, F878
## 2024-05-01 17:56:39.955942 INFO::Fitting model to feature number 848, F879
## 2024-05-01 17:56:39.959156 INFO::Fitting model to feature number 849, F880
## 2024-05-01 17:56:39.962387 INFO::Fitting model to feature number 850, F881
## 2024-05-01 17:56:39.970155 INFO::Fitting model to feature number 851, F882
## 2024-05-01 17:56:39.97394 INFO::Fitting model to feature number 852, F883
## 2024-05-01 17:56:39.977275 INFO::Fitting model to feature number 853, F884
## 2024-05-01 17:56:39.980595 INFO::Fitting model to feature number 854, F885
## 2024-05-01 17:56:39.983917 INFO::Fitting model to feature number 855, F886
## 2024-05-01 17:56:39.98718 INFO::Fitting model to feature number 856, F887
## 2024-05-01 17:56:39.990503 INFO::Fitting model to feature number 857, F888
## 2024-05-01 17:56:39.993817 INFO::Fitting model to feature number 858, F889
## 2024-05-01 17:56:39.997124 INFO::Fitting model to feature number 859, F890
## 2024-05-01 17:56:40.000437 INFO::Fitting model to feature number 860, F891
## 2024-05-01 17:56:40.003749 INFO::Fitting model to feature number 861, F892
## 2024-05-01 17:56:40.007073 INFO::Fitting model to feature number 862, F893
## 2024-05-01 17:56:40.010432 INFO::Fitting model to feature number 863, F894
## 2024-05-01 17:56:40.013785 INFO::Fitting model to feature number 864, F895
## 2024-05-01 17:56:40.017147 INFO::Fitting model to feature number 865, F896
## 2024-05-01 17:56:40.020473 INFO::Fitting model to feature number 866, F897
## 2024-05-01 17:56:40.023818 INFO::Fitting model to feature number 867, F898
## 2024-05-01 17:56:40.027157 INFO::Fitting model to feature number 868, F899
## 2024-05-01 17:56:40.030527 INFO::Fitting model to feature number 869, F900
## 2024-05-01 17:56:40.231293 INFO::Counting total values for each feature
## 2024-05-01 17:56:40.354191 INFO::Writing filtered data to file Macarron_output/maaslin2_results/features/filtered_data.tsv
## 2024-05-01 17:56:40.497137 INFO::Writing filtered, normalized data to file Macarron_output/maaslin2_results/features/filtered_data_norm.tsv
## 2024-05-01 17:56:40.640322 INFO::Writing filtered, normalized, transformed data to file Macarron_output/maaslin2_results/features/filtered_data_norm_transformed.tsv
## 2024-05-01 17:56:40.783266 INFO::Writing residuals to file Macarron_output/maaslin2_results/fits/residuals.rds
## 2024-05-01 17:56:40.831312 INFO::Writing fitted values to file Macarron_output/maaslin2_results/fits/fitted.rds
## 2024-05-01 17:56:40.872092 INFO::Writing all results to file (ordered by increasing q-values): Macarron_output/maaslin2_results/all_results.tsv
## 2024-05-01 17:56:40.892769 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 17:56:40.902143 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 17:56:41.225843 INFO::Writing all prioritized metabolites to file: Macarron_output/prioritized_metabolites_all.csv
## 2024-05-01 17:56:41.23704 INFO::Writing characterizable prioritized metabolites to file: Macarron_output/prioritized_metabolites_characterizable.csv
## 2024-05-01 17:56:41.261496 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 RC (2024-04-16 r86468)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 22.04.4 LTS
## 
## Matrix products: default
## BLAS:   /home/biocbuild/bbs-3.20-bioc/R/lib/libRblas.so 
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_GB              LC_COLLATE=C              
##  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
##  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
## 
## time zone: America/New_York
## tzcode source: system (glibc)
## 
## attached base packages:
## [1] stats4    stats     graphics  grDevices utils     datasets  methods  
## [8] base     
## 
## other attached packages:
##  [1] Macarron_1.9.0              SummarizedExperiment_1.35.0
##  [3] Biobase_2.65.0              GenomicRanges_1.57.0       
##  [5] GenomeInfoDb_1.41.0         IRanges_2.39.0             
##  [7] S4Vectors_0.43.0            BiocGenerics_0.51.0        
##  [9] MatrixGenerics_1.17.0       matrixStats_1.3.0          
## [11] BiocStyle_2.33.0           
## 
## loaded via a namespace (and not attached):
##   [1] mnormt_2.1.1            DBI_1.2.2               pbapply_1.7-2          
##   [4] gridExtra_2.3           rlang_1.1.3             magrittr_2.0.3         
##   [7] compiler_4.4.0          RSQLite_2.3.6           png_0.1-8              
##  [10] vctrs_0.6.5             stringr_1.5.1           pkgconfig_2.0.3        
##  [13] crayon_1.5.2            fastmap_1.1.1           backports_1.4.1        
##  [16] XVector_0.45.0          utf8_1.2.4              rmarkdown_2.26         
##  [19] preprocessCore_1.67.0   UCSC.utils_1.1.0        bit_4.0.5              
##  [22] xfun_0.43               zlibbioc_1.51.0         cachem_1.0.8           
##  [25] jsonlite_1.8.8          blob_1.2.4              DelayedArray_0.31.0    
##  [28] BiocParallel_1.39.0     psych_2.4.3             Maaslin2_1.19.0        
##  [31] parallel_4.4.0          cluster_2.1.6           biglm_0.9-2.1          
##  [34] R6_2.5.1                RColorBrewer_1.1-3      stringi_1.8.3          
##  [37] bslib_0.7.0             rpart_4.1.23            jquerylib_0.1.4        
##  [40] Rcpp_1.0.12             bookdown_0.39           iterators_1.0.14       
##  [43] knitr_1.46              WGCNA_1.72-5            base64enc_0.1-3        
##  [46] Matrix_1.7-0            splines_4.4.0           nnet_7.3-19            
##  [49] tidyselect_1.2.1        rstudioapi_0.16.0       abind_1.4-5            
##  [52] yaml_2.3.8              doParallel_1.0.17       codetools_0.2-20       
##  [55] plyr_1.8.9              lattice_0.22-6          tibble_3.2.1           
##  [58] withr_3.0.0             KEGGREST_1.45.0         evaluate_0.23          
##  [61] foreign_0.8-86          survival_3.6-4          getopt_1.20.4          
##  [64] Biostrings_2.73.0       pillar_1.9.0            BiocManager_1.30.22    
##  [67] checkmate_2.3.1         foreach_1.5.2           pcaPP_2.0-4            
##  [70] generics_0.1.3          ggplot2_3.5.1           munsell_0.5.1          
##  [73] scales_1.3.0            glue_1.7.0              pheatmap_1.0.12        
##  [76] Hmisc_5.1-2             tools_4.4.0             robustbase_0.99-2      
##  [79] data.table_1.15.4       mvtnorm_1.2-4           fastcluster_1.2.6      
##  [82] grid_4.4.0              optparse_1.7.5          impute_1.79.0          
##  [85] AnnotationDbi_1.67.0    colorspace_2.1-0        nlme_3.1-164           
##  [88] GenomeInfoDbData_1.2.12 htmlTable_2.4.2         Formula_1.2-5          
##  [91] cli_3.6.2               fansi_1.0.6             S4Arrays_1.5.0         
##  [94] dplyr_1.1.4             DEoptimR_1.1-3          gtable_0.3.5           
##  [97] hash_2.2.6.3            logging_0.10-108        dynamicTreeCut_1.63-1  
## [100] sass_0.4.9              digest_0.6.35           SparseArray_1.5.0      
## [103] htmlwidgets_1.6.4       memoise_2.0.1           htmltools_0.5.8.1      
## [106] lifecycle_1.0.4         httr_1.4.7              GO.db_3.19.1           
## [109] bit64_4.0.5

3.4 Advanced Topics

3.4.1 Generating the input chemical taxonomy file

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

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

3.4.2 Accessory output files

3.4.2.1 Macarron.log

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

3.4.2.2 modules_measures_of_success.csv

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

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

3.4.2.3 Maaslin2 results

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

3.4.3 Changing defaults

3.4.3.1 Filtering metabolic features based on prevalence

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

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

3.4.4 Minimum module size

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

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

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

3.4.5 Specifying fixed effects, random effects and reference

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

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

4 Command line invocation

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