Closed kltm closed 8 years ago
For the time being, I just want to make sure that no edges or nodes can be lost during "bad" transformations--even if we're inconsistent, we'll at least be safe.
I assumed that this was an error in unfold(), but that is looking pretty solid (and the tests so far back that up). Now looking at fold_go_noctua() (as fold_evidence() is looking sold from the tests as well).
Using report_state()--great function for probing btw--it is almost certain that 1) the error occurs while folding and 2) some kind of variable leak is occurring.
In the captured subgraph, two edges that should be there go missing and one edge that should not be there appears. This extra edge is referring to something that is not folded into the subgraph.
@cmungall Okay, as far as I can tell, while the system is still not consistent (i.e. it is possible to get different folds), it is now safe. This bump has been put out to noctua-obo; let me know if there are any other problems.
Will punt the deeper folding issues elsewhere.
[Drops :microphone:, rolls off of couch]
π π π it works!
@cmungall There were some remaining weirdnesses with the "consistent" folding; I went ahead and removed sub-folding for the time being--the rules should be obvious now.
@cmungall uncovered a bug due to under-specified behavior in the folding algorithm when working on noctua-obo models. To quote myself from the email thread:
After talking to @cmungall a little, we're going to punt on the exact "right" thing to do for the time being (this will also slow down #141, as the implementation will greatly affect that and I don't want to rewrite that area twice). This is, of course, an upstream bug,
eitherinhttps://github.com/berkeleybop/bbop-graph orhttps://github.com/berkeleybop/bbop-graph-noctua, but since nobody really hangs out over there, I'll do main tracking here.