[x] always the same fields in each entry, even if the value is 'null'
Unsorted column header of metadata table
The first thing that I have noticed is the key order (column header of the metadata in this case) that is not alphabetical sorted when extracting using json.load in python. The result produced by python2 and python3 is not the same.
Having an alphabetical order of column header is important for feeding phyloseq wrapper with correct column number when creating NMDS plot.
Regarding to this finding, I have posted an issue on biom-format.org github after going over the python script (parse.py) on biom-format github.
Missing values in metadata table
The next thing I found is the metadata table containing missing values which I think it’s reasonable, but it will produce inconsistent key/value pairs of each sample inside JSON structure.
With different key/value pairs in JSON structure, it might be the issue confusing the phyloseq with missing metadata table.