[adegenet-commits] r915 - in pkg/inst/doc: . figs

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Thu Jun 16 18:08:41 CEST 2011


Author: jombart
Date: 2011-06-16 18:08:41 +0200 (Thu, 16 Jun 2011)
New Revision: 915

Added:
   pkg/inst/doc/figs/base-040.pdf
   pkg/inst/doc/figs/base-063.pdf
   pkg/inst/doc/figs/base-065.pdf
   pkg/inst/doc/figs/base-068.pdf
   pkg/inst/doc/figs/base-070.pdf
   pkg/inst/doc/figs/base-071.pdf
   pkg/inst/doc/figs/base-072.pdf
   pkg/inst/doc/figs/base-073.pdf
   pkg/inst/doc/figs/base-074.pdf
   pkg/inst/doc/figs/base-075.pdf
   pkg/inst/doc/figs/base-077.pdf
   pkg/inst/doc/figs/base-078.pdf
   pkg/inst/doc/figs/base-080.pdf
   pkg/inst/doc/figs/base-082.pdf
   pkg/inst/doc/figs/base-083.pdf
   pkg/inst/doc/figs/base-098.pdf
   pkg/inst/doc/figs/base-099.pdf
   pkg/inst/doc/figs/base-caexpl.pdf
   pkg/inst/doc/figs/base-mon1.pdf
   pkg/inst/doc/figs/base-mon4.pdf
   pkg/inst/doc/figs/base-mon6.pdf
   pkg/inst/doc/figs/base-njAA.pdf
   pkg/inst/doc/figs/base-pcaaflp.pdf
   pkg/inst/doc/figs/base-sumry.pdf
Modified:
   pkg/inst/doc/adegenet-basics.Rnw
   pkg/inst/doc/adegenet-basics.aux
   pkg/inst/doc/adegenet-basics.log
   pkg/inst/doc/adegenet-basics.out
   pkg/inst/doc/adegenet-basics.pdf
   pkg/inst/doc/adegenet-basics.tex
   pkg/inst/doc/adegenet-basics.toc
Log:
First complete draft of basics vignette.


Modified: pkg/inst/doc/adegenet-basics.Rnw
===================================================================
--- pkg/inst/doc/adegenet-basics.Rnw	2011-06-16 14:31:16 UTC (rev 914)
+++ pkg/inst/doc/adegenet-basics.Rnw	2011-06-16 16:08:41 UTC (rev 915)
@@ -154,7 +154,7 @@
 \textit{adegenet} in particular.
 The function \texttt{help.search} is used to look for help on a given topic.
 For instance:
-<<>>=
+<<eval=FALSE>>=
 help.search("Hardy-Weinberg")
 @
 replies that there is a function \texttt{HWE.test.genind} in the
