Learn R Programming

OriGen (version 1.3.1)

PlotAdmixedSurface: Plots admixture fraction results

Description

This function plots the admixture results from FitAdmixedModelFindUnknowns. These numbers represent the fractional contribution each location has to the individuals genetic data. In other words, an individual with unmixed parents from two different locations should have a fraction of 0.5 from each of those locations with enough data.

Usage

PlotAdmixedSurface(AdmixedOutput,UnknownNumber=1,MaskWater=TRUE)

Arguments

AdmixedOutput
UnknownNumber
Integer indicating the unknown individual heat map number to plot.
MaskWater
Logical value that if true removes water from the plotted regions.

Value

  • This outputs a plot of the admixture fractions, the contribution of each location, for a particular unknown individual.

References

Ranola J, Novembre J, Lange K (2014) Fast Spatial Ancestry via Flexible Allele Frequency Surfaces. Bioinformatics, in press.

See Also

ConvertUnknownPEDData for converting two Plink PED files (known and unknown)into a format appropriate for analysis,

FitOriGenModelFindUnknowns for fitting allele surfaces to the converted data and finding the locations of the given unknown individuals,

PlotUnknownHeatMap for a quick way to plot the resulting unknown heat map surfaces from FitOriGenModelFindUnknowns,

FitAdmixedModelFindUnknowns for fitting allele surfaces to the converted data and finding the locations of the given unknown individuals who may be admixed,

PlotAdmixedSurface for a quick way to plot the resulting admixture surfaces from FitAdmixedFindUnknowns,

Examples

Run this code
#Data generation
SampleSites=10
NumberSNPs=4
TestData=array(sample(2*(1:30),2*SampleSites*NumberSNPs,replace=TRUE),
	dim=c(2,SampleSites,NumberSNPs))
#Europe is about -9 to 38 and 34 to 60
TestCoordinates=array(0,dim=c(SampleSites,2))
TestCoordinates[,1]=runif(SampleSites,-9,38)
TestCoordinates[,2]=runif(SampleSites,34,60)

#This code simulates the number of major alleles the unknown individuals have.
NumberUnknowns=2
TestUnknowns=array(sample(0:2,NumberUnknowns*NumberSNPs,
	replace=TRUE),dim=c(NumberUnknowns,NumberSNPs))

#Fitting the admixed model
#MaxGridLength is the maximum number of boxes allowed to span the region in either direction
#Note that this number was reduced to allow the example to run in less than 5 secs
#RhoParameter is a tuning constant
print("MaxGridLength is intentionally set really low for fast examples. 
	Meaningful results will most likely require a higher value.")
trials6=FitAdmixedModelFindUnknowns(TestData,TestCoordinates,
	TestUnknowns,MaxGridLength=10,RhoParameter=10)

#Plots the admixed surface disregarding fractions less than 0.01
PlotAdmixedSurface(trials6)

Run the code above in your browser using DataLab