Inferring Causal Phenotype Networks from Segregating Populations Elias Chaibub Neto
[email protected] Statistics Department, University of Wisconsin - Madison
July 15, 2008
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Overview
I I
Introduction Description of the approach I I
PC algorithm. QDG algorithm.
I
Remarks
I
Performance on simulations.
I
Real data example.
I
Future work.
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Introduction
I
Our objective is to learn metabolic pathways from data.
I
We represent these pathways by directed networks composed by transcripts, metabolites and clinical traits.
I
These phenotypes are quantitative in nature, and can be analyzed using quantitative genetics techniques.
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Introduction I
In particular, we use Quantitative Trait Loci (QTL) mapping methods to identify genomic regions affecting the phenotypes.
I
Since variations in the genotypes (QTLs) cause variations in the phenotypes, but not the other way around, we can unambiguously determine the causal direction QTL ⇒ phenotype
I
Knowing that a QTL causally affects a phenotype will allow us to infer causal direction between phenotypes.
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Introduction
I
We assume that a set of QTLs associated with the phenotypes has been previously determined.
I
We assume linear relationships between phenotypes and between phenotypes and QTLs.
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Introduction
Our procedure is composed of two parts: 1. First we infer the skeleton of the causal model (phenotype network) using the PC-algorithm. 2. Orient the edges in the skeleton using the QDG algorithm.
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
PC algorithm
I
Causal discovery algorithm developed by Spirtes et al 1993.
I
It is composed of two parts: 1. Infers the skeleton of the causal model. 2. Partially orient the graph (orient some but not all edges).
I
We are only interested in the first part (the “PC skeleton algorithm”). We do not use the PC algorithm to edge orientation (we use the QDG algorithm instead).
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Step 1 (PC skeleton algorithm) Suppose the true network describing the causal relationships between six transcripts is /.y1*+ -, -, //.y2*+ () () qq ± 555 ª q q ª q ±± 55 ªª qqq 5½ ±± ± ¥ªªxqqq /. -, -, /.y3*+ ±± ()y6*+ () 55 ª ±± ± 55 ª 55 ±± ªª ² ¥ªª ½ §± /.y5-, //().y4-, () *+ *+
Elias Chaibub Neto
[email protected] The PC-algorithm starts with the complete undirected graph /.y1*+ -,M -, /.y2*+ () () ª 000 MqMqMqMq±± 555 ª q M ªª qqq00 ±± MMMM555 00 ±± M ªªqqq /. -, /. -, ()y6*+ ()y *+ ±± ±000 55MMM q 3 55 MMM±± 00 qqqqªªª 55 ±±MMqMqMqq00 ªª ± qq M ª /. /. ()y5-, *+ ()y4-, *+
and progressively eliminates edges based on conditional independence tests.
Inferring Causal Phenotype Networks from Segregating Populat
Step 1 (PC skeleton algorithm) Suppose the true network describing the causal relationships between six transcripts is /.y1*+ -, -, //.y2*+ () () qq ± 555 ª q q ª q ±± 55 ªª qqq 5½ ±± ± ¥ªªxqqq /. -, -, /.y3*+ ±± ()y6*+ () 55 ª ±± ± 55 ª 55 ±± ªª ² ¥ªª ½ §± /.y5-, //().y4-, () *+ *+
Elias Chaibub Neto
[email protected] The PC-algorithm starts with the complete undirected graph /.y1*+ -,M -, /.y2*+ () () ª 000 MqMqMqMq±± 555 ª q M ªª qqq00 ±± MMMM555 00 ±± M ªªqqq /. -, /. -, ()y6*+ ()y *+ ±± ±000 55MMM q 3 55 MMM±± 00 qqqqªªª 55 ±±MMqMqMqq00 ªª ± qq M ª /. /. ()y5-, *+ ()y4-, *+
and progressively eliminates edges based on conditional independence tests.
Inferring Causal Phenotype Networks from Segregating Populat
Step 1 (PC skeleton algorithm) The algorithm performs several rounds of conditional independence tests of increasing order. It starts with all zero order tests, then performs all first order, second order . . . I
Notation: ⊥⊥ ≡ independence. We read i ⊥⊥ j | k as i is conditionally independent from j given k.
I
Remark: in the Gaussian case zero partial correlation implies conditional independence, thus i ⊥⊥ j | k ⇔ cor (i, j | k) = 0 ⇒ drop (i, j) edge
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Example (order 0) y1 M y2 ª 000 MqMqMqMqM±± 555 ª q ªª qqq00 ±± MMMM 555 MM 00 ±± ªªqqqq 76y623 54 76y 23 54 ±00 01 01 ± M qª 3 55 MMM ± 00 q q ± 55 MMM± 0 qq ª 55 ±±MMMqqq0q0 ªªª M q ± qq M ª 76 76 01y554 23 01y454 23 1 ⊥⊥ 2 vs 1 6⊥⊥ 2 Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Example (order 0) y1 M y2 ª 000 MqMqMqMqM±± 555 ª q ªª qqq00 ±± MMMM 555 MM 00 ±± ªªqqqq 76y623 54 76y 23 54 ±00 01 01 ± M qª 3 55 MMM ± 00 q q ± 55 MMM± 0 qq ª 55 ±±MMMqqq0q0 ªªª M q ± qq M ª 76 76 01y554 23 01y454 23
y1
/ y2
/.y6*+ -, ()
/.y3*+ -, () /.y5*+ -, ()
/.y4*+ -, ()
direct effect of y1 on y2
1 ⊥⊥ 2
1 6⊥ ⊥2
vs 1 6⊥⊥ 2 Elias Chaibub Neto
[email protected] keep edge and move to next one
Inferring Causal Phenotype Networks from Segregating Populat
Example (order 0) y10 MM
76 01y254 23 q M q ª 00 qqMMM±± 555 ª q ªª qqq00 ±± MMMM 555 MM 00 ±± ªªqqqq 76 54 ±00 01y623 y3 ± M 55 MMM ± 0 qq 55 MMM±± 00 qqqq ªªª 55 ±±MMMqqq00 ªª ± qqq MM ª 76 76 01y554 23 01y454 23
1 ⊥⊥ 3 vs 1 6⊥⊥ 3 Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Example (order 0) y10 MM
76 01y254 23 q M q ª 00 qqMMM±± 555 ª q ªª qqq00 ±± MMMM 555 MM 00 ±± ªªqqqq 76 54 ±00 01y623 y3 ± M 55 MMM ± 0 qq 55 MMM±± 00 qqqq ªªª 55 ±±MMMqqq00 ªª ± qqq MM ª 76 76 01y554 23 01y454 23
y1 /.y6*+ -, () /.y5*+ -, ()
/.y2*+ -, /() 66 66 ¾ y3 /.y4*+ -, ()
indirect effect of y1 on y3
1 ⊥⊥ 3
1 6⊥⊥ 3
vs 1 6⊥⊥ 3 Elias Chaibub Neto
[email protected] keep edge and move to next one
Inferring Causal Phenotype Networks from Segregating Populat
Example (order 0)
76y123 54 54 76 01 01y 23 00MMMqMqq ± 255 ª M q 5 ª 0q M± ªª qqq00 ±± MMMM 555 MM 00 ±± ªªqqqq 76y623 54 76y 23 54 ±0 01 01 qª 3 55MMMM ±± 000 q q ± 55 MMM± 0 qq ª 55 ±±MMMqqq0q0 ªªª M q ± q M ª 76y523 54q 76y423 54 01 01
After all zero order conditional independence tests.
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Example (order 0)
76y123 54 54 76 01 01y 23 00MMMqMqq ± 255 ª M q 5 ª 0q M± ªª qqq00 ±± MMMM 555 MM 00 ±± ªªqqqq 76y623 54 76y 23 54 ±0 01 01 qª 3 55MMMM ±± 000 q q ± 55 MMM± 0 qq ª 55 ±±MMMqqq0q0 ªªª M q ± q M ª 76y523 54q 76y423 54 01 01
The algorithm then moves to first order conditional independence tests.
After all zero order conditional independence tests.
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Example (order 1) For example, For any edge (i, j) the algorithm tests whether i ⊥⊥ j | k for all k ∈ A(i) \ j where A(i) represent the set of nodes adjacent to node i.
Elias Chaibub Neto
[email protected] /.y1*+ -,M () /.y2*+ -, () ª 00q0 MqMqMqM±± 555 ª MM 5 ª qq ªªqqq 000±±± MM5 /. -, /. ()y6*+M () -, *+ 55 MM ±±±000 qqªy3 M q 55 M±M q0 q ªª 5 ±± qMqMqM 0 ªª /.y5*+ -,q () /.y4*+ -, ()
A(1) \ 2 = {3, 4, 5, 6} and the algorithm tests whether 1⊥ ⊥2|3
1 ⊥⊥ 2 | 4
1⊥ ⊥2|5
1 ⊥⊥ 2 | 6
Inferring Causal Phenotype Networks from Segregating Populat
Example (order 1) y10 MM q y25 ª 0 MqMq ± 5 ªª qqq00qq MM±±MMM 555 ª 00 ±± MMM5 ªª qqq 0±0± 76 54q 01y623 y3 55MMMM ±± 00 qq 55 MMM±± 00 qqqq ªªª 55 ±±MMMqqq00 ªª ± qqq MM ª 76 76 01y554 23 01y454 23 A(1) \ 2 = {2, 4, 5, 6} 1 ⊥⊥ 3 | 2 vs 1 6⊥⊥ 3 | 2 Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Example (order 1) y10 MM q y25 ª 0 MqMq ± 5 ªª qqq00qq MM±±MMM 555 ª 00 ±± MMM5 ªª qqq 0±0± 76 54q 01y623 y3 55MMMM ±± 00 qq 55 MMM±± 00 qqqq ªªª 55 ±±MMMqqq00 ªª ± qqq MM ª 76 76 01y554 23 01y454 23
y1
X
/ y2 6
X6
¾
/. ()y6-, *+ /.y5*+ -, ()
y3
/.y4*+ -, ()
y2 d-separates y1 from y3
A(1) \ 2 = {2, 4, 5, 6} 1 ⊥⊥ 3 | 2
1 ⊥⊥ 3 | 2
vs 1 6⊥⊥ 3 | 2 Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Example (order 1) y10 q y25 ª 0 qq ± 55 55 ªª qqq00qq ±± ª 00 ±± 5 ªªqqqq 0±0± 76 54 01y623 y3 55MMMM ±± 00 qq 55 MMM±± 00 qqqq ªªª 55 ±±MMMqqq00 ªª ± qqq MM ª 76 76 01y554 23 01y454 23
y1
X
/ y2 6
X6
¾
/. ()y6-, *+ /.y5*+ -, ()
y3
/.y4*+ -, ()
y2 d-separates y1 from y3
A(1) \ 2 = {2, 4, 5, 6} 1 ⊥⊥ 3 | 2 vs 1 6⊥⊥ 3 | 2 Elias Chaibub Neto
[email protected] 1 ⊥⊥ 3 | 2 drop edge move to next edge
Inferring Causal Phenotype Networks from Segregating Populat
Example (order 1) y10 q y25 ª 0 qq ± 55 55 ªª qqq00qq ±± ª 00 ±± 5 ªªqqqq 0±0± 76 54 76 01y623 01 y 2354 qª 3 55MMMM ±± 000 q q ± 55 MMM± 0 qq ª 55 ±±MMMqqq0q0 ªªª M q ± qq M ª 76 01y554 23 y4 A(1) \ 4 = {2, 5, 6} 1 ⊥⊥ 4 | 2 vs 1 6⊥⊥ 4 | 2 Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Example (order 1) y10 q y25 ª 0 qq ± 55 55 ªª qqq00qq ±± ª 00 ±± 5 ªªqqqq 0±0± 76 54 76 01y623 01 y 2354 qª 3 55MMMM ±± 000 q q ± 55 MMM± 0 qq ª 55 ±±MMMqqq0q0 ªªª M q ± qq M ª 76 01y554 23 y4 A(1) \ 4 = {2, 5, 6} 1 ⊥⊥ 4 | 2 vs
y1 X / y2 6 q © © qq ° ¤©©xqqqX °°° X6¾ /.y6*+ /.y *+ -, -, () () 66 °X X © 3 66 °° © ¾ §° ² ¤©© /.y5*+ -, / y4 ()
1 6⊥ ⊥4|2 keep edge move to next conditioning set
1 6⊥⊥ 4 | 2 Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Example (order 1) y10 q7601y223545 ª 0 qq ± 55 55 ªª qqq00qq ±± ª 00 ±± 5 ªªqqqq 0±0± 76 54 76 01y623 01 y 2354 qª 3 55MMMM ±± 000 q q ± 55 MMM± 0 qq ª 55 ±±MMMqqq0q0 ªªª M q ± q M ª y5 q y4 A(1) \ 4 = {2, 5, 6} 1 ⊥⊥ 4 | 5 vs 1 6⊥⊥ 4 | 5 Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Example (order 1) y10 q7601y223545 ª 0 qq ± 55 55 ªª qqq00qq ±± ª 00 ±± 5 ªªqqqq 0±0± 76 54 76 01y623 01 y 2354 qª 3 55MMMM ±± 000 q q ± 55 MMM± 0 qq ª 55 ±±MMMqqq0q0 ªªª M q ± q M ª y5 q y4 A(1) \ 4 = {2, 5, 6} 1 ⊥⊥ 4 | 5 vs
//().y2-, *+ y1 qq ° 666 © q ° X qX 6¾ ¤© q °° /.y6*+ -,xq /.y3*+ -, () () X 6 ° © ° © X6 ° ¾ §° ² ¤©© y5 X / y4
1 6⊥ ⊥4|5 keep edge move to next conditioning set
1 6⊥⊥ 4 | 5 Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Example (order 1) y10 q7601y223545 ª 0 qq ± 55 55 ªª qqq00qq ±± ª 00 ±± 5 ªªqqqq 0±0± 76 01 y65MM y32354 ±0 55 MMM ±± 00 qqqqªª 55 MM±±MM qq00qq ªª 5 ±± qqMqMM 0 ªª q 76 01y554 23 y4 A(1) \ 4 = {2, 5, 6} 1 ⊥⊥ 4 | 6 vs 1 6⊥⊥ 4 | 6 Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Example (order 1) y10 q7601y223545 ª 0 qq ± 55 55 ªª qqq00qq ±± ª 00 ±± 5 ªªqqqq 0±0± 76 01 y65MM y32354 ±0 55 MMM ±± 00 qqqqªª 55 MM±±MM qq00qq ªª 5 ±± qqMqMM 0 ªª q 76 01y554 23 y4 A(1) \ 4 = {2, 5, 6} 1 ⊥⊥ 4 | 6 vs
//().y2-, *+ y1 qq ° 666 © q ° X qX 6¾ ¤©xqq °° /.y3*+ -, () y6 6 ° ° © ° © X6 ° ¾ §° ² ¤©© /.y5*+ -, / y4 ()
1 6⊥ ⊥4|6 keep edge move to next edge
1 6⊥⊥ 4 | 6 Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Example (order 1)
76y123 54 54 76 01 01y 23 00 qqq ± 255 ª q 55 ª 0q ± 55 ªª qqq00 ±± 00 ±± ªªqqqq 76y623 54 76y323 54 ±0 01 01 55 ±± 000 ª ± 55 ª 00 ± 55 ±± ªª 0 ª ± ª 76y523 54 76y423 54 01 01
After all first order conditional independence tests.
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Example (order 1)
76y123 54 54 76 01 01y 23 00 qqq ± 255 ª q 55 ª 0q ± 55 ªª qqq00 ±± 00 ±± ªªqqqq 76y623 54 76y323 54 ±0 01 01 55 ±± 000 ª ± 55 ª 00 ± 55 ±± ªª 0 ª ± ª 76y523 54 76y423 54 01 01
The algorithm then moves to second order conditional independence tests.
After all first order conditional independence tests.
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Example (order 2) For example,
For any edge (i, j) the algorithm tests whether i ⊥⊥ j | k, l. for all
/.y1*+ -, /.y2*+ -, () () ª 00q0 qqq±± 555 ª 55 ª qq ªªqqq 000±±± /. -, /. ()y6*+ ()y3-, *+ 55 ±±000 ± 55 ± 0 ªªª 0 ªª 5 ±± /. -, /.y4*+ -, ()y5*+ ()
A(1) \ 2 = {4, 5, 6} (k, l) ∈ A(i) \ j
and the algorithm tests whether 1⊥ ⊥ 2 | 4, 5
1 ⊥⊥ 2 | 4, 6
1 ⊥⊥ 2 | 5, 6
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Example (order 2) y10 q y25 ª 0 qq ± 55 55 ªª qqq00qq ±± ª 00 ±± 5 ªªqqqq 0±0± 76 54 76 01y623 01 y32354 55 ±± 000 ª ± 55 ª 00 ± 55 ±± ªª 0 ª ± ª y5
y4
A(1) \ 4 = {2, 5, 6} 1 ⊥⊥ 4 | 2, 5 vs 1 6⊥⊥ 4 | 2, 5 Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Example (order 2) y10 q y25 ª 0 qq ± 55 55 ªª qqq00qq ±± ª 00 ±± 5 ªªqqqq 0±0± 76 54 76 01y623 01 y32354 55 ±± 000 ª ± 55 ª 00 ± 55 ±± ªª 0 ª ± ª y5
y4
y1 X / y2 © X qqq°° 6X6 © ¤©© qq °° ¾ /. ()y6-, *+xq ()y3-, *+ X X /. 6 ° © ° © X6 ° ¾ §° ² ¤©© y5 X / y4 (y2 , y5 ) d-separate y1 from y4
A(1) \ 4 = {2, 5, 6} 1 ⊥⊥ 4 | 2, 5
1 ⊥⊥ 4 | 2, 5
vs 1 6⊥⊥ 4 | 2, 5 Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Example (order 2) y1 y2 qq ± 55 ª q q 55 ª q ±± 55 ªª qqqq ± ª ± ªqqq ± 76 54 76y323 54 ± 01y623 01 55 ±± ª ± 55 ª ± 55 ±± ªª ª ± ª y5
y4
y1 X / y2 © X qqq°° 6X6 © ¤©© qq °° ¾ /. ()y6-, *+xq ()y3-, *+ X X /. 6 ° © ° © X6 ° ¾ §° ² ¤©© y5 X / y4 (y2 , y5 ) d-separate y1 from y4
A(1) \ 4 = {2, 5, 6} 1 ⊥⊥ 4 | 2, 5 vs 1 6⊥⊥ 4 | 2, 5 Elias Chaibub Neto
[email protected] 1 ⊥⊥ 4 | 2, 5 drop edge move to next edge
Inferring Causal Phenotype Networks from Segregating Populat
Example (order 2)
76y123 54 54 76 01 01y223 qq ± 55 ª q q 55 ª q ±± 55 ªª qqq ±± ± ªªqqqq 76y623 54 76y323 54 ± 01 01 55 ±± ª ± 55 ª ± 55 ±± ªª ª ± ª 76y523 54 76y423 54 01 01
After all second order conditional independence tests.
Elias Chaibub Neto
[email protected] The algorithm than moves to third order, fourth order . . . It stops when for each pair (i, j) the cardinality of A(i) \ j is smaller then the order of the algorithm.
Inferring Causal Phenotype Networks from Segregating Populat
Edge orientation
Consider two traits y1 and y2 . Our problem is to decide between models: M1 :
/. ()y1-, *+
//().y2-, *+
M2 :
/. ()y1-, *+o
/.y2-, () *+
Problem: the above models are likelihood equivalent, f (y1 )f (y2 | y1 ) = f (y1 , y2 ) = f (y2 )f (y1 | y2 ) .
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Edge orientation However, models /.q11*+ -, () AA AA AÃ .. /. -, ()y1*+ . }> } } }} /.q1k*+ -, ()
-, /.q21*+ () ~ ~ ~ ~~~ . /() -, / .y2*+ `@@ .. @@ @ /.q2l*+ -, ()
-, /.q11*+ () AA AA AÃ .. /.y1*+ -,o () . }> } } }} /.q1k*+ -, ()
-, /.q21*+ () ~ ~ ~ ~~~ . /. -, ()y2*+ `@@ .. @@ @ /.q2l*+ -, ()
are not likelihood equivalent because f (q1 )f (y1 | q1 )f (y2 | y1 , q2 )f (q2 ) 6= f (q2 )f (y2 | q2 )f (y1 | y2 , q1 )f (q1 )
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Edge orientation
We perform model selection using a direction LOD score ½ Qn ¾ f (y1i | q1i )f (y2i | y1i , q2i ) i=1 LOD = log10 Qn i=1 f (y2i | q2i )f (y1i | y2i , q1i ) where f () represents the predictive density, that is, the sampling model with parameters replaced by the corresponding maximum likelihood estimates.
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
QDG algorithm QDG stands for QTL-directed dependency graph. The QDG algorithm is composed of 7 steps: 1. Get the causal skeleton (with the PC skeleton algorithm). 2. Use QTLs to orient the edges in the skeleton. 3. Choose a random ordering of edges, and 4. Recompute orientations incorporating causal phenotypes in the models (update the causal model according to changes in directions). 5. Repeat 4 iteratively until no more edges change direction (the resulting graph is one solution). 6. Repeat steps 3, 4, and 5 many times and store all different solutions. 7. Score all solutions and select the graph with best score. Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
QDG algorithm QDG stands for QTL-directed dependency graph. The QDG algorithm is composed of 7 steps: 1. Get the causal skeleton (with the PC skeleton algorithm). 2. Use QTLs to orient the edges in the skeleton. 3. Choose a random ordering of edges, and 4. Recompute orientations incorporating causal phenotypes in the models (update the causal model according to changes in directions). 5. Repeat 4 iteratively until no more edges change direction (the resulting graph is one solution). 6. Repeat steps 3, 4, and 5 many times and store all different solutions. 7. Score all solutions and select the graph with best score. Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
QDG algorithm QDG stands for QTL-directed dependency graph. The QDG algorithm is composed of 7 steps: 1. Get the causal skeleton (with the PC skeleton algorithm). 2. Use QTLs to orient the edges in the skeleton. 3. Choose a random ordering of edges, and 4. Recompute orientations incorporating causal phenotypes in the models (update the causal model according to changes in directions). 5. Repeat 4 iteratively until no more edges change direction (the resulting graph is one solution). 6. Repeat steps 3, 4, and 5 many times and store all different solutions. 7. Score all solutions and select the graph with best score. Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
QDG algorithm QDG stands for QTL-directed dependency graph. The QDG algorithm is composed of 7 steps: 1. Get the causal skeleton (with the PC skeleton algorithm). 2. Use QTLs to orient the edges in the skeleton. 3. Choose a random ordering of edges, and 4. Recompute orientations incorporating causal phenotypes in the models (update the causal model according to changes in directions). 5. Repeat 4 iteratively until no more edges change direction (the resulting graph is one solution). 6. Repeat steps 3, 4, and 5 many times and store all different solutions. 7. Score all solutions and select the graph with best score. Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
QDG algorithm QDG stands for QTL-directed dependency graph. The QDG algorithm is composed of 7 steps: 1. Get the causal skeleton (with the PC skeleton algorithm). 2. Use QTLs to orient the edges in the skeleton. 3. Choose a random ordering of edges, and 4. Recompute orientations incorporating causal phenotypes in the models (update the causal model according to changes in directions). 5. Repeat 4 iteratively until no more edges change direction (the resulting graph is one solution). 6. Repeat steps 3, 4, and 5 many times and store all different solutions. 7. Score all solutions and select the graph with best score. Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
QDG algorithm QDG stands for QTL-directed dependency graph. The QDG algorithm is composed of 7 steps: 1. Get the causal skeleton (with the PC skeleton algorithm). 2. Use QTLs to orient the edges in the skeleton. 3. Choose a random ordering of edges, and 4. Recompute orientations incorporating causal phenotypes in the models (update the causal model according to changes in directions). 5. Repeat 4 iteratively until no more edges change direction (the resulting graph is one solution). 6. Repeat steps 3, 4, and 5 many times and store all different solutions. 7. Score all solutions and select the graph with best score. Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
QDG algorithm QDG stands for QTL-directed dependency graph. The QDG algorithm is composed of 7 steps: 1. Get the causal skeleton (with the PC skeleton algorithm). 2. Use QTLs to orient the edges in the skeleton. 3. Choose a random ordering of edges, and 4. Recompute orientations incorporating causal phenotypes in the models (update the causal model according to changes in directions). 5. Repeat 4 iteratively until no more edges change direction (the resulting graph is one solution). 6. Repeat steps 3, 4, and 5 many times and store all different solutions. 7. Score all solutions and select the graph with best score. Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
QDG algorithm QDG stands for QTL-directed dependency graph. The QDG algorithm is composed of 7 steps: 1. Get the causal skeleton (with the PC skeleton algorithm). 2. Use QTLs to orient the edges in the skeleton. 3. Choose a random ordering of edges, and 4. Recompute orientations incorporating causal phenotypes in the models (update the causal model according to changes in directions). 5. Repeat 4 iteratively until no more edges change direction (the resulting graph is one solution). 6. Repeat steps 3, 4, and 5 many times and store all different solutions. 7. Score all solutions and select the graph with best score. Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
QDG algorithm QDG stands for QTL-directed dependency graph. The QDG algorithm is composed of 7 steps: 1. Get the causal skeleton (with the PC skeleton algorithm). 2. Use QTLs to orient the edges in the skeleton. 3. Choose a random ordering of edges, and 4. Recompute orientations incorporating causal phenotypes in the models (update the causal model according to changes in directions). 5. Repeat 4 iteratively until no more edges change direction (the resulting graph is one solution). 6. Repeat steps 3, 4, and 5 many times and store all different solutions. 7. Score all solutions and select the graph with best score. Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Step 2 Now suppose that for each transcript we have a set of e-QTLs ÂÁ»¼q1À¿½¾ ÂÁ»¼q2À¿½¾ ² ² »¼ÂÁy1½¾À¿ »¼ÂÁy2½¾À¿3 r r 3 ® ± r ®® rrrr ±± 333 ® ± 3 ® rr ±± ÂÁ»¼q6À¿½¾ »¼/ Áy6À¿½¾®rr ÂÁ»¼y3À¿½¾o »¼ÂÁq3À¿½¾ ± 33 ±± 33 ®® 33 ±±± ®® ® ÂÁ»¼y5À¿½¾± ÂÁ»¼y4À¿½¾® O O »¼ÂÁq5½¾À¿ »¼ÂÁq4½¾À¿
Elias Chaibub Neto
[email protected] Given the QTLs we can distinguish causal direction: /.q1*+ -, /() -, -, /() -,o /. / .y1*+ / .y2*+ () ()q2*+ /. /.y2-, / .y1-, *+o () *+o /. ()q1-, *+ /() ()q2-, *+
.. . /.q5*+ -, /() -, -, /() -,o /. / .y5*+ / .y6*+ () ()q6*+ /. /.y6-, / .y5-, *+o () *+o /. ()q5-, *+ /() ()q6-, *+
Inferring Causal Phenotype Networks from Segregating Populat
Step 2 Now suppose that for each transcript we have a set of e-QTLs ÂÁ»¼q1À¿½¾ ÂÁ»¼q2À¿½¾ ² ² »¼ÂÁy1½¾À¿ »¼ÂÁy2½¾À¿3 r r 3 ® ± r ®® rrrr ±± 333 ® ± 3 ® rr ±± ÂÁ»¼q6À¿½¾ »¼/ Áy6À¿½¾®rr ÂÁ»¼y3À¿½¾o »¼ÂÁq3À¿½¾ ± 33 ±± 33 ®® 33 ±±± ®® ® ÂÁ»¼y5À¿½¾± ÂÁ»¼y4À¿½¾® O O »¼ÂÁq5½¾À¿ »¼ÂÁq4½¾À¿
Elias Chaibub Neto
[email protected] Given the QTLs we can distinguish causal direction: /.q1*+ -, /() -, -, /() -,o /. / .y1*+ / .y2*+ () ()q2*+ /. /.y2-, / .y1-, *+o () *+o /. ()q1-, *+ /() ()q2-, *+
.. . /.q5*+ -, /() -, -, /() -,o /. / .y5*+ / .y6*+ () ()q6*+ /. /.y6-, / .y5-, *+o () *+o /. ()q5-, *+ /() ()q6-, *+
Inferring Causal Phenotype Networks from Segregating Populat
Steps 2 and 3 First estimate of the causal model (DG0 ) /.q1*+ -, /.q2*+ -, () () ² ² /.y1*+ -, -, //.y2*+ () () D qq ° 555 ª q q ª ° q 55 ªª qqq °° 5½ ° ªªxqqqq ° /.q6-, -, -, -,o /. /. //.y6*+ ° () () *+ () ()q3*+ y3*+ Z55 °° ª ° 55 ª 55 °°° ªª §° ² ¥ªª /.y4*+ /.y5*+ -,o -, () () O O /.q5*+ -, /.q4*+ -, () ()
(using only QTLs to infer causal direction) Elias Chaibub Neto
[email protected] In step 3 we randomly choose an ordering of all edges in DG0 . Say, /.y2*+ -, () /.y3*+ -, () /.y1*+ -, () /.y6*+ -, () /.y2*+ -, () /.y5*+ -, () /.y1*+ -, /. -, /. -, /. -, /. -, /. -, () ()y2*+ ()y3*+ ()y4*+ ()y2*+ ()y6*+ -, /. -, /. -, /. -, /. -, /. -, /.y2*+ () ()y4*+ ()y5*+ ()y6*+ ()y4*+ ()y5*+
In step 4 we recompute the directions including other transcripts as covariates in the models (following the above ordering).
Inferring Causal Phenotype Networks from Segregating Populat
Steps 2 and 3 First estimate of the causal model (DG0 ) /.q1*+ -, /.q2*+ -, () () ² ² /.y1*+ -, -, //.y2*+ () () D qq ° 555 ª q q ª ° q 55 ªª qqq °° 5½ ° ªªxqqqq ° /.q6-, -, -, -,o /. /. //.y6*+ ° () () *+ () ()q3*+ y3*+ Z55 °° ª ° 55 ª 55 °°° ªª §° ² ¥ªª /.y4*+ /.y5*+ -,o -, () () O O /.q5*+ -, /.q4*+ -, () ()
(using only QTLs to infer causal direction) Elias Chaibub Neto
[email protected] In step 3 we randomly choose an ordering of all edges in DG0 . Say, /.y2*+ -, () /.y3*+ -, () /.y1*+ -, () /.y6*+ -, () /.y2*+ -, () /.y5*+ -, () /.y1*+ -, /. -, /. -, /. -, /. -, /. -, () ()y2*+ ()y3*+ ()y4*+ ()y2*+ ()y6*+ -, /. -, /. -, /. -, /. -, /. -, /.y2*+ () ()y4*+ ()y5*+ ()y6*+ ()y4*+ ()y5*+
In step 4 we recompute the directions including other transcripts as covariates in the models (following the above ordering).
Inferring Causal Phenotype Networks from Segregating Populat
Steps 4 and 5 (first iteration)
76q123 54 01
76q223 54 01
² ² 76y123 54 / y2 01 D qq 6 ©© qqqq °° 666 © ° q 66 © q °° ½ ©©xqqqq ° 76q354 76 54 7 6 54 ° / y623 01q623 01 23 y 3 o 01 ° Z66 ° © ° 66 © ° 66 °° ©© ² ¥©© §° 76y523 54o 54 76 01 01y423 O O 76q523 54 01
/.y1*+ -, () /. ()q2-, *+
² / y2
/ y3 o
/. ()q3-, *+
y3 o
/.q3*+ -, ()
/.y1*+ -, () /.q2*+ -, ()
² / y2 o
76q423 54 01
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Steps 4 and 5 (first iteration)
76q123 54 01
76q223 54 01
² ² 76y123 54 / y2 01 D qq 6 ©© qqqq °° 6 © ° q ok66 © q °° ½ ©©xqqqq ° 76q354 76 54 7 6 54 ° / y623 01q623 01 23 y 3 o 01 ° Z66 ° © ° 66 © ° 66 °° ©© ² ¥©© §° 76y523 54o 54 76 01 01y423 O O 76q523 54 01
/.y1*+ -, () /. ()q2-, *+
² / y2
/ y3 o
/. ()q3-, *+
y3 o
/.q3*+ -, ()
/.y1*+ -, () /.q2*+ -, ()
² / y2 o
76q423 54 01
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Steps 4 and 5 (first iteration)
76q123 54 01
76q223 54 01
²
² 76y223 54 /01 q ° 66 q © q 66 © qq °° 66 ©© qqqq ° © q ° ½ ©xqq ° 76 54 76q354 76 ° 01y354 23o 01 01q623 / y6 23 ° Z66 ° © ° 66 © ° 66 °° ©© ² ¥©© §° 76y523 54o 54 76 01 01y423 O O
yD 1
76q523 54 01
/. /.y -, ()y2-, *+ () *+ CC 5 CC ! ² /. ()q6-, *+ / y6
/ y1 o
/. ()q1-, *+
/.y2*+ -, () /.y *+ -, () CC 5 CC ! ² /.q6*+ -, / y6 o ()
y1 o
/.q1*+ -, ()
76q423 54 01
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Steps 4 and 5 (first iteration)
76q123 54 01
76q223 54 01
²
² 76y223 54 /01 q ° 66 q © q q ° © 66 flip qqqqq °° 66 © q ° ½ ©xqq ° 76 54 76q354 76 ° 01y354 23o 01 01q623 / y6 23 ° Z66 ° © ° 66 © ° 66 °° ©© ² ¥©© §° 76y523 54o 54 76 01 01y423 O O
yD 1
76q523 54 01
/. /.y -, ()y2-, *+ () *+ CC 5 CC ! ² /. ()q6-, *+ / y6
/ y1 o
/. ()q1-, *+
/.y2*+ -, () /.y *+ -, () CC 5 CC ! ² /.q6*+ -, / y6 o ()
y1 o
/.q1*+ -, ()
76q423 54 01
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Steps 4 and 5 (first iteration)
76q123 54 01
76q223 54 01
²
² 76 54 / y223 01 q ° 66 q © q 66 © qq °° 66 ©© qqqq ° © q ° ¥©xqq ½ ° 76 54 76q354 76 ° 01y354 23o 01 01q623 / y6 23 ° Z66 ° © ° 66 © ° 66 °° ©© ² ¥©© §° 76y523 54o 54 76 01 01y423 O O
y1
76q523 54 01
/. /.y -, ()y2-, *+ () *+ CC 5 CC ! ² /. ()q6-, *+ / y6
/ y1 o
/. ()q1-, *+
/.y2*+ -, () /.y *+ -, () CC 5 CC ! ² /.q6*+ -, / y6 o ()
y1 o
/.q1*+ -, ()
76q423 54 01
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Steps 4 and 5 (first iteration)
76q123 54 01
76q223 54 01
² ² 76y123 54 / y2 01 qq 6 ©© qqqq °° 666 © ° q 66 © q °° ¥©©xqqqq ½ ° 76 54 76q354 7 6 54 76 ° / y623 01y354 23o 01 01q623 01 23 ° Z66 ° © ° 66 © ° 66 °° ©© ² ¥©© §° 54 76y423 01 yO 5 o O 76q523 54 01
/. ()q5-, *+
/.q5*+ -, ()
/.y4*+ -, ()
/.y1*+ -, ()
² / y5 o
y2 o
/.y4*+ -, ()
/.y1*+ -, ()
² / y5
² / y2 o
²
/. ()q2-, *+
/.q2*+ -, ()
76q423 54 01
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Steps 4 and 5 (first iteration)
76q123 54 01
76q223 54 01
² ² 76y123 54 / y2 01 qq 6 ©© qqqq °°° 666 © q 66 © q ° ¥©©xqqqq ½ °° ° 76 54 76q354 7 6 54 76 / y623 01y354 23o 01 01q623 01 23 ok Z66 ° ° © 66 °° © 66 °° ©© ² ¥©© §° 54 76y423 01 yO 5 o O 76q523 54 01
/. ()q5-, *+
/.q5*+ -, ()
/.y4*+ -, ()
/.y1*+ -, ()
² / y5 o
y2 o
/.y4*+ -, ()
/.y1*+ -, ()
² / y5
² / y2 o
²
/. ()q2-, *+
/.q2*+ -, ()
76q423 54 01
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Steps 4 and 5 (first iteration)
/. ()y1-, *+ /. ()y2-, *+
And so on until the algorithm recheck the directions for all remaining ordered edges.
/.y3*+ -, () /.y4*+ -, () /.y2*+ -, /. -, () ()y6*+ /.y2*+ -, /. -, () ()y4*+ /.y5*+ -, () /.y6*+ -, () -, /. -, /.y4*+ () ()y5*+
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Steps 4 and 5 (first iteration) Suppose the updated causal model after the first iteration (DG1 ) is ÂÁ»¼q2À¿½¾ »¼ÂÁq1À¿½¾ ÂÁ»¼y1² À¿½¾ ÂÁ/»¼y2² À¿½¾ 3 r r ®® rrrr ±±± 333 ® 33 ®® rrr ±± ±± ÂÁ»¼q6À¿½¾ »¼/ Áy6À¿½¾¦®xrr ÂÁ»¼¼y3À¿½¾o »¼ÂÁq3À¿½¾ 33 ±± 33 ®® 33 ±±± ®® ® ÂÁ»¼¼y5À¿½¾§± »¼/ Áy4² À¿½¾¦® O O »¼ÂÁq5½¾À¿ »¼ÂÁq4½¾À¿
Elias Chaibub Neto
[email protected] Since some arrows changed direction (DG1 6= DG0 ), the algorithm goes for another round of re-computations.
Inferring Causal Phenotype Networks from Segregating Populat
Steps 4 and 5 (second iteration)
76q123 54 01
76q223 54 01
² ² 76y123 54 / y2 01 qq 6 ©© qqqq °° 6 © ° q ok66 © q °° ¥©©xqqqq ½ ° 76q354 76 54 7 6 54 ° / y623 01q623 01 23 y 3 o 01 ° 66 ° © ° 66 © ° 66 °° ©© ² ¥©© ½ §° 76y523 54 76y423 54 /01 01 O O 76q523 54 01
/.y1*+ -, () /. ()q2-, *+
² / y2
/ y3 o
/. ()q3-, *+
y3 o
/.q3*+ -, ()
/.y1*+ -, () /.q2*+ -, ()
² / y2 o
76q423 54 01
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Steps 4 and 5 (second iteration)
76q123 54 01
76q223 54 01
²
² 76y223 54 /01 q ° 66 q © q 66 © qq °° ok 66 qqq ° q © q ° ½ ¥©xqq ° 76 54 76q354 76 ° 01y354 23o 01 01q623 / y6 23 ° 66 ° © ° 66 © ° 66 °° ©© ² ¥©© ½ §° 76y523 54 76y423 54 /01 01 O O
y1
76q523 54 01
/.y2*+ -, () /. ()q6-, *+
² / y6
/ y1 o
/. ()q1-, *+
y1 o
/.q1*+ -, ()
/.y2*+ -, () /.q6*+ -, ()
² / y6 o
76q423 54 01
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Steps 4 and 5 (second iteration)
76q123 54 01
76q223 54 01
² ² 76y123 54 / y2 01 qq 6 ©© qqqq °°° 666 © q 66 © q ° ¥©©xqqqq ½ °° ° 76 54 76q354 7 6 54 76 / y623 01y354 23o 01 01q623 01 23 ok 66 ° ° © 66 °° © 66 °° ©© ² ¥©© ½ §° 54 /76y423 01 yO 5 O 76q523 54 01
/. ()q5-, *+
/.q5*+ -, ()
/.y6*+ -, ()
/.y1*+ -, ()
² / y5 o
y2 o
/.y6*+ -, ()
/.y1*+ -, ()
² /.y5*+ -, /()
² /.y2*+ -,o /()
²
/. ()q2-, *+
/.q2*+ -, ()
76q423 54 01
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Steps 4 and 5 (second iteration)
And so on . . .
Elias Chaibub Neto
[email protected] If no further arrows change direction, the algorithm converged to a solution.
Inferring Causal Phenotype Networks from Segregating Populat
Steps 6 and 7
Different random orderings (step 3) can result in different solutions. I
Step 6: repeat Steps 3 to 5 many times and store all different solutions.
I
Step 7: score all solutions and select the graph with best score (maximized log-likelihood or BIC).
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Steps 6 and 7
Different random orderings (step 3) can result in different solutions. I
Step 6: repeat Steps 3 to 5 many times and store all different solutions.
I
Step 7: score all solutions and select the graph with best score (maximized log-likelihood or BIC).
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Steps 6 and 7
Different random orderings (step 3) can result in different solutions. I
Step 6: repeat Steps 3 to 5 many times and store all different solutions.
I
Step 7: score all solutions and select the graph with best score (maximized log-likelihood or BIC).
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Sparsity assumption
The PC skeleton algorithm and QDG algorithm perform well in sparse graphs.
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Directing edges without QTLs I
In general we need to have at least one QTL per pair of phenotypes to infer causal direction.
I
In some situations, however, we may be able to infer causal direction for a pair of phenotypes without QTLs. Eg. /.q1*+ -, () ² /. ()y1-, *+
//().y2-, *+ ? /. ()y3-, *+
/.y1*+ -, ()
/.y2-, /() *+
/.y3*+ -, /()
/. ()y1-, *+
//().y2-, *+o
/. ()y3-, *+
since f (y1 ) f (y2 | y1 ) f (y3 | y2 ) 6= f (y1 ) f (y2 | y1 , y3 ) f (y3 ). I
So both QTLs and phenotypes play important roles in the orientation process.
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Directing edges without QTLs I
In general we need to have at least one QTL per pair of phenotypes to infer causal direction.
I
In some situations, however, we may be able to infer causal direction for a pair of phenotypes without QTLs. Eg. /.q1*+ -, () ² /. ()y1-, *+
//().y2-, *+ ? /. ()y3-, *+
/.y1*+ -, ()
/.y2-, /() *+
/.y3*+ -, /()
/. ()y1-, *+
//().y2-, *+o
/. ()y3-, *+
since f (y1 ) f (y2 | y1 ) f (y3 | y2 ) 6= f (y1 ) f (y2 | y1 , y3 ) f (y3 ). I
So both QTLs and phenotypes play important roles in the orientation process.
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Directing edges without QTLs I
In general we need to have at least one QTL per pair of phenotypes to infer causal direction.
I
In some situations, however, we may be able to infer causal direction for a pair of phenotypes without QTLs. Eg. /.q1*+ -, () ² /. ()y1-, *+
//().y2-, *+ ? /. ()y3-, *+
/.y1*+ -, ()
/.y2-, /() *+
/.y3*+ -, /()
/. ()y1-, *+
//().y2-, *+o
/. ()y3-, *+
since f (y1 ) f (y2 | y1 ) f (y3 | y2 ) 6= f (y1 ) f (y2 | y1 , y3 ) f (y3 ). I
So both QTLs and phenotypes play important roles in the orientation process.
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Unresolvable situation
I
We cannot infer direction when the phenotypes have exactly same set of QTLs and causal phenotypes /.-, ()*+ qB || BBB | }| ! -, -, /. //.y2*+ ()y1*+ () aBB |= BB | || /.y3*+ -, ()
/.-, ()*+ qB || BBB | }| ! /. -,o /.y2*+ -, ()y1*+ () aBB |= BB | || /.y3*+ -, ()
since f (y1 | y3 , q) f (y2 | y1 , y3 , q) = f (y1 | y2 , y3 , q) f (y2 | y3 , q)
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Reducing graph space
The QDG algorithm drastically reduces the number of graphs that need to be scored. 1. The maximum number of graphs is 2k models, where k is the number of edges in the skeleton. 2. The number of solutions of the QDG algorithm is generally much smaller than 2k .
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Cyclic networks
I
Cycles are a common feature of biological networks (homeostatic mechanisms).
I
The PC skeleton algorithm assumes an acyclic causal graph, and cycles may lead to spurious edges. E.g. '& Ã!1%$ "# '& Ã!4%$ "#
/'Ã!&2%$ H "# © '/Ã!& %$ 3"#
'&Ã! %$"# '& 1 = Ã!2%$"# ==¢¢ ¢= '&Ã! %$"#¢ '& 4 Ã!3%$"#
Elias Chaibub Neto
[email protected] 1 6⊥⊥ 3 1 6⊥ ⊥ 3 | 2 1 6⊥ ⊥ 3 | 2, 4 2 6⊥⊥ 4 2 6⊥ ⊥ 4 | 3 2 6⊥ ⊥ 4 | 1, 3
Inferring Causal Phenotype Networks from Segregating Populat
Cyclic networks
I
Cycles are a common feature of biological networks (homeostatic mechanisms).
I
The PC skeleton algorithm assumes an acyclic causal graph, and cycles may lead to spurious edges. E.g. '& Ã!1%$ "# '& Ã!4%$ "#
/'Ã!&2%$ H "# © '/Ã!& %$ 3"#
'&Ã! %$"# '& 1 = Ã!2%$"# ==¢¢ ¢= '&Ã! %$"#¢ '& 4 Ã!3%$"#
Elias Chaibub Neto
[email protected] 1 6⊥⊥ 3 1 6⊥ ⊥ 3 | 2 1 6⊥ ⊥ 3 | 2, 4 2 6⊥⊥ 4 2 6⊥ ⊥ 4 | 3 2 6⊥ ⊥ 4 | 1, 3
Inferring Causal Phenotype Networks from Segregating Populat
Cyclic networks I
Our simulations showed good performance with toy cyclic graphs, though. (a)
ÂÁÀ¿ »¼½¾ 3
ÂÁÀ¿ »¼½¾ 1 ² ÂÁÀ¿ »¼½¾ 2 ^> >> ¡ ¡¡¡ ÂÁÀ¿ /»¼½¾ /ÂÁÀ¿ /ÂÁÀ¿ »¼½¾ »¼½¾ 4 5 6
ÂÁÀ¿ »¼½¾ 1 £ O > | | ÁÂÁÀ¿ | ~ ÂÁÀ¿ Â/ ÁÀ¿ »¼½¾ »¼½¾ »¼½¾ 4 5 o 6 (b)
(c)
ÂÁÀ¿ »¼½¾ 1 ÂÁÀ¿ »¼½¾ 4
ÁÀ¿ ÂÁÀ¿ /»¼½¾ 3 F 2 /»¼½¾ § ÂÁÀ¿ /ÂÁÀ¿ /6 »¼½¾ »¼½¾ 5
I
The spurious edges in graph (c) were detected at low rates.
I
QDG approach cannot detect reciprocal interactions. In graph (c) it orients the edge '&Ã!2%$"# '&Ã!5%$"# in the direction with higher strength.
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Cyclic networks I
Our simulations showed good performance with toy cyclic graphs, though. (a)
ÂÁÀ¿ »¼½¾ 3
ÂÁÀ¿ »¼½¾ 1 ² ÂÁÀ¿ »¼½¾ 2 ^> >> ¡ ¡¡¡ ÂÁÀ¿ /»¼½¾ /ÂÁÀ¿ /ÂÁÀ¿ »¼½¾ »¼½¾ 4 5 6
ÂÁÀ¿ »¼½¾ 1 £ O > | | ÁÂÁÀ¿ | ~ ÂÁÀ¿ Â/ ÁÀ¿ »¼½¾ »¼½¾ »¼½¾ 4 5 o 6 (b)
(c)
ÂÁÀ¿ »¼½¾ 1 ÂÁÀ¿ »¼½¾ 4
ÁÀ¿ ÂÁÀ¿ /»¼½¾ 3 F 2 /»¼½¾ § ÂÁÀ¿ /ÂÁÀ¿ /6 »¼½¾ »¼½¾ 5
I
The spurious edges in graph (c) were detected at low rates.
I
QDG approach cannot detect reciprocal interactions. In graph (c) it orients the edge '&Ã!2%$"# '&Ã!5%$"# in the direction with higher strength.
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Cyclic networks I
Our simulations showed good performance with toy cyclic graphs, though. (a)
ÂÁÀ¿ »¼½¾ 3
ÂÁÀ¿ »¼½¾ 1 ² ÂÁÀ¿ »¼½¾ 2 ^> >> ¡ ¡¡¡ ÂÁÀ¿ /»¼½¾ /ÂÁÀ¿ /ÂÁÀ¿ »¼½¾ »¼½¾ 4 5 6
ÂÁÀ¿ »¼½¾ 1 £ O > | | ÁÂÁÀ¿ | ~ ÂÁÀ¿ Â/ ÁÀ¿ »¼½¾ »¼½¾ »¼½¾ 4 5 o 6 (b)
(c)
ÂÁÀ¿ »¼½¾ 1 ÂÁÀ¿ »¼½¾ 4
ÁÀ¿ ÂÁÀ¿ /»¼½¾ 3 F 2 /»¼½¾ § ÂÁÀ¿ /ÂÁÀ¿ /6 »¼½¾ »¼½¾ 5
I
The spurious edges in graph (c) were detected at low rates.
I
QDG approach cannot detect reciprocal interactions. In graph (c) it orients the edge '&Ã!2%$"# '&Ã!5%$"# in the direction with higher strength.
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Unique graph instead of an equivalence class Two DAGs are Markov equivalent iff they have the same skeleton and the same set of v-structures. For example /.y1*+ -, () CC C! /. ()y2-, *+ CC C! /. -, ()y3*+
/.y3*+ -, () { { }{ /.y2-, () *+ { }{{ /.y1*+ -, ()
/.y1*+ -, The three graphs have the same skeleton, () same set of v-structures (none).
/. ()y2-, *+ { CCC { }{ ! /.y1*+ -, /.y3*+ -, () () /.y2*+ -, ()
/.y3*+ -,, and the ()
The graphs will also be likelihood equivalent if we assume a linear regression with Gaussian errors.
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Unique graph instead of an equivalence class
/.q1*+ -, ()
/.q2*+ -, ()
/.q3*+ -, ()
/.q1*+ -, ()
/.q2*+ -, ()
/.q3*+ -, ()
/.q1*+ -, ()
/.q2*+ -, ()
/.q3*+ -, ()
² /.y1*+ -, ()
² /.y2*+ -, /()
² /.y3*+ -, /()
² /.y1*+ -,o ()
² /.y2*+ -,o ()
² /.y3*+ -, ()
² /.y1*+ -,o ()
² /.y2*+ -, ()
² /.y3*+ -, /()
Same skeleton, but different sets of v-structures /.y1*+ -, /.q2*+ -, () () CC C! }{{{ /.y2-, () *+
/.q2*+ -, /.y3*+ -, () () CC C! }{{{ /. ()y2-, *+
/.y2*+ -, /.q3*+ -, () () CC C! }{{{ /. ()y3-, *+
/. /.q3*+ -, -, ()y2*+ () CC C! }{{{ /.y3*+ -, ()
/.q1*+ /.y2*+ -, -, () () CC C! }{{{ /.y1*+ -, ()
/.q1*+ /.y2*+ -, -, () () CC C! }{{{ /.y1*+ -, ()
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Simulations 6
1
87
8
26
33
42
88
17
37
41
57
56
90
31
14
30
80
29
81
91
36
66
97
40
16
53
23
70
28
75
43
18
3
65
7
39
71
15
49
96
35
83
20
78
84
93
61
11
4
85
94
54
74
64
51
32
86
62
47
52
2
63
73
19
79
50
76
25
46
5
12
68
10
58
22
24
27
13
34
55
60
9
44
82
45
67
72
21
77
59
38
100 nodes, 107 edges
95
69
2 or 3 QTLs per phenotype (not shown)
Elias Chaibub Neto
[email protected] 92
89
98
100
We generated 100 data sets according to this network.
Parameters were chosen in a range close to values estimated from real data. n TDR TPR CD TDR =
99
48
60 94.53 52.07 83.65
# true positives # inferred edges
300 95.18 87.33 98.58 , TPR =
500 91.22 93.64 99.63 # true positives # true edges
CD: correct direction
Inferring Causal Phenotype Networks from Segregating Populat
Real data example '& %$ '& %$ '& %$"# Ã!D2Mit395 FF"# Ã!D9Mit20"# Ã!D18Mit177 w F w '&Ã!D2Mit51"#%$ FF w >> @@ ¡ >> @Ã ¡¡¡¡ Á /.q1*+ -,brk /() /.q2*+ -, /.y1*+ -, -,o brk () //.y2*+ () ()
I
To break the connections (brk) that affect direction of an edge, we permute the corresponding pair of nodes (and their common covariates) as a block.
I
In panel (a) we permute (y1 , y2 , x) as a block breaking the connections with z, q1 and q2 ;
I
In panel (b) we incorrectly keep z in the permutation block.
Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat
Direct versus indirect effects of a common QTL (a) /. -, ()q1*+
-, /.-, ()*+ ()q2*+ q E /. yy EEEE y ² |yy " ² /.y1*+ -, /.y2*+ -, () ()
(b) /.q1*+ -, ()
/.-, ()*+ q yy y ² y| y /.y1*+ -, ()
(c) /. -, ()q2*+
/.q1*+ -, ()
² /.y2*+ -, /()
² /.y1*+ -,o ()
/.q *+ -, /.-, ()*+ q E () EE 2 EE " ² /.y2*+ -, ()
I
A strong QTL directly affecting an upstream trait may also be (incorrectly) detected as a QTL for a downstream phenotype.
I
To resolve this situation we apply a generalization of Schadt et al. 2005 allowing for multiple QTLs.
I
Model (a) supports both traits being directly affected by the common QTL q. Model (b) implies that q directly affects y1 but should not be included as a QTL of phenotype y2 . Model (c) supports the reverse situation. Elias Chaibub Neto
[email protected] Inferring Causal Phenotype Networks from Segregating Populat