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, sort, table,
##     tapply, union, unique, unsplit, which.max, which.min
## Loading required package: S4Vectors
## 
## Attaching package: 'S4Vectors'
## 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)
## 2022-11-01 17:54:39 INFO::Creating output folder.
## 2022-11-01 17:54:39 INFO::Writing function arguments to log file
## Samples with both abundances and metadata: 102
## 2022-11-01 17:54:39 INFO::Summarized Experiment created.
## 2022-11-01 17:54:39 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.
## 2022-11-01 17:54:44 INFO::Distance matrix with 869 metabolic features created.
## Initiating module detection
## 2022-11-01 17:54:44 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.
## 2022-11-01 17:54:45 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 figures folder"
## 2022-11-01 17:54:47 INFO::Writing function arguments to log file
## 2022-11-01 17:54:47 INFO::Verifying options selected are valid
## 2022-11-01 17:54:47 INFO::Determining format of input files
## 2022-11-01 17:54:47 INFO::Input format is data samples as columns and metadata samples as rows
## 2022-11-01 17:54:47 INFO::Formula for fixed effects: expr ~  diagnosis + age + antibiotics
## 2022-11-01 17:54:47 INFO::Filter data based on min abundance and min prevalence
## 2022-11-01 17:54:47 INFO::Total samples in data: 102
## 2022-11-01 17:54:47 INFO::Min samples required with min abundance for a feature not to be filtered: 0.000000
## 2022-11-01 17:54:47 INFO::Total filtered features: 0
## 2022-11-01 17:54:47 INFO::Filtered feature names from abundance and prevalence filtering:
## 2022-11-01 17:54:47 INFO::Total filtered features with variance filtering: 0
## 2022-11-01 17:54:47 INFO::Filtered feature names from variance filtering:
## 2022-11-01 17:54:47 INFO::Running selected normalization method: NONE
## 2022-11-01 17:54:47 INFO::Applying z-score to standardize continuous metadata
## 2022-11-01 17:54:47 INFO::Running selected transform method: NONE
## 2022-11-01 17:54:47 INFO::Running selected analysis method: LM
## 2022-11-01 17:54:47 INFO::Fitting model to feature number 1, F1
## 2022-11-01 17:54:47 INFO::Fitting model to feature number 2, F2
## 2022-11-01 17:54:47 INFO::Fitting model to feature number 3, F3
## 2022-11-01 17:54:47 INFO::Fitting model to feature number 4, F4
## 2022-11-01 17:54:47 INFO::Fitting model to feature number 5, F5
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 6, F6
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 7, F7
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 8, F8
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 9, F9
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 10, F10
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 11, F11
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 12, F12
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 13, F13
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 14, F14
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 15, F15
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 16, F16
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 17, F17
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 18, F18
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 19, F19
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 20, F20
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 21, F21
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 22, F22
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 23, F23
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 24, F24
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 25, F25
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 26, F26
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 27, F27
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 28, F28
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 29, F29
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 30, F30
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 31, F31
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 32, F32
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 33, F33
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 34, F34
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 35, F35
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 36, F36
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 37, F37
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 38, F38
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 39, F39
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 40, F40
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 41, F41
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 42, F43
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 43, F44
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 44, F45
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 45, F46
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 46, F47
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 47, F48
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 48, F49
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 49, F50
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 50, F51
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 51, F52
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 52, F53
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 53, F54
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 54, F55
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 55, F56
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 56, F57
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 57, F58
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 58, F59
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 59, F60
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 60, F63
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 61, F64
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 62, F65
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 63, F66
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 64, F67
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 65, F68
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 66, F69
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 67, F70
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 68, F71
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 69, F72
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 70, F73
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 71, F74
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 72, F76
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 73, F77
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 74, F78
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 75, F79
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 76, F80
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 77, F81
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 78, F82
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 79, F83
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 80, F84
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 81, F85
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 82, F86
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 83, F87
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 84, F88
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 85, F89
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 86, F90
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 87, F91
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 88, F92
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 89, F93
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 90, F94
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 91, F95
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 92, F96
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 93, F97
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 94, F98
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 95, F99
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 96, F100
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 97, F101
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 98, F102
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 99, F103
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 100, F104
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 101, F105
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 102, F106
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 103, F107
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 104, F108
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 105, F109
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 106, F110
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 107, F111
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 108, F112
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 109, F113
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 110, F114
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 111, F115
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 112, F117
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 113, F118
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 114, F119
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 115, F120
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 116, F121
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 117, F122
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 118, F123
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 119, F124
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 120, F125
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 121, F126
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 122, F127
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 123, F128
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 124, F129
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 125, F130
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 126, F131
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 127, F132
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 128, F133
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 129, F134
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 130, F135
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 131, F136
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 132, F137
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 133, F138
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 134, F139
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 135, F140
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 136, F141
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 137, F142
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 138, F143
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 139, F144
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 140, F145
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 141, F146
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 142, F147
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 143, F148
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 144, F149
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 145, F150
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 146, F152
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 147, F153
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 148, F154
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 149, F155
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 150, F156
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 151, F157
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 152, F158
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 153, F159
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 154, F160
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 155, F161
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 156, F162
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 157, F163
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 158, F164
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 159, F165
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 160, F166
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 161, F167
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 162, F168
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 163, F169
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 164, F170
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 165, F171
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 166, F172
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 167, F173
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 168, F174
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 169, F175
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 170, F176
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 171, F177
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 172, F178
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 173, F179
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 174, F180
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 175, F181
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 176, F182
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 177, F183
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 178, F184
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 179, F185
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 180, F186
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 181, F187
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 182, F188
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 183, F189
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 184, F190
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 185, F191
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 186, F192
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 187, F193
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 188, F194
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 189, F195
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 190, F196
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 191, F197
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 192, F198
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 193, F199
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 194, F200
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 195, F201
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 196, F202
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 197, F203
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 198, F204
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 199, F206
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 200, F207
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 201, F208
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 202, F209
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 203, F210
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 204, F211
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 205, F212
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 206, F213
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 207, F214
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 208, F215
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 209, F216
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 210, F217
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 211, F218
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 212, F219
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 213, F220
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 214, F221
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 215, F222
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 216, F223
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 217, F224
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 218, F225
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 219, F226
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 220, F227
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 221, F228
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 222, F229
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 223, F230
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 224, F231
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 225, F232
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 226, F233
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 227, F234
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 228, F235
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 229, F236
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 230, F237
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 231, F238
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 232, F239
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 233, F240
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 234, F241
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 235, F242
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 236, F243
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 237, F244
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 238, F245
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 239, F246
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 240, F247
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 241, F248
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 242, F249
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 243, F250
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 244, F252
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 245, F253
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 246, F254
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 247, F255
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 248, F256
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 249, F257
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 250, F259
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 251, F260
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 252, F261
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 253, F262
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 254, F263
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 255, F264
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 256, F265
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 257, F266
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 258, F267
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 259, F269
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 260, F270
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 261, F271
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 262, F272
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 263, F273
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 264, F274
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 265, F276
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 266, F277
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 267, F278
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 268, F279
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 269, F280
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 270, F281
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 271, F282
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 272, F283
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 273, F284
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 274, F285
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 275, F286
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 276, F287
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 277, F288
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 278, F289
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 279, F290
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 280, F292
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 281, F293
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 282, F294
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 283, F295
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 284, F296
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 285, F297
## 2022-11-01 17:54:48 INFO::Fitting model to feature number 286, F298
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 287, F299
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 288, F300
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 289, F301
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 290, F302
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 291, F303
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 292, F304
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 293, F305
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 294, F306
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 295, F307
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 296, F308
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 297, F309
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 298, F310
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 299, F311
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 300, F312
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 301, F313
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 302, F315
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 303, F316
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 304, F317
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 305, F318
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 306, F319
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 307, F320
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 308, F321
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 309, F322
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 310, F323
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 311, F324
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 312, F325
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 313, F326
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 314, F327
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 315, F328
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 316, F329
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 317, F330
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 318, F331
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 319, F332
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 320, F333
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 321, F334
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 322, F335
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 323, F336
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 324, F337
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 325, F338
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 326, F339
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 327, F340
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 328, F342
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 329, F343
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 330, F344
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 331, F345
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 332, F346
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 333, F347
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 334, F348
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 335, F350
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 336, F351
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 337, F352
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 338, F353
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 339, F355
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 340, F356
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 341, F357
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 342, F358
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 343, F359
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 344, F360
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 345, F361
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 346, F362
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 347, F363
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 348, F364
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 349, F365
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 350, F366
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 351, F367
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 352, F368
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 353, F369
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 354, F370
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 355, F371
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 356, F372
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 357, F373
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 358, F374
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 359, F375
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 360, F376
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 361, F377
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 362, F378
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 363, F379
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 364, F380
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 365, F381
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 366, F382
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 367, F383
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 368, F384
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 369, F386
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 370, F387
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 371, F388
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 372, F389
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 373, F390
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 374, F391
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 375, F392
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 376, F393
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 377, F394
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 378, F395
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 379, F396
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 380, F397
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 381, F398
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 382, F399
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 383, F400
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 384, F401
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 385, F402
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 386, F403
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 387, F404
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 388, F406
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 389, F407
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 390, F408
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 391, F409
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 392, F410
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 393, F411
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 394, F412
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 395, F413
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 396, F414
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 397, F415
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 398, F416
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 399, F417
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 400, F418
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 401, F419
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 402, F420
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 403, F421
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 404, F422
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 405, F423
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 406, F425
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 407, F426
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 408, F428
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 409, F429
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 410, F430
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 411, F431
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 412, F432
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 413, F433
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 414, F434
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 415, F435
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 416, F436
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 417, F437
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 418, F438
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 419, F439
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 420, F440
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 421, F441
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 422, F442
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 423, F443
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 424, F444
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 425, F445
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 426, F446
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 427, F447
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 428, F448
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 429, F449
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 430, F450
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 431, F451
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 432, F452
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 433, F454
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 434, F455
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 435, F456
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 436, F457
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 437, F458
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 438, F459
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 439, F461
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 440, F462
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 441, F463
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 442, F464
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 443, F465
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 444, F466
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 445, F467
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 446, F468
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 447, F469
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 448, F470
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 449, F471
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 450, F474
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 451, F475
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 452, F476
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 453, F477
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 454, F478
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 455, F479
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 456, F480
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 457, F481
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 458, F482
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 459, F483
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 460, F484
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 461, F485
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 462, F486
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 463, F487
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 464, F488
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 465, F489
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 466, F490
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 467, F491
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 468, F492
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 469, F493
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 470, F494
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 471, F495
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 472, F496
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 473, F497
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 474, F498
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 475, F499
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 476, F500
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 477, F501
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 478, F502
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 479, F503
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 480, F504
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 481, F505
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 482, F506
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 483, F507
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 484, F508
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 485, F509
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 486, F510
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 487, F511
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 488, F512
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 489, F513
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 490, F514
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 491, F515
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 492, F516
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 493, F517
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 494, F518
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 495, F519
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 496, F520
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 497, F521
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 498, F522
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 499, F523
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 500, F524
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 501, F525
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 502, F526
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 503, F527
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 504, F528
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 505, F529
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 506, F530
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 507, F531
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 508, F532
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 509, F533
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 510, F534
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 511, F535
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 512, F536
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 513, F537
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 514, F539
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 515, F540
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 516, F541
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 517, F543
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 518, F544
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 519, F545
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 520, F546
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 521, F547
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 522, F548
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 523, F549
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 524, F550
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 525, F551
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 526, F552
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 527, F553
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 528, F554
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 529, F555
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 530, F556
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 531, F557
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 532, F558
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 533, F559
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 534, F560
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 535, F561
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 536, F562
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 537, F563
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 538, F564
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 539, F566
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 540, F567
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 541, F568
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 542, F569
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 543, F570
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 544, F571
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 545, F572
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 546, F573
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 547, F574
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 548, F575
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 549, F576
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 550, F577
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 551, F578
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 552, F579
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 553, F580
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 554, F581
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 555, F582
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 556, F583
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 557, F584
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 558, F585
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 559, F586
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 560, F587
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 561, F588
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 562, F589
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 563, F590
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 564, F591
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 565, F592
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 566, F593
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 567, F594
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 568, F595
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 569, F596
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 570, F597
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 571, F598
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 572, F599
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 573, F600
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 574, F601
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 575, F602
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 576, F603
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 577, F605
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 578, F606
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 579, F607
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 580, F608
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 581, F609
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 582, F610
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 583, F611
## 2022-11-01 17:54:49 INFO::Fitting model to feature number 584, F612
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 585, F613
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 586, F614
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 587, F615
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 588, F616
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 589, F617
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 590, F618
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 591, F619
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 592, F620
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 593, F621
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 594, F622
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 595, F623
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 596, F624
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 597, F625
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 598, F626
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 599, F627
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 600, F628
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 601, F629
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 602, F630
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 603, F631
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 604, F632
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 605, F633
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 606, F634
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 607, F635
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 608, F636
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 609, F637
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 610, F638
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 611, F639
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 612, F640
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 613, F641
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 614, F642
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 615, F643
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 616, F644
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 617, F645
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 618, F646
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 619, F647
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 620, F648
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 621, F649
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 622, F650
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 623, F651
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 624, F652
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 625, F653
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 626, F654
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 627, F655
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 628, F656
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 629, F657
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 630, F658
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 631, F659
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 632, F660
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 633, F661
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 634, F662
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 635, F663
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 636, F664
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 637, F665
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 638, F666
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 639, F667
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 640, F668
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 641, F669
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 642, F670
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 643, F671
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 644, F672
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 645, F673
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 646, F674
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 647, F675
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 648, F676
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 649, F677
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 650, F678
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 651, F679
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 652, F680
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 653, F681
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 654, F682
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 655, F683
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 656, F684
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 657, F685
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 658, F686
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 659, F687
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 660, F688
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 661, F689
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 662, F690
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 663, F691
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 664, F692
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 665, F693
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 666, F694
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 667, F695
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 668, F696
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 669, F697
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 670, F698
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 671, F699
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 672, F700
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 673, F701
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 674, F702
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 675, F704
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 676, F705
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 677, F706
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 678, F707
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 679, F708
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 680, F709
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 681, F710
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 682, F711
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 683, F712
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 684, F713
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 685, F714
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 686, F715
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 687, F716
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 688, F717
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 689, F718
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 690, F719
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 691, F720
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 692, F721
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 693, F722
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 694, F723
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 695, F724
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 696, F725
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 697, F726
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 698, F727
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 699, F728
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 700, F729
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 701, F730
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 702, F731
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 703, F732
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 704, F733
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 705, F734
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 706, F735
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 707, F736
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 708, F737
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 709, F739
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 710, F740
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 711, F741
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 712, F742
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 713, F743
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 714, F744
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 715, F745
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 716, F746
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 717, F747
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 718, F748
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 719, F749
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 720, F750
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 721, F751
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 722, F752
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 723, F753
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 724, F754
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 725, F755
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 726, F756
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 727, F757
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 728, F758
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 729, F759
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 730, F760
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 731, F761
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 732, F762
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 733, F763
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 734, F764
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 735, F765
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 736, F766
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 737, F767
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 738, F768
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 739, F769
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 740, F770
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 741, F771
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 742, F772
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 743, F773
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 744, F774
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 745, F775
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 746, F776
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 747, F777
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 748, F778
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 749, F779
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 750, F780
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 751, F781
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 752, F782
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 753, F783
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 754, F784
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 755, F785
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 756, F786
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 757, F787
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 758, F788
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 759, F789
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 760, F790
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 761, F791
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 762, F792
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 763, F793
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 764, F794
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 765, F795
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 766, F796
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 767, F797
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 768, F798
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 769, F799
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 770, F800
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 771, F801
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 772, F802
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 773, F803
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 774, F804
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 775, F805
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 776, F806
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 777, F808
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 778, F809
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 779, F810
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 780, F811
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 781, F812
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 782, F813
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 783, F814
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 784, F815
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 785, F816
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 786, F817
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 787, F818
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 788, F819
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 789, F820
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 790, F821
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 791, F822
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 792, F823
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 793, F824
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 794, F825
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 795, F826
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 796, F827
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 797, F828
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 798, F829
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 799, F830
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 800, F831
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 801, F832
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 802, F833
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 803, F834
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 804, F835
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 805, F836
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 806, F837
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 807, F838
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 808, F839
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 809, F840
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 810, F841
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 811, F842
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 812, F843
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 813, F844
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 814, F845
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 815, F846
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 816, F847
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 817, F848
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 818, F849
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 819, F850
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 820, F851
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 821, F852
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 822, F853
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 823, F854
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 824, F855
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 825, F856
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 826, F857
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 827, F858
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 828, F859
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 829, F860
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 830, F861
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 831, F862
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 832, F863
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 833, F864
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 834, F865
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 835, F866
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 836, F867
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 837, F868
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 838, F869
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 839, F870
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 840, F871
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 841, F872
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 842, F873
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 843, F874
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 844, F875
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 845, F876
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 846, F877
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 847, F878
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 848, F879
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 849, F880
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 850, F881
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 851, F882
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 852, F883
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 853, F884
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 854, F885
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 855, F886
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 856, F887
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 857, F888
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 858, F889
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 859, F890
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 860, F891
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 861, F892
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 862, F893
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 863, F894
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 864, F895
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 865, F896
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 866, F897
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 867, F898
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 868, F899
## 2022-11-01 17:54:50 INFO::Fitting model to feature number 869, F900
## 2022-11-01 17:54:51 INFO::Counting total values for each feature
## 2022-11-01 17:54:51 INFO::Writing residuals to file Macarron_output/maaslin2_results/residuals.rds
## 2022-11-01 17:54:51 INFO::Writing fitted values to file Macarron_output/maaslin2_results/fitted.rds
## 2022-11-01 17:54:51 INFO::Writing all results to file (ordered by increasing q-values): Macarron_output/maaslin2_results/all_results.tsv
## 2022-11-01 17:54:51 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
## 2022-11-01 17:54:51 INFO::Writing heatmap of significant results to file: Macarron_output/maaslin2_results/heatmap.pdf
## Warning in xtfrm.data.frame(x): cannot xtfrm data frames
## Initiating effect size calculations
## Calculating mean abundance in: IBD
## Calculating mean abundance in: Control
## Calculating effect size in: IBD
## Initiating prioritization
## Assigning ranks
## Calculating meta-rank and prioritizing metabolic features

