unmixParalogues: Partially resolve the paralogs of MSV-5s

Description Usage Arguments Details Value Note Author(s) See Also Examples

View source: R/beadarrayMSV.R

Description

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.

Usage

1
unmixParalogues(BSRed, singleCalls = getSingleCalls(BSRed))

Arguments

BSRed

"AlleleSetIllumina" (or "MultiSet") object containing only MSV-5 markers, with an assayData entry “call” (see callGenotypes) and a phenoData column “PedigreeID”. The latter contains strings <p><mmm><fff><oo>, where “p”, “mmm”, “fff”, and “oo” are unique identifiers for population, mother, father, and individual within full-sib group, respectively. “000” means founding parent, whereas “999” means unknown parent

singleCalls

Matrix holding the calls for all markers whose both paralogs are “AA”, “AB”, or “BB” (see getSingleCalls)

Details

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).

Value

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

Note

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

Author(s)

Lars Gidskehaug

See Also

AlleleSetIllumina, callGenotypes, assignParalogues, getSingleCalls, translateTheta

Examples

 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)

beadarrayMSV documentation built on May 1, 2019, 6:33 p.m.