You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
π Revisit β resolve scope before coding. Research-scoped. Causal XAI relies on
DoWhy / causal-learn / EconML / gCastle β heavy deps belonging downstream. Confirm
the downstream home and a research plan before any code lands.
Problem
Current explanations are correlation-based: "feature X is associated with function"
does not tell a protein engineer whether changing X causes the functional
change. Without causal structure and intervention simulation, AAanalysis cannot
support "mutation at position X causes loss of function" claims.
Goal
Decide and document the downstream home (ProtXplain #26 / pro) for causal
discovery and inference over CPP features, and deliver one scoped, validated causal
slice there β core will not gain DoWhy/causal-learn/EconML/gCastle.
Validated on a controlled DOM_GSEC-derived intervention: a simulated
mutation that perturbs a known driver feature produces a prediction change of
the expected sign, reproducibly for a fixed random_state (binary pass/fail).
Covered by β₯1 unit test and an example notebook that runs under the nbmake
CI gate.
Scope / non-goals
Not in core: DoWhy/causal-learn/EconML/gCastle are heavy research deps. Per pro-core-boundary.md + sharp-edges, causal XAI belongs in ProtXplain (Prepare AAanalysis interface for ProtXplain integrationΒ #26) or
the pro extra, gated via missing_feature_stub.
Research-scoped: identifiability assumptions must be stated; do not promise
general causal guarantees. Start with intervention simulation (mutation β
prediction delta), which needs no causal-graph dep, as the smallest validatable
slice.
Problem
Current explanations are correlation-based: "feature X is associated with function"
does not tell a protein engineer whether changing X causes the functional
change. Without causal structure and intervention simulation, AAanalysis cannot
support "mutation at position X causes loss of function" claims.
Goal
Decide and document the downstream home (ProtXplain #26 /
pro) for causaldiscovery and inference over CPP features, and deliver one scoped, validated causal
slice there β core will not gain DoWhy/causal-learn/EconML/gCastle.
Requirements
KPIs / Acceptance criteria
proextra (recorded as an ADR) before code lands β no new core dep.
proboundary, producing per-CPP-feature causal-effect estimates.
DOM_GSEC-derived intervention: a simulatedmutation that perturbs a known driver feature produces a prediction change of
the expected sign, reproducibly for a fixed
random_state(binary pass/fail).CI gate.
Scope / non-goals
pro-core-boundary.md+ sharp-edges, causal XAI belongs in ProtXplain (Prepare AAanalysis interface for ProtXplain integrationΒ #26) orthe
proextra, gated viamissing_feature_stub.general causal guarantees. Start with intervention simulation (mutation β
prediction delta), which needs no causal-graph dep, as the smallest validatable
slice.
Dependencies
for intervention simulation
Standards checklist
__init__.pyre-export +progating (missing_feature_stub)Returns, per-methodExamplesinclude)random_state)print()(useut.print_out); bareValueError/RuntimeError;no
aaanalysis._utils.*imports outsideutils.py