[DAS2] complex features

chris mungall cjm at fruitfly.org
Wed Mar 22 00:43:49 UTC 2006


The GFF3 spec says that Parent can only be used to indicate part_of 
relations. If we go by the definition of part_of in the OBO relations 
ontology, or any other definition of part_of (there are many), then 
cycles are explicitly verboten, although the GFF3 docs do not state 
this.

There's no reason in general why part_of graphs should have a single 
root, although it's certainly desirable from a software perspective. 
Dicistronic genes thow a bit of a spanner in the works. There's nothing 
to stop you adding a fake root, or refering to the maximally connected 
graph as an entity in its own right however.

I don't know enough about DAS/2 to be helpful with the writeback 
example. It looks like your example below is a gene merge.

On Mar 21, 2006, at 3:21 PM, Andrew Dalke wrote:

> I've been working on the data model some, trying to get a feel
> for complex features.  I've also been evaluating how GFF3 handles
> them.
>
> Both use a parent/child link, though GFF3 only has the reference
> to the parent while DAS has both.  That means DAS clients can
> determine when all of the complex feature have been downloaded.
> GFF3 potentially requires waiting until the end of the library,
> though there is a way to hint that all the results have been
> returned.
>
> Both allow complex graphs.  That is, both allow cycles.  I
> assume we are restricting complex features to DAGs, but even
> then the following is possible
>
>    [root1]     [root2]     [root3]
>      | \          |         /
>      |  \         |        /
>      |   ------------------
>      |  |    node 4        |
>      |   ------------------
>      |  /
>      | /
>      |/
>   [node 5]
>
> Node 4 has three parents (root1, root2 and root3) and
> node 5 has two parents (root1 and node4)
>
> This may or may not make biological sense.  I don't know.  I
> only point out that it's there.
>
> I feel that complex annotations must only have a single root
> element, even if it's a synthetic one with no location.
>
> Next, consider writeback, with the following two complex features
>
>   [root1]                  [root2]
>    |    \                   |
>    |      \                 |
>    |        \               |
> [node1.1]  [node1.2]     [node2.1]
>
>
> Suppose someone adds a new "connector" node
>
>> -->---.
>                        |      V
>   [root1]              |   [root2]
>    |    \              |    |
>    |      \            |    |
>    |        \          ^    |
> [node1.1]  [node1.2]  |  [node2.1]
>      |                 |
>      V                 |
>    [connector]-->--->--^
>
> Should that sort of thing be allowed?  What's the model
> for the behavior?
>
> It seems to me there's a missing concept in DAS relating to
> complex features.  My model is that the "complex feature" is
> its own concept, which  I've been calling an "annotation".
> All simple features are annotations.  The connected nodes of
> a complex feature are also annotations.
>
> As such, two annotations cannot be combined like this.
> Writeback only occurs at the annotation level, in that
> new feature elements cannot be used to connect two existing
> annotations.
>
> We might also consider having a new interface for annotations
> (complex features), so they can be referred to by URI.  I
> don't think that's needed right now.
>
>
> 					Andrew
> 					dalke at dalkescientific.com
>
> _______________________________________________
> DAS2 mailing list
> DAS2 at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/das2




More information about the DAS2 mailing list