# Error running MTX model 3.0 tutorial

**URL:** <https://forum.biobakery.org/t/error-running-mtx-model-3-0-tutorial/8978>\
**Category:** MaAsLin\
**Created:** [June 22, 2026, 9:06am UTC](https://forum.biobakery.org/t/error-running-mtx-model-3-0-tutorial/8978 "2026-06-22T09:06:51Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![esteban-g](https://avatars.discourse-cdn.com/v4/letter/e/838e76/32.png) [@esteban-g](https://forum.biobakery.org/u/esteban-g)\
**Post date:** [June 22, 2026, 9:06am UTC](https://forum.biobakery.org/t/error-running-mtx-model-3-0-tutorial/8978/1 "2026-06-22T09:06:51Z")

</div>

Hi Biobakery team,

I am going through the MTX model 3.0 tutorial on MaAsLin 3 using the demo data from `maaslin3_tutorial_files` and I am getting an error when running the code on section 3.3.3:

```r
preprocess_out <- preprocess_dna_mtx(df_input_dnadata, df_input_data)
fit_maaslin_mtx_mgx <- maaslin3(
input_data = preprocess_out$rna_table,
input_metadata = df_input_metadata,
output = 'demo_output_mtx_mgx',
fixed_effects = c('diagnosis', 'dysbiosis_state', 'antibiotics', 'age'),
random_effects = c('participant_id'),
feature_specific_covariate = preprocess_out$dna_table,
feature_specific_covariate_name = 'DNA',
feature_specific_covariate_record = FALSE,
coef_plot_vars = c('dysbiosis_state dysbiosis_CD', 'diagnosis CD'),
heatmap_vars = c('dysbiosis_state dysbiosis_UC', 'diagnosis UC', 'age',
'antibiotics Yes'))

2026-06-22 10:42:09.81 INFO::Writing function arguments to log file
2026-06-22 10:42:09.82 INFO::Verifying options selected are valid
2026-06-22 10:42:09.82 INFO::Determining format of input files
2026-06-22 10:42:09.83 INFO::Input format is data samples as rows and metadata samples as rows
2026-06-22 10:42:09.83 INFO::Input format is data samples as rows and feature_specific_covariate samples as rows
2026-06-22 10:42:09.83 INFO::The following samples were found to have features but no metadata (or feature specific covariates if applicable). They will be removed. CSM79HIT,CSM79HJM,CSM79HJO,CSM79HJS,CSM79HR2,CSM79HR6,CSM79HR8,CSM79HRC,CSM79HRG,CSM7KOO5,CSM7KOO9,CSM7KOOD,CSM7KOOF,CSM7KOOV,CSM9X1Z4,CSM9X1ZC,CSM9X237,CSMA9J65,CSMAIG7X,HSM67VEK,HSM6XRT8,HSMA33IC,HSMA33IE,HSMA33LH_TR,HSMA33LH,HSMA33P6,HSMA33RT,HSMA33RX_TR,HSMA33RX,MSM6J2IE,MSM79H5G,MSM79H5K,MSM79H9A,MSM79H9G,MSM79H9M,MSM79H9Q,MSM79H9W,MSM9VZGO,MSM9VZHB,MSM9VZHF,MSM9VZLJ,MSMAPC64,PSM6XBUI,PSM7J14X,PSM7J4EF,MSM5LLIC_P,ESM5GEYY_P,ESM5GEYW_P,CSM5MCV1_P
2026-06-22 10:42:09.83 INFO::The following samples were found to have metadata but no features (or feature specific covariates if applicable). They will be removed. CSM5FZ3N_P,CSM5FZ3R_P,CSM5FZ3V_P,CSM5FZ3X_P,CSM5FZ3Z_P,CSM5FZ42_P,CSM5FZ44_P,CSM5FZ4A_P,CSM5FZ4E_P,CSM5MCUA_P,CSM5MCUS_P,CSM5MCVD_P,CSM5MCVF_P,CSM5MCVJ_P,CSM5MCVL,CSM5MCVZ_P,CSM5MCW4_P,CSM5MCWA_P,CSM5MCWG,CSM5MCWK_P,CSM5MCXB_P,CSM5MCXF_P,CSM5MCXV,CSM5MCXX_P,CSM5MCXZ_P,CSM5MCYI_P,CSM5MCYM_P,CSM5MCYO_P,CSM5MCYQ_P,CSM5MCYS,CSM5MCYU_P,CSM5MCYW,CSM5MCZ5,CSM5MCZ7,CSM5YRY7_P,CSM67U9B,CSM67U9H_P,CSM67U9J,CSM67U9N,CSM67U9P_P,CSM67U9R_P,CSM67U9T_P,CSM67U9V_P,CSM67U9X_P,CSM67UAG,CSM67UAI_P,CSM67UAQ,CSM67UAS,CSM67UB1,CSM67UB5_P,CSM67UB7_P,CSM67UB9_P,CSM67UBB,CSM67UBF,CSM67UBR,CSM67UBX,CSM67UCU_P,CSM67UE3,CSM67UEM,CSM67UEP_P,CSM67UET_P,CSM67UEW_P,CSM67UEW,CSM67UF1_P,CSM67UF1,CSM67UF5,CSM67UFV,CSM67UG8,CSM67UGC,CSM67UH7,CSM79HG5,CSM79HG7_P,CSM79HGD_P,CSM79HGF_P,CSM79HGH_P,CSM79HGJ_P,CSM79HGL_P,CSM79HGN_P,CSM79HGR_P,CSM79HGV_P,CSM79HH2_P,CSM79HHA,CSM79HIH,CSM79HJ2_P,CSM79HJ4_P,CSM79HJ6_P,CSM79HJ8_P,CSM79HJC_P,CSM79HJI_P,CSM79HJY,CSM79HK9,CSM79HKV,CSM79HKX,CSM79HKZ,CSM79HL4,CSM79HL6,CSM79HLI,CSM79HLK,CSM79HLM,CSM79HM1,CSM79HM5_P,CSM79HM7,CSM79HM9_P,CSM79HMN,CSM79HMP,CSM79HN2,CSM79HNE,CSM79HNG_P,CSM79HNI,CSM79HNK,CSM79HNM,CSM79HNW,CSM79HOF,CSM79HOH,CSM79HOJ,CSM79HOT,CSM79HOV,CSM79HOX,CSM79HP2,CSM79HP6,CSM79HPA_TR,CSM79HPM_P,CSM79HPO,CSM79HPQ_P,CSM79HPU,CSM79HQ9,CSM79HQB,CSM79HQR_P,CSM79HQT_P,CSM7CZ2F_P,CSM7KOJE,CSM7KOJQ,CSM7KOJS,CSM7KOK1,CSM7KOK3,CSM7KOK7,CSM7KOKF,CSM7KOKH_P,CSM7KOKL_P,CSM7KOKP_P,CSM7KOKT,CSM7KOL2,CSM7KOLK,CSM7KOLY,CSM7KOMH,CSM7KOMP,CSM7KOMR_P,CSM7KOMV_P,CSM7KOMX,CSM7KOMZ,CSM7KON8,CSM7KONA,CSM7KONS_P,CSM7KONU,CSM7KONW_P,CSM7KOOJ,CSM7KOOL,CSM7KOON,CSM7KOOP,CSM7KOP6,CSM7KOP8,CSM7KOPE,CSM7KOPG,CSM7KOQ1,CSM7KOQ5_P,CSM7KOQP_P,CSM7KOQX,CSM7KOQZ_P,CSM7KOR4_P,CSM7KOR8_P,CSM7KORI,CSM7KORS,CSM7KOS7,CSM7KOSH,CSM7KOSJ,CSM7KOST,CSM7KOTA,CSM7KOTO,CSM7KOU7_P,CSM7KOUB,CSM7KOUJ_P,CSM9X1Y5,CSM9X1ZO,CSM9X1ZQ,CSM9X1ZY,CSM9X ... <truncated>
2026-06-22 10:42:09.83 INFO::The following samples were found to have feature specific covariates but no features or no metadata. They will be removed. CSM79HIT,CSM79HJM,CSM79HJO,CSM79HJS,CSM79HR2,CSM79HR6,CSM79HR8,CSM79HRC,CSM79HRG,CSM7KOO5,CSM7KOO9,CSM7KOOD,CSM7KOOF,CSM7KOOV,CSM9X1Z4,CSM9X1ZC,CSM9X237,CSMA9J65,CSMAIG7X,HSM67VEK,HSM6XRT8,HSMA33IC,HSMA33IE,HSMA33LH_TR,HSMA33LH,HSMA33P6,HSMA33RT,HSMA33RX_TR,HSMA33RX,MSM6J2IE,MSM79H5G,MSM79H5K,MSM79H9A,MSM79H9G,MSM79H9M,MSM79H9Q,MSM79H9W,MSM9VZGO,MSM9VZHB,MSM9VZHF,MSM9VZLJ,MSMAPC64,PSM6XBUI,PSM7J14X,PSM7J4EF,MSM5LLIC_P,ESM5GEYY_P,ESM5GEYW_P,CSM5MCV1_P
2026-06-22 10:42:09.84 INFO::Formula for random effects: expr ~ (1 | participant_id)
2026-06-22 10:42:09.84 INFO::Formula for fixed effects: expr ~ diagnosis + dysbiosis_state + antibiotics + age + DNA
2026-06-22 10:42:09.84 INFO::Running selected normalization method: TSS
2026-06-22 10:42:09.86 INFO::Creating output feature tables folder
2026-06-22 10:42:09.87 INFO::Writing normalized data to file demo_output_mtx_mgx/features/data_norm.tsv
2026-06-22 10:42:10.27 INFO::Filter data based on min abundance, min prevalence, and max prevalence
2026-06-22 10:42:10.27 INFO::Total samples in data: 754
2026-06-22 10:42:10.28 INFO::Min samples required with min abundance for a feature not to be filtered: 0.000000
2026-06-22 10:42:10.28 INFO::Max samples allowed with min abundance for a feature not to be filtered: 761.540000
2026-06-22 10:42:10.31 INFO::Total filtered features: 0
2026-06-22 10:42:10.31 INFO::Filtered feature names from abundance, min prevalence, and max prevalence filtering:
2026-06-22 10:42:10.34 INFO::Total features filtered by non-zero variance filtering: 0
2026-06-22 10:42:10.34 INFO::Filtered feature names from variance filtering:
2026-06-22 10:42:10.34 INFO::Writing filtered data to file demo_output_mtx_mgx/features/filtered_data.tsv
2026-06-22 10:42:10.76 INFO::Running selected transform method: LOG
2026-06-22 10:42:10.77 INFO::Writing normalized, filtered, transformed data to file demo_output_mtx_mgx/features/data_transformed.tsv
2026-06-22 10:42:11.16 INFO::Factor detected for categorial metadata 'diagnosis'. Using as-is.
2026-06-22 10:42:11.16 INFO::Factor detected for categorial metadata 'dysbiosis_state'. Using as-is.
2026-06-22 10:42:11.16 INFO::Factor detected for categorial metadata 'antibiotics'. Using as-is.
2026-06-22 10:42:11.16 INFO::Applying z-score to standardize continuous metadata
2026-06-22 10:42:11.17 INFO::Running the linear model component

Error in ckmatch(vars, nam) : Unknown columns: DNA

```

I am able to fix the issue by creating a dummy DNA variable in the metadata:

`df_input_metadata$DNA <- NA`  
`fit_maaslin_mtx_mgx <- maaslin3(`  
`input_data = preprocess_out$rna_table,`  
`input_metadata = df_input_metadata,`  
`output = 'demo_output_mtx_mgx',`  
`fixed_effects = c('diagnosis', 'dysbiosis_state', 'antibiotics', 'age'),`  
`random_effects = c('participant_id'),`  
`feature_specific_covariate = preprocess_out$dna_table,`  
`feature_specific_covariate_name = 'DNA',`  
`feature_specific_covariate_record = FALSE,`  
`coef_plot_vars = c('dysbiosis_state dysbiosis_CD', 'diagnosis CD'),`  
`heatmap_vars = c('dysbiosis_state dysbiosis_UC', 'diagnosis UC', 'age',`  
`'antibiotics Yes'))`

But then when I check the output produced I do not obtain any hits in terms of prevalence. When I check either the `significant_results.tsv` or `all_results.tsv` output files, I get the following error for all the prevalence models:  
`All columns of .data have to be uniquely named`

Any ideas what could be causing this? Thanks in advance!

 ![summary_plot](https://canada1.discourse-cdn.com/flex027/uploads/biobakery/original/2X/1/1dc6133a3b35b35b902f13bede1f5425c64fac42.jpeg)

---

<div class="post-metadata">

**Author:** ![WillNickols](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.biobakery.org/willnickols/32/3223_2.png) [@WillNickols](https://forum.biobakery.org/u/WillNickols)\
**Post date:** [June 23, 2026, 2:33pm UTC](https://forum.biobakery.org/t/error-running-mtx-model-3-0-tutorial/8978/2 "2026-06-23T14:33:50Z")

</div>

Hi,

We had a bug in the formula parser of the latest release. If you re-install with:

```auto
devtools::install_github("biobakery/maaslin3")

```

it should be fixed now.

Will

---

<div class="post-metadata">

**Author:** ![esteban-g](https://avatars.discourse-cdn.com/v4/letter/e/838e76/32.png) [@esteban-g](https://forum.biobakery.org/u/esteban-g)\
**Post date:** [June 24, 2026, 6:55am UTC](https://forum.biobakery.org/t/error-running-mtx-model-3-0-tutorial/8978/3 "2026-06-24T06:55:09Z")

</div>

Hi Will,

I just updated using that version and it seems to be working now, thanks!

Cheers,  
Esteban