@@ -180,7 +180,7 @@
 (\url{http://adegenet.r-forge.r-project.org/}), in the `documents'
 section, including tutorial and a manual which includes all
 manpages of the package, and a dedicated mailing list with searchable archives.
-To open the website from \Rlogo, use:
+To open the website from R, use:
 <<eval=FALSE>>=
 adegenetWeb()
 @
@@ -783,14 +783,14 @@
 obj[1:4,1:5]
 @
 
-\noindent Now we can use the function \texttt{varcomp.glob} from
-\emph{hierfstat} to compute 'variance' components:
-<<echo=FALSE>>=
-detach("package:ape")
-@
-<<>>=
-varcomp.glob(obj$pop,obj[,-1])
-@
+%% \noindent Now we can use the function \texttt{varcomp.glob} from
+%% \emph{hierfstat} to compute 'variance' components:
+%% <<echo=FALSE,eval=FALSE>>=
+%% detach("package:ape")
+%% @
+%% <<>>=
+%% varcomp.glob(obj$pop,obj[,-1])
+%% @
 
 
 A more generic way to export data is to produce a data.frame of genotypes
@@ -1420,39 +1420,107 @@
 
 
 
-\SweaveOpts{eval=TRUE}
 
 
+\SweaveOpts{eval=TRUE}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \section{Spatial analysis}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
+The R software is probably the largest collection of spatial methods.
+Here, we briefly illustrate two methods commonly used in population genetics.
+Spatial multivariate analysis is covered in a dedicated vignette; see \textit{adegenet-spca} for
+more information.
 
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\subsection{Testing for isolation by distance}
+\subsection{Isolation by distance}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% % % % % % % % % % % % % % % % % % % % %
+\subsubsection{Testing isolation by distance}
+% % % % % % % % % % % % % % % % % % % % %
 Isolation by distance (IBD) is tested using Mantel test between a matrix of genetic distances and a matrix of geographic distances.
 It can be tested using individuals as well as populations.
-This example uses cat colonies.
-We use Edwards' distance \textit{versus} Euclidean distances between colonies.
-<<ibd,fig=T>>=
+This example uses cat colonies from the city of Nancy.
+We test the correlation between Edwards' distances and Euclidean geographic distances between colonies.
+<<ibd>>=
 data(nancycats)
 toto <- genind2genpop(nancycats,miss="0")
 Dgen <- dist.genpop(toto,method=2)
 Dgeo <- dist(nancycats$other$xy)
-library(ade4)
 ibd <- mantel.randtest(Dgen,Dgeo)
 ibd
+@
+<<fig=TRUE>>=
 plot(ibd)
 @
-Isolation by distance is clearly not significant.
 
+\noindent The original value of the correlation between the distance matrices is represented by the
+dot, while histograms represent permuted values (i.e., under the absence of spatial structure).
+Significant spatial structure would therefore result in the original value being out of the
+reference distribution.
+Here, isolation by distance is clearly not significant.
+\\
 
 
+Let us provide another example using a dataset of individuals simulated under an IBD model:
+<<>>=
+data(spcaIllus)
+x <- spcaIllus$dat2B
+Dgen <- dist(x$tab)
+Dgeo <- dist(other(x)$xy)
+ibd <- mantel.randtest(Dgen,Dgeo)
+ibd
+@
+<<fig=TRUE>>=
+plot(ibd)
+@
+This time there is a clear isolation by distance pattern.
 
+
+% % % % % % % % % % % % % % % % % % % % %
+\subsubsection{Cline or distant patches?}
+% % % % % % % % % % % % % % % % % % % % %
+The correlation between genetic and geographic distances can occur under a range of different
+biological scenarios.
+Classical IBD would result in continuous clines of genetic differentiation and cause such correlation.
+However, distant and differentiated populations would also result in such a pattern.
+These are slightly different processes and we would like to be able to disentangle them.
+A very simple first approach is simply plotting both distances:
+<<fig=TRUE>>=
+plot(Dgeo, Dgen)
+abline(lm(Dgen~Dgeo), col="red",lty=2)
+@
+
+\noindent Most of the time, simple scatterplots fail to provide a good picture of the data as the
+density of points in the scatterplot is badly displayed.
+Colors can be used to provide better (and prettier) plots.
+Local density is measured using a 2-dimensional kernel density estimation (\texttt{kde2d}), and the
+results are displayed using \texttt{image}; \texttt{colorRampPalette} is used to generate a
+customized color palette:
+<<eval=FALSE>>=
+dens <- kde2d(Dgeo,Dgen, n=300, lims=c(-.1, 1.5,-.5,4))
+myPal <- colorRampPalette(c("white","blue","gold", "orange", "red"))
+plot(Dgeo, Dgen, pch=20,cex=.5)
+image(dens, col=transp(myPal(300),.7), add=TRUE)
+abline(lm(Dgen~Dgeo))
+title("Isolation by distance plot")
+@
+\begin{center}
+\includegraphics{figs/densIbd}
+\end{center}
+
+The scatterplot clearly shows one single consistent cloud of point, without discontinuities which
+would have indicated patches.
+This is reassuring, since the data were actually simulated under an IBD (continuous) model.
+
+
+
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \subsection{Using Monmonier's algorithm to define genetic boundaries}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1478,10 +1546,10 @@
 summary(sim2pop$pop)
 
 temp <- sim2pop$pop
-levels(temp) <- c(17,19)
+levels(temp) <- 3:4
 temp <- as.numeric(as.character(temp))
 plot(sim2pop$other$xy,pch=temp,cex=1.5,xlab='x',ylab='y')
-legend("topright",leg=c("Pop A", "Pop B"),pch=c(17,19))
+legend("topright",leg=c("Pop A", "Pop B"),pch=3:4)
 @
 
 There are two sampled populations in this dataset, with inequal sample sizes (100 and 30).
@@ -1525,23 +1593,22 @@
 Either because there is no genetic differentiation to be found, or because the signal differentiating both populations is too weak to overcome the random noise in genetic distances.
 What is the $F_{st}$ between the two samples?
 <<>>=
-library(hierfstat)
-temp <- genind2hierfstat(sim2pop)
-varcomp.glob(temp[,1],temp[,-1])$F
+pairwise.fst(sim2pop)
 @
 
-\noindent This value is somewhat moderate ($F_{st}=0.038$).
+\noindent This value would be considered as very weak differentiation ($F_{ST}=0.023$).
 Is it significant?
-
-<<fig=TRUE>>=
-gtest <- gstat.randtest(sim2pop)
-gtest
-plot(gtest)
+We can easily ellaborate a permutation test of this $F_{ST}$ value; to save computational time, we
+use only a small number of replicates to generate $F_{ST}$ values in absence of population structure:
+<<>>=
+replicate(10, pairwise.fst(sim2pop, pop=sample(pop(sim2pop))))
 @
+$F_{ST}$ values in absence of population structure would be one order of magnitude lower (more
+replicate would give a very low p-value --- just replace \texttt{10} by \texttt{200} in the above command).
+In fact, the two samples are indeed genetically differentiated.
+\\
 
-\noindent Yes, it is very significant.
-The two samples are indeed genetically differenciated.
-So, can Monmonier's algorithm find a boundary between the two populations?
+Can Monmonier's algorithm find a boundary between the two populations?
 Yes, if we get rid of the random noise.
 This can be achieved using simple ordination method like Principal Coordinates Analysis.
 
@@ -1599,12 +1666,11 @@
 Last, we can compare the infered boundary with the actual distribution of populations:
 <<fig=TRUE>>=
 plot(mon1,add.arrows=FALSE,bwd=8)
-
 temp <- sim2pop$pop
-levels(temp) <- c(17,19)
+levels(temp) <- 3:4
 temp <- as.numeric(as.character(temp))
 points(sim2pop$other$xy,pch=temp,cex=1.3)
-legend("topright",leg=c("Pop A", "Pop B"),pch=c(17,19))
+legend("topright",leg=c("Pop A", "Pop B"),pch=3:4)
 @
 
 \noindent Not too bad...
@@ -1638,21 +1704,6 @@
 F3 <- hybridize(salers, F2, n=40)
 F4 <- hybridize(salers, F3, n=40)
 @
-
-\noindent and so on...
-Are these hybrids still genetically distinct?
-Let's merge all hybrids in a single dataset and test for genetic differentiation:
-<<fig=TRUE>>=
-dat <- repool(zebler,F2,F3,F4)
-test <- gstat.randtest(dat)
-plot(test)
-temp <- genind2hierfstat(dat)
-varcomp.glob(temp[,1],temp[,-1])$F
-@
-
-\noindent The $F_{st}$ is not very strong (0.013) but still very
-significant: hybrids are still pretty well differentiated.
-
 Finally, note that despite this example shows hybridization between
 diploid organisms, \texttt{hybridize} is not retrained to this case.
 In fact, organisms with any even level of ploidy can be used, in which
@@ -1664,10 +1715,6 @@
 
 
 
-
-
-
-
 \begin{thebibliography}{9}
 
 \bibitem{tjart19}
@@ -1696,282 +1743,3 @@
 
 \end{document}
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% \subsection{Assigning genotypes to clusters using Discriminant Analysis}
-%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%% The approach described below led to the development of a a new methodological approach for studying the genetic
-%% diversity of biological populations, called the Discriminant Analysis of Principal Components (DAPC,
-%% Jombart et al. submitted).
-%% This method has been implemented by the functions \texttt{find.clusters} and \texttt{dapc} but is still
-%% considered under development.
-%% It will be documented along with this section pending the publication of the corresponding paper.
-
-%% % % % % % % % % % % % % % % % % %
-%% \subsubsection{Defining clusters}
-%% % % % % % % % % % % % % % % % % %
-
-%% Bayesian clustering methods are not the only approaches for assigning
-%% genotypes to groups of genotypes.
-%% Discriminant analysis \cite[DA; for a general presentation, see][]{tj617} is a multivariate method that has
-%% been used for the exact same purpose \cite{tj160}.
-%% It can be applied whenever pre-defined groups exist, to assign
-%% genotypes to and assess the robustness of these groups.
-%% New genotypes with unknown group can also be assigned to existing clusters.
-%% Although a few precautions have to be taken when applying DA (see
-%% \cite{tjart10} for a short overview), this is
-%% a useful and straightforward approach.
-%% It is here illustrated using cat colonies of Nancy, France
-%% (\texttt{nancycats} dataset).
-
-%% <<>>=
-%% data(nancycats)
-%% nancycats
-%% unique(pop(nancycats))
-%% @
-
-%% This dataset contains 237 genotypes of cats sampled over 17 colonies.
-%% A usual PCA on the allele frequencies of the populations would not
-%% show any structure, but colonies seem nonetheless mildly differentiated, as
-%% confirmed by Goudet's $G$ test (and the $F_{st}$ value):
-%% <<>>=
-%% gstat.randtest(nancycats, n=199)
-%% fstat(nancycats, fstonly=TRUE)
-%% @
-
-%% DA can be used to find the linear combinations of alleles that
-%% discriminate best the groups of genotypes (here, colonies).
-%% While a powerful method, DA is impaired by correlation between
-%% predictors, which arises for instance when linkage disequilibrium
-%% occurs between alleles.
-%% It is also impracticable when the number of alleles ($p$) is
-%% greater than the number of genotypes ($n$), and it generally requires
-%% $n>>p$ to yield reliable (numerically stable) results.
-
-%% Thus, DA can seem often problematic when it comes to genetic data.
-%% One simple and efficient solution to all these issues is to transform
-%% alleles frequencies into a few independent (uncorrelated) components that summarise
-%% most of the genetic information, retaining only essential genetic features.
-%% This can be achieved by different multivariate methods; here, we shall
-%% use PCA.
-%% Genotype data are first transformed into scaled allele frequencies
-%% (using \texttt{scaleGen}):
-%% <<>>=
-%% x <- scaleGen(nancycats, missing="mean")
-%% @
-
-%% \noindent Then, we proceed to the PCA, retaining many principal
-%% components (PCs):
-%% <<fig=TRUE>>=
-%% x.pca <- dudi.pca(x, center=FALSE, scale=FALSE, scannf=FALSE, nf=100)
-%% barplot(x.pca$eig, main="Nancycats PCA eigenvalues")
-%% @
-
-%% These eigenvalues indicate no structure, but this is no problem since
-%% here, we just use PCA as a mean of transforming genetic variables in
-%% an adequate way.
-%% PCs are stored in \texttt{x.pca\$li}:
-%% <<>>=
-%% head(x.pca$li[,1:5])
-%% dim(x.pca$li)
-%% @
-
-%% Now, the question relates to how many PCs should be retained.
-%% This choice could be based on the success of assignment using DA (looking for the
-%% optimal value), or on a given fraction of the genetic diversity we
-%% would like to retain.
-%% We here use the latter, more simple and sufficient to illustrate the method.
-%% The following graph shows the cumulative amount of genetic information
-%% brought by each added PC:
-%% <<fig=TRUE>>=
-%% temp <- cumsum(x.pca$eig)/sum(x.pca$eig)
-%% plot(temp, xlab="Added PC", ylab="Fraction of the total genetic information")
-%% min(which(temp>0.8))
-%% axis(1,at=52,lab=52)
-%% segments(52, 0, 52, temp[52], col="red")
-%% segments(-5,0.8,52,0.8,col="red")
-%% @
-
-%% \noindent For instance, the first 52 PCs are sufficient to express
-%% 80\% of the total genetic variability (see red segments).
-%% We choose to retain these 52 PCs and use them as new predictors
-%% in a DA.
-%% While there is a \texttt{discrimin} function in \textit{ade4}, we use
-%% the function \texttt{lda} from the \texttt{MASS} package, which allows assigning
-%% (possibly new) genotypes to clusters.
-%% <<lda>>=
-%% x.lda <- lda(x.pca$li[,1:52], grouping=pop(nancycats))
-%% names(x.lda)
-%% @
-
-%% \noindent The object \texttt{x.lda} contains the results of the DA.
-%% For instance, coefficients of the linear combinations
-%% (\textit{discriminant functions}) are stored in
-%% \texttt{x.lda\$scaling}.
-%% For a further description of the content of these objects, see
-%% \texttt{?x.lda}.
-%% As far as assignment is concerned, the most interesting information
-%% is provided by \texttt{predict}:
-%% <<>>=
-%% x.pred <- predict(x.lda)
-%% names(x.pred)
-%% x.pred$class
-%% head(x.pred$posterior[,1:5])
-%% @
-
-%% \noindent The \texttt{class} slot contains the cluster to which each
-%% genotype would be assigned with the highest probability, while
-%% \texttt{posterior} gives posterior probabilities of assignment of
-%% genotypes to clusters.
-%% The inferred groups can be compared easily to actual colonies:
-%% <<>>=
-%% mean(x.pred$class==pop(nancycats))
-%% @
-%% In this case, each genotype would be assigned to the colony where it was
-%% actually found in \Sexpr{round(mean(x.pred$class==pop(nancycats))*100)}\% of cases.
-%% `Miss-assigned' individuals could be hybrids or migrants, or simply
-%% reflect less clear-cut clusters.
-%% It is easy to check if some colonies have more of these:
-%% <<fig=TRUE>>=
-%% misAs <- tapply(x.pred$class!=pop(nancycats), pop(nancycats), mean)
-%% barplot(misAs, xlab="colonies", ylab="% of `miss-assignment'", col="orange", las=3)
-%% title("Percentage of miss-assignments per colony")
-%% @
-
-%% For more details about genotypes, we can have a look at the
-%% \texttt{posterior} component, which gives probabilities of belonging
-%% to each cluster for each genotype:
-%% <<>>=
-%% head(x.pred$posterior[,1:10])
-%% @
-
-%% This information is best perceived graphically (here, for the first 50 genotypes):
-%% <<fig=TRUE>>=
-%% table.paint(head(x.pred$posterior,50), col.lab=paste("colony",1:17,sep="."))
-%% @
-
-%% \noindent For instance, N215 (first row) is clearly assigned to colony
-%% 1, while it is unclear whether N158 (middle) belongs to colony 3 or 5.
-%% Such graphics is really good at summarising probabilities of
-%% assignment.
-%% In particular, it can be employed even when the number of clusters is
-%% relatively high, which would not be the case with classical graphs
-%% proposed in STRUCTURE.
-
-
-
-%% % % % % % % % % % % % % % % % % %
-%% \subsubsection{Assigning new individuals}
-%% % % % % % % % % % % % % % % % % %
-%% In certain cases, we may want to assign new genotypes to a
-%% pre-existing classification, as defined by a DA.
-%% This can be the case when new samples have been made available after a
-%% pilot study, or when doing cross-validation.
-%% We will simulate these cases by drawing 30 genotypes at random,
-%% and then trying to assign them to the defined clusters.
-
-%% The following code only repeats the former analyses after withdrawing the 30
-%% genotypes:
-%% <<>>=
-%% id <- sample(1:237, 30)
-%% newSamp <- nancycats[id]
-%% newObj <-  nancycats[-id]
-%% newx <- x[-id,]
-
-%% newx.pca <- dudi.pca(newx, center=FALSE, scale=FALSE, scannf=FALSE, nf=100)
-%% newx.lda <- lda(newx.pca$li[,1:52], grouping=pop(newObj))
-%% @
-
-%% The new object \texttt{x.lda} now contains a DA based on only 207 individuals.
-%% Our purpose is to assign the new genotypes (\texttt{newObj}) to
-%% existing clusters based on the discriminant functions defined in
-%% \texttt{x.lda}.
-%% It is a bit tricky, because we have to make sure new data are
-%% transformed like the old data, that is, with the same centring and scaling.
-%% Fortunately, centring and scaling values are stored as attributes
-%% in \texttt{x}, and can be provided to a new call to \texttt{scaleGen}:
-%% <<>>=
-%% newSamp
-%% newSamp.x <- scaleGen(newSamp, center=attr(x,"scaled:center"), scale=attr(x,"scaled:scale"), missing="mean")
-%% @
-%% From there, the coordinates of these new genotypes onto the former PCA
-%% axes are obtained easily using \texttt{suprow}:
-%% <<>>=
-%% newSamp.pc <- suprow(newx.pca, newSamp.x)$lisup
-%% dim(newSamp.pc)
-%% head(newSamp.pc[,1:5])
-%% @
-
-%% \noindent The object \texttt{newSamp.pc} contains the supplementary principal
-%% components for the new 30 genotypes.
-%% To find the probabilities of belonging to any cluster for each new
-%% genotype, we simply use \texttt{predict}, and plot posterior
-%% probabilities as before, adding a green cross to indicate the actual colony:
-%% <<>>=
-%% newSamp.pred <- predict(newx.lda, newSamp.pc[,1:52])
-%% @
-%% <<fig=TRUE>>=
-%% table.paint(newSamp.pred$posterior, col.lab=paste("colony",1:17,sep="."))
-%% points(as.numeric(as.character(pop(newSamp))), 30:1, pch="x",col="green", cex=2)
-%% mean(as.character(newSamp.pred$class)==as.character(pop(newSamp)))
-%% @
-
-%% In this example, the new genotypes have been assigned to their actual
-%% group in \Sexpr{round(100*mean(as.character(newSamp.pred$class)==as.character(pop(newSamp))))}\% of cases.
-%% If our purpose was to cross-validate the classification of genotypes
-%% into groups, we would repeat this operation a large number of times,
-%% drawing a different random sample of genotypes each time.
-
-
-
-
-
-
-
-%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% \section{Frequently Asked Questions}
-%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% \subsubsection{The function ... is not found. What's wrong?}
-%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%% You installed R, and adegenet, and all went ok.
-%% Yet, when trying to use some functions, like \texttt{read.genetix} for
-%% instance, you get an error message saying that the function is not
-%% found.
-%% The most likely explanation is that you do not have the most recent
-%% version of adegenet.
-%% This can be because you did not update your packages (see function \texttt{update.packages}).
-%% If your packages have been updated, and the problem persist, then you
-%% are likely using an outdated version of R, and though adegenet is
-%% up-to-date with respect to this R version, you are still using an
-%% outdated version of the package.
-
-%% To know which version of adegenet you are using:
-%% <<>>=
-%% packageDescription("adegenet", fields="Version")
-%% @
-
-%% \noindent And to know which version of R you are using:
-%% <<>>=
-%% R.version.string
-%% @
-
-

Modified: pkg/inst/doc/adegenet-basics.aux
===================================================================
--- pkg/inst/doc/adegenet-basics.aux	2011-06-16 14:31:16 UTC (rev 914)
+++ pkg/inst/doc/adegenet-basics.aux	2011-06-16 16:08:41 UTC (rev 915)
@@ -11,3 +11,58 @@
 \global \let \hyper at last\relax 
 \fi
 
+\citation{tjart05}
+\citation{np145}
+\citation{np145}
+\citation{tj311}
+\citation{tjart19}
+\citation{tjart04}
+\citation{tjart20}
+\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{3}{section.1}}
+\@writefile{toc}{\contentsline {section}{\numberline {2}Getting started}{3}{section.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Installing the package}{3}{subsection.2.1}}
+\citation{tjart04}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Getting help}{4}{subsection.2.2}}
+\@writefile{toc}{\contentsline {section}{\numberline {3}Object classes}{5}{section.3}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}genind objects}{5}{subsection.3.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}genpop objects}{9}{subsection.3.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Using accessors}{10}{subsection.3.3}}
+\@writefile{toc}{\contentsline {section}{\numberline {4}Importing/exporting data}{12}{section.4}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Importing data from GENETIX, STRUCTURE, FSTAT, Genepop}{12}{subsection.4.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Importing data from other software}{12}{subsection.4.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Handling presence/absence data}{14}{subsection.4.3}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}SNPs data}{17}{subsection.4.4}}
+\citation{tj527}
+\citation{np83}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.5}Extracting polymorphism from DNA sequences}{18}{subsection.4.5}}
+\citation{np160}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.6}Extracting polymorphism from proteic sequences}{19}{subsection.4.6}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.7}Using genind/genpop constructors}{23}{subsection.4.7}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.8}Exporting data}{24}{subsection.4.8}}
+\@writefile{toc}{\contentsline {section}{\numberline {5}Basics of data analysis}{26}{section.5}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Manipulating data}{26}{subsection.5.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Using summaries}{30}{subsection.5.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Testing for Hardy-Weinberg equilibrium}{32}{subsection.5.3}}
+\citation{tj814}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Measuring and testing population structure (a.k.a F statistics)}{33}{subsection.5.4}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.5}Estimating inbreeding}{34}{subsection.5.5}}
+\citation{tjart10}
+\@writefile{toc}{\contentsline {section}{\numberline {6}Multivariate analysis}{37}{section.6}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}General overview}{37}{subsection.6.1}}
+\citation{tjart19}
+\citation{tjart04}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Performing a Principal Component Analysis on \texttt  {genind} objects}{39}{subsection.6.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.3}Performing a Correspondance Analysis on \texttt  {genpop} objects}{47}{subsection.6.3}}
+\@writefile{toc}{\contentsline {section}{\numberline {7}Spatial analysis}{50}{section.7}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.1}Isolation by distance}{50}{subsection.7.1}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.1}Testing isolation by distance}{50}{subsubsection.7.1.1}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2}Cline or distant patches?}{53}{subsubsection.7.1.2}}
+\citation{tj433}
+\citation{np120}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.2}Using Monmonier's algorithm to define genetic boundaries}{54}{subsection.7.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.3}How to simulate hybridization?}{63}{subsection.7.3}}
+\bibcite{tjart19}{1}
+\bibcite{tjart05}{2}
+\bibcite{np145}{3}
+\bibcite{tjart10}{4}
+\bibcite{tjart04}{5}

