[adegenet-forum] propShared problems

Timothy Frasier timothy.frasier at SMU.CA
Fri Aug 13 14:40:31 CEST 2010


Dear Thibaut,

Thanks for looking into this, and I apologize for not being clearer in my original posting.  The results you obtained are correct - although the first individual (Nph0001) is missing from what you posted, but I assume that that is something minor.  However, I do not get the results that you did.  I get:

		Nph0001	Nph0003	Nph0004	Nph0005
Nph0001	1			0.0			0.0			0
Nph0003	0			1.0			0.5			0
Nph0004	0			0.5			1			0
Nph0005	0			0.0			0.0			1	  

Upon further inspection, it looks like it (the propShared function) is not detecting the delimiter between my two alleles at each locus, and instead is lumping them together for the comparisons. What's tricky is that it detects them properly in the genind class...

> x$all.names
$L1
  1     2     3 
"119" "121" "123" 

$L2
  1     2 
"191" "197" 

$L3
  1     2     3     4     5     6 
"195" "197" "199" "201" "203" "205" 

...but when I export the data, the two alleles at each locus are lumped together:

> tab <- genind2df(x)
> tab
          L1     L2     L3     L4     L5     L6     L7     L8     L9
Nph0001 119123 191197 199201 138140 099099 173175 136136 168170 144144
Nph0003 119121 191191 203203 136144 097099 159169 132132   <NA> 146150
Nph0004 119121 191191 203203 136136 097097 159171 132132 158160 146152

Also, the results from propShared(x) that I get are consistent with the alleles being lumped together for each locus.

So, it looks like the issue I am having is that the alleles appear to be delimited properly when read into the genind class, but then that delimitation seems to disappear in the propShared function.

Since you did not get that same problem, I assume that it has something to do with how I am reading the file in (although the genind class seems correct).  I will keep looking into it.

Thanks again for your help.

Sincerely,
Tim Frasier  



On 2010-08-13, at 8:40 AM, Jombart, Thibaut wrote:

> Dear Tim, 
> 
> Issues are always possible, but it would be nice if you could point out a particular case where calculations are 'clearly wrong'. For now it is not clear to me that the function is wrong. It works with the example dataset, and it works with the first rows of your dataset too:
> 
>> tab <- genind2df(x)
>> tab
>      X119 X123 X191 X197 X199 X201 X138 X140 X099 X099.1 X173 X175 X136
> Nph0003  119  121  191  191  203  203  136  144  097    099  159  169  132
> Nph0004  119  121  191  191  203  203  136  136  097    097  159  171  132
> Nph0005  119  119  191  191  203  203  132  138  097    099  159  161  132
> Nph0007 <NA> <NA>  191  191  201  205  136  136  097    099  159  159  132
>      X136.1 X168 X170 X144 X144.1
> Nph0003    132 <NA> <NA>  146    150
> Nph0004    132  158  160  146    152
> Nph0005    132  160  160  146    148
> Nph0007    134  158  160  148    150
> 
>> propShared(x)
>        Nph0003   Nph0004   Nph0005   Nph0007
> Nph0003 1.0000000 0.7500000 0.6875000 0.5714286
> Nph0004 0.7500000 1.0000000 0.6111111 0.5625000
> Nph0005 0.6875000 0.6111111 1.0000000 0.4375000
> Nph0007 0.5714286 0.5625000 0.4375000 1.0000000
> 
>> mean(tab[1,]==tab[2,], na.rm=TRUE)  # OK
> [1] 0.75 
>> mean(tab[1,]==tab[3,], na.rm=TRUE) # OK
> [1] 0.6875
>> mean(tab[1,]==tab[4,], na.rm=TRUE) # OK
> [1] 0.5714286
>> mean(tab[2,]==tab[3,], na.rm=TRUE) # OK
> [1] 0.6111111
>> mean(tab[2,]==tab[4,], na.rm=TRUE) # OK
> [1] 0.5625
>> mean(tab[3,]==tab[4,], na.rm=TRUE) #OK
> [1] 0.4375
> 
> All these results are right. Obviously the proportion of shared alleles is computed for sampled loci only; for instance, for proportion of shared alleles between individuals 1 and 2 equates 12/16, and not 12/18. 
> 
> Can you please provide a sample of code illustrating an issue in the calculations?
> 
> Best
> 
> 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 Timothy Frasier [timothy.frasier at SMU.CA]
> Sent: 12 August 2010 15:15
> To: adegenet-forum at lists.r-forge.r-project.org
> Subject: [adegenet-forum] propShared problems
> 
> Hi,
> 
> I am trying to use the propShared function, and realized that there is an issue with the calculation - the results are clearly not calculating the proportion of shared alleles properly.  I browsed through both the R and C code to try to find the issue, but nothing immediately jumped out at me.  I will keep looking, but thought that you could likely find and fix it faster than I could.
> 
> I've attached a small example data set that I am working with (35 individuals typed at 9 microsatellite loci).  Its size is good because it is easy to calculate the proportion of shared alleles manually and then compare that to the results obtained from the propShared function.
> 
> Thanks for your help!
> 
> Sincerely,
> Tim Frasier
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~
Timothy R. Frasier
Department of Biology
Saint Mary's University
923 Robie Street
Halifax, NS B3H 3C3
Canada
E-mail: timothy.frasier at smu.ca
Tel: (902) 491-6382
~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Timothy R. Frasier
Department of Biology
Saint Mary's University
923 Robie Street
Halifax, NS B3H 3C3
Canada
E-mail: timothy.frasier at smu.ca
Tel: (902) 491-6382
~~~~~~~~~~~~~~~~~~~~~~~~~~~





-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/adegenet-forum/attachments/20100813/6e8d341e/attachment.htm>


More information about the adegenet-forum mailing list