[adegenet-forum] Simulated hybridization from same locus but different alleles with hybridize function and
Jombart, Thibaut
t.jombart at imperial.ac.uk
Mon Feb 23 14:30:44 CET 2015
Hi there,
it was indeed a bug - fixed now. It will be part of the next release, but meanwhile a patch can be found here:
https://github.com/thibautjombart/adegenet/blob/master/pkg/R/hybridize.R
Alternatively, you can install the devel version on github using:
library(devtools)
install_github("thibautjombart/adegenet/pkg")
BTW, you probably know this already but Sebastien Devillard, in your department, is the expert of hybridization & STRUCTURE. He can usually be bribed by coffee.
Cheers
Thibaut
________________________________________
From: Benjamin Alric [benjamin.alric at univ-lyon1.fr]
Sent: 23 February 2015 12:41
To: Jombart, Thibaut
Subject: Re: [adegenet-forum] Simulated hybridization from same locus but different alleles with hybridize function and
Dear Thibaut,
Thank you for your response.
Firstly, in the dataste example for hybridize function, there is the
same number of allele among the two population.
Moreover, on other of my dataset, where I have not the same number of
allele in eahc loci, I can not made the analysis.
A error message said that the two genind object had not the same size.
> Dg_1<-import2genind("B_Dg_1.gtx",package="adegenet")
Converting data from GENETIX to a genind object...
...done.
> Dl_1<-import2genind("B_Dl_1.gtx",package="adegenet")
Converting data from GENETIX to a genind object...
...done.
> Dg_1
#####################
### Genind object ###
#####################
- genotypes of individuals -
S4 class: genind
@call: read.genetix(file = file, missing = missing, quiet = quiet)
@tab: 30 x 33 matrix of genotypes
@ind.names: vector of 30 individual names
@loc.names: vector of 8 locus names
@loc.nall: number of alleles per locus
@loc.fac: locus factor for the 33 columns of @tab
@all.names: list of 8 components yielding allele names for each locus
@ploidy: 2
@type: codom
Optional contents:
@pop: factor giving the population of each individual
@pop.names: factor giving the population of each individual
@other: - empty -
> Dl_1
#####################
### Genind object ###
#####################
- genotypes of individuals -
S4 class: genind
@call: read.genetix(file = file, missing = missing, quiet = quiet)
@tab: 30 x 32 matrix of genotypes
@ind.names: vector of 30 individual names
@loc.names: vector of 8 locus names
@loc.nall: number of alleles per locus
@loc.fac: locus factor for the 32 columns of @tab
@all.names: list of 8 components yielding allele names for each locus
@ploidy: 2
@type: codom
Optional contents:
@pop: factor giving the population of each individual
@pop.names: factor giving the population of each individual
@other: - empty -
> F1<-hybridize(Dg_1,Dl_1,n=100,pop="Hybrids")
Erreur dans Ops.data.frame(tab1, tab2) :
‘+’ only defined for equally-sized data frames
Otherwise, you will find in attached file, a reproductible example
dataset in .gtx (B_Dg.gtx and B_Dl.gtx) and commands which reproduced
the error.
I used adegenet version 1.4-2 on RStudio.
Using RStudio can be the source of the problem, for example, because
adegraphics for the moment is less supported on RStudio than R.
Best regards,
Benjamin ALRIC
Le 23/02/2015 12:52, Jombart, Thibaut a écrit :
> Hi there,
>
> the number of alleles shouldn't have to be the same, so I'm not sure what is going on but this might be a bug.
>
> May you send a minimum reproducible example (data and commands reproducing the error)? Also, what version of adegenet are you using?
>
> Cheers
> Thibaut
>
>
> ________________________________________
> From: adegenet-forum-bounces at lists.r-forge.r-project.org [adegenet-forum-bounces at lists.r-forge.r-project.org] on behalf of Benjamin Alric [benjamin.alric at univ-lyon1.fr]
> Sent: 21 February 2015 16:59
> To: adegenet-forum at lists.r-forge.r-project.org
> Subject: [adegenet-forum] Simulated hybridization from same locus but different alleles with hybridize function and
>
> Dear all,
>
> I would like simulated hybridization between two population to assess
> the power of admixture analysis (STRUCTURE).
> I built two subsamples consisting of 30 indivudals showing the highest q
> values for the cluster1 or cluster2 of previously STRUCTURE analysis.
> From these two subsamples I would like simulated hybridization (using
> hybridize function of the adegenet R package) to assess the power of
> admixture analysis.
> For each population, genotype were determined through 8 microsatellite
> loci for wichi one allele is code by a character string of 3 numbers.
> Here you are the command:
>
> Dg<-import2genind("B_Dg.gtx",package="adegenet")
> Dl<-import2genind("B_Dl.gtx",package="adegenet")
> Dg<- #####################
> ### Genind object ###
> #####################
> - genotypes of individuals -
>
> S4 class: genind
> @call: read.genetix(file = file, missing = missing, quiet = quiet)
>
> @tab: 30 x 33 matrix of genotypes
>
> @ind.names: vector of 30 individual names
> @loc.names: vector of 8 locus names
> @loc.nall: number of alleles per locus
> @loc.fac: locus factor for the 33 columns of @tab
> @all.names: list of 8 components yielding allele names for each locus
> @ploidy: 2
> @type: codom
>
> Optional contents:
> @pop: factor giving the population of each individual
> @pop.names: factor giving the population of each individual
>
> @other: - empty -
>
> Dl<-#####################
> ### Genind object ###
> #####################
> - genotypes of individuals -
>
> S4 class: genind
> @call: read.genetix(file = file, missing = missing, quiet = quiet)
>
> @tab: 30 x 33 matrix of genotypes
>
> @ind.names: vector of 30 individual names
> @loc.names: vector of 8 locus names
> @loc.nall: number of alleles per locus
> @loc.fac: locus factor for the 33 columns of @tab
> @all.names: list of 8 components yielding allele names for each locus
> @ploidy: 2
> @type: codom
>
> Optional contents:
> @pop: factor giving the population of each individual
> @pop.names: factor giving the population of each individual
>
> @other: - empty -
>
> hybrdis<-hybridize(Dg,Dl,n=100,pop="Hybrids")
> g1<-genind2df(hybrids)
> g1<-
> pop 10_14 Dp512 SwiD1 SwiD10
> SwiD12 SwiD14 SwiD15 SwiD5
> h001 Hybrids 226226 129 131143 194201 112119
> 181185 093098 161161165
> h002 Hybrids 220226 129 126138 200201 112 175
> 181181 089098 151153165
> h003 Hybrids 220226 129 126134143 200 123123 185185
> 093098 153163165
> h004 Hybrids 220226 129 126131 200201 119123
> 185185 093098 153153165
> h005 Hybrids 220226 129 126136136 199 123123 181185
> 089098 153161165
> h006 Hybrids 226226 129129 136136 194 112112 181181
> 089098 153161165
> h007 Hybrids 220226 129133 134143 194 119 175
> 181185 093 151153163165
> ....
>
> We would expect to see two allele for each locus but it is not the case
> for all microsatellite loci.
> Somebody know why and where does the problem?
>
> I checked the example dataset "microbov" for hybridize function, and I
> see that temp$Salers and temp$Zebu (used to perform simulated
> hybridization with hybridize function) presented the same count of
> alleles at each locus.
> When I check now my two datasets, I see that there are not the same
> number of allele between the two populations. such a difference in the
> number of allele between the two population could be the origne of the
> problem...
>
> Dg at all.names
> $L1
> 1 2 3
> "220" "226" "231"
>
> $L2
> 1 2 3
> "125" "129" "133"
>
> $L3
> 1 2 3 4 5 6
> "126" "131" "134" "136" "138" "143"
>
> Dl at all.names
> $L1
> 1 2 3
> "223" "226" "229"
>
> $L2
> 1 2 3 4 5 6
> "129" "133" "136" "137" "138" "139"
>
> $L3
> 1 2 3 4 5 6 7
> "118" "134" "136" "138" "145" "150" "152"
>
> Thank in advence for your help.
>
> Sincerely yours,
>
> Benjamin ALRIC
>
>
>
> --
> __________________________________________
> Benjamin Alric, Post-Doc
> UMR CNRS 5558 - LBBE
> "Biométrie et Biologie Evolutive"
> UCB Lyon1
> Equipe Ecologie Quantitative et Evolutive des Communautés
> Bâtiment Grégor Mendel
> 43 bd du 11 novembre 1918
> 69622 Villeurbanne Cedex
> FRANCE
> __________________________________________
>
> _______________________________________________
> 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
--
__________________________________________
Benjamin Alric, Post-Doc
UMR CNRS 5558 - LBBE
"Biométrie et Biologie Evolutive"
UCB Lyon1
Equipe Ecologie Quantitative et Evolutive des Communautés
Bâtiment Grégor Mendel
43 bd du 11 novembre 1918
69622 Villeurbanne Cedex
FRANCE
__________________________________________
More information about the adegenet-forum
mailing list