Modified: pkg/inst/doc/adegenet-basics.log
===================================================================
--- pkg/inst/doc/adegenet-basics.log	2011-06-16 14:31:16 UTC (rev 914)
+++ pkg/inst/doc/adegenet-basics.log	2011-06-16 16:08:41 UTC (rev 915)
@@ -1,4 +1,4 @@
-This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) (format=pdflatex 2011.4.7)  25 MAY 2011 18:18
+This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) (format=pdflatex 2011.4.12)  16 JUN 2011 17:04
 entering extended mode
  %&-line parsing enabled.
 **adegenet-basics.tex
@@ -93,7 +93,7 @@
 (etexcmds)             that some package has redefined \expanded.
 (etexcmds)             In the latter case, load this package earlier.
 )
-(/etc/texmf/tex/latex/config/hyperref.cfg
+(/usr/share/texmf-texlive/tex/latex/latexconfig/hyperref.cfg
 File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive
 )
 (/usr/share/texmf-texlive/tex/latex/oberdiek/kvoptions.sty
@@ -402,6 +402,14 @@
    defining Unicode char U+2122 (decimal 8482)
    defining Unicode char U+2423 (decimal 9251)
 ))
+(/usr/share/texmf-texlive/tex/latex/tools/bm.sty
+Package: bm 2004/02/26 v1.1c Bold Symbol Support (DPC/FMi)
+\symboldoperators=\mathgroup4
+\symboldletters=\mathgroup5
+\symboldsymbols=\mathgroup6
+LaTeX Font Info:    Redeclaring math alphabet \mathbf on input line 138.
+LaTeX Info: Redefining \bm on input line 204.
+)
 (/usr/local/R-versions/R-2.13.0/share/texmf/tex/latex/Sweave.sty
 Package: Sweave 
 
@@ -589,27 +597,27 @@
 )))) (./adegenet-basics.aux)
 \openout1 = `adegenet-basics.aux'.
 
-LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 24.
-LaTeX Font Info:    ... okay on input line 24.
-LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 24.
-LaTeX Font Info:    ... okay on input line 24.
-LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 24.
-LaTeX Font Info:    ... okay on input line 24.
-LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 24.
-LaTeX Font Info:    ... okay on input line 24.
-LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 24.
-LaTeX Font Info:    ... okay on input line 24.
-LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 24.
-LaTeX Font Info:    ... okay on input line 24.
-LaTeX Font Info:    Checking defaults for PD1/pdf/m/n on input line 24.
-LaTeX Font Info:    ... okay on input line 24.
-LaTeX Font Info:    Checking defaults for TS1/cmr/m/n on input line 24.
-LaTeX Font Info:    Try loading font information for TS1+cmr on input line 24.
+LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 36.
+LaTeX Font Info:    ... okay on input line 36.
+LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 36.
+LaTeX Font Info:    ... okay on input line 36.
+LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 36.
+LaTeX Font Info:    ... okay on input line 36.
+LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 36.
+LaTeX Font Info:    ... okay on input line 36.
+LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 36.
+LaTeX Font Info:    ... okay on input line 36.
+LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 36.
+LaTeX Font Info:    ... okay on input line 36.
+LaTeX Font Info:    Checking defaults for PD1/pdf/m/n on input line 36.
+LaTeX Font Info:    ... okay on input line 36.
+LaTeX Font Info:    Checking defaults for TS1/cmr/m/n on input line 36.
+LaTeX Font Info:    Try loading font information for TS1+cmr on input line 36.
 
 (/usr/share/texmf-texlive/tex/latex/base/ts1cmr.fd
 File: ts1cmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions
 )
-LaTeX Font Info:    ... okay on input line 24.
+LaTeX Font Info:    ... okay on input line 36.
 
 (/usr/share/texmf/tex/context/base/supp-pdf.mkii
 [Loading MPS to PDF converter (version 2006.09.02).]
@@ -624,7 +632,7 @@
 \MPnumerator=\count102
 \everyMPtoPDFconversion=\toks20
 )
-Package hyperref Info: Link coloring ON on input line 24.
+Package hyperref Info: Link coloring ON on input line 36.
  (/usr/share/texmf-texlive/tex/latex/hyperref/nameref.sty
 Package: nameref 2007/05/29 v2.31 Cross-referencing by name of section
 
@@ -633,8 +641,8 @@
 )
 \c at section@level=\count103
 )
-LaTeX Info: Redefining \ref on input line 24.
-LaTeX Info: Redefining \pageref on input line 24.
+LaTeX Info: Redefining \ref on input line 36.
+LaTeX Info: Redefining \pageref on input line 36.
 
 (./adegenet-basics.out) (./adegenet-basics.out)
 \@outlinefile=\write4
@@ -642,35 +650,440 @@
 
 \AtBeginShipoutBox=\box28
 LaTeX Font Info:    External font `cmex10' loaded for size
