[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