QIIME QZA support in iTOL

(Ivica Letunic) #1

As mentioned in the user support thread, I have now added the initial support for direct upload of QZA files in iTOL. After the initial upload of the tree QZA, further QZA files can be dropped onto the tree display. At the moment, only FeatureData[Taxonomy] is supported, but I can implement other types that can be visualized on the trees…

I was looking at FeatureTable[Frequency] (table.qza from your tutorial). Is there some documentation on the data structure in the .biom file? I see the tree IDs in the ‘observation/ids’, and sample IDs in the ‘sample/ids’…

Your input and ideas are welcome.

(Evan Bolyen) #2

What kind of environment does the processing of these files? Does it happen in the browser or on the server?

@wasade is the maintainer of BIOM and can point you in the right direction for parsing. (Although if you are using the browser, there’s not really a good way to read the underlying HDF5 format in JavaScript right now).

(Ivica Letunic) #4

Files are processed server side, so parsing/extracting is not a problem… I was thinking more about the structure of the data inside, and how it could be visualized on the tree. Basically, extracting different taxa level mappings, like you do for taxa-bar-plots.qzv in your tutorial.

(Daniel McDonald) #5

Sorry for the delayed response. @iletunic, if you’re able to operate server side via Python, it may be easiest to manipulate the contents of the tables using the biom.Table object. However, if you want to operate directly on the HDF5 structure, you can find a description of the DDL here.

In terms of mapping to a tree, in QIIME2, the taxonomy information is maintained outside of the biom.Table so there shouldn’t actually be a need to inspect that artifact unless you wanted to take the relative abundances of features into account. If that is of interest, then I do recommend using the biom.Table API as it has methods to support collapsing features by taxonomy, retrieval of data, transformations, etc.


(Ivica Letunic) #6

Thanks… I already implemented it, and FeatureTable[Frequency] files can be dropped onto the trees now as well… A multi value bar chart will be generated from the sample counts inside.

(Evan Bolyen) #7

That is super cool @iletunic!!

Something I just want to throw out there:

In case you didn’t know, the metadata.yaml file in the root of the artifact lists the format which you can expect in the /data/ directory, that is used for dispatching the relevant code in QIIME 2, and can probably be used the same way in iTOL (if you aren’t already using it).

(Ivica Letunic) #9

Just FYI, I have added support for QZA FeatureData[AlignedSequence] files. When dropped onto iTOL trees, these will automatically create a multiple sequence alignment dataset. Note that the display of alignments in iTOL is not supported in circular or unrooted modes.

[Preview] QIIME 2 2019.1 development changelog
(Matthew Ryan Dillon) #10

Awesome, thanks @iletunic! I updated the upcoming 2019.1 release’s changelog with this information! Feel free to edit that post (or other future changelogs) with any other things you wish to announce! :t_rex:

(Mike Robeson) #11

This is really great. As per @iletunic’s request, I’ve added a couple of references to this feature within the q2-phylogeny community tutorial.