Making the most of DArT data for phylogenetic inference Barbara Holland & Michael Woodhams (Maths & Physics) Dorothy Steane (Plant Science) Vincent Moulton (Computational Biology)
1: Collect DNA from reference individuals 2. Digest with one 6bp rare cutter (CTGCAG) and one 4bp frequent cutter (TCGA) 3. Only fragments with two rare ends are amplified and retained 4. Create a microarray with these fragments (~2-3% of the genome) 5: Analyse phylogenetic samples by digesting them with the same cutters and running them against the microarray (DNA-DNA hybridisation). Each fragment is scored 1 (present) or 0 (absent) * *This is in math fantasy land – in real life you also get ?s Generating DArTs D Diversity Ar Array T Technologies
Properties of DArT data Data is binary (fragments are present or absent, 1/0) A random set of fragments from across the genome. Fragments are much more likely to be lost in parallel than gained in parallel Data exhibit an ascertainment bias: We can observe only the fragments on the chip. These fragments were derived from a small set of reference taxa.
The model Fragment evolution can be modeled as a stochastic Dollo process, i.e. gained once but lost potentially many times Parallel gains are forbidden Fragments are lost at a constant rate r (memoryless) Chance of loss over time t is 1-exp(- rt )
Hamming Horror Ref D C B D(Ref,B)=12/16 =(12+0)/( ) D(C,D)=2/16 =(1+1)/( ) Hamming distance D = (n 10 +n 01 )/(n 11 +n 00 +n 10 +n 01 )
Hamming simulation Tree based on Hamming distances using A as the reference taxon Underlying tree used in simulation
A distance correction is required R AB Let n 00 be the number of fragments absent at both A and B Let n 01 be the number of fragments absent at A and present at B Let n 10 be the number of fragments present at A and absent at B Let n 11 be the number of fragments present at both A and B
A distance correction is required Michael Woodham's key observation was that, due to the Dollo nature of the process, any fragment that is present at the reference taxon R and at taxon A, must also be present at the internal node X. R AB X
A distance correction is required Recall, chance of survival over time t is exp(-rt) d(X,B) = -log[probability fragment survives from X to B] Anything present at A is known to be present at X => d(X,B) = -log[n 11 /(n 11 +n 10 )] d(A,B) = d(A,X) + d(X,B) = -log[n 11 /(n 11 +n 01 )] - log[n 11 /(n 11 +n 10 )] = log[(1+n 01 /n 11 )(1+n 10 /n 11 )] R AB X
A zoo of distances Hamming: d H =(n 01 +n 10 )/(n 11 +n 10 +n 01 +n 00 ) Log Det: d LD =log[det[D]]-0.5Σ k (log(C k )+log(R k )) Jaccard: d J =(n 01 +n 10 )/(n 11 +n 10 +n 01 ) Log Jaccard: d LJ =-log(1-d J )=-log[n 11 /(n 11 +n 10 +n 01 )] HS: d HS =-log[2n 11 /(2n 11 +n 10 +n 01 )] Nei Li: F=2n 11 /(2n 11 +n 10 +n 01 );F=Q^2/(2-Q) d NL =-log(Q)
Simulations Random (yule) topology, Edge lengths chosen from uniform distribution 0.05< l <0.40 Yule tree, subject to minimum edge length 0.01
Simulation details Choose an arbitrary node to start the process at. At this node, the number of DArT fragments is taken from a Poisson distribution with mean M. (We use the result from HS 2004 that a stochastic Dollo process is independent of the root). Propagate outward from the start point along tree edges, so that each new node acquires some new DArT fragments and inherits some of those from its parent. If the edge length is l, then the probability of a given fragment present in the parent still being present at the end of the edge is exp(- l ). The number of new fragments in the child but not the parent is Poisson distributed with mean (1-exp(- l )) M.
Simulations R R S R R S R S T U V Selection of Reference Taxa One ref, included Two refs, included One ref, excluded Two refs, excluded All taxa are refs
Simulations All taxa are references, 9 taxa.
Simulations Single reference, excluded, 9 taxa. Single reference, included, 9 taxa.
Simulations (distance matrix -> tree by FastME)
Simulations
s r SR B A Multiple References If R were the only reference, we'd only see the coloured sites. n 10 =6, n 01 =2, n 11 =2, d(A,B)= -log(2/4) - log(2/8)=3
s r SR B A Multiple References With R and S as references n 10 =7, n 01 =7, n 11 =3, d(A,B)= -2log(3/10)=3.474
Generalizing the DArT Distance The DArT distance does less well when there is more than one reference taxon. Define d RDa (A,B;R)=DArT distance between A and B calculated only from sites that are 1 at R. Then d GD (A,B) is a weighted average: d GD (A,B)=(Σ R d RDa (A,B;R)√n R )/(Σ R √n R )
Partitioned DarT distances (under construction) When the reference taxa are known (typically the case) And it's also known which fragments come from which reference taxon (not always the case) You can define a partitioned DArT distance that takes a weighted average of the DArT distance for each partition.
Simulations All taxa are references, 9 taxa.
Simulations
DArT, Generalized DArT and HS tree (FastME) 94 Eucalcypt taxa 8 reference taxa
Norwich Why does the Generalised DarT distance perform so well when the reference taxa are included and so poorly when they are not?
R A B CD Single reference prpr papa p bcd pbpb p cd pcpc pdpd Pattern proabilities can be computed by rooting the tree at the reference taxon and then only considering loss of fragments. E.g. the probability of seeing R1 A0 B0 C1 D1 is (1-p r )p a (1-p bcd )p b (1-p cd )(1-p c )(1-p d )
Reference unknown RBD n01/n n10/n D(A,C) D(A,C) = log[(1+n 01 /n 11 )(1+n 10 /n 11 )] R A B CD prpr papa p bcd pbpb p cd pcpc pdpd Set all edge probabilities to 0.01
R A B CS Multiple reference taxa prpr papa p bcs pbpb p cs pcpc psps In the multiple reference setting you also have to consider gain of fragments down any edge that is above a reference taxon. E.g. the probability of seeing R0 A0 B0 C1 S1 Has 4 terms p r p a (1-p bcs )p b (1-p cs )(1-p c )(1-p s ) + p bcs p b (1-p cs )(1-p c )(1-p s ) + p cs (1-p c )(1-p s ) + p s * need to renormalise probabilities
R A B prpr papa p bs pbpb psps * need to renormalise probabilities S Set all edge probabilities to 0.01 D(A,B) = log[(1+n 01 /n 11 )(1+n 10 /n 11 )] RSR or S n01/n n10/n D(A,B) RSR or S n n n n
Future ideas The small examples we worked through in Norwich suggest two new ideas to be tested by simulation In the case of unknown references, compute D(X,Y|R) for each R and take the max. In the case of known references, a modification to the Generalised DArT that only averages over the references
Future work - hybridisation
Links to other peoples work Gene content evolution with HGT, aka controlling ancestral genome obesiety (Tal Dagan, Bill Martin) Language evolution with borrowing (Geoff Nicholls, Russell Gray)
BIG Thanks to Torsten and Shiju