[adegenet-forum] Combined haploid and diploid codminat genotypes in spca

Jombart, Thibaut t.jombart at imperial.ac.uk
Fri Dec 17 13:32:01 CET 2010


Hello Nevil, 

This is a very interesting question. Yes, it is possible to look for common structures between the two datasets, provided both datasets contain exactly the same individuals (in the same order). I devoted a small section to this topic in my review of multivariate methods for genetics (Jombart, T.; Pontier, D. & Dufour, A.-B. Genetic markers in the playground of multivariate analysis Heredity, 2009, 102, 330-341). 

One approach I would recommend is coinertia analysis. To apply it, you need to perform a PCA for each table of centred allele frequencies (see tutorial), and then perform a coinertia analysis of the two obtained PCA (function coinertia in ade4). Useful references for coinertia analysis are:

- Dolédec, S. & Chessel, D. Co-inertia analysis: an alternative method for studying species-environment relationships Freshwater Biology, 1994, 31, 277-294

- Dray, S.; Chessel, D. & Thioulouse, J. Co-inertia analysis and the linking of ecological data tables Ecology, 2003, 84, 3078-3089

And also, for an extension to more than 2 tables for genetic data:

- Laloë, D.; Jombart, T.; Dufour, A.-B. & Moazami-Goudarzi, K. Consensus genetic structuring and typological value of markers using multiple co-inertia analysis Genetics Selection Evolution, 2007, 39, 545-567

Essentially, the method looks for common genetic patterns in the two data tables. 

Here is a toy example of how to proceed using two datasets (two different microsatellites in microbov dataset): 
####
library(ade4)
library(adegenet)
data(microbov)
x <- genind2genpop(microbov[loc="L01"])
y <- genind2genpop(microbov[loc="L02"])

## PCAs
pcax <- dudi.pca(scaleGen(x, miss="mean", scale=FALSE),  scale=FALSE)
pcay <- dudi.pca(scaleGen(y, miss="mean", scale=FALSE),  scale=FALSE)
scatter(pcax) # biplots
scatter(pcay) # biplots


## coinertia
co1 <- coinertia(pcax, pcay)
co1
plot(co1) # various plots for coinertia (eigenvalues, loadings, joint scatterplot, etc)

s.match(co1$mX, co1$mY, clab=.75)
title("Coinertia - joint representation \n(marker 1 --> marker 2)")

#####

Here, I translated data to the population level (genind2genpop), but of course the same works at an individual level.

Best

Thibaut


--
######################################
Dr Thibaut JOMBART
MRC Centre for Outbreak Analysis and Modelling
Department of Infectious Disease Epidemiology
Imperial College - Faculty of Medicine
St Mary’s Campus
Norfolk Place
London W2 1PG
United Kingdom
Tel. : 0044 (0)20 7594 3658
t.jombart at imperial.ac.uk
http://sites.google.com/site/thibautjombart/
http://adegenet.r-forge.r-project.org/

________________________________________
From: adegenet-forum-bounces at lists.r-forge.r-project.org [adegenet-forum-bounces at lists.r-forge.r-project.org] On Behalf Of Nevil Amos [nevil.amos at gmail.com]
Sent: 17 December 2010 11:47
To: adegenet-forum at lists.r-forge.r-project.org
Subject: [adegenet-forum] Combined haploid and diploid codminat genotypes in    spca

Is it possible to combine haploid(mtDNA) and diploid (microsat) data in
the same analysis.

we are interested in looking at correspondence between global structures
found in each, which overlay a deep clade ( first global structure) in
mtDNA genotypes.

cheers

Nevil Amos
_______________________________________________
adegenet-forum mailing list
adegenet-forum at lists.r-forge.r-project.org
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/adegenet-forum


More information about the adegenet-forum mailing list