Fresh off of my schooling on what Loci is/is not, here are my thoughts on a tree representation of a workflow diagram: >> The data can be represented as a "WHAX tree", with the tag representing >> the branches and the tag value representing the node. Additions to the >> a subset of the data can be integrated into the larger database by >> simple manipulations of WHAX trees. > >As a complete aside from the database issue, Loci needs to represent the >Workflow Diagram / Graphical Script in XML. This is of course a tree >structure. Perhaps we should look at how WHAX trees work for this purpose. > It seems to me that a balanced tree data structure (B-Tree, from my Intro to Algorithms text) would be an excellent way to represent a workflow diagram! I haven't looked through enough Python libs yet, but I'm positive there must be some nice tree classes already implemented that could be extended so we wouldn't have to do all the work (just implement a suitable holder class and the additional functions to deal with it). The tree seems to flow kind of naturally from the structure of how I picture a loci diagram working. In addition, since it would be *just* a data stucture (although a big one!), this could help in passing it around (I think I saw a mention somewhere about the idea of interchanging loci implementations between collaborators). The only problem I picture is when mutiple branches feed into a single node: big container loci | | | | document document (genbank sequence) (genbank sequence 2) | | | | converter converter | | | | ---------------- | processor (ie. seqalign to align the 2 sequences) Does this corrupt a tree? I don't think this is explicitly disallowed in the rules on a branched tree, but I can't really every recall seeing a tree like this. I would think it would then become a graph, but this seems too general to represent the type of data, since it still has a lot of "tree" characteristics. Anyways, that is just my naive "I have read the intro to algorithms text" thoughts on the WHAX tree idea. I would be very interested in seeing the WHAX algorithms, and also in hearing other people's input on this (all the computer science people out there can straighten me out!). Many thanks to Jennifer for posting the original info. Brad