I'm not aware of any "easy" workarounds to this problem. In the context of Empress, we ended up adding a short section to our README that explains the situation and links to a small Python script that can be used to merge taxonomy and feature importance metadata files with an outer (?) join; this script is really just following the "load them in dataframes and merge them properly" idea you suggested.
I can imagine two types of options for more elegantly handling this situation (but there are probably other solutions I'm missing ):
-
Automatically adding extra parameters to every action / visualizer command within QIIME 2 that accepts
Metadata
; these parameters would allow users to specify how they want to merge metadata files of a given "type" (e.g.--m-sample-metadata
) if multiple are provided for a single type (e.g.--p-sample-metadata-merge-strategy
). -
Providing a command within QIIME 2 (e.g. in
qiime metadata
) that merges metadata files, with the parameter above as an option. (This might get tricky, because IIRC QIIME 2 commands currently can't output metadata files.)