Currently, the translate-collection cli function finds "causal" models based on the following logic:
- No chain length requirements - accepts any activity-to-activity relationship
- Any RO predicate between molecular functions (RO:0002629, RO:0002630, etc.)
- Any association between activities where each activity has at least one related gene product qualifies.
Use cases for GO causal models are more restrictive and defined in SPARQL at the moment:
- Requires exactly three activities in a chain (gene1 → activity1 → activity2 → activity3 ← gene2)
causally_upstream_of_or_within relationship must be the relationship between nodes
- Must form specific 3-step patterns with different gene products at each end.
The default behavior of the cx2 and networkx translation scripts is to produce "causal" models according to the cli/translate-collection methods and not the more restrictive, SPARQL logic.
We should add a parameter (or parameters) to the translate-collection method to capture the more restrictive behavior of the SPARQL query so that we can use this same method to produce the "causal" models as defined by the current GO/SPARQL logic.