| localize.qtl {eqtl} | R Documentation |
Compute QTL physical positions from QTL genetic positions from an object of class code{peak} and the marker physical positions.
localize.qtl( cross, peak, data.gmap, round )
cross |
An object of class cross. See 'qtl' package manual for read.cross function details. |
peak |
An object of class peak. See define.peak for details. |
data.gmap |
A data.frame with column names "Marker", "chr" and "PP" specifying the marker physical locations. Those one must be the same markers described in the related cross object.data.gmap$Marker is a vector of character strings specifying the names of the markers.data.gmap$chr is a vector of integers specifying the chromosomes on which the markers are localized.data.gmap$PP is a vector of integers specifying the physical marker locations on the chromosomes in base pair.
|
round |
An optional integer indicating the precision to be used for the physical position. The physical position being estimated, non integer nucleotidic position values could be obtained. See round function for details. |
Linearly compute the physical position from peak$peak_cM and the flanking marker locations:
A + B/C*D
A is the physical position of the first flanking marker. B and C are the genetic and the physical distances between the two flanking markers respectively. D is the genetic position of the qtl peak.
The input peak object is returned with components added to components of names(peak$trait$chromosome) for each previously detected QTL:
peak.bp |
is the physical location of the maximum LOD peak. |
inf.bp |
is the physical location of the SI lower bound. |
sup.bp |
is the physical location of the SI upper bound. |
Hamid A. Khalili
read.cross,define.peak,calc.adef
data(seed10);
# Genotype probabilities
seed10 <- calc.genoprob( cross=seed10, step=2, off.end=0, error.prob=0,
map.function='kosambi', stepwidth='fixed');
seed10 <- sim.geno( cross=seed10, step=2, off.end=0, error.prob=0,
map.function='kosambi', stepwidth='fixed');
# Genome scan and QTL detection
out.em <- scanone( seed10, pheno.col=1:50, model='normal', method='em');
out.peak <- define.peak(out.em, 'all');
# Additive effect computing
out.peak <- calc.adef(seed10,out.em,out.peak,round=3);
# Localizing peaks
data(BSpgmap);
out.peak <- localize.qtl( seed10, out.peak, BSpgmap, round=0);
# Peak features describing the QTLs affecting the 100th trait and
# localized on the chromosome 1
out.peak[[26]]$'4';
# Genetic and physical position of maximum LOD peaks affecting the 100th trait and
# localized on chromosome 1
out.peak[[26]]$'4'$peak.cM;
out.peak[[26]]$'4'$peak.bp;
# Genetic and physical position of QTLs' SI inferior bounds of the 100th trait and
# localized on chromosome 1
out.peak[[26]]$'4'$inf.cM;
out.peak[[26]]$'4'$inf.bp;
# Genetic and physical position of QTLs' SI superior bounds of the 100th trait and
# localized on chromosome 1
out.peak[[26]]$'4'$sup.cM;
out.peak[[26]]$'4'$sup.bp;
# idem for trait 'CATrck'
out.peak$CATrck$'4'$peak.cM;
out.peak$CATrck$'4'$peak.bp;
out.peak$CATrck$'4'$inf.cM;
out.peak$CATrck$'4'$inf.bp;
out.peak$CATrck$'4'$sup.cM;
out.peak$CATrck$'4'$sup.bp;