## Object construction:
## An empty object
DataTrack()
## from individual arguments
dat <- matrix(runif(400), nrow=4)
dtTrack <- DataTrack(start=seq(1,1000, len=100), width=10, data=dat,
chromosome=1, genome="mm9", name="random data")
## from GRanges
library(GenomicRanges)
gr <- GRanges(seqnames="chr1", ranges=IRanges(seq(1,1000, len=100),
width=10))
values(gr) <- t(dat)
dtTrack <- DataTrack(range=gr, genome="mm9", name="random data")
## from IRanges
dtTrack <- DataTrack(range=ranges(gr), data=dat, genome="mm9",
name="random data", chromosome=1)
## from a data.frame
df <- as.data.frame(gr)
colnames(df)[1] <- "chromosome"
dtTrack <- DataTrack(range=df, genome="mm9", name="random data")
## For some annoying reason the postscript device does not know about
## the sans font
if(!interactive())
{
font <- ps.options()$family
displayPars(dtTrack) <- list(fontfamily=font, fontfamily.title=font)
}
## Plotting
plotTracks(dtTrack)
## Track names
names(dtTrack)
names(dtTrack) <- "foo"
plotTracks(dtTrack)
## Subsetting and splitting
subTrack <- subset(dtTrack, from=100, to=300)
length(subTrack)
subTrack[1:2,]
subTrack[,1:2]
split(dtTrack, rep(1:2, each=50))
## Accessors
start(dtTrack)
end(dtTrack)
width(dtTrack)
position(dtTrack)
width(subTrack) <- width(subTrack)-5
strand(dtTrack)
strand(subTrack) <- "-"
chromosome(dtTrack)
chromosome(subTrack) <- "chrX"
genome(dtTrack)
genome(subTrack) <- "mm9"
range(dtTrack)
ranges(dtTrack)
## Data
values(dtTrack)
score(dtTrack)
## coercion
as(dtTrack, "data.frame")
Run the code above in your browser using DataLab