[adegenet-forum] Combining mtDNA and Nuclear Data for find.clusters() and DAPC
Jombart, Thibaut
t.jombart at imperial.ac.uk
Wed Apr 20 12:15:09 CEST 2011
Dear Mac,
In your case the two types of data provide only partly congruent information. It seems you've worked out the discrepancies already, and probably pooling the data is not the best option. I'm afraid you'll have to consider two separate analyses and then comment on the differences. For demographic inference I would tend to trust nuclear DNA more.
As a side note about the correlation between SNPs in mtDNA, I am not sure they should be so highly correlated. Can you check the distribution of these correlations? You can use NA.replace to replace missing values in the genind, and then something like:
plot(density(cor(foo at tab)^2,na.rm=TRUE))
Cheers
Thibaut
________________________________
From: Mac Campbell [macampbell2 at alaska.edu]
Sent: 19 April 2011 18:01
To: valeria montano
Cc: Jombart, Thibaut; adegenet-forum at r-forge.wu-wien.ac.at
Subject: Re: [adegenet-forum] Combining mtDNA and Nuclear Data for find.clusters() and DAPC
Hi All,
Yes, I have observed a strong congruence between a representation of the mtDNA data in a phylogenetic framework and also here with the DAPC using mtDNA SNP's.
What is an issue with this ("my") data set while encoding the mtDNA as SNP's is that there are five major mitochondrial lineages present in the fish I study. Three of these lineages (say, 1-3) occur in low nuclear and mtDNA diversity populations where three separate geographic areas have one each of the three lineages. However, the remaining two lineages (say, 4 & 5) are split amongst and within the remaining sampling locations. So, from a certain sampling location, some fish may have a mtDNA sequence from lineage 4 and some may have lineage 5, with a relatively moderate level of distinction from each other. Nuclear data from fishes with mt lineage 4 or 5 supports pooling those sampling populations where the two mt lineages occur. So it seems that the divergent mtDNA lines from within a sampling location are a big issue here and argue against mixing the two types of data.
I was under the impression that since all the mtDNA SNP's would be highly correlated, that their weight would diminish in a DAPC analysis. As Thibaut mentioned before, there is no assumption about independence and multivariate analyses are used to hand redundancy. Any more thoughts on this one?
For the case with this data set, what then is my best option... I would like to combine the mtDNA and nuclear data in an IM style analysis to look at migration rates and divergence times. I don't seem to have a way to mostly objectively define groups of fish to pool for populations.
Mac
On Mon, Apr 18, 2011 at 4:46 AM, valeria montano <mirainoshojo at gmail.com<mailto:mirainoshojo at gmail.com>> wrote:
Hi,
thanks for the answer. Of course, I agree that it makes sense to retrieve haplogroups with a multivariate analysis on mtDNA sequences. My main point is about the aim for which the method is used. With "artefactual" populations I meant that those are not biological populations but phylogentic ones, which means that the method is correctly interpreting the data according to the way it is provided. If my aim was to use mtDNA to infer population structure (since I am forced to use this locus, yeah it's not a very good excuse, but that's the way it is) with a method like DAPC, I guess the only thing that I can do is to use a matrix of haplogroup frequencies for populations and hope the reviewers won't have anything too bad against that (strictly speaking). In any case, I wouldn't merge a multilocus autosomal dataset with a one of mtDNA for individuals.
I hope you will agree with that or I will have to throw away the paper I'm working on (I don't mean to make you feel responsible, of course).
Best
Valeria
On 18 April 2011 13:34, Jombart, Thibaut <t.jombart at imperial.ac.uk<mailto:t.jombart at imperial.ac.uk>> wrote:
Hi again,
thanks for joining the discussion. To comment quickly on this, I would not say that running a multivariate analysis on mtDNA implies independent loci. There is no theoretical/numerical constraint in that respect. On the contrary, multivariate analyses are often use to handle redundancy. So it is not clear what kind of bias this would induce, but I suspect a very mild one to none. This being said, I agree that mtDNA should be analysed as one locus (with lots of alleles).
As for what can be inferred from mtDNA, well... it does make sense to me that the multivariate analysis of mtDNA data will retrieve mtDNA haplogroups. I am not sure we should call this 'artefactual', this is merely what is contained in the data (and possibly not much more). mtDNA for demographic or phylogenetic inference strikes me as limited, at best. I can only recommend reading this short and fun comment on the topic by Francois Balloux in Heredity, called "The worm in the fruit of the mitochondrial DNA tree":
http://www.nature.com/hdy/journal/v104/n5/full/hdy2009122a.html
All the best
Thibaut
________________________________
From: valeria montano [mirainoshojo at gmail.com<mailto:mirainoshojo at gmail.com>]
Sent: 17 April 2011 19:28
To: Jombart, Thibaut
Cc: Mac Campbell; adegenet-forum at r-forge.wu-wien.ac.at<mailto:adegenet-forum at r-forge.wu-wien.ac.at>
Subject: Re: [adegenet-forum] Combining mtDNA and Nuclear Data for find.clusters() and DAPC
Hi all,
sorry for the participation a bit off-topic, it's just to do a few considerations which may be interesting for you (I hope so).
Regarding mtDNA, using the individual sequence in a multivariate analysis as PCs implies that the sequence is considered as composed by independent loci, which is actually not so. Performing a cluster analysis on individuals, what one would detect is a structure related to haplogroup phylogeny. It is intuitive that an undividual with a certain haplogroup will be closer to another one presenting a sequence of the same haplogroup but belonging to a different population than to an individual of the same population characterized by a haplotype phylogenetically more distant. That would mean to obtain artifactual haplogroup-driven populations (in this paper http://www.springerlink.com/content/q225678542442u22/ there is a quite clear example since they applied PCs analysis to mtDNA complete sequences to investigate phylogenetic relations among haplogroups).
It's definitely cool to have a method like DAPC to use unilinear loci as mtDNa and Y chromosome for structure analysis, but, theoretically speaking, I think that to correctly do it one should use the matrix of haplogroup frequencies calculated for populations, when these are previously known, since that is the only way to treat the data as a multiallelic single locus. Otherwise that would be better to avoid using them.
Another concern is about sex biased dispersal. If this phenomenon strongly occurs in the species under study, it's possible that autosomal loci and mtDNA present a different spatial distribution and consequently a different population structure, since mtDNA would probably keep the information regarding only the distribution of female individuals. It could be interesting to verify if it is actually mirrored by population structure depending on the dataset considered. After assigning individuals to populations with autosomal loci, the matrix of population allelic frequencies for both mtDNA and autosomal can be calculated and then the population genetic relations compared through a simple approach like Fst.
Ok...sorry again for the invasion, I hope you won't find it too dull. I'd be glad to know your opinion about these considetations, since mtDNA and Y chomosome will be my cross for still a bit of time and I wouldn't like to have made a blunter on the whole line (would be fun but unpleasent...).
Best regards
Valeria
On 15 April 2011 15:11, Jombart, Thibaut <t.jombart at imperial.ac.uk<mailto:t.jombart at imperial.ac.uk>> wrote:
Hello,
to combine these data, you can use scaleGen to get scaled allele frequencies and then use cbind to obtain one general matrix.
The more concerning problem is that you may be merging information of different nature by doing so. Also, it is likely that the results will mainly be driven by the dataset with the most variability. That may be fine ("I want to take the information where it is.") or not ("I want both types of data to contribute equally to the analysis"), depending on what you want to do.
I would advise at least checking that the analysis done on the entire dataset matches the results of the separate analyses. Running two separate PCAs and checking for similarities between them using coinertia analysis (function coinertia in ade4) should also be useful.
All the best
Thibaut
________________________________
From: adegenet-forum-bounces at r-forge.wu-wien.ac.at<mailto:adegenet-forum-bounces at r-forge.wu-wien.ac.at> [adegenet-forum-bounces at r-forge.wu-wien.ac.at<mailto:adegenet-forum-bounces at r-forge.wu-wien.ac.at>] on behalf of Mac Campbell [macampbell2 at alaska.edu<mailto:macampbell2 at alaska.edu>]
Sent: 15 April 2011 04:20
To: adegenet-forum at r-forge.wu-wien.ac.at<mailto:adegenet-forum at r-forge.wu-wien.ac.at>
Subject: [adegenet-forum] Combining mtDNA and Nuclear Data for find.clusters() and DAPC
Hi,
I have searched for an answer to this, but haven't found one. Would someone be able to help me the following?
I have two data sets, mitochondrial and nuclear. I have created two Genind objects (X and Y, pasted below) with the same individuals in the same order.
Is it reasonable to combine the two data sets for use in find.clusters() and DAPC? Is there a way to combine two genind objects within adegenet easily? I've tried several general approaches for S4 objects.
Thanks in advance,
Mac
> X
#####################
### Genind object ###
#####################
- genotypes of individuals -
S4 class: genind
@call: df2genind(X = x[, -1], ind.names = x[, 1], ploidy = 1)
@tab: 72 x 121 matrix of genotypes
@ind.names: vector of 72 individual names
@loc.names: vector of 67 locus names
@loc.nall: number of alleles per locus
@loc.fac: locus factor for the 121 columns of @tab
@all.names: list of 67 components yielding allele names for each locus
@ploidy: 1
@type: codom
Optionnal contents:
@pop: - empty -
@pop.names: - empty -
@other: - empty -
> Y
#####################
### Genind object ###
#####################
- genotypes of individuals -
S4 class: genind
@call: df2genind(X = y[, -1], sep = "/", ind.names = x[, 1])
@tab: 72 x 32 matrix of genotypes
@ind.names: vector of 72 individual names
@loc.names: vector of 18 locus names
@loc.nall: number of alleles per locus
@loc.fac: locus factor for the 32 columns of @tab
@all.names: list of 18 components yielding allele names for each locus
@ploidy: 2
@type: codom
Optionnal contents:
@pop: - empty -
@pop.names: - empty -
@other: - empty -
--
Matthew A Campbell
Department of Biology and Wildlife
University of Alaska, Fairbanks
_______________________________________________
adegenet-forum mailing list
adegenet-forum at lists.r-forge.r-project.org<mailto:adegenet-forum at lists.r-forge.r-project.org>
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/adegenet-forum
--
Matthew A Campbell
Department of Biology and Wildlife
University of Alaska, Fairbanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/adegenet-forum/attachments/20110420/f082962f/attachment-0001.htm>
More information about the adegenet-forum
mailing list