Description Usage Arguments Details Value Author(s) Examples
View source: R/polygonCircle.R
Functions to plot circular chromosomes informations
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | cPlotCircle(radius=1, xlim=c(-2, 2), ylim=xlim, edges=300, main=NULL,
main.inside, ...)
chromPos2angle(pos, len.chrom, rot=pi/2, clockwise=TRUE)
polygonChrom(begin, end, len.chrom, radius.in, radius.out,
total.edges = 300,
edges = max(round(abs(end - begin)/len.chrom *
total.edges), 2, na.rm = TRUE),
rot = pi/2, clockwise = TRUE, ...)
linesChrom(begin, end, len.chrom, radius,
total.edges = 300,
edges = max(round(abs(end - begin)/len.chrom *
total.edges), 2, na.rm = TRUE),
rot = pi/2, clockwise = TRUE, ...)
ecoli.len
|
radius |
radius |
xlim, ylim |
range for the plot. Can be used to zoom-in a particular region. |
pos |
position (nucleic base coordinate) |
begin |
begining of the segment (nucleic base number). |
end |
end of the segment (nucleic base number). |
len.chrom |
length of the chromosome in base pairs |
radius.in |
inner radius |
radius.out |
outer radius |
total.edges |
total number of edges for the chromosome |
edges |
number of edges for the specific segment(s) |
rot |
rotation (default is |
clockwise |
rotate clockwise. Default to |
main, main.inside |
main titles for the plot |
... |
optional graphical parameters |
The function chromPos2angle
is a convenience function.
The variable ecoli.len contains the size of the Escheria coli genome
considered (K12).
Except chromPos2angle
, the function are solely used for their
border effects.
laurent <laurent@cbs.dtu.dk>
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | data(ecoligenomeSYMBOL2AFFY)
data(ecoligenomeCHRLOC)
## find the operon lactose ("lac*" genes)
lac.i <- grep("^lac", ls(ecoligenomeSYMBOL2AFFY))
lac.symbol <- ls(ecoligenomeSYMBOL2AFFY)[lac.i]
lac.affy <- unlist(lapply(lac.symbol, get, envir=ecoligenomeSYMBOL2AFFY))
beg.end <- lapply(lac.affy, get, envir=ecoligenomeCHRLOC)
beg.end <- matrix(unlist(beg.end), nc=2, byrow=TRUE)
lac.o <- order(beg.end[, 1])
lac.i <- lac.i[lac.o]
lac.symbol <- lac.symbol[lac.o]
lac.affy <- lac.affy[lac.o]
beg.end <- beg.end[lac.o, ]
lac.col <- rainbow(length(lac.affy))
par(mfrow=c(2,2))
## plot
cPlotCircle(main="lac genes")
polygonChrom(beg.end[, 1], beg.end[, 2], ecoli.len, 1, 1.2, col=lac.col)
rect(0, 0, 1.1, 1.1, border="red")
cPlotCircle(xlim=c(0, 1.2), ylim=c(0, 1.1))
polygonChrom(beg.end[, 1], beg.end[, 2], ecoli.len, 1, 1.1, col=lac.col)
rect(0.4, 0.8, 0.7, 1.1, border="red")
cPlotCircle(xlim=c(.45, .5), ylim=c(.85, 1.0))
polygonChrom(beg.end[, 1], beg.end[, 2], ecoli.len, 1, 1.03, col=lac.col)
mid.genes <- apply(beg.end, 1, mean)
mid.angles <- chromPos2angle(mid.genes, ecoli.len)
xy <- polar2xy(1.03, mid.angles)
xy.labels <- data.frame(x = seq(0.45, 0.5, length=4), y = seq(0.95, 1.0, length=4))
segments(xy$x, xy$y, xy.labels$x, xy.labels$y, col=lac.col)
text(xy.labels$x, xy.labels$y, lac.symbol, col=lac.col)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.