-(Font)              <12> on input line 38.
+(Font)              <12> on input line 52.
 LaTeX Font Info:    External font `cmex10' loaded for size
-(Font)              <8> on input line 38.
+(Font)              <8> on input line 52.
 LaTeX Font Info:    External font `cmex10' loaded for size
-(Font)              <6> on input line 38.
- (./adegenet-basics.toc)
+(Font)              <6> on input line 52.
+ [1
+
+{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./adegenet-basics.toc
+LaTeX Font Info:    External font `cmex10' loaded for size
+(Font)              <7> on input line 3.
+LaTeX Font Info:    External font `cmex10' loaded for size
+(Font)              <5> on input line 3.
+LaTeX Font Info:    Try loading font information for T1+aett on input line 26.
+
+(/usr/share/texmf-texlive/tex/latex/ae/t1aett.fd
+File: t1aett.fd 1997/11/16 Font definitions for T1/aett.
+))
 \tf at toc=\write5
 \openout5 = `adegenet-basics.toc'.
 
+ [2]
 
-[1
+LaTeX Warning: Citation `tj311' on page 3 undefined on input line 79.
 
-{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./adegenet-basics.aux) ) 
+
+LaTeX Warning: Citation `tjart20' on page 3 undefined on input line 83.
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 86--91
+
+ []
+
+LaTeX Font Info:    Try loading font information for TS1+aer on input line 97.
+(/usr/local/R-versions/R-2.13.0/share/texmf/tex/latex/ts1aer.fd
+File: ts1aer.fd 
+)
+LaTeX Font Info:    Font shape `TS1/aer/m/n' in size <10> not available
+(Font)              Font shape `TS1/cmr/m/n' tried instead on input line 97.
+ [3]
+LaTeX Font Info:    Try loading font information for TS1+aett on input line 186
+.
+
+(/usr/local/R-versions/R-2.13.0/share/texmf/tex/latex/ts1aett.fd
+File: ts1aett.fd 
+)
+LaTeX Font Info:    Try loading font information for TS1+cmtt on input line 186
+.
+
+(/usr/share/texmf-texlive/tex/latex/base/ts1cmtt.fd
+File: ts1cmtt.fd 1999/05/25 v2.5h Standard LaTeX font definitions
+)
+LaTeX Font Info:    Font shape `TS1/aett/m/n' in size <8> not available
+(Font)              Font shape `TS1/cmtt/m/n' tried instead on input line 186.
+
+Underfull \hbox (badness 10000) in paragraph at lines 189--197
+
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 227--230
+
+ []
+
+[4]
+Underfull \hbox (badness 6364) in paragraph at lines 235--238
+[]\T1/aer/m/n/10 adegenet fo-rum ([][]$\T1/aett/m/n/10 https : / / lists . r-[]
+forge . r-[]project . org / cgi-[]bin /
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 235--238
+\T1/aett/m/n/10 mailman / listinfo / adegenet-[]forum$[][]\T1/aer/m/n/10 ): ade
+-genet and mul-ti-vari-ate
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 240--243
+[]\T1/aer/m/n/10 R-sig-genetics ([][]$\T1/aett/m/n/10 https : / / stat . ethz .
+ ch / mailman / listinfo /
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 243--246
+[]\T1/aer/m/n/10 R-sig-phylo ([][]$\T1/aett/m/n/10 https : / / stat . ethz . ch
+ / mailman / listinfo /
+ []
+
+[5]
+Underfull \hbox (badness 10000) in paragraph at lines 307--312
+
+ []
+
+[6]
+Underfull \hbox (badness 10000) in paragraph at lines 352--356
+
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 413--419
+
+ []
+
+[7]
+Underfull \hbox (badness 10000) in paragraph at lines 467--469
+
+ []
+
+[8] [9]
+Underfull \hbox (badness 10000) in paragraph at lines 580--589
+
+ []
+
+[10]
+Underfull \hbox (badness 2680) in paragraph at lines 676--676
+[]\T1/aer/bx/n/12 Importing data from GENETIX, STRUC-TURE,
+ []
+
+[11]
+Underfull \hbox (badness 10000) in paragraph at lines 721--727
+
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 728--738
+
+ []
+
+[12] [13]
+Underfull \hbox (badness 10000) in paragraph at lines 815--826
+
+ []
+
+[14] [15] <figs/base-pcaaflp.pdf, id=267, 433.62pt x 433.62pt>
+File: figs/base-pcaaflp.pdf Graphic file (type pdf)
+
+<use figs/base-pcaaflp.pdf> [16 <./figs/base-pcaaflp.pdf>]
+Underfull \hbox (badness 10000) in paragraph at lines 1016--1024
+
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 1063--1068
+
+ []
+
+[17]
+
+LaTeX Warning: Citation `tj527' on page 18 undefined on input line 1070.
+
+
[TRUNCATED]

To get the complete diff run:
    svnlook diff /svnroot/adegenet -r 915


More information about the adegenet-commits mailing list