## 2022-11-01 17:54:51 INFO::Writing all prioritized metabolites to file: Macarron_output/prioritized_metabolites_all.csv
## 2022-11-01 17:54:51 INFO::Writing characterizable prioritized metabolites to file: Macarron_output/prioritized_metabolites_characterizable.csv
## 2022-11-01 17:54:51 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.2.1 (2022-06-23)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 20.04.5 LTS
## 
## Matrix products: default
## BLAS:   /home/biocbuild/bbs-3.16-bioc/R/lib/libRblas.so
## LAPACK: /home/biocbuild/bbs-3.16-bioc/R/lib/libRlapack.so
## 
## 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       
## 
## attached base packages:
## [1] stats4    stats     graphics  grDevices utils     datasets  methods  
## [8] base     
## 
## other attached packages:
##  [1] Macarron_1.2.0              SummarizedExperiment_1.28.0
##  [3] Biobase_2.58.0              GenomicRanges_1.50.0       
##  [5] GenomeInfoDb_1.34.0         IRanges_2.32.0             
##  [7] S4Vectors_0.36.0            BiocGenerics_0.44.0        
##  [9] MatrixGenerics_1.10.0       matrixStats_0.62.0         
## [11] BiocStyle_2.26.0           
## 
## loaded via a namespace (and not attached):
##   [1] colorspace_2.0-3       deldir_1.0-6           dynamicTreeCut_1.63-1 
##   [4] htmlTable_2.4.1        XVector_0.38.0         base64enc_0.1-3       
##   [7] rstudioapi_0.14        hash_2.2.6.2           getopt_1.20.3         
##  [10] bit64_4.0.5            AnnotationDbi_1.60.0   fansi_1.0.3           
##  [13] mvtnorm_1.1-3          codetools_0.2-18       splines_4.2.1         
##  [16] logging_0.10-108       mnormt_2.1.1           doParallel_1.0.17     
##  [19] cachem_1.0.6           impute_1.72.0          robustbase_0.95-0     
##  [22] knitr_1.40             Formula_1.2-4          jsonlite_1.8.3        
##  [25] WGCNA_1.71             cluster_2.1.4          GO.db_3.16.0          
##  [28] png_0.1-7              pheatmap_1.0.12        BiocManager_1.30.19   
##  [31] compiler_4.2.1         httr_1.4.4             backports_1.4.1       
##  [34] assertthat_0.2.1       Matrix_1.5-1           fastmap_1.1.0         
##  [37] cli_3.4.1              htmltools_0.5.3        tools_4.2.1           
##  [40] gtable_0.3.1           glue_1.6.2             GenomeInfoDbData_1.2.9
##  [43] dplyr_1.0.10           Rcpp_1.0.9             biglm_0.9-2.1         
##  [46] jquerylib_0.1.4        vctrs_0.5.0            Biostrings_2.66.0     
##  [49] nlme_3.1-160           preprocessCore_1.60.0  iterators_1.0.14      
##  [52] psych_2.2.9            optparse_1.7.3         xfun_0.34             
##  [55] fastcluster_1.2.3      stringr_1.4.1          lifecycle_1.0.3       
##  [58] DEoptimR_1.0-11        zlibbioc_1.44.0        scales_1.2.1          
##  [61] parallel_4.2.1         RColorBrewer_1.1-3     yaml_2.3.6            
##  [64] pbapply_1.5-0          memoise_2.0.1          gridExtra_2.3         
##  [67] ggplot2_3.3.6          sass_0.4.2             rpart_4.1.19          
##  [70] latticeExtra_0.6-30    stringi_1.7.8          RSQLite_2.2.18        
##  [73] highr_0.9              Maaslin2_1.12.0        pcaPP_2.0-3           
##  [76] foreach_1.5.2          checkmate_2.1.0        BiocParallel_1.32.0   
##  [79] rlang_1.0.6            pkgconfig_2.0.3        bitops_1.0-7          
##  [82] evaluate_0.17          lattice_0.20-45        lpsymphony_1.26.0     
##  [85] htmlwidgets_1.5.4      bit_4.0.4              tidyselect_1.2.0      
##  [88] plyr_1.8.7             magrittr_2.0.3         bookdown_0.29         
##  [91] R6_2.5.1               magick_2.7.3           generics_0.1.3        
##  [94] Hmisc_4.7-1            DelayedArray_0.24.0    DBI_1.1.3             
##  [97] withr_2.5.0            pillar_1.8.1           foreign_0.8-83        
## [100] survival_3.4-0         KEGGREST_1.38.0        RCurl_1.98-1.9        
## [103] nnet_7.3-18            tibble_3.1.8           crayon_1.5.2          
## [106] interp_1.1-3           utf8_1.2.2             rmarkdown_2.17        
## [109] jpeg_0.1-9             grid_4.2.1             data.table_1.14.4     
## [112] blob_1.2.3             digest_0.6.30          munsell_0.5.0         
## [115] bslib_0.4.0

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.