ANGSD: Analysis of next generation Sequencing Data

Latest tar.gz version is (0.938/0.939 on github), see Change_log for changes, and download it here.

Relatedness

From angsd
Jump to navigation Jump to search

NGSrelate - estimation of IBD probabilities

In order to estimate kinship coefficient then population allele frequencies are needed. These can be estimated from data if you can multiple individuals. For some individuals, for example most human populations, there are publicly available data. If you can obtain population allele frequencies or have a many samples from your population then we recommend that you use NGSrelate has works with ANGSD output. From the estimated IBD probabilities you can then infer the relationship. Below is a table of the expected IBD sharing probabilities assuming no inbreeding


Relationship
mono-zygotic twin
Parent-Offspring
Full siblings
Half siblings
First cousins
Unrelated


NGSrelate has its very own website http://www.popgen.dk/software/index.php/NgsRelate

IBS/genotype distribution

If you do not have population allele frequencies the you cannot estimate kinship coefficients. However, you can still make some claims about the relationship of your samples based on IBS patterns. Below is an example of IBS patterns between two individuals where we ignore the allele types. G is the genotype that counts for example the number of derived or non-reference alleles. Basically it is the 2D SFS where the is just 1 individual in each of the two populations


ind2
ind1



Relationship Expected ratio other
mono-zygotic twin -
Parent-Offspring -
Full siblings
Half siblings
First cousins
Unrelated

How to get the IBS pattern

You can get the estimate by using the SFS method or you can use the genotype distribution method both in ANGSD


Rcode to get expectations

# R code go get expected IBS pattern
## k is the 3 IBD sharing probabities
## f is the allele frequency 
getEst<-function(k=c(1,0,0),f=0.5){
    p<-f
    q<-1-f
    m0<-rbind(
        c(p^4,2*p^3*q,p^2*q^2),
        c(2*p^3*q,4*p^2*q^2,2*p*q^3),
        c(p^2*q^2,2*q^3*p,q^4)
        )
   m1<-rbind(
        c(p^3,p^2*q,0),
        c(p^2*q,p^2*q+q^2*p,p*q^2),
        c(0,q^2*p,q^3)
        )
    m2<-rbind(
        c(p^2,0,0),
        c(0,2*p*q,0),
        c(0,0,q^2)
        )

return(k[1]*m0+k[2]*m1+k[3]*m2)

}

getEst(k=c(1,0,0),f=0.5)
       [,1]  [,2]   [,3]
[1,] 0.0625 0.125 0.0625
[2,] 0.1250 0.250 0.1250
[3,] 0.0625 0.125 0.0625