Fix problem of call propagation
Currently, to propagate no-expression calls, we have a system to identify valid conditions for propagation: we retrieve annotated conditions, and all conditions related to their parent anatomical structures and/or parent developmental stages.
Problem, this still generates invalid conditions: If we have a valid condition "brain - adult", this will produce a valid condition "embryo - adult" (because there is a part_of relation from brain to embryo, at some point, the brain is part of an embryo).
This problem also applies to expression calls, because we propagate all of them to parent anatomical structures and/or parent developmental stages, with no filtering on valid conditions.
- First, we should verify that such invalid conditions are indeed present in the download files
- Short term solution is to discover valid conditions only by using dev. stage propagation; we will loose lots of anatomical structures...
- Long term solution is to correctly have the start stages/end stages in Uberon for each anatomical structures.