Description Usage Arguments Details Value Note Author(s) See Also Examples
Based on parental and offspring MSV-5 marker genotypes, the paternal and maternal alleles in offspring are partally deduced. Those calls that can be split into two individual paralogs are returned. As the chromosome numbers of the individual paralogs are not known, the individual genotype calls are assigned assuming known location of the paralogs of each parent separately.
1 | unmixParalogues(BSRed, singleCalls = getSingleCalls(BSRed))
|
BSRed |
|
singleCalls |
Matrix holding the calls for all markers whose both paralogs are
“AA”, “AB”, or “BB” (see
|
This is the first step towards resolving MSV-5 paralogs, in
the sense that the mixed signal from a
duplicated marker is split into two paralogue-specific signals. Within
the half-sib family of one parent at the time, the individual paralogs
are arbitrarily named. Then, for each informative meiosis, the
offspring genotype call for each paralogue is set to be either zero
or one, depending on whether the allele inherited from the parent in
question is “A” or “B”, respectively. This is repeated
for all parents, yielding two sparse data-tables, one for the male and
one for the female parent half-sib families. The alternate parents'
calls are set to missing. The data-tables may separately be used for
linkage mapping using other software, however better results are
expected if the tables can be merged first. This involves positioning
of the paralogs on their respective chromosomes and requires a linkage
map (see assignParalogues
).
A list with elements
mother |
Matrix of calls representing maternal inherited alleles |
father |
Matrix of calls representing paternal inherited alleles |
The number of rows in both matrices is twice the number of markers, and
the names of the paralogs are appended with “_Para1” or
“_Para2”. Critically, these names are NOT consistent between the
tables
Offspring alleles from monomorpic parents are sometimes missing even though the inherited alleles can be directly deduced from the parental genotype. This is for efficiency of the algorithm, as monomorphic parents carry no linkage information
Lars Gidskehaug
AlleleSetIllumina
, callGenotypes
,
assignParalogues
, getSingleCalls
,
translateTheta
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | ## Not run:
#Read markers into an AlleleSetIllumina object
rPath <- system.file("extdata", package="beadarrayMSV")
normOpts <- setNormOptions()
dataFiles <- makeFilenames('testdata',normOpts,rPath)
beadFile <- paste(rPath,'beadData_testdata.txt',sep='/')
beadInfo <- read.table(beadFile,sep='\t',header=TRUE,as.is=TRUE)
BSRed <- createAlleleSetFromFiles(dataFiles[1:4],beadInfo=beadInfo)
#Genotype calling and selection of some MSV-5s
BSRed <- callGenotypes(BSRed)
BSRed <- validateCallsPedigree(BSRed)
iMSV5 <- fData(BSRed)$Classification %in% 'MSV-5' & fData(BSRed)$Ped.Errors %in% 0
plotGenotypes(BSRed,markers=which(iMSV5))
#Partial resolving of paralogs
paraCalls <- unmixParalogues(BSRed[iMSV5,])
#Compare for an arbitrary, single triplet
iOffspring <- 1
iFather <- which(pData(BSRed)$PedigreeID %in% pData(BSRed)$Parent2[iOffspring])
iMother <- which(pData(BSRed)$PedigreeID %in% pData(BSRed)$Parent1[iOffspring])
print(assayData(BSRed)$call[iMSV5,c(iMother,iFather,iOffspring)])
print(paraCalls$mother[,c(iMother,iFather,iOffspring)])
print(paraCalls$father[,c(iMother,iFather,iOffspring)])
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.