<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:10pt"><div><br></div><div id="yiv6284890723yui_3_13_0_ym1_7_1395406268939_24"><span id="yiv6284890723yui_3_13_0_ym1_7_1395406268939_31">Dear Dr. Jombart</span></div><span id="yiv6284890723yui_3_13_0_ym1_7_1395406268939_31">I
 wrote you
 before and asked about inbreeding calculation. You suggested that I use
 less number of markers and other advices. SO, I tried to follow all your comments. For example I decided to use only 
2247 SNP markers without missing data (before I had 43231 with missing 
data).</span> But I still have the same problem. I attached you the new data (new_inbreeding.stru). Thanks in advance.<br><br>######### my script<br><br>> library(adegenet)<br>> 
toto<-read.structure(file="new_inbreeding.stru",n.ind=154,n.loc=2247,onerowperind=FALSE,col.lab=1,row.marknames=1,NA.char="-9",missing="mean")<br><br>Which column contains the population factor ('0' if absent)? 2<br><br> Which other optional columns should be read (press 'return' when done)? 1: <br>> toto<br><br>   #####################<br>   ### Genind object ### <br>   #####################<br>- genotypes of individuals - <br><br>S4 class:  genind<br>@call: read.structure(file = "inbreeding.stru", <br>    n.ind = 154, n.loc = 2247, onerowperind = FALSE, col.lab = 1, <br>    row.marknames = 1, NA.char = "-9", missing =
 "mean")<br><br>@tab:  154 x 3610 matrix of genotypes<br><br>@ind.names: vector of  154 individual names<br>@loc.names: vector of  2247 locus names<br>@loc.nall: number of alleles per locus<br>@loc.fac: locus factor for the  3610 columns of @tab<br>@all.names: list of  2247 components yielding allele names for each locus<br>@ploidy:  2<br>@type:  codom<br><br>Optionnal contents: <br>@pop:  factor giving the population of each individual<br>@pop.names:  factor giving the population of each individual<br><br>@other: - empty -<br>> toto$pop.names<br>  P1   P2 <br>"US" "IP" <br>>U<- seppop(toto)$US<br>> U<br><br>   #####################<br>   ### Genind object ### <br>   #####################<br>- genotypes of individuals - <br><br>S4 class:  genind<br>@call: .local(x = x, i = i, j = j, treatOther = ..1, quiet = ..2, drop = drop)<br><br>@tab:  81 x
 3610 matrix of genotypes<br><br>@ind.names: vector of  81 individual names<br>@loc.names: vector of  2247 locus names<br>@loc.nall: number of alleles per locus<br>@loc.fac: locus factor for the  3610 columns of @tab<br>@all.names: list of  2247 components yielding allele names for each locus<br>@ploidy:  2<br>@type:  codom<br><br>Optionnal contents: <br>@pop:  factor giving the population of each individual<br>@pop.names:  factor giving the population of each individual<br><br>@other: a list containing: elements without names <br><br>> U1<- inbreeding(U, N=100)<br><span style="color: rgb(255, 255, 255);"><span style="background-color: rgb(205, 35, 44);">Error in sample.int(length(x), size, replace, prob) : <br>  NA in probability vector</span></span><div> </div><div style="display: block;" class="yahoo_quoted"> <br> <br> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial,
 Lucida Grande, sans-serif; font-size: 10pt;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 12pt;"> <div dir="ltr"> <font face="Arial" size="2"> On Thursday, December 19, 2013 6:32 AM, "Jombart, Thibaut" <t.jombart@imperial.ac.uk> wrote:<br> </font> </div>  <div class="y_msg_container"><br clear="none">Hello, <br clear="none"><br clear="none">this was a tricky one. There is a problem in your command line, and then there is a problem inherent to likelihood and large datasets.<br clear="none"><br clear="none">First, the problem is you replace missing data by "zero"s  allele frequencies (missing=0), which means that for some loci and some individuals, you have no allele, but still not treated as missing data. This screws the definition of homozygotes and thus the computations of inbreeding.<br clear="none"><br clear="none">Second, for large datasets, the sum of log-likelihoods is
 so low that reverting them back to likelihoods gives 0. You end up with a density distribution that is approximately zero everywhere. You may still be able to visualize it as a density, but when deriving samples, this results in probabilities of zero and 'sample' complains about it. Note that this is not a theoretical issue, only a numerical precision problem.<br clear="none"><br clear="none">I have just committed a patch so that now, a meaningful warning will be issued. <br clear="none"><br clear="none">In principle, one could just add a constant to the sum of log-likelihood values as a workaround. But which value to add is not a trivial choice, and may vary from one individual to another. I'll pass on that for now.<br clear="none"><br clear="none">As a workaround for your problem:<br clear="none">- don't use "missing=0"<br clear="none">- ask for the distributions, not the samples: "res.type="function""<br clear="none">- alternatively, use a smaller
 subset of loci<br clear="none">- use the new patch (attached) to replace the error with a warning - you'll get flat (uniform) distributions for the problematic individuals.<br clear="none"><br clear="none">Cheers<br clear="none">Thibaut<br clear="none">________________________________________<div class="yqt8190701065" id="yqtfd10063"><br clear="none">From: <a shape="rect" ymailto="mailto:adegenet-forum-bounces@lists.r-forge.r-project.org" href="mailto:adegenet-forum-bounces@lists.r-forge.r-project.org">adegenet-forum-bounces@lists.r-forge.r-project.org</a> [<a shape="rect" ymailto="mailto:adegenet-forum-bounces@lists.r-forge.r-project.org" href="mailto:adegenet-forum-bounces@lists.r-forge.r-project.org">adegenet-forum-bounces@lists.r-forge.r-project.org</a>] on behalf of Tohamy Yousef [<a shape="rect" ymailto="mailto:tohamyy@yahoo.com" href="mailto:tohamyy@yahoo.com">tohamyy@yahoo.com</a>]<br clear="none">Sent: 18 December 2013 08:44<br clear="none">To:
 <a shape="rect" ymailto="mailto:adegenet-forum@lists.r-forge.r-project.org" href="mailto:adegenet-forum@lists.r-forge.r-project.org">adegenet-forum@lists.r-forge.r-project.org</a><br clear="none">Subject: [adegenet-forum] Inbreeding coefficient calculation by adegenet<br clear="none"><br clear="none">Dear Dr. Jombart,<br clear="none">I am trying to calculate the inbreeding coefficient for two populations (US=81 and IP=73)  with 43231 SNPs. I am using your your manual, an introduction to adgenet 1.4-0, but I have a problem in the calculation. It gives me an error message:<br clear="none">Error in sample.int(length(x), size, replace, prob) :<br clear="none">  NA in probability vector<br clear="none">I do not know why? I did it as following:<br clear="none"><br clear="none">> toto<-read.structure(file="finalFiltered_noLowCov_e0_LOCUS_POP.stru",n.ind=154,n.loc=43231,onerowperind=FALSE,col.lab=1,row.marknames=1,NA.char="-9",missing=0)<br
 clear="none"> Which column contains the population factor ('0' if absent)? 2<br clear="none"><br clear="none"> Which other optional columns should be read (press 'return' when done)? 1:<br clear="none"> Converting data from a STRUCTURE .stru file to a genind object...<br clear="none">> is.genind(toto)<br clear="none">[1] TRUE<br clear="none">> toto$pop.names<br clear="none">  P1   P2<br clear="none">"US" "IP"<br clear="none">> sa1<- seppop(toto)$US<br clear="none">> sa1<br clear="none">   #####################<br clear="none">   ### Genind object ###<br clear="none">   #####################<br clear="none">- genotypes of individuals -<br clear="none">S4 class:  genind<br clear="none">@call: .local(x = x, i = i, j = j, treatOther = ..1, quiet = ..2, drop = drop)<br clear="none">@tab:  81 x 61169 matrix of genotypes<br clear="none">@ind.names: vector of  81 individual names<br clear="none">@loc.names:
 vector of  43231 locus names<br clear="none">@loc.nall: number of alleles per locus<br clear="none">@loc.fac: locus factor for the  61169 columns of @tab<br clear="none">@all.names: list of  43231 components yielding allele names for each locus<br clear="none">@ploidy:  2<br clear="none">@type:  codom<br clear="none">Optionnal contents:<br clear="none">@pop:  factor giving the population of each individual<br clear="none">@pop.names:  factor giving the population of each individual<br clear="none">@other: a list containing: elements without names<br clear="none"><br clear="none">> temp1<- inbreeding(sa1, N=81)<br clear="none">Error in sample.int(length(x), size, replace, prob) :<br clear="none">  NA in probability vector<br clear="none"><br clear="none">> sa2<- seppop(toto)$IP<br clear="none">> sa2<br clear="none">   #####################<br clear="none">   ### Genind object ###<br
 clear="none">   #####################<br clear="none">- genotypes of individuals -<br clear="none">S4 class:  genind<br clear="none">@call: .local(x = x, i = i, j = j, treatOther = ..1, quiet = ..2, drop = drop)<br clear="none">@tab:  73 x 61169 matrix of genotypes<br clear="none">@ind.names: vector of  73 individual names<br clear="none">@loc.names: vector of  43231 locus names<br clear="none">@loc.nall: number of alleles per locus<br clear="none">@loc.fac: locus factor for the  61169 columns of @tab<br clear="none">@all.names: list of  43231 components yielding allele names for each locus<br clear="none">@ploidy:  2<br clear="none">@type:  codom<br clear="none">Optionnal contents:<br clear="none">@pop:  factor giving the population of each individual<br clear="none">@pop.names:  factor giving the population of each individual<br clear="none">@other: a list containing: elements without names<br
 clear="none"><br clear="none">> temp2<- inbreeding(sa2, N=73)<br clear="none">Error in sample.int(length(x), size, replace, prob) :<br clear="none">  NA in probability vector<br clear="none"><br clear="none"><br clear="none">Could you please tell me how can I fix this problem?<br clear="none">I attached you a part of my data. and I hope that  help me.<br clear="none"><br clear="none">Thank you advance<br clear="none">Best regards,<br clear="none">Tohamy<br clear="none">-------------------------------------------<br clear="none">Eltohamy Yousef  M.Sc.<br clear="none">Crop Biodiversity and Breeding Informatics<br clear="none">Institute of Plant Breeding, Seed Science and Population Genetics (350)<br clear="none">University of Hohenheim<br clear="none">Fruwirtstrasse 21, 70599 Stuttgart<br clear="none">Office phone:0049711 459-24437<br clear="none">Email: <a shape="rect" ymailto="mailto:tohamyy@yahoo.com"
 href="mailto:tohamyy@yahoo.com">tohamyy@yahoo.com</a><br clear="none">            <a shape="rect" ymailto="mailto:E.yousef@uni-hohenheim.de" href="mailto:E.yousef@uni-hohenheim.de">E.yousef@uni-hohenheim.de</a><br clear="none">            <a shape="rect" ymailto="mailto:tohamy_yousef@agr.suez.edu.eg" href="mailto:tohamy_yousef@agr.suez.edu.eg">tohamy_yousef@agr.suez.edu.eg</a><br clear="none">Web.www.evoplant.uni-hohenheim.de</div><br><br></div>  </div> </div>  </div> </div></body></html>